cocos2d-x  3.1rc0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ScrollView Class Reference

ScrollView support for cocos2d-x. More...

#include <CCScrollView.h>

Inheritance diagram for ScrollView:
Layer ActionTweenDelegate Node Ref TableView

Public Types

enum  Direction { NONE = -1, HORIZONTAL = 0, VERTICAL, BOTH }
 

Public Member Functions

 ScrollView ()
virtual ~ScrollView ()
bool init ()
bool initWithViewSize (Size size, Node *container=NULL)
 Returns a scroll view object. More...
 
void setContentOffset (Vec2 offset, bool animated=false)
 Sets a new content offset. More...
 
Vec2 getContentOffset ()
void setContentOffsetInDuration (Vec2 offset, float dt)
 Sets a new content offset. More...
 
void setZoomScale (float s)
void setZoomScale (float s, bool animated)
 Sets a new scale and does that for a predefined duration. More...
 
float getZoomScale ()
void setZoomScaleInDuration (float s, float dt)
 Sets a new scale for container in a given duration. More...
 
Vec2 minContainerOffset ()
 Returns the current container's minimum offset. More...
 
Vec2 maxContainerOffset ()
 Returns the current container's maximum offset. More...
 
bool isNodeVisible (Node *node)
 Determines if a given node's bounding box is in visible bounds. More...
 
void pause (Ref *sender)
 Provided to make scroll view compatible with SWLayer's pause method. More...
 
void resume (Ref *sender)
 Provided to make scroll view compatible with SWLayer's resume method. More...
 
void setTouchEnabled (bool enabled)
bool isTouchEnabled () const
bool isDragging () const
bool isTouchMoved () const
bool isBounceable () const
void setBounceable (bool bBounceable)
Size getViewSize () const
 size to clip. More...
 
void setViewSize (Size size)
NodegetContainer ()
void setContainer (Node *pContainer)
Direction getDirection () const
 direction allowed to scroll. More...
 
virtual void setDirection (Direction eDirection)
ScrollViewDelegategetDelegate ()
void setDelegate (ScrollViewDelegate *pDelegate)
void updateInset ()
bool isClippingToBounds ()
 Determines whether it clips its children or not. More...
 
void setClippingToBounds (bool bClippingToBounds)
virtual bool onTouchBegan (Touch *touch, Event *event)
virtual void onTouchMoved (Touch *touch, Event *event)
virtual void onTouchEnded (Touch *touch, Event *event)
virtual void onTouchCancelled (Touch *touch, Event *event)
virtual void setContentSize (const Size &size) override
 Sets the untransformed size of the node. More...
 
virtual const SizegetContentSize () const override
 Returns the untransformed size of the node. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, bool parentTransformUpdated) override
 Visits this node's children and draw them recursively. More...
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
void updateTweenAction (float value, const std::string &key)
 CCActionTweenDelegate. More...
 
