libgdx API

com.badlogic.gdx.scenes.scene2d.ui
Class FlickScrollPane

java.lang.Object
  extended by com.badlogic.gdx.scenes.scene2d.Actor
      extended by com.badlogic.gdx.scenes.scene2d.Group
          extended by com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
              extended by com.badlogic.gdx.scenes.scene2d.ui.FlickScrollPane
All Implemented Interfaces:
Cullable, Layout

public class FlickScrollPane
extends WidgetGroup

A group that scrolls a child widget by pressing and dragging.

The widget is sized to its preferred size. If the widget's preferred width or height is less than the size of this scroll pane, it is set to the size of this scroll pane.

The scroll pane's preferred size is that of the child widget. At this size, the child widget will not need to scroll, so the scroll pane is typically sized by ignoring the preferred size in one or both directions.

Author:
Nathan Sweet, mzechner

Field Summary
 
Fields inherited from class com.badlogic.gdx.scenes.scene2d.Group
batchTransform, children, cullingArea, debug, debugTexture, groups, immutableChildren, immutableGroups, lastTouchedChild, localTransform, namesToActors, oldBatchTransform, point, transform, worldTransform
 
Fields inherited from class com.badlogic.gdx.scenes.scene2d.Actor
actions, color, height, name, originX, originY, parent, rotation, scaleX, scaleY, stage, touchable, visible, width, x, y
 
Constructor Summary
FlickScrollPane()
           
FlickScrollPane(Actor widget)
           
FlickScrollPane(Actor widget, java.lang.String name)
           
 
Method Summary
 void act(float delta)
           
 void addActor(Actor actor)
          Adds an Actor to this Group.
 void addActorAt(int index, Actor actor)
          Adds an Actor at the given index in the group.
 void addActorBefore(Actor actorBefore, Actor actor)
          Adds an Actor before the given Actor.
 void draw(SpriteBatch batch, float parentAlpha)
          If this method is overridden, the super method or WidgetGroup.validate() should be called to ensure the widget group is laid out.
 float getMaxX()
          Returns the maximum scroll value in the x direction.
 float getMaxY()
          Returns the maximum scroll value in the y direction.
 float getMinHeight()
           
 float getMinWidth()
           
 float getPrefHeight()
           
 float getPrefWidth()
           
 float getScrollPercentX()
           
 float getScrollPercentY()
           
 float getScrollX()
          Returns the x scroll position in pixels.
 float getScrollY()
          Returns the y scroll position in pixels.
 float getVelocityX()
           
 float getVelocityY()
           
 Actor getWidget()
           
 Actor hit(float x, float y)
           
 boolean isFlinging()
           
 boolean isPanning()
           
 void layout()
          Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child and calls Layout.invalidate() and then Layout.validate() on each one.
 void removeActor(Actor actor)
          Removes an Actor from this Group.
 void removeActorRecursive(Actor actor)
          Removes an Actor from this Group recursively by checking if the Actor is in this group or one of its child-groups.
 void setClamp(boolean clamp)
          Prevents scrolling out of the widget's bounds.
 void setEmptySpaceOnlyScroll(boolean emptySpaceOnlyScroll)
          If true, only pressing and dragging on empty space in the FlickScrollPane will cause a scroll and widgets receive touch down events as normal.
 void setFlingTime(float flingTime)
          Sets the amount of time in seconds that a fling will continue to scroll.
 void setForceOverscroll(boolean x, boolean y)
          Forces the enabling of overscrolling in a direction, even if the contents do not exceed the bounds in that direction.
 void setOverscroll(boolean overscroll)
          If true, the widget can be scrolled slightly past its bounds and will animate back to its bounds when scrolling is stopped.
 void setScrollingDisabled(boolean x, boolean y)
          Disables scrolling in a direction.
 void setScrollPercentX(float percentX)
           
 void setScrollPercentY(float percentY)
           
 void setScrollX(float pixels)
           
 void setScrollY(float pixels)
           
 void setupOverscroll(float distance, float speedMin, float speedMax)
          Sets the overscroll distance in pixels and the speed it returns to the widgets bounds in seconds.
 void setVelocityX(float velocityX)
           
 void setVelocityY(float velocityY)
           
 void setWidget(Actor widget)
          Sets the Actor embedded in this scroll pane.
 boolean touchDown(float x, float y, int pointer)
           
 void touchDragged(float x, float y, int pointer)
           
 void touchUp(float x, float y, int pointer)
           
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup
childrenChanged, getMaxHeight, getMaxWidth, invalidate, invalidateHierarchy, needsLayout, pack, setFillParent, validate
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Group
addActorAfter, applyTransform, clear, disableDebugging, drawChild, drawChildren, enableDebugging, findActor, getActors, getGroups, isDescendant, resetTransform, setCullingArea, sortChildren, swapActor, swapActor, toChildCoordinates, toLocalCoordinates, touchMoved, updateTransform
 
Methods inherited from class com.badlogic.gdx.scenes.scene2d.Actor
action, clearActions, getStage, isMarkedToRemove, keyDown, keyTyped, keyUp, markToRemove, remove, scrolled, toLocalCoordinates, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FlickScrollPane

public FlickScrollPane()

FlickScrollPane

public FlickScrollPane(Actor widget)
Parameters:
widget - May be null.

FlickScrollPane

