internal InternalAccessibleObject(AccessibleObject accessibleImplemention) { // Get all the casts done here to catch any issues early publicIAccessible = (IAccessible) accessibleImplemention; publicIEnumVariant = (UnsafeNativeMethods.IEnumVariant) accessibleImplemention; publicIOleWindow = (UnsafeNativeMethods.IOleWindow) accessibleImplemention; publicIReflect = (IReflect) accessibleImplemention; // Note: Deliberately not holding onto AccessibleObject to enforce all access through the interfaces }
public EnumVariantObject(AccessibleObject owner, int currentChild) { Debug.Assert(owner != null, "Cannot create EnumVariantObject with a null owner"); this.owner = owner; this.currentChild = currentChild; }
public EnumVariantObject(AccessibleObject owner) { Debug.Assert(owner != null, "Cannot create EnumVariantObject with a null owner"); this.owner = owner; }
private object AsVariant(AccessibleObject obj) { if (obj == this) { return NativeMethods.CHILDID_SELF; } return AsIAccessible(obj); }
private IAccessible AsIAccessible(AccessibleObject obj) { if (obj != null && obj.systemWrapper) { return obj.systemIAccessible; } return obj; }
/// <internalonly/> /// <devdoc> /// Mechanism for overriding default IAccessible.accNavigate behavior of the 'inner' system accessible /// object (accNavigate is how you move between parent, child and sibling accessible objects). /// /// USAGE: 'navdir' indicates navigation operation to perform, relative to this accessible object. /// If operation is unsupported, return false to allow fall-back to default system behavior. Otherwise /// return destination object in the out parameter, or null to indicate 'off end of list'. /// </devdoc> internal virtual bool GetSysChild(AccessibleNavigation navdir, out AccessibleObject accessibleObject) { accessibleObject = null; return false; }