2 * Copyright(c) 2017 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 Scrollables 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("OvershootEffectColor", typeof(Vector4), typeof(Scrollable), null, propertyChanged: (bindable, oldValue, newValue) =>
35 var scrollable = (Scrollable)bindable;
38 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_EFFECT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
41 defaultValueCreator: (bindable) =>
43 var scrollable = (Scrollable)bindable;
44 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
45 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_EFFECT_COLOR).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("OvershootAnimationSpeed", typeof(float), typeof(Scrollable), default(float), propertyChanged: (bindable, oldValue, newValue) =>
52 var scrollable = (Scrollable)bindable;
55 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ANIMATION_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
58 defaultValueCreator: (bindable) =>
60 var scrollable = (Scrollable)bindable;
62 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ANIMATION_SPEED).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("OvershootEnabled", typeof(bool), typeof(Scrollable), false, propertyChanged: (bindable, oldValue, newValue) =>
69 var scrollable = (Scrollable)bindable;
72 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
75 defaultValueCreator: (bindable) =>
77 var scrollable = (Scrollable)bindable;
79 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ENABLED).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("OvershootSize", typeof(Vector2), typeof(Scrollable), null, propertyChanged: (bindable, oldValue, newValue) =>
86 var scrollable = (Scrollable)bindable;
89 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_SIZE, new Tizen.NUI.PropertyValue((Vector2)newValue));
92 defaultValueCreator: (bindable) =>
94 var scrollable = (Scrollable)bindable;
95 Vector2 temp = new Vector2(0.0f, 0.0f);
96 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_SIZE).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("ScrollToAlphaFunction", typeof(int), typeof(Scrollable), default(int), propertyChanged: (bindable, oldValue, newValue) =>
103 var scrollable = (Scrollable)bindable;
104 if (newValue != null)
106 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION, new Tizen.NUI.PropertyValue((int)newValue));
109 defaultValueCreator: (bindable) =>
111 var scrollable = (Scrollable)bindable;
113 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION).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("ScrollRelativePosition", typeof(Vector2), typeof(Scrollable), null, propertyChanged: (bindable, oldValue, newValue) =>
120 var scrollable = (Scrollable)bindable;
121 if (newValue != null)
123 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_RELATIVE_POSITION, new Tizen.NUI.PropertyValue((Vector2)newValue));
126 defaultValueCreator: (bindable) =>
128 var scrollable = (Scrollable)bindable;
129 Vector2 temp = new Vector2(0.0f, 0.0f);
130 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_RELATIVE_POSITION).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("ScrollPositionMin", typeof(Vector2), typeof(Scrollable), null, propertyChanged: (bindable, oldValue, newValue) =>
137 var scrollable = (Scrollable)bindable;
138 if (newValue != null)
140 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MIN, new Tizen.NUI.PropertyValue((Vector2)newValue));
143 defaultValueCreator: (bindable) =>
145 var scrollable = (Scrollable)bindable;
146 Vector2 temp = new Vector2(0.0f, 0.0f);
147 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MIN).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("ScrollPositionMax", typeof(Vector2), typeof(Scrollable), null, propertyChanged: (bindable, oldValue, newValue) =>
154 var scrollable = (Scrollable)bindable;
155 if (newValue != null)
157 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MAX, new Tizen.NUI.PropertyValue((Vector2)newValue));
160 defaultValueCreator: (bindable) =>
162 var scrollable = (Scrollable)bindable;
163 Vector2 temp = new Vector2(0.0f, 0.0f);
164 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MAX).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("CanScrollVertical", typeof(bool), typeof(Scrollable), false, propertyChanged: (bindable, oldValue, newValue) =>
171 var scrollable = (Scrollable)bindable;
172 if (newValue != null)
174 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_VERTICAL, new Tizen.NUI.PropertyValue((bool)newValue));
177 defaultValueCreator: (bindable) =>
179 var scrollable = (Scrollable)bindable;
181 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_VERTICAL).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("CanScrollHorizontal", typeof(bool), typeof(Scrollable), false, propertyChanged: (bindable, oldValue, newValue) =>
188 var scrollable = (Scrollable)bindable;
189 if (newValue != null)
191 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_HORIZONTAL, new Tizen.NUI.PropertyValue((bool)newValue));
194 defaultValueCreator: (bindable) =>
196 var scrollable = (Scrollable)bindable;
198 Tizen.NUI.Object.GetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_HORIZONTAL).Get(out temp);
202 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
203 private DaliEventHandler<object, StartedEventArgs> _scrollableStartedEventHandler;
204 private StartedCallbackDelegate _scrollableStartedCallbackDelegate;
205 private DaliEventHandler<object, UpdatedEventArgs> _scrollableUpdatedEventHandler;
206 private UpdatedCallbackDelegate _scrollableUpdatedCallbackDelegate;
207 private DaliEventHandler<object, CompletedEventArgs> _scrollableCompletedEventHandler;
208 private CompletedCallbackDelegate _scrollableCompletedCallbackDelegate;
211 /// Create an instance of scrollable.
213 /// <since_tizen> 3 </since_tizen>
214 public Scrollable() : this(NDalicPINVOKE.new_Scrollable__SWIG_0(), true)
216 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
219 internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Scrollable_SWIGUpcast(cPtr), cMemoryOwn)
221 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
224 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
225 private delegate void StartedCallbackDelegate(IntPtr vector2);
227 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
228 private delegate void UpdatedCallbackDelegate(IntPtr vector2);
230 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
231 private delegate void CompletedCallbackDelegate(IntPtr vector2);
234 /// The ScrollStarted event emitted when the Scrollable has moved (whether by touch or animation).
236 /// <since_tizen> 3 </since_tizen>
237 public event DaliEventHandler<object, StartedEventArgs> ScrollStarted
243 // Restricted to only one listener
244 if (_scrollableStartedEventHandler == null)
246 _scrollableStartedEventHandler += value;
248 _scrollableStartedCallbackDelegate = new StartedCallbackDelegate(OnStarted);
249 this.ScrollStartedSignal().Connect(_scrollableStartedCallbackDelegate);
258 if (_scrollableStartedEventHandler != null)
260 this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
263 _scrollableStartedEventHandler -= value;
269 /// The ScrollUpdated event emitted when the Scrollable has moved (whether by touch or animation).
271 /// <since_tizen> 3 </since_tizen>
272 public event DaliEventHandler<object, UpdatedEventArgs> ScrollUpdated
278 // Restricted to only one listener
279 if (_scrollableUpdatedEventHandler == null)
281 _scrollableUpdatedEventHandler += value;
283 _scrollableUpdatedCallbackDelegate = new UpdatedCallbackDelegate(OnUpdated);
284 this.ScrollUpdatedSignal().Connect(_scrollableUpdatedCallbackDelegate);
293 if (_scrollableUpdatedEventHandler != null)
295 this.ScrollUpdatedSignal().Disconnect(_scrollableUpdatedCallbackDelegate);
298 _scrollableUpdatedEventHandler -= value;
304 /// The ScrollCompleted event emitted when the Scrollable has completed movement
305 /// (whether by touch or animation).
307 /// <since_tizen> 3 </since_tizen>
308 public event DaliEventHandler<object, CompletedEventArgs> ScrollCompleted
314 // Restricted to only one listener
315 if (_scrollableCompletedEventHandler == null)
317 _scrollableCompletedEventHandler += value;
319 _scrollableCompletedCallbackDelegate = new CompletedCallbackDelegate(OnCompleted);
320 this.ScrollCompletedSignal().Connect(_scrollableCompletedCallbackDelegate);
329 if (_scrollableCompletedEventHandler != null)
331 this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
334 _scrollableCompletedEventHandler -= value;
340 /// Sets and Gets the color of the overshoot effect.
342 /// <since_tizen> 3 </since_tizen>
343 public Vector4 OvershootEffectColor
347 return (Vector4)GetValue(OvershootEffectColorProperty);
351 SetValue(OvershootEffectColorProperty, value);
352 NotifyPropertyChanged();
357 /// Sets and Gets the speed of overshoot animation in pixels per second.
359 /// <since_tizen> 3 </since_tizen>
360 public float OvershootAnimationSpeed
364 return (float)GetValue(OvershootAnimationSpeedProperty);
368 SetValue(OvershootAnimationSpeedProperty, value);
369 NotifyPropertyChanged();
374 /// Checks if scroll overshoot has been enabled or not.
376 /// <since_tizen> 3 </since_tizen>
377 public bool OvershootEnabled
381 return (bool)GetValue(OvershootEnabledProperty);
385 SetValue(OvershootEnabledProperty, value);
386 NotifyPropertyChanged();
391 /// Gets and Sets OvershootSize property.
393 /// <since_tizen> 3 </since_tizen>
394 public Vector2 OvershootSize
398 return (Vector2)GetValue(OvershootSizeProperty);
402 SetValue(OvershootSizeProperty, value);
403 NotifyPropertyChanged();
408 /// Gets and Sets ScrollToAlphaFunction property.
410 /// <since_tizen> 3 </since_tizen>
411 public int ScrollToAlphaFunction
415 return (int)GetValue(ScrollToAlphaFunctionProperty);
419 SetValue(ScrollToAlphaFunctionProperty, value);
420 NotifyPropertyChanged();
425 /// Gets and Sets ScrollRelativePosition property.
427 /// <since_tizen> 3 </since_tizen>
428 public Vector2 ScrollRelativePosition
432 return (Vector2)GetValue(ScrollRelativePositionProperty);
436 SetValue(ScrollRelativePositionProperty, value);
437 NotifyPropertyChanged();
442 /// Gets and Sets ScrollPositionMin property.
444 /// <since_tizen> 3 </since_tizen>
445 public Vector2 ScrollPositionMin
449 return (Vector2)GetValue(ScrollPositionMinProperty);
453 SetValue(ScrollPositionMinProperty, value);
454 NotifyPropertyChanged();
459 /// Gets and Sets ScrollPositionMax property.
461 /// <since_tizen> 3 </since_tizen>
462 public Vector2 ScrollPositionMax
466 return (Vector2)GetValue(ScrollPositionMaxProperty);
470 SetValue(ScrollPositionMaxProperty, value);
471 NotifyPropertyChanged();
476 /// Gets and Sets CanScrollVertical property.
478 /// <since_tizen> 3 </since_tizen>
479 public bool CanScrollVertical
483 return (bool)GetValue(CanScrollVerticalProperty);
487 SetValue(CanScrollVerticalProperty, value);
488 NotifyPropertyChanged();
493 /// Gets and Sets CanScrollHorizontal property.
495 /// <since_tizen> 3 </since_tizen>
496 public bool CanScrollHorizontal
500 return (bool)GetValue(CanScrollHorizontalProperty);
504 SetValue(CanScrollHorizontalProperty, value);
505 NotifyPropertyChanged();
509 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Scrollable obj)
511 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
514 internal ScrollableSignal ScrollStartedSignal()
516 ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollStartedSignal(swigCPtr), false);
517 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
521 internal ScrollableSignal ScrollUpdatedSignal()
523 ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollUpdatedSignal(swigCPtr), false);
524 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
528 internal ScrollableSignal ScrollCompletedSignal()
530 ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollCompletedSignal(swigCPtr), false);
531 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
536 /// you can override it to clean-up your own resources.
538 /// <param name="type">DisposeTypes</param>
539 /// <since_tizen> 3 </since_tizen>
540 protected override void Dispose(DisposeTypes type)
547 if (type == DisposeTypes.Explicit)
550 //Release your own managed resources here.
551 //You should release all of your own disposable objects here.
555 //Release your own unmanaged resources here.
556 //You should not access any managed member here except static instance.
557 //because the execution order of Finalizes is non-deterministic.
560 DisConnectFromSignals();
563 if (swigCPtr.Handle != global::System.IntPtr.Zero)
568 NDalicPINVOKE.delete_Scrollable(swigCPtr);
570 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
576 private void DisConnectFromSignals()
578 // Save current CPtr.
579 global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
581 // Use BaseHandle CPtr as current might have been deleted already in derived classes.
582 swigCPtr = GetBaseHandleCPtrHandleRef;
584 if (_scrollableCompletedCallbackDelegate != null)
586 this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
589 if (_scrollableUpdatedCallbackDelegate != null)
591 this.ScrollUpdatedSignal().Disconnect(_scrollableUpdatedCallbackDelegate);
594 if (_scrollableStartedCallbackDelegate != null)
596 this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
599 // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
600 // Restore current CPtr.
601 swigCPtr = currentCPtr;
604 private void OnStarted(IntPtr vector2)
606 StartedEventArgs e = new StartedEventArgs();
608 // Populate all members of "e" (StartedEventArgs) with real data
609 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
611 if (_scrollableStartedEventHandler != null)
613 //here we send all data to user event handlers
614 _scrollableStartedEventHandler(this, e);
619 private void OnUpdated(IntPtr vector2)
621 UpdatedEventArgs e = new UpdatedEventArgs();
623 // Populate all members of "e" (UpdatedEventArgs) with real data
624 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
626 if (_scrollableUpdatedEventHandler != null)
628 //here we send all data to user event handlers
629 _scrollableUpdatedEventHandler(this, e);
634 private void OnCompleted(IntPtr vector2)
636 CompletedEventArgs e = new CompletedEventArgs();
638 // Populate all members of "e" (CompletedEventArgs) with real data
639 e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
641 if (_scrollableCompletedEventHandler != null)
643 //here we send all data to user event handlers
644 _scrollableCompletedEventHandler(this, e);
649 private bool IsOvershootEnabled()
651 bool ret = NDalicPINVOKE.Scrollable_IsOvershootEnabled(swigCPtr);
652 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
656 private void SetOvershootEnabled(bool enable)
658 NDalicPINVOKE.Scrollable_SetOvershootEnabled(swigCPtr, enable);
659 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
662 private void SetOvershootEffectColor(Vector4 color)
664 NDalicPINVOKE.Scrollable_SetOvershootEffectColor(swigCPtr, Vector4.getCPtr(color));
665 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
668 private Vector4 GetOvershootEffectColor()
670 Vector4 ret = new Vector4(NDalicPINVOKE.Scrollable_GetOvershootEffectColor(swigCPtr), true);
671 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
675 private void SetOvershootAnimationSpeed(float pixelsPerSecond)
677 NDalicPINVOKE.Scrollable_SetOvershootAnimationSpeed(swigCPtr, pixelsPerSecond);
678 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
681 private float GetOvershootAnimationSpeed()
683 float ret = NDalicPINVOKE.Scrollable_GetOvershootAnimationSpeed(swigCPtr);
684 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
689 /// The scroll animation started event arguments.
691 /// <since_tizen> 3 </since_tizen>
692 public class StartedEventArgs : EventArgs
694 private Vector2 _vector2;
699 /// <since_tizen> 3 </since_tizen>
700 public Vector2 Vector2
714 /// The scrollable updated event arguments.
716 /// <since_tizen> 3 </since_tizen>
717 public class UpdatedEventArgs : EventArgs
719 private Vector2 _vector2;
724 /// <since_tizen> 3 </since_tizen>
725 public Vector2 Vector2
739 /// The scroll animation completed event arguments.
741 /// <since_tizen> 3 </since_tizen>
742 public class CompletedEventArgs : EventArgs
744 private Vector2 _vector2;
749 /// <since_tizen> 3 </since_tizen>
750 public Vector2 Vector2
764 /// Enumeration for the instance of properties belonging to the Scrollable class.
766 /// <since_tizen> 3 </since_tizen>
767 public new class Property
770 /// The color of the overshoot effect.
772 /// <since_tizen> 3 </since_tizen>
773 public static readonly int OVERSHOOT_EFFECT_COLOR = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get();
775 /// The speed of overshoot animation in pixels per second.
777 /// <since_tizen> 3 </since_tizen>
778 public static readonly int OVERSHOOT_ANIMATION_SPEED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get();
780 /// Whether to enables or disable scroll overshoot.
782 /// <since_tizen> 3 </since_tizen>
783 public static readonly int OVERSHOOT_ENABLED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ENABLED_get();
785 /// The size of the overshoot.
787 /// <since_tizen> 3 </since_tizen>
788 public static readonly int OVERSHOOT_SIZE = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_SIZE_get();
790 /// scrollToAlphaFunction.
792 /// <since_tizen> 3 </since_tizen>
793 public static readonly int SCROLL_TO_ALPHA_FUNCTION = NDalicPINVOKE.Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get();
795 /// scrollRelativePosition
797 /// <since_tizen> 3 </since_tizen>
798 public static readonly int SCROLL_RELATIVE_POSITION = NDalicPINVOKE.Scrollable_Property_SCROLL_RELATIVE_POSITION_get();
800 /// scrollPositionMin
802 /// <since_tizen> 3 </since_tizen>
803 public static readonly int SCROLL_POSITION_MIN = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_get();
805 /// scrollPositionMinX.
807 /// <since_tizen> 3 </since_tizen>
808 public static readonly int SCROLL_POSITION_MIN_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_X_get();
810 /// scrollPositionMinY.
812 /// <since_tizen> 3 </since_tizen>
813 public static readonly int SCROLL_POSITION_MIN_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_Y_get();
815 /// scrollPositionMax.
817 /// <since_tizen> 3 </since_tizen>
818 public static readonly int SCROLL_POSITION_MAX = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_get();
820 /// scrollPositionMaxX.
822 /// <since_tizen> 3 </since_tizen>
823 public static readonly int SCROLL_POSITION_MAX_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_X_get();
825 /// scrollPositionMaxY.
827 /// <since_tizen> 3 </since_tizen>
828 public static readonly int SCROLL_POSITION_MAX_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_Y_get();
830 /// canScrollVertical
832 /// <since_tizen> 3 </since_tizen>
833 public static readonly int CAN_SCROLL_VERTICAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_VERTICAL_get();
835 /// canScrollHorizontal.
837 /// <since_tizen> 3 </since_tizen>
838 public static readonly int CAN_SCROLL_HORIZONTAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_HORIZONTAL_get();