[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AccessibilityManager_ActionScrollSignal")]
public static extern global::System.IntPtr AccessibilityManager_ActionScrollSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AccessibilityManager_ActionForwardSignal")]
+ public static extern global::System.IntPtr AccessibilityManager_ActionForwardSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AccessibilityActionSignal_Empty")]
public static extern bool AccessibilityActionSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
}
return false;
}
+
+ // Callback for AccessibilityManager ActionForwardSignal
+ private bool OnActionForward(IntPtr data)
+ {
+ if (_accessibilityManagerActionForwardEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ return _accessibilityManagerActionForwardEventHandler(instance, null);
+ }
+ return false;
+ }
// Callback for AccessibilityManager FocusChangedSignal
private void OnFocusChanged(IntPtr view1, IntPtr view2)
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
+
+ internal AccessibilityActionSignal ActionForwardSignal()
+ {
+ AccessibilityActionSignal ret = new AccessibilityActionSignal(Interop.AccessibilityManager.AccessibilityManager_ActionForwardSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
}
}
private EventHandlerWithReturnType<object, EventArgs, bool> _accessibilityManagerActionStartStopEventHandler;
private ActionStartStopEventCallbackDelegate _accessibilityManagerActionStartStopEventCallbackDelegate;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool ActionForwardEventCallbackDelegate(IntPtr accessibilityManager);
+ private EventHandlerWithReturnType<object, EventArgs, bool> _accessibilityManagerActionForwardEventHandler;
+ private ActionForwardEventCallbackDelegate _accessibilityManagerActionForwardEventCallbackDelegate;
/*
// To be replaced by a new event that takes Touch
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
}
}
+ /// <summary>
+ /// This is emitted when accessibility action is received to forward the event to the application (by one finger double tap and hold).
+ /// It is a kind of backdoor to bypass the normal behaviour.
+ /// </summary>
+ /// <returns> The signal to connect to </returns>
+ /// This is the only experimental API added to Tizen 6.0. (hidden as inhouse API.)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandlerWithReturnType<object, EventArgs, bool> ActionForward
+ {
+ add
+ {
+ // Restricted to only one listener
+ if (_accessibilityManagerActionForwardEventHandler == null)
+ {
+ _accessibilityManagerActionForwardEventCallbackDelegate = new ActionForwardEventCallbackDelegate(OnActionForward);
+ this.ActionForwardSignal().Connect(_accessibilityManagerActionForwardEventCallbackDelegate);
+ }
+
+ _accessibilityManagerActionForwardEventHandler += value;
+ }
+
+ remove
+ {
+ _accessibilityManagerActionForwardEventHandler -= value;
+
+ if (_accessibilityManagerActionForwardEventHandler == null && ActionForwardSignal().Empty() == false)
+ {
+ this.ActionForwardSignal().Disconnect(_accessibilityManagerActionForwardEventCallbackDelegate);
+ }
+ }
+ }
+
/*
// To be replaced by a new event that takes Touch
public event DaliEventHandlerWithReturnType<object,ActionScrollEventArgs,bool> ActionScroll