- Public Member Functions inherited from Layer
virtual
CC_DEPRECATED_ATTRIBUTE bool 
ccTouchBegan (Touch *pTouch, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchMoved (Touch *pTouch, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchEnded (Touch *pTouch, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchCancelled (Touch *pTouch, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchesBegan (__Set *pTouches, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchesMoved (__Set *pTouches, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchesEnded (__Set *pTouches, Event *pEvent) final
virtual
CC_DEPRECATED_ATTRIBUTE void 
ccTouchesCancelled (__Set *pTouches, Event *pEvent) final
virtual void onTouchesBegan (const std::vector< Touch * > &touches, Event *unused_event)
virtual void onTouchesMoved (const std::vector< Touch * > &touches, Event *unused_event)
virtual void onTouchesEnded (const std::vector< Touch * > &touches, Event *unused_event)
virtual void onTouchesCancelled (const std::vector< Touch * > &touches, Event *unused_event)
virtual
CC_DEPRECATED_ATTRIBUTE void 
didAccelerate (Acceleration *accelerationValue) final
virtual void onAcceleration (Acceleration *acc, Event *unused_event)
virtual
CC_DEPRECATED_ATTRIBUTE void 
registerWithTouchDispatcher () final
 If isTouchEnabled, this method is called onEnter. More...
 
CC_DEPRECATED_ATTRIBUTE bool isTouchEnabled () const
 whether or not it will receive Touch events. More...
 
CC_DEPRECATED_ATTRIBUTE void setTouchEnabled (bool value)
virtual
CC_DEPRECATED_ATTRIBUTE void 
setTouchMode (Touch::DispatchMode mode)
virtual
CC_DEPRECATED_ATTRIBUTE
Touch::DispatchMode 
getTouchMode () const
virtual
CC_DEPRECATED_ATTRIBUTE void 
setSwallowsTouches (bool swallowsTouches)
 swallowsTouches of the touch events. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE bool 
isSwallowsTouches () const
virtual
CC_DEPRECATED_ATTRIBUTE bool 
isAccelerometerEnabled () const
 whether or not it will receive Accelerometer events You can enable / disable accelerometer events with this property. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setAccelerometerEnabled (bool value)
virtual
CC_DEPRECATED_ATTRIBUTE void 
setAccelerometerInterval (double interval)
virtual
CC_DEPRECATED_ATTRIBUTE bool 
isKeyboardEnabled () const
 whether or not it will receive keyboard or keypad events You can enable / disable accelerometer events with this property. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setKeyboardEnabled (bool value)
virtual
CC_DEPRECATED_ATTRIBUTE void 
keyPressed (int keyCode) final
 Please use onKeyPressed instead. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
keyReleased (int keyCode) final
 Please use onKeyReleased instead. More...
 
virtual void onKeyPressed (EventKeyboard::KeyCode keyCode, Event *event)
virtual void onKeyReleased (EventKeyboard::KeyCode keyCode, Event *event)
virtual
CC_DEPRECATED_ATTRIBUTE bool 
isKeypadEnabled () const final
virtual
CC_DEPRECATED_ATTRIBUTE void 
setKeypadEnabled (bool value)
virtual
CC_DEPRECATED_ATTRIBUTE void 
keyBackClicked () final
virtual
CC_DEPRECATED_ATTRIBUTE void 
keyMenuClicked () final
virtual std::string getDescription () const override
 Gets the description string. More...
 
virtual ~Layer ()
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers. More...
 
virtual void draw (Renderer *renderer, const Mat4 &transform, bool transformUpdated)
 Override this method to draw your own node. More...
 
virtual void draw () final
virtual void visit () final
virtual ScenegetScene ()
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE Rect 
boundingBox () const
virtual void setEventDispatcher (EventDispatcher *dispatcher)
virtual EventDispatchergetEventDispatcher () const
virtual GLubyte getOpacity () const
virtual GLubyte getDisplayedOpacity () const
virtual void setOpacity (GLubyte opacity)
virtual void updateDisplayedOpacity (GLubyte parentOpacity)
virtual bool isCascadeOpacityEnabled () const
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
virtual const Color3BgetColor (void) const
virtual const Color3BgetDisplayedColor () const
virtual void setColor (const Color3B &color)
virtual void updateDisplayedColor (const Color3B &parentColor)
virtual bool isCascadeColorEnabled () const
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
virtual void setOpacityModifyRGB (bool bValue)
virtual bool isOpacityModifyRGB () const
virtual ~Node ()
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual CC_DEPRECATED_ATTRIBUTE int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual void setScaleX (float scaleX)
 Sets the scale (x) of the node. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node. More...
 
virtual void setScaleY (float scaleY)
 Sets the scale (y) of the node. More...
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node. More...
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node. More...
 
virtual void setScale (float scale)
 Sets the scale (x,y,z) of the node. More...
 
virtual float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float scaleX, float scaleY)
 Sets the scale (x,y) of the node. More...
 
virtual void setPosition (const Vec2 &position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void) const
virtual void setPositionY (float y)
virtual float getPositionY (void) const
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 returns the position (X,Y,Z) in its parent's coordinate system More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setVertexZ (float vertexZ)
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getVertexZ () const
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual void setRotation (float rotation)
 Sets the rotation (angle) of the node in degrees. More...
 
virtual float getRotation () const
 Returns the rotation of the node in degrees. More...
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
virtual Vec3 getRotation3D () const
 returns the rotation (X,Y,Z) in degrees. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setRotationX (float rotationX)
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getRotationX () const
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setRotationY (float rotationY)
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getRotationY () const
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
CC_DEPRECATED_ATTRIBUTE void setGLServerState (int serverState)
CC_DEPRECATED_ATTRIBUTE int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual NodegetChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram ()
 Return the GLProgram (shader) currently used for this node. More...
 
CC_DEPRECATED_ATTRIBUTE GLProgramgetShaderProgram ()
GLProgramStategetGLProgramState ()
void setGLProgramState (GLProgramState *glProgramState)
void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
CC_DEPRECATED_ATTRIBUTE void setShaderProgram (GLProgram *glprogram)
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list . More...
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
CC_DEPRECATED_ATTRIBUTE ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unscheduleAllSelectors (void)
 Unschedule all scheduled selectors: custom selectors, and the 'update' selector. More...
 
void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
CC_DEPRECATED_ATTRIBUTE void resumeSchedulerAndActions (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
CC_DEPRECATED_ATTRIBUTE void pauseSchedulerAndActions (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the Transformation matrix manually. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToParentTransform () const
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2 More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
ComponentgetComponent (const std::string &pName)
 gets a component by its name More...
 
virtual bool addComponent (Component *pComponent)
 adds a component More...
 
virtual bool removeComponent (const std::string &pName)
 removes a component by its name More...
 
virtual void removeAllComponents ()
 removes all components More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
- Public Member Functions inherited from ActionTweenDelegate
virtual ~ActionTweenDelegate ()

Static Public Member Functions

static ScrollViewcreate (Size size, Node *container=NULL)
 Returns an autoreleased scroll view object. More...
 
static ScrollViewcreate ()
 Returns an autoreleased scroll view object. More...
 
- Static Public Member Functions inherited from Layer
static Layercreate ()
 creates a fullscreen black layer More...
 
- Static Public Member Functions inherited from Node
static Nodecreate (void)
 Allocates and initializes a node. More...
 

Protected Member Functions

void relocateContainer (bool animated)
 Relocates the container at the proper offset, in bounds of max/min offsets. More...
 
void deaccelerateScrolling (float dt)
 implements auto-scrolling behavior. More...
 
void performedAnimatedScroll (float dt)
 This method makes sure auto scrolling causes delegate to invoke its method. More...
 
void stoppedAnimatedScroll (Node *node)
 Expire animated scroll delegate calls. More...
 
void beforeDraw ()
 clip this view so that outside of the visible bounds can be hidden. More...
 
void onBeforeDraw ()
void afterDraw ()
 retract what's done in beforeDraw so that there's no side effect to other nodes. More...
 
void onAfterDraw ()
void handleZoom ()
 Zoom handling. More...
 
Rect getViewRect ()
- Protected Member Functions inherited from Layer
void _addTouchListener ()
CC_DEPRECATED_ATTRIBUTE void addTouchListener ()
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchHandler (EventTouch::EventCode eventType, Touch *touch, Event *event)
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchesHandler (EventTouch::EventCode eventType, const std::vector< Touch * > &touches, Event *event)
- Protected Member Functions inherited from Node
void childrenAlloc (void)
 lazy allocs More...
 
void insertChild (Node *child, int z)
 helper that reorder a child More...
 
void detachChild (Node *child, ssize_t index, bool doCleanup)
 Removes a child, call child->onExit(), do cleanup, remove it from children array. More...
 
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
 Convert cocos2d coordinates to UI windows coordinate. More...
 
Mat4 transform (const Mat4 &parentTransform)
virtual void updateCascadeOpacity ()
virtual void disableCascadeOpacity ()
virtual void updateCascadeColor ()
virtual void disableCascadeColor ()
virtual void updateColor ()
- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Protected Attributes

float _zoomScale
 current zoom scale More...
 
float _minZoomScale
 min zoom scale More...
 
float _maxZoomScale
 max zoom scale More...
 
ScrollViewDelegate_delegate
 scroll view delegate More...
 
Direction _direction
bool _dragging
 If YES, the view is being dragged. More...
 
Vec2 _contentOffset
 Content offset. More...
 
Node_container
 Container holds scroll view contents, Sets the scrollable container object of the scroll view. More...
 
bool _touchMoved
 Determiens whether user touch is moved after begin phase. More...
 
Vec2 _maxInset
 max inset point to limit scrolling by touch More...
 
Vec2 _minInset
 min inset point to limit scrolling by touch More...
 
bool _bounceable
 Determines whether the scroll view is allowed to bounce or not. More...
 
bool _clippingToBounds
Vec2 _scrollDistance
 scroll speed More...
 
Vec2 _touchPoint
 Touch point. More...
 
float _touchLength
 length between two fingers More...
 
std::vector< Touch * > _touches
 Touch objects to detect multitouch. More...
 
Size _viewSize
 size to clip. More...
 
float _minScale
 max and min scale More...
 
float _maxScale
Rect _parentScissorRect
 scissor rect for parent, just for restoring GL_SCISSOR_BOX More...
 
bool _scissorRestored
EventListenerTouchOneByOne_touchListener
 Touch listener. More...
 
CustomCommand _beforeDrawCommand
CustomCommand _afterDrawCommand
- Protected Attributes inherited from Layer
bool _touchEnabled
bool _accelerometerEnabled
bool _keyboardEnabled
EventListener_touchListener
EventListenerKeyboard_keyboardListener
EventListenerAcceleration_accelerationListener
Touch::DispatchMode _touchMode
bool _swallowsTouches
- Protected Attributes inherited from Node
float _rotationX
 rotation on the X-axis More...
 
float _rotationY
 rotation on the Y-axis More...
 
float _rotationZ_X
 rotation angle on Z-axis, component X More...
 
float _rotationZ_Y
 rotation angle on Z-axis, component Y More...
 
float _scaleX
 scaling factor on x-axis More...
 
float _scaleY
 scaling factor on y-axis More...
 
float _scaleZ
 scaling factor on z-axis More...
 
Vec2 _position
 position of the node More...
 
float _positionZ
 OpenGL real Z position. More...
 
float _skewX
 skew angle on x-axis More...
 
float _skewY
 skew angle on y-axis More...
 
Vec2 _anchorPointInPoints
 anchor point in points More...
 
Vec2 _anchorPoint
 anchor point normalized (NOT in points) More...
 
Size _contentSize
 untransformed size of the node More...
 
Mat4 _modelViewTransform
 ModelView transform of the Node. More...
 
Mat4 _transform
 transform More...
 
bool _transformDirty
 transform dirty flag More...
 
Mat4 _inverse
 inverse transform More...
 
bool _inverseDirty
 inverse transform dirty flag More...
 
Mat4 _additionalTransform
 transform More...
 
bool _useAdditionalTransform
 The flag to check whether the additional transform is dirty. More...
 
bool _transformUpdated
 Whether or not the Transform object was updated since the last frame. More...
 
int _localZOrder
 Local order (relative to its siblings) used to sort the node. More...
 
float _globalZOrder
 Global order used to sort the node. More...
 
Vector< Node * > _children
 array of children nodes More...
 
Node_parent
 weak reference to parent node More...
 
int _tag
 a tag. Can be any number you assigned just to identify this node More...
 
std::string _name
 a string label, an user defined string to identify this node More...
 
void * _userData
 A user assingned void pointer, Can be point to any cpp object. More...
 
Ref_userObject
 A user assigned Object. More...
 
GLProgramState_glProgramState
 OpenGL Program State. More...
 
int _orderOfArrival
 used to preserve sequence while sorting children with the same localZOrder More...
 
Scheduler_scheduler
 scheduler used to schedule timers and updates More...
 
ActionManager_actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
EventDispatcher_eventDispatcher
 event dispatcher used to dispatch all kinds of events More...
 
bool _running
 is running More...
 
bool _visible
 is this node visible More...
 
bool _ignoreAnchorPointForPosition
 true if the Anchor Vec2 will be (0,0) when you position the Node, false otherwise. More...
 
bool _reorderChildDirty
 children order dirty flag More...
 
bool _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
ComponentContainer_componentContainer
 Dictionary of components. More...
 
GLubyte _displayedOpacity
GLubyte _realOpacity
Color3B _displayedColor
Color3B _realColor
bool _cascadeColorEnabled
bool _cascadeOpacityEnabled
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Additional Inherited Members

- Public Attributes inherited from Layer
CC_CONSTRUCTOR_ACCESS __pad0__: Layer()
- Public Attributes inherited from Node
CC_CONSTRUCTOR_ACCESS __pad0__: Node()
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
- Static Protected Attributes inherited from Node
static int s_globalOrderOfArrival

Detailed Description

ScrollView support for cocos2d-x.

It provides scroll view functionalities to cocos2d projects natively.

Member Enumeration Documentation

enum Direction
strong
Enumerator
NONE 
HORIZONTAL 
VERTICAL 
BOTH 

Constructor & Destructor Documentation

virtual ~ScrollView ( )
virtual

Member Function Documentation

virtual void addChild ( Node child,
int  localZOrder,
int  tag 
)
overridevirtual

Adds a child to the container with z order and tag.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int)
tagAn integer to identify the node easily. Please refer to setTag(int)

Reimplemented from Node.

void afterDraw ( )
protected

retract what's done in beforeDraw so that there's no side effect to other nodes.

void beforeDraw ( )
protected

clip this view so that outside of the visible bounds can be hidden.

static ScrollView* create ( Size  size,
Node container = NULL 
)
static

Returns an autoreleased scroll view object.

Parameters
sizeview size
containerparent object
Returns
autoreleased scroll view object
static ScrollView* create ( )
static

Returns an autoreleased scroll view object.

Returns
autoreleased scroll view object
void deaccelerateScrolling ( float  dt)
protected

implements auto-scrolling behavior.

change SCROLL_DEACCEL_RATE as needed to choose deacceleration speed. it must be less than 1.0f.

Parameters
dtdelta
Node* getContainer ( )
Vec2 getContentOffset ( )
virtual const Size& getContentSize ( ) const
overridevirtual

Returns the untransformed size of the node.

See also
setContentSize(const Size&)
Returns
The untransformed size of the node.

Reimplemented from Node.

ScrollViewDelegate* getDelegate ( )
inline
Direction getDirection ( ) const
inline

direction allowed to scroll.

ScrollViewDirectionBoth by default.

Rect getViewRect ( )
protected
Size getViewSize ( ) const
inline

size to clip.

Node boundingBox uses contentSize directly. It's semantically different what it actually means to common scroll views. Hence, this scroll view will use a separate size property.

float getZoomScale ( )
void handleZoom ( )
protected

Zoom handling.

bool init ( )
virtual

Reimplemented from Layer.

bool initWithViewSize ( Size  size,
Node container = NULL 
)

Returns a scroll view object.

Parameters
sizeview size
containerparent object
Returns
scroll view object
bool isBounceable ( ) const
inline
bool isClippingToBounds ( )
inline

Determines whether it clips its children or not.

bool isDragging ( ) const
inline
bool isNodeVisible ( Node node)

Determines if a given node's bounding box is in visible bounds.

Returns
true if it is in visible bounds
bool isTouchEnabled ( ) const
bool isTouchMoved ( ) const
inline
Vec2 maxContainerOffset ( )

Returns the current container's maximum offset.

You may want this while you animate scrolling by yourself

Vec2 minContainerOffset ( )

Returns the current container's minimum offset.

You may want this while you animate scrolling by yourself

void onAfterDraw ( )
protected
void onBeforeDraw ( )
protected
virtual bool onTouchBegan ( Touch touch,
Event event 
)
virtual

Reimplemented from Layer.

Reimplemented in TableView.

virtual void onTouchCancelled ( Touch touch,
Event event 
)
virtual

Reimplemented from Layer.

Reimplemented in TableView.

virtual void onTouchEnded ( Touch touch,
Event event 
)
virtual

Reimplemented from Layer.

Reimplemented in TableView.

virtual void onTouchMoved ( Touch touch,
Event event 
)
virtual

Reimplemented from Layer.

Reimplemented in TableView.

void pause ( Ref sender)

Provided to make scroll view compatible with SWLayer's pause method.

void performedAnimatedScroll ( float  dt)
protected

This method makes sure auto scrolling causes delegate to invoke its method.

void relocateContainer ( bool  animated)
protected

Relocates the container at the proper offset, in bounds of max/min offsets.

Parameters
animatedIf true, relocation is animated
void resume ( Ref sender)

Provided to make scroll view compatible with SWLayer's resume method.

void setBounceable ( bool  bBounceable)
inline
void setClippingToBounds ( bool  bClippingToBounds)
inline
void setContainer ( Node pContainer)
void setContentOffset ( Vec2  offset,
bool  animated = false 
)

Sets a new content offset.

It ignores max/min offset. It just sets what's given. (just like UIKit's UIScrollView)

Parameters
offsetThe new offset.
animatedIf true, the view will scroll to the new offset.
void setContentOffsetInDuration ( Vec2  offset,
float  dt 
)

Sets a new content offset.

It ignores max/min offset. It just sets what's given. (just like UIKit's UIScrollView) You can override the animation duration with this method.

Parameters
offsetThe new offset.
dtThe animation duration.
virtual void setContentSize ( const Size contentSize)
overridevirtual

Sets the untransformed size of the node.

The contentSize remains the same no matter the node is scaled or rotated. All nodes has a size. Layer and Scene has the same size of the screen.

Parameters
contentSizeThe untransformed size of the node.

Reimplemented from Node.

void setDelegate ( ScrollViewDelegate pDelegate)
inline
when this function bound to js or lua,the input param are changed
in js: var setDelegate(var jsObject)
in lua: local setDelegate()
virtual void setDirection ( Direction  eDirection)
inlinevirtual
void setTouchEnabled ( bool  enabled)
void setViewSize ( Size  size)
void setZoomScale ( float  s)
void setZoomScale ( float  s,
bool  animated 
)

Sets a new scale and does that for a predefined duration.

Parameters
sThe new scale vale
animatedIf true, scaling is animated
void setZoomScaleInDuration ( float  s,
float  dt 
)

Sets a new scale for container in a given duration.

Parameters
sThe new scale value
dtThe animation duration
void stoppedAnimatedScroll ( Node node)
protected

Expire animated scroll delegate calls.

void updateInset ( )
void updateTweenAction ( float  value,
const std::string &  key 
)
virtual

CCActionTweenDelegate.

Implements ActionTweenDelegate.

virtual void visit ( Renderer renderer,
const Mat4 parentTransform,
bool  parentTransformUpdated 
)
overridevirtual

Visits this node's children and draw them recursively.

Reimplemented from Node.

Member Data Documentation

CustomCommand _afterDrawCommand
protected
CustomCommand _beforeDrawCommand
protected
bool _bounceable
protected

Determines whether the scroll view is allowed to bounce or not.

bool _clippingToBounds
protected
Node* _container
protected

Container holds scroll view contents, Sets the scrollable container object of the scroll view.

Vec2 _contentOffset
protected

Content offset.

Note that left-bottom point is the origin

ScrollViewDelegate* _delegate
protected

scroll view delegate

Direction _direction
protected
bool _dragging
protected

If YES, the view is being dragged.

Vec2 _maxInset
protected

max inset point to limit scrolling by touch

float _maxScale
protected
float _maxZoomScale
protected

max zoom scale

Vec2 _minInset
protected

min inset point to limit scrolling by touch

float _minScale
protected

max and min scale

float _minZoomScale
protected

min zoom scale

Rect _parentScissorRect
protected

scissor rect for parent, just for restoring GL_SCISSOR_BOX

bool _scissorRestored
protected
Vec2 _scrollDistance
protected

scroll speed

std::vector<Touch*> _touches
protected

Touch objects to detect multitouch.

float _touchLength
protected

length between two fingers

EventListenerTouchOneByOne*
_touchListener
protected

Touch listener.

bool _touchMoved
protected

Determiens whether user touch is moved after begin phase.

Vec2 _touchPoint
protected

Touch point.

Size _viewSize
protected

size to clip.

Node boundingBox uses contentSize directly. It's semantically different what it actually means to common scroll views. Hence, this scroll view will use a separate size property.

float _zoomScale
protected

current zoom scale


The documentation for this class was generated from the following file: