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.
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Actor_Property_CAPTURE_ALL_TOUCH_AFTER_START_get")]
public static extern int ActorPropertyCaptureAllTouchAfterStartGet();
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Actor_Property_TOUCH_AREA_get")]
+ public static extern int ActorPropertyTouchAreaGet();
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_Actor_Property")]
public static extern global::System.IntPtr new_Actor_Property();
internal static readonly int PADDING = Interop.ViewProperty.View_Property_PADDING_get();
internal static readonly int SHADOW = Interop.ViewProperty.View_Property_SHADOW_get();
internal static readonly int CaptureAllTouchAfterStart = Interop.ActorProperty.ActorPropertyCaptureAllTouchAfterStartGet();
+ internal static readonly int TouchArea = Interop.ActorProperty.ActorPropertyTouchAreaGet();
}
}
}
}
}
+ /// <summary>
+ /// TouchArea can reset the view's touchable area.<br/>
+ /// If you set the TouchArea on an view, when you touch the view, the touch area is used rather than the size of the view.
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Size2D TouchArea
+ {
+ get
+ {
+ Size2D temp = new Size2D(0, 0);
+ GetProperty(View.Property.TouchArea).Get(temp);
+ return new Size2D(temp.Width, temp.Height);
+ }
+ set
+ {
+ SetProperty(View.Property.TouchArea, new Tizen.NUI.PropertyValue(value));
+ NotifyPropertyChanged();
+ }
+ }
+
}
}