Utility that provides touch and mouse wheel scrolling capabilities for any interactive display object.

Available since

1.0.0

.

Constructor

new (?target:InteractiveObject)

Creates a new Scroller object with the given arguments.

Available since

1.0.0

.

Variables

@:value(0.0)read onlycontentHeight:Float = 0.0

The height of the target's content. Will not scroll unless the height of the content is larger than the height of the target.

Available since

1.0.0

.

@:value(0.0)read onlycontentWidth:Float = 0.0

The width of the target's content. Will not scroll unless the width of the content is larger than the width of the target.

Available since

1.0.0

.

@:value(0.998)decelerationRate:Float = 0.998

This value is used to decelerate the scroller when "thrown". The velocity of a throw is multiplied by this value once per millisecond to decelerate. A value greater than 0.0 and less than 1.0 is expected.

Available since

1.0.0

.

@:value(false)read onlydraggingX:Bool = false

Determines if a touch is dragging the target horizontally (on the x-axis).

Available since

1.0.0

.

@:value(false)read onlydraggingY:Bool = false

Determines if a touch is dragging the target vertically (on the y-axis).

Available since

1.0.0

.

@:value(Quart.easeOut)ease:IEasing = Quart.easeOut

The easing function to use when animating the scroll position.

Available since

1.0.0

.

@:value(true)elasticEdges:Bool = true

Determines if the scrolling can go beyond the edges of the viewport and snap back to the minimum or maximum when released.

Available since

1.0.0

.

See:

@:value(0.5)elasticSnapDuration:Float = 0.5

The duration, measured in seconds, of the animation when a the scroller snaps back to the minimum or maximum position after going out of bounds.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

@:value(0.33)elasticity:Float = 0.33

If the scroll position goes outside the minimum or maximum bounds when the scroller's content is being actively dragged, the scrolling will be constrained using this multiplier. A value of 0.0 means that the scroller will not go beyond its minimum or maximum bounds. A value of 1.0 means that going beyond the minimum or maximum bounds is completely unrestrained.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

Scroller.elasticEdges

@:value(true)enabledX:Bool = true

Determines if the target can be scrolled horizontally (on the x-axis).

Available since

1.0.0

.

@:value(true)enabledY:Bool = true

Determines if the target can be scrolled vertically (on the y-axis).

Available since

1.0.0

.

@:value(false)forceElasticBottom:Bool = false

Forces elasticity on the bottom edge, even if the height of the target's content is not larger than the width height the target.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

@:value(false)forceElasticLeft:Bool = false

Forces elasticity on the left edge, even if the width of the target's content is not larger than the width of the target.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

@:value(false)forceElasticRight:Bool = false

Forces elasticity on the right edge, even if the width of the target's content is not larger than the width of the target.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

@:value(false)forceElasticTop:Bool = false

Forces elasticity on the top edge, even if the height of the target's content is not larger than the width height the target.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

@:value(0.0)read onlymaxScrollX:Float = 0.0

The maximum horizontal scroll position.

Available since

1.0.0

.

@:value(0.0)read onlymaxScrollY:Float = 0.0

The maximum vertical scroll position.

Available since

1.0.0

.

@:value(6.0)minDragDistance:Float = 6.0

The minimum distance, measured in pixels, that the target must be dragged to begin scrolling.

Available since

1.0.0

.

@:value(0.0)read onlyminScrollX:Float = 0.0

The minimum horizontal scroll position.

Available since

1.0.0

.

@:value(0.0)read onlyminScrollY:Float = 0.0

The minimum vertical scroll position.

Available since

1.0.0

.

@:value(10.0)mouseWheelDelta:Float = 10.0

The distance to scroll when the mouse wheel is scrolled.

Available since

1.0.0

.

@:value(0.0)scrollX:Float = 0.0

The current horizontal scroll position.

Available since

1.0.0

.

@:value(0.0)scrollY:Float = 0.0

The current vertical scroll position.

Available since

1.0.0

.

@:value(false)read onlyscrolling:Bool = false

Determines if scrolling is currently active.

Available since

1.0.0

.

@:value(false)simulateTouch:Bool = false

Determines if mouse events should be treated like touch events.

Available since

1.0.0

.

target:InteractiveObject

The container used for scrolling.

Available since

1.0.0

.

@:value(0.05)throwElasticity:Float = 0.05

If the scroll position goes outside the minimum or maximum bounds when when the scroller's content is "thrown", the scrolling will be constrained using this multiplier. A value of 0.0 means that the scroller will not go beyond its minimum or maximum bounds. A value of 1.0 means that going beyond the minimum or maximum bounds is completely unrestrained.

If elasticEdges is false, this property is ignored.

Available since

1.0.0

.

See:

Scroller.elasticEdges

Scroller.elasticity

@:value(0.0)read onlyvisibleHeight:Float = 0.0

The height of the target's scrollable region.

Available since

1.0.0

.

@:value(0.0)read onlyvisibleWidth:Float = 0.0

The width of the target's scrollable region.

Available since

1.0.0

.

Methods

setDimensions (?visibleWidth:Float, ?visibleHeight:Float, ?contentWidth:Float, ?contentHeight:Float):Void

Updates the dimensions of both the target and its content.

Available since

1.0.0

.

stop ():Void

Immediately stops any animation that affects the scrolling.

Available since

1.0.0

.