2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
19 using System.Runtime.InteropServices;
20 using Tizen.NUI.Binding;
22 namespace Tizen.NUI.BaseComponents
25 /// Base class for derived Scrollable that contains actors that can be scrolled manually
26 /// (via touch) or automatically.
28 /// <since_tizen> 3 </since_tizen>
29 public class Scrollable : View
31 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
32 [EditorBrowsable(EditorBrowsableState.Never)]
33 public static readonly BindableProperty OvershootEffectColorProperty = BindableProperty.Create(nameof(OvershootEffectColor), typeof(Vector4), typeof(Scrollable), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
35 var scrollable = (Scrollable)bindable;
38 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootEffectColor, new Tizen.NUI.PropertyValue((Vector4)newValue));
41 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
43 var scrollable = (Scrollable)bindable;
44 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
45 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootEffectColor).Get(temp);
48 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
49 [EditorBrowsable(EditorBrowsableState.Never)]
50 public static readonly BindableProperty OvershootAnimationSpeedProperty = BindableProperty.Create(nameof(OvershootAnimationSpeed), typeof(float), typeof(Scrollable), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
52 var scrollable = (Scrollable)bindable;
55 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootAnimationSpeed, new Tizen.NUI.PropertyValue((float)newValue));
58 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
60 var scrollable = (Scrollable)bindable;
62 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootAnimationSpeed).Get(out temp);
65 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
66 [EditorBrowsable(EditorBrowsableState.Never)]
67 public static readonly BindableProperty OvershootEnabledProperty = BindableProperty.Create(nameof(OvershootEnabled), typeof(bool), typeof(Scrollable), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
69 var scrollable = (Scrollable)bindable;
72 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootEnabled, new Tizen.NUI.PropertyValue((bool)newValue));
75 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
77 var scrollable = (Scrollable)bindable;
79 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootEnabled).Get(out temp);
82 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
83 [EditorBrowsable(EditorBrowsableState.Never)]
84 public static readonly BindableProperty OvershootSizeProperty = BindableProperty.Create(nameof(OvershootSize), typeof(Vector2), typeof(Scrollable), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
86 var scrollable = (Scrollable)bindable;
89 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootSize, new Tizen.NUI.PropertyValue((Vector2)newValue));
92 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
94 var scrollable = (Scrollable)bindable;
95 Vector2 temp = new Vector2(0.0f, 0.0f);
96 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.OvershootSize).Get(temp);
99 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
100 [EditorBrowsable(EditorBrowsableState.Never)]
101 public static readonly BindableProperty ScrollToAlphaFunctionProperty = BindableProperty.Create(nameof(ScrollToAlphaFunction), typeof(int), typeof(Scrollable), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
103 var scrollable = (Scrollable)bindable;
104 if (newValue != null)
106 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollToAlphaFunction, new Tizen.NUI.PropertyValue((int)newValue));
109 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
111 var scrollable = (Scrollable)bindable;
113 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollToAlphaFunction).Get(out temp);
116 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
117 [EditorBrowsable(EditorBrowsableState.Never)]
118 public static readonly BindableProperty ScrollRelativePositionProperty = BindableProperty.Create(nameof(ScrollRelativePosition), typeof(Vector2), typeof(Scrollable), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
120 var scrollable = (Scrollable)bindable;
121 if (newValue != null)
123 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollRelativePosition, new Tizen.NUI.PropertyValue((Vector2)newValue));
126 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
128 var scrollable = (Scrollable)bindable;
129 Vector2 temp = new Vector2(0.0f, 0.0f);
130 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollRelativePosition).Get(temp);
133 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
134 [EditorBrowsable(EditorBrowsableState.Never)]
135 public static readonly BindableProperty ScrollPositionMinProperty = BindableProperty.Create(nameof(ScrollPositionMin), typeof(Vector2), typeof(Scrollable), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
137 var scrollable = (Scrollable)bindable;
138 if (newValue != null)
140 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollPositionMin, new Tizen.NUI.PropertyValue((Vector2)newValue));
143 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
145 var scrollable = (Scrollable)bindable;
146 Vector2 temp = new Vector2(0.0f, 0.0f);
147 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollPositionMin).Get(temp);
150 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
151 [EditorBrowsable(EditorBrowsableState.Never)]
152 public static readonly BindableProperty ScrollPositionMaxProperty = BindableProperty.Create(nameof(ScrollPositionMax), typeof(Vector2), typeof(Scrollable), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
154 var scrollable = (Scrollable)bindable;
155 if (newValue != null)
157 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollPositionMax, new Tizen.NUI.PropertyValue((Vector2)newValue));
160 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
162 var scrollable = (Scrollable)bindable;
163 Vector2 temp = new Vector2(0.0f, 0.0f);
164 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.ScrollPositionMax).Get(temp);
167 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
168 [EditorBrowsable(EditorBrowsableState.Never)]
169 public static readonly BindableProperty CanScrollVerticalProperty = BindableProperty.Create(nameof(CanScrollVertical), typeof(bool), typeof(Scrollable), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
171 var scrollable = (Scrollable)bindable;
172 if (newValue != null)
174 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.CanScrollVertical, new Tizen.NUI.PropertyValue((bool)newValue));
177 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
179 var scrollable = (Scrollable)bindable;
181 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.CanScrollVertical).Get(out temp);
184 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
185 [EditorBrowsable(EditorBrowsableState.Never)]
186 public static readonly BindableProperty CanScrollHorizontalProperty = BindableProperty.Create(nameof(CanScrollHorizontal), typeof(bool), typeof(Scrollable), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
188 var scrollable = (Scrollable)bindable;
189 if (newValue != null)
191 Tizen.NUI.Object.SetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.CanScrollHorizontal, new Tizen.NUI.PropertyValue((bool)newValue));
194 defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
196 var scrollable = (Scrollable)bindable;
198 Tizen.NUI.Object.GetProperty((HandleRef)scrollable.SwigCPtr, Scrollable.Property.CanScrollHorizontal).Get(out temp);
202 private DaliEventHandler<object, StartedEventArgs> scrollableStartedEventHandler;
203 private StartedCallbackDelegate scrollableStartedCallbackDelegate;
204 private DaliEventHandler<object, UpdatedEventArgs> scrollableUpdatedEventHandler;
205 private UpdatedCallbackDelegate scrollableUpdatedCallbackDelegate;
206 private DaliEventHandler<object, CompletedEventArgs> scrollableCompletedEventHandler;
207 private CompletedCallbackDelegate scrollableCompletedCallbackDelegate;
210 /// Create an instance of scrollable.
212 /// <since_tizen> 3 </since_tizen>
213 public Scrollable() : this(Interop.Scrollable.NewScrollable(), true)
215 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
218 internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
222 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
223 private delegate void StartedCallbackDelegate(IntPtr vector2);
225 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
226 private delegate void UpdatedCallbackDelegate(IntPtr vector2);
228 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
229 private delegate void CompletedCallbackDelegate(IntPtr vector2);
232 /// The ScrollStarted event emitted when the Scrollable has moved (whether by touch or animation).
234 /// <since_tizen> 3 </since_tizen>
235 public event DaliEventHandler<object, StartedEventArgs> ScrollStarted
239 // Restricted to only one listener
240 if (scrollableStartedEventHandler == null)
242 scrollableStartedEventHandler += value;
244 scrollableStartedCallbackDelegate = new StartedCallbackDelegate(OnStarted);
245 this.ScrollStartedSignal().Connect(scrollableStartedCallbackDelegate);
251 if (scrollableStartedEventHandler != null)
253 this.ScrollStartedSignal().Disconnect(scrollableStartedCallbackDelegate);
256 scrollableStartedEventHandler -= value;
261 /// The ScrollUpdated event emitted when the Scrollable has moved (whether by touch or animation).
263 /// <since_tizen> 3 </since_tizen>
264 public event DaliEventHandler<object, UpdatedEventArgs> ScrollUpdated
268 // Restricted to only one listener
269 if (scrollableUpdatedEventHandler == null)
271 scrollableUpdatedEventHandler += value;
273 scrollableUpdatedCallbackDelegate = new UpdatedCallbackDelegate(OnUpdated);
274 this.ScrollUpdatedSignal().Connect(scrollableUpdatedCallbackDelegate);
280 if (scrollableUpdatedEventHandler != null)
282 this.ScrollUpdatedSignal().Disconnect(scrollableUpdatedCallbackDelegate);
285 scrollableUpdatedEventHandler -= value;
290 /// The ScrollCompleted event emitted when the Scrollable has completed movement
291 /// (whether by touch or animation).
293 /// <since_tizen> 3 </since_tizen>
294 public event DaliEventHandler<object, CompletedEventArgs> ScrollCompleted
298 // Restricted to only one listener
299 if (scrollableCompletedEventHandler == null)
301 scrollableCompletedEventHandler += value;
303 scrollableCompletedCallbackDelegate = new CompletedCallbackDelegate(OnCompleted);
304 this.ScrollCompletedSignal().Connect(scrollableCompletedCallbackDelegate);
310 if (scrollableCompletedEventHandler != null)
312 this.ScrollCompletedSignal().Disconnect(scrollableCompletedCallbackDelegate);
315 scrollableCompletedEventHandler -= value;
320 /// Sets and Gets the color of the overshoot effect.
322 /// <since_tizen> 3 </since_tizen>
323 public Vector4 OvershootEffectColor
327 return (Vector4)GetValue(OvershootEffectColorProperty);
331 SetValue(OvershootEffectColorProperty, value);
332 NotifyPropertyChanged();
337 /// Sets and Gets the speed of overshoot animation in pixels per second.
339 /// <since_tizen> 3 </since_tizen>
340 public float OvershootAnimationSpeed
344 return (float)GetValue(OvershootAnimationSpeedProperty);
348 SetValue(OvershootAnimationSpeedProperty, value);
349 NotifyPropertyChanged();
354 /// Checks if scroll overshoot has been enabled or not.
356 /// <since_tizen> 3 </since_tizen>
357 public bool OvershootEnabled
361 return (bool)GetValue(OvershootEnabledProperty);
365 SetValue(OvershootEnabledProperty, value);
366 NotifyPropertyChanged();
371 /// Gets and Sets OvershootSize property.
373 /// <since_tizen> 3 </since_tizen>
374 public Vector2 OvershootSize
378 return (Vector2)GetValue(OvershootSizeProperty);
382 SetValue(OvershootSizeProperty, value);
383 NotifyPropertyChanged();
388 /// Gets and Sets ScrollToAlphaFunction property.
390 /// <since_tizen> 3 </since_tizen>
391 public int ScrollToAlphaFunction
395 return (int)GetValue(ScrollToAlphaFunctionProperty);
399 SetValue(ScrollToAlphaFunctionProperty, value);
400 NotifyPropertyChanged();
405 /// Gets and Sets ScrollRelativePosition property.
407 /// <since_tizen> 3 </since_tizen>
408 public Vector2 ScrollRelativePosition
412 return (Vector2)GetValue(ScrollRelativePositionProperty);
416 SetValue(ScrollRelativePositionProperty, value);
417 NotifyPropertyChanged();
422 /// Gets and Sets ScrollPositionMin property.
424 /// <since_tizen> 3 </since_tizen>
425 public Vector2 ScrollPositionMin
429 return (Vector2)GetValue(ScrollPositionMinProperty);
433 SetValue(ScrollPositionMinProperty, value);
434 NotifyPropertyChanged();
439 /// Gets and Sets ScrollPositionMax property.
441 /// <since_tizen> 3 </since_tizen>
442 public Vector2 ScrollPositionMax
446 return (Vector2)GetValue(ScrollPositionMaxProperty);
450 SetValue(ScrollPositionMaxProperty, value);
451 NotifyPropertyChanged();
456 /// Gets and Sets CanScrollVertical property.
458 /// <since_tizen> 3 </since_tizen>
459 public bool CanScrollVertical
463 return (bool)GetValue(CanScrollVerticalProperty);
467 SetValue(CanScrollVerticalProperty, value);
468 NotifyPropertyChanged();
473 /// Gets and Sets CanScrollHorizontal property.
475 /// <since_tizen> 3 </since_tizen>
476 public bool CanScrollHorizontal
480 return (bool)GetValue(CanScrollHorizontalProperty);
484 SetValue(CanScrollHorizontalProperty, value);
485 NotifyPropertyChanged();
489 internal ScrollableSignal ScrollStartedSignal()
491 ScrollableSignal ret = new ScrollableSignal(Interop.Scrollable.ScrollStartedSignal(SwigCPtr), false);
492 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
496 internal ScrollableSignal ScrollUpdatedSignal()
498 ScrollableSignal ret = new ScrollableSignal(Interop.Scrollable.ScrollUpdatedSignal(SwigCPtr), false);
499 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
503 internal ScrollableSignal ScrollCompletedSignal()
505 ScrollableSignal ret = new ScrollableSignal(Interop.Scrollable.ScrollCompletedSignal(SwigCPtr), false);
506 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
511 /// you can override it to clean-up your own resources.
513 /// <param name="type">DisposeTypes</param>
514 /// <since_tizen> 3 </since_tizen>
515 protected override void Dispose(DisposeTypes type)
522 //Release your own unmanaged resources here.
523 //You should not access any managed member here except static instance.
524 //because the execution order of Finalizes is non-deterministic.
527 DisConnectFromSignals();
533 /// This will not be public opened.
534 [EditorBrowsable(EditorBrowsableState.Never)]
535 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
537 Interop.Scrollable.DeleteScrollable(swigCPtr);
540 private void DisConnectFromSignals()
542 if (scrollableCompletedCallbackDelegate != null)
544 using ScrollableSignal signal = new ScrollableSignal(Interop.Scrollable.ScrollCompletedSignal(GetBaseHandleCPtrHandleRef), false);
545 signal?.Disconnect(scrollableCompletedCallbackDelegate);
546 scrollableCompletedCallbackDelegate = null;
549 if (scrollableUpdatedCallbackDelegate != null)
551 using ScrollableSignal signal = new ScrollableSignal(Interop.Scrollable.ScrollUpdatedSignal(GetBaseHandleCPtrHandleRef), false);
552 signal?.Disconnect(scrollableUpdatedCallbackDelegate);
553 scrollableUpdatedCallbackDelegate = null;
556 if (scrollableStartedCallbackDelegate != null)
558 using ScrollableSignal signal = new ScrollableSignal(Interop.Scrollable.ScrollStartedSignal(GetBaseHandleCPtrHandleRef), false);
559 signal?.Disconnect(scrollableStartedCallbackDelegate);
560 scrollableStartedCallbackDelegate = null;
564 private void OnStarted(IntPtr vector2)
566 if (scrollableStartedEventHandler != null)
568 StartedEventArgs e = new StartedEventArgs();
570 // Populate all members of "e" (StartedEventArgs) with real data
571 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
572 //here we send all data to user event handlers
573 scrollableStartedEventHandler(this, e);
578 private void OnUpdated(IntPtr vector2)
580 if (scrollableUpdatedEventHandler != null)
582 UpdatedEventArgs e = new UpdatedEventArgs();
584 // Populate all members of "e" (UpdatedEventArgs) with real data
585 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
586 //here we send all data to user event handlers
587 scrollableUpdatedEventHandler(this, e);
592 private void OnCompleted(IntPtr vector2)
594 if (scrollableCompletedEventHandler != null)
596 CompletedEventArgs e = new CompletedEventArgs();
598 // Populate all members of "e" (CompletedEventArgs) with real data
599 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
600 //here we send all data to user event handlers
601 scrollableCompletedEventHandler(this, e);
606 private bool IsOvershootEnabled()
608 bool ret = Interop.Scrollable.IsOvershootEnabled(SwigCPtr);
609 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
613 private void SetOvershootEnabled(bool enable)
615 Interop.Scrollable.SetOvershootEnabled(SwigCPtr, enable);
616 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
619 private void SetOvershootEffectColor(Vector4 color)
621 Interop.Scrollable.SetOvershootEffectColor(SwigCPtr, Vector4.getCPtr(color));
622 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
625 private Vector4 GetOvershootEffectColor()
627 Vector4 ret = new Vector4(Interop.Scrollable.GetOvershootEffectColor(SwigCPtr), true);
628 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
632 private void SetOvershootAnimationSpeed(float pixelsPerSecond)
634 Interop.Scrollable.SetOvershootAnimationSpeed(SwigCPtr, pixelsPerSecond);
635 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
638 private float GetOvershootAnimationSpeed()
640 float ret = Interop.Scrollable.GetOvershootAnimationSpeed(SwigCPtr);
641 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
646 /// The scroll animation started event arguments.
648 /// <since_tizen> 3 </since_tizen>
649 public class StartedEventArgs : EventArgs
651 private Vector2 vector2;
656 /// <since_tizen> 3 </since_tizen>
657 public Vector2 Vector2
671 /// The scrollable updated event arguments.
673 /// <since_tizen> 3 </since_tizen>
674 public class UpdatedEventArgs : EventArgs
676 private Vector2 vector2;
681 /// <since_tizen> 3 </since_tizen>
682 public Vector2 Vector2
696 /// The scroll animation completed event arguments.
698 /// <since_tizen> 3 </since_tizen>
699 public class CompletedEventArgs : EventArgs
701 private Vector2 vector2;
706 /// <since_tizen> 3 </since_tizen>
707 public Vector2 Vector2
721 /// Enumeration for the instance of properties belonging to the Scrollable class.
723 internal new class Property
726 /// The color of the overshoot effect.
728 internal static readonly int OvershootEffectColor = Interop.Scrollable.OvershootEffectColorGet();
730 /// The speed of overshoot animation in pixels per second.
732 internal static readonly int OvershootAnimationSpeed = Interop.Scrollable.OvershootAnimationSpeedGet();
734 /// Whether to enables or disable scroll overshoot.
736 internal static readonly int OvershootEnabled = Interop.Scrollable.OvershootEnabledGet();
738 /// The size of the overshoot.
740 internal static readonly int OvershootSize = Interop.Scrollable.OvershootSizeGet();
742 /// scrollToAlphaFunction.
744 internal static readonly int ScrollToAlphaFunction = Interop.Scrollable.ScrollToAlphaFunctionGet();
746 /// scrollRelativePosition
748 internal static readonly int ScrollRelativePosition = Interop.Scrollable.ScrollRelativePositionGet();
750 /// scrollPositionMin
752 internal static readonly int ScrollPositionMin = Interop.Scrollable.ScrollPositionMinGet();
754 /// scrollPositionMinX.
756 internal static readonly int ScrollPositionMinX = Interop.Scrollable.ScrollPositionMinXGet();
758 /// scrollPositionMinY.
760 internal static readonly int ScrollPositionMinY = Interop.Scrollable.ScrollPositionMinYGet();
762 /// scrollPositionMax.
764 internal static readonly int ScrollPositionMax = Interop.Scrollable.ScrollPositionMaxGet();
766 /// scrollPositionMaxX.
768 internal static readonly int ScrollPositionMaxX = Interop.Scrollable.ScrollPositionMaxXGet();
770 /// scrollPositionMaxY.
772 internal static readonly int ScrollPositionMaxY = Interop.Scrollable.ScrollPositionMaxYGet();
774 /// canScrollVertical
776 internal static readonly int CanScrollVertical = Interop.Scrollable.CanScrollVerticalGet();
778 /// canScrollHorizontal.
780 internal static readonly int CanScrollHorizontal = Interop.Scrollable.CanScrollHorizontalGet();