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: