1. [NUI] Add TouchArea property.
authorJoogab Yun <joogab.yun@samsung.com>
Fri, 12 Mar 2021 01:50:58 +0000 (10:50 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Thu, 16 Dec 2021 01:46:02 +0000 (10:46 +0900)
commit24eba54fa2b25d88448e66b5b4b4dd1cf58bf80f
tree15a045f75ea875f472ff5c7cf4dbec098cbc5026
parent3f0c093fbf76d7cd831cce6ec3a58f6928458225
1. [NUI] Add TouchArea property.

Default touchable area is view's size.
TouchArea can reset the view's touchable area.

This is usefull when the view is small, but it should have a larger touch area.

for example

      View view = new View();
      view.Size = new Size(10, 10);
      view.TouchEvent += OnTouchEvent;
      view.TouchArea = new Size2D(200, 200);

The view is small, If you want to set the touch area to a larger area,
you can use the TouchArea property.

2. [NUI] change type from Size2D to Size at TouchArea api

3. [NUI] Change  TouchArea to TouchAreaOffset (#2948)

    You can expand the touch area.

    for example)
      View view = new View();
      view.Size = new Size(10, 10);
      view.TouchEvent += OnTouch;
      view.TouchAreaOffset = new Offset(-100, 100, 100, -100); // left, right, bottom, top

    then touch area is 210x210.
    this is view.width  -touchAreaOffset.left + touchAreaOffset.right
    and view.height + touchAreaOffset.bottom  -touchAreaOffset.top

4. [NUI] Change ulong to uint at Interop.Touch.GetMouseButton (#3057)

5. [NUI] Change interruptView to InterceptTouchEvent

6. [NUI] Add NeedGesturePropagation (#3130)

This is used when the parent view wants to listen to gesture events.

7. [NUI] Add FocusableInTouch property

This is a property that allows you to have focus even when touched.

If Focusable is false, FocusableInTouchMode is disabled.
If you want to have focus on touch in touch mode, you need to set both settings to true.

focusable = true,
focusableInTouch = true,

8. [NUI] Add source type to TapGesture.

This is similar to MouseButton in TouchEvent.

Now, you can see from which input the tap was made.

9. [NUI] Supports moving focus of items in ScrollableBase

10. [NUI] Add EnableDefaultAlgorithm and IsDefaultAlgorithmEnabled

11. [NUI] Add FocusableChildren

12. [NUI] Check if pan gesture need to propagation

If it's a nested scroll, calculate whether the gesture should be sent to the parent.
23 files changed:
src/Tizen.NUI.Components/Controls/ScrollableBase.cs
src/Tizen.NUI/src/internal/Interop/Interop.Actor.cs
src/Tizen.NUI/src/internal/Interop/Interop.ActorInternal.cs
src/Tizen.NUI/src/internal/Interop/Interop.FocusManager.cs
src/Tizen.NUI/src/internal/Interop/Interop.TapGesture.cs
src/Tizen.NUI/src/internal/Interop/Interop.Touch.cs
src/Tizen.NUI/src/internal/ViewWrapperImpl.cs
src/Tizen.NUI/src/public/BaseComponents/Style/ViewStyle.cs
src/Tizen.NUI/src/public/BaseComponents/Style/ViewStyleBindableProperty.cs
src/Tizen.NUI/src/public/BaseComponents/View.cs
src/Tizen.NUI/src/public/BaseComponents/ViewBindableProperty.cs
src/Tizen.NUI/src/public/BaseComponents/ViewEvent.cs
src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs
src/Tizen.NUI/src/public/FocusManager.cs
src/Tizen.NUI/src/public/LongPressGestureDetector.cs
src/Tizen.NUI/src/public/NUIConstants.cs
src/Tizen.NUI/src/public/PanGestureDetector.cs
src/Tizen.NUI/src/public/PinchGestureDetector.cs
src/Tizen.NUI/src/public/RotationGestureDetector.cs
src/Tizen.NUI/src/public/TapGesture.cs
src/Tizen.NUI/src/public/TapGestureDetector.cs
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/FocusFinderSample.cs [new file with mode: 0644]
test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/TouchGestureSample.cs