#include <kanzi/ui/node/concept/scroll_view.hpp>
Public Types | |
typedef ScrollViewConceptImpl< TBaseClass, TDerivedClass > | TScrollView |
Public Types inherited from kanzi::ScrollViewConcept | |
enum | ScrollDirection { ScrollUp, ScrollDown, ScrollLeft, ScrollRight } |
Enumeration for possible directions when scrolling by step. More... | |
enum | ScrollPage { ScrollPageUp, ScrollPageDown } |
Enumeration for possible directions when scrolling by page. More... | |
enum | ScrollEdge { ScrollHome, ScrollEnd } |
Enumeration for possible directions when scrolling to edge. More... | |
enum | PanState { PanInitial, PanStarted, PanCancelling, PanCanceled } |
Enumeration for pan state. More... | |
Public Member Functions | |
~ScrollViewConceptImpl () | |
Destructor. More... | |
PanManipulatorSharedPtr | getPanManipulator () const |
Returns the pan manipulator. More... | |
Vector2 | getScrollAxis () const |
Gets the value of ScrollAxisProperty. More... | |
void | setScrollAxis (Vector2 value) |
Sets the value of ScrollAxisProperty. More... | |
float | getRecognitionThreshold () const |
Gets the value of RecognitionThresholdProperty. More... | |
void | setRecognitionThreshold (float value) |
Sets the value of RecognitionThresholdProperty. More... | |
int | getMinimumNumberOfTouches () const |
Gets the value of MinimumNumberOfTouchesProperty. More... | |
void | setMinimumNumberOfTouches (int value) |
Sets the value of MinimumNumberOfTouchesProperty. More... | |
int | getMaximumNumberOfTouches () const |
Gets the value of MinimumNumberOfTouchesProperty. More... | |
void | setMaximumNumberOfTouches (int value) |
Sets the value of MinimumNumberOfTouchesProperty. More... | |
float | getSensitivity () const |
Gets the value of SensitivityProperty. More... | |
void | setSensitivity (float value) |
Sets the value of SensitivityProperty. More... | |
float | getSlidingAccelerationCoefficient () const |
Gets the value of SlidingAccelerationCoefficientProperty. More... | |
void | setSlidingAccelerationCoefficient (float value) |
Sets the value of SlidingAccelerationCoefficientProperty. More... | |
float | getSlidingDragCoefficient () const |
Gets the value of SlidingDragCoefficientProperty. More... | |
void | setSlidingDragCoefficient (float value) |
Sets the value of SlidingDragCoefficientProperty. More... | |
float | getDraggingAccelerationCoefficient () const |
Gets the value of DraggingAccelerationCoefficientProperty. More... | |
void | setDraggingAccelerationCoefficient (float value) |
Sets the value of DraggingAccelerationCoefficientProperty. More... | |
float | getDraggingDragCoefficient () const |
Gets the value of DraggingDragCoefficientProperty. More... | |
void | setDraggingDragCoefficient (float value) |
Sets the value of DraggingDragCoefficientProperty. More... | |
float | getDraggingImpulseFactor () const |
Gets the value of DraggingImpulseFactorProperty. More... | |
void | setDraggingImpulseFactor (float value) |
Sets the value of DraggingImpulseFactorProperty. More... | |
float | getSwipeDistance () const |
Gets the value of SwipeDistanceProperty. More... | |
void | setSwipeDistance (float value) |
Sets the value of SwipeDistanceProperty. More... | |
Vector2 | getScrollPosition () const |
Gets the value of ScrollPositionProperty. More... | |
void | setScrollPosition (Vector2 value) |
Sets the value of ScrollPositionProperty. More... | |
Vector2 | getScrollTargetPosition () const |
Gets the value of ScrollTargetPositionProperty. More... | |
void | setScrollTargetPosition (Vector2 value) |
Sets the value of ScrollTargetPositionProperty. More... | |
Vector2 | getScrollSpeed () const |
Gets the value of ScrollSpeedProperty. More... | |
void | setScrollSpeed (Vector2 value) |
Sets the value of ScrollSpeedProperty. More... | |
bool | isScrolling () const |
Gets the value of ScrollingProperty. More... | |
void | setScrolling (bool value) |
Sets the value of ScrollingProperty. More... | |
bool | isDragging () const |
Checks whether the finger is on the surface. More... | |
bool | isZoomAffectsScrolling () const |
Gets the value of ZoomAffectsScrollingProperty. More... | |
void | setZoomAffectsScrolling (bool value) |
Sets the value of ZoomAffectsScrollingProperty. More... | |
Vector2 | getScrollBoundsMinimum () const |
Gets the value of ScrollBoundsMinimumProperty. More... | |
void | setScrollBoundsMinimum (Vector2 value) |
Sets the value of ScrollBoundsMinimumProperty. More... | |
Vector2 | getScrollBoundsMaximum () const |
Gets the value of ScrollBoundsMaximumProperty. More... | |
void | setScrollBoundsMaximum (Vector2 value) |
Sets the value of ScrollBoundsMaximumProperty. More... | |
void | setEnabledX (bool state) |
Sets whether the scroll view scrolls along the x axis. More... | |
void | setEnabledY (bool state) |
Sets whether the scroll view scrolls along the y axis. More... | |
bool | isEnabledX () const |
Returns whether the scroll view scrolls along the x axis. More... | |
bool | isEnabledY () const |
Returns whether the scroll view scrolls along the y axis. More... | |
void | setLoopingXEnabled (bool value) |
Sets the value of LoopingXEnabledProperty. More... | |
void | setLoopingYEnabled (bool value) |
Sets the value of LoopingYEnabledProperty. More... | |
bool | isLoopingXEnabled () const |
Gets the value of LoopingXEnabledProperty. More... | |
bool | isLoopingYEnabled () const |
Gets the value of LoopingYEnabledProperty. More... | |
void | setScrollBoundsX (float minimum, float maximum) |
Sets the bounds on the x axis. More... | |
void | setScrollBoundsY (float minimum, float maximum) |
Sets the bounds on the y axis. More... | |
void | scrollToPosition (Vector2 scrollPosition) |
Sets a value for the new position of the scroll view and starts scrolling to that value. More... | |
void | scrollToPositionLooping (Vector2 scrollPosition) |
If a scroll view's axis looping is enabled, the shortest path to the target value is chosen. More... | |
void | jumpToPosition (Vector2 scrollPosition) |
Sets a value for the position of the scroll view and immediately goes to that value. More... | |
Vector2 | getScroll () const |
Gets the values of the current position of the scroll view. More... | |
Vector2 | getScrollTarget () const |
Gets the values of the position of the scroll view to which the scroll view is scrolling. More... | |
Vector2 | getScrollTargetLooping () const |
When looping is enabled it gets the position value normalized to the allowed range of the scroll view. More... | |
Vector2 | getSpeed () const |
Queries the current speed from the interpolator. More... | |
void | scroll (ScrollDirection direction) |
Sets scroll delta to one step and starts scrolling to that direction. More... | |
void | scroll (ScrollPage direction) |
Sets scroll delta to one page and starts scrolling to that direction. More... | |
void | scroll (ScrollEdge direction) |
Sets scroll target to edge defined by scroll bounds and starts scrolling to that direction. More... | |
bool | isZoomEnabled () const |
Gets the value of ZoomEnabledProperty. More... | |
void | setZoomEnabled (bool value) |
Sets the value of ZoomEnabledProperty. More... | |
float | getZoom () const |
Gets the value of ZoomProperty. More... | |
float | getZoomMinimum () const |
Gets the value of ZoomMinimumProperty. More... | |
void | setZoomMinimum (float value) |
Sets the value of ZoomMinimumProperty. More... | |
float | getZoomMaximum () const |
Gets the value of ZoomMaximumProperty. More... | |
void | setZoomMaximum (float value) |
Sets the value of ZoomMaximumProperty. More... | |
float | getStepMultiplier () const |
Gets the value of StepMultiplierProperty. More... | |
void | setStepMultiplier (float value) |
Sets the value of StepMultiplierProperty. More... | |
void | refreshThreshold () |
Updates the recognition threshold of the pan manipulator to the value of the RecognitionThresholdProperty value. More... | |
bool | useDirectionalRecognitionThreshold () const |
Tells whether pan threshold should be locked to scroll direction or not. More... | |
Static Public Member Functions | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Static Public Member Functions inherited from kanzi::ScrollViewConcept | |
static PropertyTypeEditorInfoSharedPtr | makeEditorInfo () |
Protected Member Functions | |
ScrollViewConceptImpl (Domain *domain, string_view name) | |
TDerivedClass * | getThisObject () |
Internal accessor for the Curiously Recurring Template Pattern. More... | |
const TDerivedClass * | getThisObject () const |
Internal accessor for the Curiously Recurring Template Pattern. More... | |
void | initialize () |
Assigns the message handlers for the pan manipulator and scroll messages. More... | |
virtual void | onNodePropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason) KZ_OVERRIDE |
Node::onNodePropertyChanged() implementation. More... | |
void | refreshScrollConfiguration () |
Updates smooth interpolation coefficients, depending whether the finger is still on the scroll view or not. More... | |
void | refreshMinimumNumberOfTouches () |
Updates the minimum number of touch points of the pan manipulator to the value of the #MinimumNumberOfTouchPointsProperty value. More... | |
void | refreshMaximumNumberOfTouches () |
Updates the maximum number of touch points of the pan manipulator to the value of the #MaximumNumberOfTouchPointsProperty value. More... | |
typedef ScrollViewConceptImpl<TBaseClass, TDerivedClass> kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::TScrollView |
kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::~ScrollViewConceptImpl | ( | ) |
Destructor.
|
explicitprotected |
|
static |
PanManipulatorSharedPtr kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::getPanManipulator | ( | ) | const |
Returns the pan manipulator.
|
inline |
Gets the value of ScrollAxisProperty.
|
inline |
Sets the value of ScrollAxisProperty.
|
inline |
Gets the value of RecognitionThresholdProperty.
|
inline |
Sets the value of RecognitionThresholdProperty.
|
inline |
Gets the value of MinimumNumberOfTouchesProperty.
|
inline |
Sets the value of MinimumNumberOfTouchesProperty.
Scroll views with minimum number of touches greater than one will precede the descendants in touch event processing.
|
inline |
Gets the value of MinimumNumberOfTouchesProperty.
|
inline |
Sets the value of MinimumNumberOfTouchesProperty.
|
inline |
Gets the value of SensitivityProperty.
|
inline |
Sets the value of SensitivityProperty.
|
inline |
Gets the value of SlidingAccelerationCoefficientProperty.
|
inline |
Sets the value of SlidingAccelerationCoefficientProperty.
|
inline |
Gets the value of SlidingDragCoefficientProperty.
|
inline |
Sets the value of SlidingDragCoefficientProperty.
|
inline |
Gets the value of DraggingAccelerationCoefficientProperty.
|
inline |
Sets the value of DraggingAccelerationCoefficientProperty.
|
inline |
Gets the value of DraggingDragCoefficientProperty.
|
inline |
Sets the value of DraggingDragCoefficientProperty.
|
inline |
Gets the value of DraggingImpulseFactorProperty.
|
inline |
Sets the value of DraggingImpulseFactorProperty.
|
inline |
Gets the value of SwipeDistanceProperty.
|
inline |
Sets the value of SwipeDistanceProperty.
|
inline |
Gets the value of ScrollPositionProperty.
|
inline |
Sets the value of ScrollPositionProperty.
|
inline |
Gets the value of ScrollTargetPositionProperty.
|
inline |
Sets the value of ScrollTargetPositionProperty.
|
inline |
Gets the value of ScrollSpeedProperty.
|
inline |
Sets the value of ScrollSpeedProperty.
|
inline |
Gets the value of ScrollingProperty.
|
inline |
Sets the value of ScrollingProperty.
bool kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::isDragging | ( | ) | const |
Checks whether the finger is on the surface.
|
inline |
Gets the value of ZoomAffectsScrollingProperty.
|
inline |
Sets the value of ZoomAffectsScrollingProperty.
|
inline |
Gets the value of ScrollBoundsMinimumProperty.
|
inline |
Sets the value of ScrollBoundsMinimumProperty.
|
inline |
Gets the value of ScrollBoundsMaximumProperty.
|
inline |
Sets the value of ScrollBoundsMaximumProperty.
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::setEnabledX | ( | bool | state | ) |
Sets whether the scroll view scrolls along the x axis.
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::setEnabledY | ( | bool | state | ) |
Sets whether the scroll view scrolls along the y axis.
bool kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::isEnabledX | ( | ) | const |
Returns whether the scroll view scrolls along the x axis.
bool kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::isEnabledY | ( | ) | const |
Returns whether the scroll view scrolls along the y axis.
|
inline |
Sets the value of LoopingXEnabledProperty.
|
inline |
Sets the value of LoopingYEnabledProperty.
|
inline |
Gets the value of LoopingXEnabledProperty.
|
inline |
Gets the value of LoopingYEnabledProperty.
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::setScrollBoundsX | ( | float | minimum, |
float | maximum | ||
) |
Sets the bounds on the x axis.
When scrolling above the bounds, the scroll position will converge to the nearest bound value after scrolling is finished.
minimum | Represents the right side of the scrollview. |
maximum | Represents the left side of the scrollview. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::setScrollBoundsY | ( | float | minimum, |
float | maximum | ||
) |
Sets the bounds on the y axis.
When scrolling above the bounds, the scroll position will converge to the nearest bound value after scrolling is finished.
minimum | Represents the bottom side of the scrollview. |
maximum | Represents the top side of the scrollview. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::scrollToPosition | ( | Vector2 | scrollPosition | ) |
Sets a value for the new position of the scroll view and starts scrolling to that value.
Use this function when you have the exact position in the scroll view and want to scroll to that position. If you enabled the looping for the scroll view, the target value may be out bounds to indicate direction and repetition.
scrollPosition | The position of the scroll view to which you want to set the scroll view to start scrolling. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::scrollToPositionLooping | ( | Vector2 | scrollPosition | ) |
If a scroll view's axis looping is enabled, the shortest path to the target value is chosen.
scrollTarget | The position of the scroll view to which you want to set the scroll view to start scrolling. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::jumpToPosition | ( | Vector2 | scrollPosition | ) |
Sets a value for the position of the scroll view and immediately goes to that value.
scrollPosition | The new position of the scroll view. |
Vector2 kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::getScroll | ( | ) | const |
Gets the values of the current position of the scroll view.
If you enabled the looping for the scroll view, the value of the position this function returns is normalized so that it is within the bound interval.
Vector2 kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::getScrollTarget | ( | ) | const |
Gets the values of the position of the scroll view to which the scroll view is scrolling.
Use this function when you want to find out the position towards which the scroll view is scrolling. If you enabled the looping for the scroll view, the value of the position this function returns can be out of bounds of the scroll view.
Vector2 kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::getScrollTargetLooping | ( | ) | const |
When looping is enabled it gets the position value normalized to the allowed range of the scroll view.
The returned value is used to set the value of ScrollTargetPositionProperty.
Vector2 kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::getSpeed | ( | ) | const |
Queries the current speed from the interpolator.
The returned value is used internally to calculate target scroll position.
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::scroll | ( | ScrollDirection | direction | ) |
Sets scroll delta to one step and starts scrolling to that direction.
direction | Scroll direction. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::scroll | ( | ScrollPage | direction | ) |
Sets scroll delta to one page and starts scrolling to that direction.
direction | Scroll direction. |
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::scroll | ( | ScrollEdge | direction | ) |
Sets scroll target to edge defined by scroll bounds and starts scrolling to that direction.
direction | Scroll direction. |
|
inline |
Gets the value of ZoomEnabledProperty.
|
inline |
Sets the value of ZoomEnabledProperty.
|
inline |
Gets the value of ZoomProperty.
|
inline |
Gets the value of ZoomMinimumProperty.
|
inline |
Sets the value of ZoomMinimumProperty.
|
inline |
Gets the value of ZoomMaximumProperty.
|
inline |
Sets the value of ZoomMaximumProperty.
|
inline |
Gets the value of StepMultiplierProperty.
|
inline |
Sets the value of StepMultiplierProperty.
void kanzi::ScrollViewConceptImpl< TBaseClass, TDerivedClass >::refreshThreshold | ( | ) |
Updates the recognition threshold of the pan manipulator to the value of the RecognitionThresholdProperty value.
|
inline |
Tells whether pan threshold should be locked to scroll direction or not.
Affects the axis RecognitionThresholdProperty is bound to.
|
inlineprotected |
Internal accessor for the Curiously Recurring Template Pattern.
|
inlineprotected |
Internal accessor for the Curiously Recurring Template Pattern.
|
protected |
Assigns the message handlers for the pan manipulator and scroll messages.
|
protectedvirtual |
Node::onNodePropertyChanged() implementation.
|
protected |
Updates smooth interpolation coefficients, depending whether the finger is still on the scroll view or not.
This helper function is used in between starting and stopping the interpolator timer.
|
protected |
Updates the minimum number of touch points of the pan manipulator to the value of the #MinimumNumberOfTouchPointsProperty value.
|
protected |
Updates the maximum number of touch points of the pan manipulator to the value of the #MaximumNumberOfTouchPointsProperty value.