public void SetAccessibilityConstructor(Role role, AccessibilityInterface accessibilityInterface = AccessibilityInterface.None) { var size = Marshal.SizeOf <Interop.ControlDevel.AccessibilityDelegate>(); if (accessibilityDelegate == null) { accessibilityDelegate = new Interop.ControlDevel.AccessibilityDelegate() { GetName = () => DuplicateString(AccessibilityGetName()), GetDescription = () => DuplicateString(AccessibilityGetDescription()), DoAction = (name) => AccessibilityDoAction(Marshal.PtrToStringAnsi(name)), CalculateStates = (states) => DuplicateStates(AccessibilityCalculateStates(states)), GetActionCount = () => AccessibilityGetActionCount(), GetActionName = (index) => DuplicateString(AccessibilityGetActionName(index)), ShouldReportZeroChildren = () => AccessibilityShouldReportZeroChildren(), GetMinimum = () => AccessibilityGetMinimum(), GetCurrent = () => AccessibilityGetCurrent(), GetMaximum = () => AccessibilityGetMaximum(), SetCurrent = (value) => AccessibilitySetCurrent(value), GetMinimumIncrement = () => AccessibilityGetMinimumIncrement(), IsScrollable = () => AccessibilityIsScrollable(), GetText = (startOffset, endOffset) => DuplicateString(AccessibilityGetText(startOffset, endOffset)), GetCharacterCount = () => AccessibilityGetCharacterCount(), GetCursorOffset = () => AccessibilityGetCursorOffset(), SetCursorOffset = (offset) => AccessibilitySetCursorOffset(offset), GetTextAtOffset = (offset, boundary) => DuplicateRange(AccessibilityGetTextAtOffset(offset, (AccessibilityTextBoundary)boundary)), GetSelection = (selectionNumber) => DuplicateRange(AccessibilityGetSelection(selectionNumber)), RemoveSelection = (selectionNumber) => AccessibilityRemoveSelection(selectionNumber), SetSelection = (selectionNumber, startOffset, endOffset) => AccessibilitySetSelection(selectionNumber, startOffset, endOffset), CopyText = (startPosition, endPosition) => AccessibilityCopyText(startPosition, endPosition), CutText = (startPosition, endPosition) => AccessibilityCutText(startPosition, endPosition), InsertText = (startPosition, text) => AccessibilityInsertText(startPosition, Marshal.PtrToStringAnsi(text)), SetTextContents = (newContents) => AccessibilitySetTextContents(Marshal.PtrToStringAnsi(newContents)), DeleteText = (startPosition, endPosition) => AccessibilityDeleteText(startPosition, endPosition), ScrollToChild = (child) => AccessibilityScrollToChild(this.GetInstanceSafely <View>(child)), GetSelectedChildrenCount = () => AccessibilityGetSelectedChildrenCount(), GetSelectedChild = (selectedChildIndex) => View.getCPtr(AccessibilityGetSelectedChild(selectedChildIndex)).Handle, SelectChild = (childIndex) => AccessibilitySelectChild(childIndex), DeselectSelectedChild = (selectedChildIndex) => AccessibilityDeselectSelectedChild(selectedChildIndex), IsChildSelected = (childIndex) => AccessibilityIsChildSelected(childIndex), SelectAll = () => AccessibilitySelectAll(), ClearSelection = () => AccessibilityClearSelection(), DeselectChild = (childIndex) => AccessibilityDeselectChild(childIndex), }; accessibilityDelegatePtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr(accessibilityDelegate, accessibilityDelegatePtr, false); } Interop.ControlDevel.DaliToolkitDevelControlSetAccessibilityConstructor(SwigCPtr, (int)role, (int)accessibilityInterface, accessibilityDelegatePtr, size); if (NDalicPINVOKE.SWIGPendingException.Pending) { throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } }
public void SetAccessibilityConstructor(Role role, AccessibilityInterface iface = AccessibilityInterface.None) { var size = Marshal.SizeOf <Interop.ControlDevel.AccessibilityDelegate>(); if (_accessibilityDelegate == null) { _accessibilityDelegate = new Interop.ControlDevel.AccessibilityDelegate() { GetName = () => strdup(AccessibilityGetName()), GetDescription = () => strdup(AccessibilityGetDescription()), DoAction = (name) => AccessibilityDoAction(Marshal.PtrToStringAnsi(name)), CalculateStates = () => statesdup(AccessibilityCalculateStates()), GetActionCount = () => AccessibilityGetActionCount(), GetActionName = (index) => strdup(AccessibilityGetActionName(index)), ShouldReportZeroChildren = () => AccessibilityShouldReportZeroChildren(), GetMinimum = () => AccessibilityGetMinimum(), GetCurrent = () => AccessibilityGetCurrent(), GetMaximum = () => AccessibilityGetMaximum(), SetCurrent = (value) => AccessibilitySetCurrent(value), GetMinimumIncrement = () => AccessibilityGetMinimumIncrement(), IsScrollable = () => AccessibilityIsScrollable(), GetText = (startOffset, endOffset) => strdup(AccessibilityGetText(startOffset, endOffset)), GetCharacterCount = () => AccessibilityGetCharacterCount(), GetCaretOffset = () => AccessibilityGetCaretOffset(), SetCaretOffset = (offset) => AccessibilitySetCaretOffset(offset), GetTextAtOffset = (offset, boundary) => rangedup(AccessibilityGetTextAtOffset(offset, (TextBoundary)boundary)), GetSelection = (selectionNum) => rangedup(AccessibilityGetSelection(selectionNum)), RemoveSelection = (selectionNum) => AccessibilityRemoveSelection(selectionNum), SetSelection = (selectionNum, startOffset, endOffset) => AccessibilitySetSelection(selectionNum, startOffset, endOffset), CopyText = (startPosition, endPosition) => AccessibilityCopyText(startPosition, endPosition), CutText = (startPosition, endPosition) => AccessibilityCutText(startPosition, endPosition), }; _accessibilityDelegatePtr = Marshal.AllocHGlobal(size); Marshal.StructureToPtr(_accessibilityDelegate, _accessibilityDelegatePtr, false); } Interop.ControlDevel.DaliToolkitDevelControlSetAccessibilityConstructor(SwigCPtr, (int)role, (int)iface, _accessibilityDelegatePtr, size); if (NDalicPINVOKE.SWIGPendingException.Pending) { throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } }
public void SetAccessibilityConstructor(Role role, AccessibilityInterface accessibilityInterface = AccessibilityInterface.None) { // We have to store the interface flags until we remove SetAccessibilityConstructor and switch to native C# interfaces AtspiInterfaceFlags = (1U << (int)accessibilityInterface); AccessibilityRole = role; }