public FlickScrollPane(Actor widget,
                       java.lang.String name)
Parameters:
widget - May be null.
Method Detail

act

public void act(float delta)
Overrides:
act in class Group

layout

public void layout()
Description copied from interface: Layout
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child and calls Layout.invalidate() and then Layout.validate() on each one. Usually this should not be called directly, instead Layout.validate() should be used.

Specified by:
layout in interface Layout
Overrides:
layout in class WidgetGroup

draw

public void draw(SpriteBatch batch,
                 float parentAlpha)
Description copied from class: WidgetGroup
If this method is overridden, the super method or WidgetGroup.validate() should be called to ensure the widget group is laid out.

Overrides:
draw in class WidgetGroup
Parameters:
batch - the spritebatch to render with
parentAlpha - the parent's alpha value.

touchDown

public boolean touchDown(float x,
                         float y,
                         int pointer)
Overrides:
touchDown in class Group

touchUp

public void touchUp(float x,
                    float y,
                    int pointer)
Overrides:
touchUp in class Actor

touchDragged

public void touchDragged(float x,
                         float y,
                         int pointer)
Overrides:
touchDragged in class Actor

setScrollX

public void setScrollX(float pixels)

getScrollX

public float getScrollX()
Returns the x scroll position in pixels.


setScrollY

public void setScrollY(float pixels)

getScrollY

public float getScrollY()
Returns the y scroll position in pixels.


getScrollPercentX

public float getScrollPercentX()

setScrollPercentX

public void setScrollPercentX(float percentX)

getScrollPercentY

public float getScrollPercentY()

setScrollPercentY

public void setScrollPercentY(float percentY)

getMaxX

public float getMaxX()
Returns the maximum scroll value in the x direction.


getMaxY

public float getMaxY()
Returns the maximum scroll value in the y direction.


setWidget

public void setWidget(Actor widget)
Sets the Actor embedded in this scroll pane.

Parameters:
widget - May be null.

getWidget

public Actor getWidget()

addActor

public void addActor(Actor actor)
Description copied from class: Group
Adds an Actor to this Group. The order Actors are added is reversed for hit testing.

Overrides:
addActor in class Group
Parameters:
actor - the Actor

addActorAt

public void addActorAt(int index,
                       Actor actor)
Description copied from class: Group
Adds an Actor at the given index in the group. The first Actor added will be at index 0 and so on. Throws an IndexOutOfBoundsException in case the index is invalid.

Overrides:
addActorAt in class Group
Parameters:
index - the index to add the actor at.

addActorBefore

public void addActorBefore(Actor actorBefore,
                           Actor actor)
Description copied from class: Group
Adds an Actor before the given Actor.

Overrides:
addActorBefore in class Group
Parameters:
actorBefore - the Actor to add the other actor in front of
actor - the Actor to add

removeActor

public void removeActor(Actor actor)
Description copied from class: Group
Removes an Actor from this Group.

Overrides:
removeActor in class Group

removeActorRecursive

public void removeActorRecursive(Actor actor)
Description copied from class: Group
Removes an Actor from this Group recursively by checking if the Actor is in this group or one of its child-groups.

Overrides:
removeActorRecursive in class Group
Parameters:
actor - the Actor

isPanning

public boolean isPanning()

isFlinging

public boolean isFlinging()

setVelocityX

public void setVelocityX(float velocityX)

getVelocityX

public float getVelocityX()

setVelocityY

public void setVelocityY(float velocityY)

getVelocityY

public float getVelocityY()

getPrefWidth

public float getPrefWidth()

getPrefHeight

public float getPrefHeight()

getMinWidth

public float getMinWidth()
Specified by:
getMinWidth in interface Layout
Overrides:
getMinWidth in class WidgetGroup

getMinHeight

public float getMinHeight()
Specified by:
getMinHeight in interface Layout
Overrides:
getMinHeight in class WidgetGroup

hit

public Actor hit(float x,
                 float y)
Overrides:
hit in class Group

setOverscroll

public void setOverscroll(boolean overscroll)
If true, the widget can be scrolled slightly past its bounds and will animate back to its bounds when scrolling is stopped. Default is true.


setupOverscroll

public void setupOverscroll(float distance,
                            float speedMin,
                            float speedMax)
Sets the overscroll distance in pixels and the speed it returns to the widgets bounds in seconds. Default is 50, 30, 200.


setForceOverscroll

public void setForceOverscroll(boolean x,
                               boolean y)
Forces the enabling of overscrolling in a direction, even if the contents do not exceed the bounds in that direction.


setFlingTime

public void setFlingTime(float flingTime)
Sets the amount of time in seconds that a fling will continue to scroll. Default is 1.


setEmptySpaceOnlyScroll

public void setEmptySpaceOnlyScroll(boolean emptySpaceOnlyScroll)
If true, only pressing and dragging on empty space in the FlickScrollPane will cause a scroll and widgets receive touch down events as normal. If false, pressing and dragging anywhere will trigger a scroll and widgets will only receive touch down events if pressed and released without dragging. Default is false.


setScrollingDisabled

public void setScrollingDisabled(boolean x,
                                 boolean y)
Disables scrolling in a direction. The widget will be sized to the FlickScrollPane in the disabled direction.


setClamp

public void setClamp(boolean clamp)
Prevents scrolling out of the widget's bounds. Default is true.


libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)