Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce the new InputGesture feature #6442

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

oduna00
Copy link

@oduna00 oduna00 commented Nov 7, 2024

Description of Change

Introduce new APIs for Input Gesture (internal)
The input gesture can grab/ungrab a global gestures (edge_swipe/edge_drag/tap/palm_cover)
The API needs platform level privilege:

http://tizen.org/privilege/gesturegrab
Please refer the below link for the detail of input gesture:
https://developer.tizen.org/development/guides/native-application/user-interface/efl/efl-utilities#gesture_grab

API Changes

  • ACR:N/A

Internal APIs
Added:
InputGesture class

public IntPtr CreateEdgeSwipeData(int fingers, GestureEdge edge)
public void ReleaseEdgeSwipeData(IntPtr data)
public void SetEdgeSwipeSize(IntPtr data, GestureEdgeSize edgeSize, int startPoint, int endPoint)

public IntPtr CreateEdgeDragData(int fingers, GestureEdge edge)
public void ReleaseEdgeDrageData(IntPtr data)
public void SetEdgeDragSize(IntPtr data, GestureEdgeSize edgeSize, int startPoint, int endPoint)

public IntPtr CreateTapData(int fingers, int repeats)
public void ReleaseTapData(IntPtr data)

public IntPtr CreatePalmCoverData()
public void ReleasePalmCoverData(IntPtr data)

public void GrabGesture(IntPtr data)
public void UngrabGesture(IntPtr data)

supporting Edge Swipe, Edge Drag, Tap, and Palm Cover gestures
@github-actions github-actions bot added the API12 Platform : Tizen 9.0 / TFM: net6.0-tizen9.0 label Nov 7, 2024
@TizenAPI-Bot
Copy link
Collaborator

Internal API Changed

Added: 60, Removed: 0, Changed: 0

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.EdgeDragEventArgs

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeDragEventArgs::Cx()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeDragEventArgs::Cy()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeDragEventArgs::Edge()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeDragEventArgs::Fingers()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeDragEventArgs::Mode()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.EdgeSwipeEventArgs

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeSwipeEventArgs::Edge()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeSwipeEventArgs::Fingers()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeSwipeEventArgs::Mode()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeSwipeEventArgs::Sx()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.EdgeSwipeEventArgs::Sy()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.GestureEdge

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdge Tizen.NUI.WindowSystem.GestureEdge::Bottom

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdge Tizen.NUI.WindowSystem.GestureEdge::Left

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdge Tizen.NUI.WindowSystem.GestureEdge::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdge Tizen.NUI.WindowSystem.GestureEdge::Right

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdge Tizen.NUI.WindowSystem.GestureEdge::Top

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.GestureEdgeSize

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdgeSize Tizen.NUI.WindowSystem.GestureEdgeSize::Full

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdgeSize Tizen.NUI.WindowSystem.GestureEdgeSize::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureEdgeSize Tizen.NUI.WindowSystem.GestureEdgeSize::Partial

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.GestureMode

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureMode Tizen.NUI.WindowSystem.GestureMode::Begin

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureMode Tizen.NUI.WindowSystem.GestureMode::Done

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureMode Tizen.NUI.WindowSystem.GestureMode::End

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureMode Tizen.NUI.WindowSystem.GestureMode::None

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.WindowSystem.GestureMode Tizen.NUI.WindowSystem.GestureMode::Update

+ /// <privilege>http://tizen.org/privilege/gesturegrab</privilege
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.InputGesture

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.IntPtr Tizen.NUI.WindowSystem.InputGesture::CreateEdgeDragData(System.Int32,Tizen.NUI.WindowSystem.GestureEdge)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.IntPtr Tizen.NUI.WindowSystem.InputGesture::CreateEdgeSwipeData(System.Int32,Tizen.NUI.WindowSystem.GestureEdge)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.IntPtr Tizen.NUI.WindowSystem.InputGesture::CreatePalmCoverData()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.IntPtr Tizen.NUI.WindowSystem.InputGesture::CreateTapData(System.Int32,System.Int32)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::.ctor()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::Dispose()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::Dispose(System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::Finalize()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::GrabGesture(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::ReleaseEdgeDrageData(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::ReleaseEdgeSwipeData(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::ReleasePalmCoverData(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::ReleaseTapData(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::SetEdgeDragSize(System.IntPtr,Tizen.NUI.WindowSystem.GestureEdgeSize,System.Int32,System.Int32)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::SetEdgeSwipeSize(System.IntPtr,Tizen.NUI.WindowSystem.GestureEdgeSize,System.Int32,System.Int32)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.WindowSystem.InputGesture::UngrabGesture(System.IntPtr)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler`1<Tizen.NUI.WindowSystem.EdgeDragEventArgs> Tizen.NUI.WindowSystem.InputGesture::EdgeDragEventHandler

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler`1<Tizen.NUI.WindowSystem.EdgeSwipeEventArgs> Tizen.NUI.WindowSystem.InputGesture::EdgeSwipeEventHandler

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler`1<Tizen.NUI.WindowSystem.PalmCoverEventArgs> Tizen.NUI.WindowSystem.InputGesture::PalmCoverEventHandler

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.EventHandler`1<Tizen.NUI.WindowSystem.TapEventArgs> Tizen.NUI.WindowSystem.InputGesture::TapEventHandler

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.PalmCoverEventArgs

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Double Tizen.NUI.WindowSystem.PalmCoverEventArgs::Pressure()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Double Tizen.NUI.WindowSystem.PalmCoverEventArgs::Size()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.PalmCoverEventArgs::Cx()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.PalmCoverEventArgs::Cy()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.PalmCoverEventArgs::Duration()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.PalmCoverEventArgs::Mode()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.WindowSystem.TapEventArgs

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.TapEventArgs::Fingers()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.TapEventArgs::Mode()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.WindowSystem.TapEventArgs::Repeats()


private void ReleaseHandle(IntPtr handle)
{
Interop.InputGesture.Deinitialize(_handler);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Interop.InputGesture.Deinitialize(_handler);
Interop.InputGesture.Deinitialize(handle);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API12 Platform : Tizen 9.0 / TFM: net6.0-tizen9.0 Internal API Changed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants