[NUI] Add GestureDetectorManager (#1895)
authorJoogabYun <40262755+JoogabYun@users.noreply.github.com>
Fri, 7 Aug 2020 02:24:46 +0000 (11:24 +0900)
committerGitHub <noreply@github.com>
Fri, 7 Aug 2020 02:24:46 +0000 (11:24 +0900)
commit8e32042de9f5157141d5c856ecf11bc2d8f2e24c
tree9ab5f6bd686e6c8311ffdc389c9c1e2d6132550f
parent1f1a09e460ca5556c2c7ad4f8456c873d7e89f61
[NUI] Add GestureDetectorManager (#1895)

- Detect supported gestures.
  : To receive Gesture, you can inherit and implement GestureDetectorManager.GestureListener.
    Then you can implement the necessary callback.

  sample)

            TextLabel backView = new TextLabel
            {
                Size = new Size(300, 300),
                Text = "Back View",
                Position = new Position(50, 70),
                PointSize = 11,
                BackgroundColor = new Color(1.0f, 1.0f, 0.0f, 1.0f),
            };

            mGestureDetector = new GestureDetectorManager(backView, new MyGestureListener());
            backView.TouchEvent += OnBackTouchEvent;

        private bool OnBackTouchEvent(object source, View.TouchEventArgs e)
        {
            Tizen.Log.Error("NUI", $"OnBackTouchEvent {e.Touch.GetState(0)}\n");
            mGestureDetector.FeedTouchEvent(source, e);
            return false;
        }

        class MyGestureListener : GestureDetectorManager.GestureListener
        {
          public override void OnTap(object sender, TapGestureDetector.DetectedEventArgs e)
          {
            Tizen.Log.Error("NUI", $"OnTap \n");
          }

          public override void OnPan(object sender, PanGestureDetector.DetectedEventArgs e)
          {
            Tizen.Log.Error("NUI", $"OnPan \n");
          }

          public override void OnPinch(object sender, PinchGestureDetector.DetectedEventArgs e)
          {
            Tizen.Log.Error("NUI", $"OnPinch \n");
          }

          public override void OnLongPress(object sender, LongPressGestureDetector.DetectedEventArgs e)
          {
            Tizen.Log.Error("NUI", $"OnLongPress \n");
          }
        }
src/Tizen.NUI/src/public/Events/GestureDetectorManager.cs [new file with mode: 0755]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/TouchGestureSample.cs [new file with mode: 0755]