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

#include <UIScrollView.h>

Inheritance diagram for ScrollView:
Layout Widget LayoutProtocol ProtectedNode LayoutParameterProtocol Node Ref ListView

Public Types

enum  Direction { NONE, VERTICAL, HORIZONTAL, BOTH }
 
enum  EventType {
  SCROLL_TO_TOP, SCROLL_TO_BOTTOM, SCROLL_TO_LEFT, SCROLL_TO_RIGHT,
  SCROLLING, BOUNCE_TOP, BOUNCE_BOTTOM, BOUNCE_LEFT,
  BOUNCE_RIGHT
}
 
typedef std::function< void(Ref
*, EventType)> 
ccScrollViewCallback
 
- Public Types inherited from Layout
enum  Type { ABSOLUTE, VERTICAL, HORIZONTAL, RELATIVE }
 
enum  ClippingType { STENCIL, SCISSOR }
 
enum  BackGroundColorType { NONE, SOLID, GRADIENT }
 
- Public Types inherited from Widget
enum  FocusDirection { LEFT, RIGHT, UP, DOWN }
 
enum  PositionType { ABSOLUTE, PERCENT }
 
enum  SizeType { ABSOLUTE, PERCENT }
 
enum  TouchEventType { BEGAN, MOVED, ENDED, CANCELED }
 
enum  TextureResType { LOCAL = 0, PLIST = 1 }
 
enum  BrightStyle { NONE = -1, NORMAL, HIGHLIGHT }
 
typedef std::function< void(Ref
*, Widget::TouchEventType)> 
ccWidgetTouchCallback
 
typedef std::function< void(Ref *)> ccWidgetClickCallback
 
typedef std::function< void(Ref
*, int)> 
ccWidgetEventCallback
 
- Public Types inherited from Node
enum  { FLAGS_TRANSFORM_DIRTY = (1 << 0), FLAGS_CONTENT_SIZE_DIRTY = (1 << 1), FLAGS_DIRTY_MASK = (FLAGS_TRANSFORM_DIRTY | FLAGS_CONTENT_SIZE_DIRTY) }
 

Public Member Functions

 ScrollView ()
 Default constructor. More...
 
virtual ~ScrollView ()
 Default destructor. More...
 
virtual void setDirection (Direction dir)
 Changes scroll direction of scrollview. More...
 
Direction getDirection () const
 Gets scroll direction of scrollview. More...
 
LayoutgetInnerContainer () const
 Gets inner container of scrollview. More...
 
void scrollToBottom (float time, bool attenuated)
 Scroll inner container to bottom boundary of scrollview. More...
 
void scrollToTop (float time, bool attenuated)
 Scroll inner container to top boundary of scrollview. More...
 
void scrollToLeft (float time, bool attenuated)
 Scroll inner container to left boundary of scrollview. More...
 
void scrollToRight (float time, bool attenuated)
 Scroll inner container to right boundary of scrollview. More...
 
void scrollToTopLeft (float time, bool attenuated)
 Scroll inner container to top and left boundary of scrollview. More...
 
void scrollToTopRight (float time, bool attenuated)
 Scroll inner container to top and right boundary of scrollview. More...
 
void scrollToBottomLeft (float time, bool attenuated)
 Scroll inner container to bottom and left boundary of scrollview. More...
 
void scrollToBottomRight (float time, bool attenuated)
 Scroll inner container to bottom and right boundary of scrollview. More...
 
void scrollToPercentVertical (float percent, float time, bool attenuated)
 Scroll inner container to vertical percent position of scrollview. More...
 
void scrollToPercentHorizontal (float percent, float time, bool attenuated)
 Scroll inner container to horizontal percent position of scrollview. More...
 
void scrollToPercentBothDirection (const Vec2 &percent, float time, bool attenuated)
 Scroll inner container to both direction percent position of scrollview. More...
 
void jumpToBottom ()
 Move inner container to bottom boundary of scrollview. More...
 
void jumpToTop ()
 Move inner container to top boundary of scrollview. More...
 
void jumpToLeft ()
 Move inner container to left boundary of scrollview. More...
 
void jumpToRight ()
 Move inner container to right boundary of scrollview. More...
 
void jumpToTopLeft ()
 Move inner container to top and left boundary of scrollview. More...
 
void jumpToTopRight ()
 Move inner container to top and right boundary of scrollview. More...
 
void jumpToBottomLeft ()
 Move inner container to bottom and left boundary of scrollview. More...
 
void jumpToBottomRight ()
 Move inner container to bottom and right boundary of scrollview. More...
 
void jumpToPercentVertical (float percent)
 Move inner container to vertical percent position of scrollview. More...
 
void jumpToPercentHorizontal (float percent)
 Move inner container to horizontal percent position of scrollview. More...
 
void jumpToPercentBothDirection (const Vec2 &percent)
 Move inner container to both direction percent position of scrollview. More...
 
void setInnerContainerSize (const Size &size)
 Changes inner container size of scrollview. More...
 
const SizegetInnerContainerSize () const
 Gets inner container size of scrollview. More...
 
void addEventListenerScrollView (Ref *target, SEL_ScrollViewEvent selector)
 Add call back function called scrollview event triggered. More...
 
virtual void addEventListener (const ccScrollViewCallback &callback)
 
virtual void addChild (Node *child) override
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder) override
 Adds a child to the container with a local z-order. More...
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int zOrder, const std::string &name) override
 Adds a child to the container with z order and tag. More...
 
virtual void removeAllChildren () override
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup) override
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void removeChild (Node *child, bool cleaup=true) override
 Removes a child from the container. More...
 
virtual Vector< Node * > & getChildren () override
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const override
 
virtual ssize_t getChildrenCount () const override
 Returns the amount of children. More...
 
virtual NodegetChildByTag (int tag) const override
 Gets a child from the container with its tag. More...
 
virtual NodegetChildByName (const std::string &name) const override
 Gets a child from the container with its name. More...
 
virtual bool onTouchBegan (Touch *touch, Event *unusedEvent) override
 
virtual void onTouchMoved (Touch *touch, Event *unusedEvent) override
 
virtual void onTouchEnded (Touch *touch, Event *unusedEvent) override
 
virtual void onTouchCancelled (Touch *touch, Event *unusedEvent) override
 
virtual void update (float dt) override
 
void setBounceEnabled (bool enabled)
 
bool isBounceEnabled () const
 
void setInertiaScrollEnabled (bool enabled)
 
bool isInertiaScrollEnabled () const
 
virtual void setLayoutType (Type type) override
 Sets LayoutType. More...
 
virtual Type getLayoutType () const override
 Gets LayoutType. More...
 
virtual std::string getDescription () const override
 Returns the "class name" of widget. More...
 
virtual void onEnter () override
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual WidgetfindNextFocusedWidget (FocusDirection direction, Widget *current) override
 When a widget is in a layout, you could call this method to get the next focused widget within a specified direction. More...
 
- Public Member Functions inherited from Layout
 Layout ()
 Default constructor. More...
 
virtual ~Layout ()
 Default destructor. More...
 
void setBackGroundImage (const std::string &fileName, TextureResType texType=TextureResType::LOCAL)
 Sets a background image for layout. More...
 
void setBackGroundImageCapInsets (const Rect &capInsets)
 Sets a background image capinsets for layout, if the background image is a scale9 render. More...
 
const RectgetBackGroundImageCapInsets () const
 
void setBackGroundColorType (BackGroundColorType type)
 Sets Color Type for layout. More...
 
BackGroundColorType getBackGroundColorType () const
 
void setBackGroundImageScale9Enabled (bool enabled)
 Sets background iamge use scale9 renderer. More...
 
bool isBackGroundImageScale9Enabled () const
 
void setBackGroundColor (const Color3B &color)
 Sets background color for layout, if color type is BackGroundColorType::SOLIDE. More...
 
const Color3BgetBackGroundColor () const
 
void setBackGroundColor (const Color3B &startColor, const Color3B &endColor)
 Sets background color for layout, if color type is BackGroundColorType::GRADIENT. More...
 
const Color3BgetBackGroundStartColor () const
 
const Color3BgetBackGroundEndColor () const
 
void setBackGroundColorOpacity (GLubyte opacity)
 Sets background opacity layout. More...
 
GLubyte getBackGroundColorOpacity () const
 
void setBackGroundColorVector (const Vec2 &vector)
 Sets background color vector for layout, if color type is BackGroundColorType::GRADIENT. More...
 
const Vec2getBackGroundColorVector () const
 
void setBackGroundImageColor (const Color3B &color)
 
void setBackGroundImageOpacity (GLubyte opacity)
 
const Color3BgetBackGroundImageColor () const
 
GLubyte getBackGroundImageOpacity () const
 
void removeBackGroundImage ()
 Remove the background image of layout. More...
 
const SizegetBackGroundImageTextureSize () const
 Gets background image texture size. More...
 
virtual void setClippingEnabled (bool enabled)
 Changes if layout can clip it's content and child. More...
 
void setClippingType (ClippingType type)
 
ClippingType getClippingType () const
 
virtual bool isClippingEnabled () const
 Gets if layout is clipping enabled. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override
 Visits this node's children and draw them recursively. More...
 
void forceDoLayout ()
 force refresh widget layout More...
 
void requestDoLayout ()
 request to refresh widget layout More...
 
virtual void onExit () override
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
void setLoopFocus (bool loop)
 If a layout is loop focused which means that the focus movement will be inside the layout. More...
 
bool isLoopFocus () const
 
void setPassFocusToChild (bool pass)
 
bool isPassFocusToChild () const
 
virtual WidgetfindNextFocusedWidget (FocusDirection direction, Widget *current) override
 When a widget is in a layout, you could call this method to get the next focused widget within a specified direction. More...
 
- Public Member Functions inherited from Widget
 Widget (void)
 Default constructor. More...
 
virtual ~Widget ()
 Default destructor. More...
 
virtual void setEnabled (bool enabled)
 Sets whether the widget is enabled. More...
 
bool isEnabled () const
 Determines if the widget is enabled. More...
 
void setBright (bool bright)
 Sets whether the widget is bright. More...
 
bool isBright () const
 Determines if the widget is bright. More...
 
virtual void setTouchEnabled (bool enabled)
 Sets whether the widget is touch enabled. More...
 
void setBrightStyle (BrightStyle style)
 To set the bright style of widget. More...
 
bool isTouchEnabled () const
 Determines if the widget is touch enabled. More...
 
bool isHighlighted () const
 Determines if the widget is highlighted. More...
 
void setHighlighted (bool hilight)
 Sets whether the widget is hilighted. More...
 
float getLeftInParent ()
 Gets the left boundary position of this widget in parent's coordination system. More...
 
float getLeftBoundary () const
 
float getBottomInParent ()
 Gets the bottom boundary position of this widget in parent's coordination system. More...
 
float getBottomBoundary () const
 
float getRightInParent ()
 Gets the right boundary position of this widget in parent's coordination system. More...
 
float getRightBoundary () const
 
float getTopInParent ()
 Gets the top boundary position of this widget in parent's coordination system. More...
 
float getTopBoundary () const
 
void addTouchEventListener (Ref *target, SEL_TouchEvent selector)
 Sets the touch event target/selector to the widget. More...
 
void addTouchEventListener (const ccWidgetTouchCallback &callback)
 
void addClickEventListener (const ccWidgetClickCallback &callback)
 Set a click event handler to the widget. More...
 
virtual void addCCSEventListener (const ccWidgetEventCallback &callback)
 Set a event handler to the widget in order to use cocostudio editor and framework. More...
 
virtual void setPosition (const Vec2 &pos) override
 Changes the position (x,y) of the widget in OpenGL coordinates. More...
 
void setPositionPercent (const Vec2 &percent)
 Set the percent(x,y) of the widget in OpenGL coordinates. More...
 
const Vec2getPositionPercent () const
 Gets the percent (x,y) of the widget in OpenGL coordinates. More...
 
void setPositionType (PositionType type)
 Changes the position type of the widget. More...
 
PositionType getPositionType () const
 Gets the position type of the widget. More...
 
virtual void setFlippedX (bool flippedX)
 Sets whether the widget should be flipped horizontally or not. More...
 
virtual bool isFlippedX () const
 Returns the flag which indicates whether the widget is flipped horizontally or not. More...
 
virtual void setFlippedY (bool flippedY)
 Sets whether the widget should be flipped vertically or not. More...
 
virtual bool isFlippedY () const
 Return the flag which indicates whether the widget is flipped vertically or not. More...
 
bool isFlipX ()
 
void setFlipX (bool flipX)
 
bool isFlipY ()
 
void setFlipY (bool flipY)
 
virtual void setScaleX (float scaleX) override
 Sets the scale (x) of the node. More...
 
virtual void setScaleY (float scaleY) override
 Sets the scale (y) of the node. More...
 
virtual void setScale (float scale) override
 Sets the scale (x,y,z) of the node. More...
 
virtual void setScale (float scalex, float scaley) override
 Sets the scale (x,y) of the node. More...
 
virtual float getScaleX () const override
 Returns the scale factor on X axis of this node. More...
 
virtual float getScaleY () const override
 Returns the scale factor on Y axis of this node. More...
 
virtual float getScale () const override
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
bool clippingParentAreaContainPoint (const Vec2 &pt)
 
bool isClippingParentContainsPoint (const Vec2 &pt)
 
const Vec2getTouchStartPos () const
 
const Vec2getTouchBeganPosition () const
 
const Vec2getTouchMovePos () const
 
const Vec2getTouchMovePosition () const
 
const Vec2getTouchEndPos () const
 
const Vec2getTouchEndPosition () const
 
virtual void setSize (const Size &size)
 Changes the size that is widget's size. More...
 
virtual void setContentSize (const Size &contentSize) override
 Sets the untransformed size of the node. More...
 
virtual void setSizePercent (const Vec2 &percent)
 Changes the percent that is widget's percent size. More...
 
void setSizeType (SizeType type)
 Changes the size type of widget. More...
 
SizeType getSizeType () const
 Gets the size type of widget. More...
 
const SizegetSize () const
 Returns size of widget. More...
 
const SizegetCustomSize () const
 
virtual const SizegetLayoutSize ()
 
const Vec2getSizePercent ()
 Returns size percent of widget. More...
 
virtual bool hitTest (const Vec2 &pt)
 Checks a point if is in widget's space. More...
 
void setLayoutParameter (LayoutParameter *parameter)
 Sets a LayoutParameter to widget. More...
 
LayoutParametergetLayoutParameter () const override
 Gets LayoutParameter of widget. More...
 
LayoutParametergetLayoutParameter (LayoutParameter::Type type)
 
virtual void ignoreContentAdaptWithSize (bool ignore)
 Note: when you set _ignoreSize to true, no matther you call setContentSize or not, the widget size is always equal to the return value of the member function getVirtualRendererSize. More...
 
bool isIgnoreContentAdaptWithSize () const
 Query whether the widget ignores user deinfed content size or not. More...
 
Vec2 getWorldPosition () const
 Gets world position of widget. More...
 
virtual NodegetVirtualRenderer ()
 Gets the Virtual Renderer of widget. More...
 
virtual Size getVirtualRendererSize () const
 
Widgetclone ()
 
void updateSizeAndPosition ()
 
void updateSizeAndPosition (const Size &parentSize)
 
void setActionTag (int tag)
 
int getActionTag () const
 
void setPropagateTouchEvents (bool isPropagate)
 Allow widget touch events to propagate to its parents. More...
 
bool isPropagateTouchEvents () const
 Return whether the widget is propagate touch events to its parents or not. More...
 
void setSwallowTouches (bool swallow)
 Specify widget to swallow touches or not. More...
 
bool isSwallowTouches () const
 Return whether the widget is swallowing touch or not. More...
 
bool isFocused () const
 
void setFocused (bool focus)
 
bool isFocusEnabled () const
 
void setFocusEnabled (bool enable)
 
void requestFocus ()
 when a widget calls this method, it will get focus immediately. More...
 
WidgetgetCurrentFocusedWidget (bool isWidget)
 no matter what widget object you call this method on , it will return you the exact one focused widget More...
 
WidgetgetCurrentFocusedWidget () const
 
void setUnifySizeEnabled (bool enable)
 
bool isUnifySizeEnabled () const
 
void setCallbackName (const std::string &callbackName)
 callbackName getter and setter. More...
 
const std::string & getCallbackName () const
 
void setCallbackType (const std::string &callbackType)
 callbackType getter and setter. More...
 
const std::string & getCallbackType () const
 
void propagateTouchEvent (TouchEventType event, Widget *sender, Touch *touch)
 Propagate touch events to its parents. More...
 
void onFocusChange (Widget *widgetLostFocus, Widget *widgetGetFocus)
 This method is called when a focus change event happens. More...
 
void dispatchFocusEvent (Widget *widgetLoseFocus, Widget *widgetGetFocus)
 Dispatch a EventFocus through a EventDispatcher. More...
 
- Public Member Functions inherited from ProtectedNode
virtual void cleanup () override
 Stops all running actions and schedulers. More...
 
virtual void onEnterTransitionDidFinish () override
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExitTransitionDidStart () override
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void updateDisplayedOpacity (GLubyte parentOpacity) override
 
virtual void updateDisplayedColor (const Color3B &parentColor) override
 
virtual void disableCascadeColor () override
 
virtual void disableCascadeOpacity () override
 
virtual ~ProtectedNode ()
 
virtual void addProtectedChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addProtectedChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual void addProtectedChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual NodegetProtectedChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual void removeProtectedChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
virtual void removeProtectedChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllProtectedChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllProtectedChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderProtectedChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllProtectedChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
- 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 draw (Renderer *renderer, const Mat4 &transform, uint32_t flags)
 Override this method to draw your own node. More...
 
virtual void draw () final
 
virtual void visit () final
 
virtual ScenegetScene () const
 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 Rect boundingBox () const
 
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 
virtual EventDispatchergetEventDispatcher () const
 
void setPhysicsBody (PhysicsBody *body)
 set the PhysicsBody that let the sprite effect with physics More...
 
PhysicsBodygetPhysicsBody () const
 get the PhysicsBody the sprite have More...
 
void removeFromPhysicsWorld ()
 remove this node from physics world. More...
 
virtual GLubyte getOpacity () const
 
virtual GLubyte getDisplayedOpacity () const
 
virtual void setOpacity (GLubyte opacity)
 
virtual bool isCascadeOpacityEnabled () const
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 
virtual const Color3BgetColor () const
 
virtual const Color3BgetDisplayedColor () const
 
virtual void setColor (const Color3B &color)
 
virtual bool isCascadeColorEnabled () const
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 
virtual void setOpacityModifyRGB (bool value)
 
virtual bool isOpacityModifyRGB () const
 
void setOnEnterCallback (const std::function< void()> &callback)
 
const std::function< void()> & getOnEnterCallback () const
 
void setOnExitCallback (const std::function< void()> &callback)
 
const std::function< void()> & getOnExitCallback () const
 
void setonEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 
const std::function< void()> & getonEnterTransitionDidFinishCallback () const
 
void setonExitTransitionDidStartCallback (const std::function< void()> &callback)
 
const std::function< void()> & getonExitTransitionDidStartCallback () const
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true More...
 
void setCameraMask (unsigned short mask, bool applyChildren=true)
 
virtual ~Node ()
 
virtual bool init ()
 
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void setZOrder (int localZOrder)
 
virtual void _setLocalZOrder (int z)
 
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual 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 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 setNormalizedPosition (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getNormalizedPosition () const
 returns the normalized position 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 void setVertexZ (float vertexZ)
 
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual 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 const SizegetContentSize () const
 Returns the untransformed size of the node. 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 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 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 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 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...
 
void setGLServerState (int serverState)
 
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...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. 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 removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeChildByName (const std::string &name, bool cleanup=true)
 Removes a child from the container by tag value. 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 std::string getName () const
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
 NA NA More...
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
 NA NA More...
 
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram () const
 Return the GLProgram (shader) currently used for this node. More...
 
GLProgramgetShaderProgram () const
 
GLProgramStategetGLProgramState () const
 
virtual void setGLProgramState (GLProgramState *glProgramState)
 
virtual void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
void setShaderProgram (GLProgram *glprogram)
 
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...
 
void stopAllActionsByTag (int tag)
 Removes all actions 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...
 
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...
 
bool isScheduled (const std::string &key)
 Checks whether a lambda function 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 scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function 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 schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions Actions are not affected by this method. More...
 
void unscheduleAllSelectors ()
 
virtual void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
void resumeSchedulerAndActions ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
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 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 AffineTransform parentToNodeTransform () const
 
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
 
virtual AffineTransform nodeToWorldTransform () const
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
 
virtual 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 &name)
 gets a component by its name More...
 
virtual bool addComponent (Component *component)
 adds a component More...
 
virtual bool removeComponent (const std::string &name)
 removes a component by its name More...
 
virtual bool removeComponent (Component *component)
 removes a component by its pointer 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 ()
 NA NA More...
 
- Public Member Functions inherited from LayoutParameterProtocol
virtual ~LayoutParameterProtocol ()
 
- Public Member Functions inherited from LayoutProtocol
 LayoutProtocol ()
 
virtual ~LayoutProtocol ()
 

Static Public Member Functions

static ScrollViewcreate ()
 Allocates and initializes. More...
 
- Static Public Member Functions inherited from Layout
static Layoutcreate ()
 Allocates and initializes a layout. More...
 
- Static Public Member Functions inherited from Widget
static Widgetcreate ()
 Allocates and initializes a widget. More...
 
static void enableDpadNavigation (bool enable)
 
- Static Public Member Functions inherited from ProtectedNode
static ProtectedNodecreate (void)
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 

Public Attributes

CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Public Attributes inherited from Layout
std::function< int(FocusDirection,
Widget *)> 
onPassFocusToChild
 To specify a user-defined functor to decide which child widget of the layout should get focused. More...
 
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Public Attributes inherited from Widget
std::function< void(Widget
*, Widget *)> 
onFocusChanged
 When a widget lose/get focus, this method will be called. More...
 
std::function< Widget
*(FocusDirection)> 
onNextFocusedWidget
 use this function to manually specify the next focused widget regards to each direction More...
 
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Public Attributes inherited from ProtectedNode
CC_CONSTRUCTOR_ACCESS __pad0__: ProtectedNode()
 
- Public Attributes inherited from Node
CC_CONSTRUCTOR_ACCESS __pad0__: Node()
 

Protected Member Functions

virtual void initRenderer () override
 
virtual void onSizeChanged () override
 
virtual void doLayout () override
 
virtual WidgetcreateCloneInstance () override
 
virtual void copySpecialProperties (Widget *model) override
 
virtual void copyClonedWidgetChildren (Widget *model) override
 
void moveChildren (float offsetX, float offsetY)
 
void autoScrollChildren (float dt)
 
void bounceChildren (float dt)
 
void checkBounceBoundary ()
 
bool checkNeedBounce ()
 
void startAutoScrollChildrenWithOriginalSpeed (const Vec2 &dir, float v, bool attenuated, float acceleration)
 
void startAutoScrollChildrenWithDestination (const Vec2 &des, float time, bool attenuated)
 
void jumpToDestination (const Vec2 &des)
 
void stopAutoScrollChildren ()
 
void startBounceChildren (float v)
 
void stopBounceChildren ()
 
bool checkCustomScrollDestination (float *touchOffsetX, float *touchOffsetY)
 
virtual bool scrollChildren (float touchOffsetX, float touchOffsetY)
 
bool scrollChildrenVertical (float touchOffsetX, float touchOffsetY)
 
bool scrollChildrenHorizontal (float touchOffsetX, float touchOffestY)
 
bool scrollChildrenBoth (float touchOffsetX, float touchOffsetY)
 
bool bounceScrollChildren (float touchOffsetX, float touchOffsetY)
 
void startRecordSlidAction ()
 
virtual void endRecordSlidAction ()
 
virtual void handlePressLogic (Touch *touch)
 
virtual void handleMoveLogic (Touch *touch)
 
virtual void handleReleaseLogic (Touch *touch)
 
virtual void interceptTouchEvent (Widget::TouchEventType event, Widget *sender, Touch *touch) override
 
void recordSlidTime (float dt)
 
void scrollToTopEvent ()
 
void scrollToBottomEvent ()
 
void scrollToLeftEvent ()
 
void scrollToRightEvent ()
 
void scrollingEvent ()
 
void bounceTopEvent ()
 
void bounceBottomEvent ()
 
void bounceLeftEvent ()
 
void bounceRightEvent ()
 
- Protected Member Functions inherited from Layout
void addBackGroundImage ()
 
void supplyTheLayoutParameterLackToChild (Widget *child)
 
void stencilClippingVisit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 
void scissorClippingVisit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 
void setStencilClippingSize (const Size &size)
 
const RectgetClippingRect ()
 
virtual LayoutManagercreateLayoutManager () override
 
virtual Size getLayoutContentSize () const override
 
virtual const Vector< Node * > & getLayoutElements () const override
 
void onBeforeVisitStencil ()
 
void onAfterDrawStencil ()
 
void onAfterVisitStencil ()
 
void drawFullScreenQuadClearStencil ()
 draw fullscreen quad to clear stencil bits More...
 
void onBeforeVisitScissor ()
 
void onAfterVisitScissor ()
 
void updateBackGroundImageColor ()
 
void updateBackGroundImageOpacity ()
 
void updateBackGroundImageRGBA ()
 
Size getLayoutAccumulatedSize () const
 get the content size of the layout, it will accumulate all its children's content size More...
 
int findNearestChildWidgetIndex (FocusDirection direction, Widget *baseWidget)
 When the layout get focused, it the layout pass the focus to its child, it will use this method to determine which child will get the focus. More...
 
int findFarthestChildWidgetIndex (FocusDirection direction, Widget *baseWidget)
 When the layout get focused, it the layout pass the focus to its child, it will use this method to determine which child will get the focus. More...
 
float calculateNearestDistance (Widget *baseWidget)
 caculate the nearest distance between the baseWidget and the children of the layout More...
 
float calculateFarthestDistance (Widget *baseWidget)
 caculate the farthest distance between the baseWidget and the children of the layout More...
 
void findProperSearchingFunctor (FocusDirection dir, Widget *baseWidget)
 when a layout pass the focus to it's child, use this method to determine which algorithm to use, nearest or farthest distance algorithm or not More...
 
WidgetfindFirstNonLayoutWidget ()
 find the first non-layout widget in this layout More...
 
int findFirstFocusEnabledWidgetIndex ()
 find the fisrt focus enabled widget index in the layout, it will recusive searching the child widget More...
 
WidgetfindFocusEnabledChildWidgetByIndex (ssize_t index)
 find a focus enabled child Widget in the layout by index More...
 
Vec2 getWorldCenterPoint (Widget *node) const
 get the center point of a widget in world space More...
 
WidgetgetNextFocusedWidget (FocusDirection direction, Widget *current)
 this method is called internally by nextFocusedWidget. More...
 
WidgetgetPreviousFocusedWidget (FocusDirection direction, Widget *current)
 this method is called internally by nextFocusedWidget. More...
 
WidgetgetChildWidgetByIndex (ssize_t index) const
 find the nth elment in the _children array. More...
 
bool isLastWidgetInContainer (Widget *widget, FocusDirection direction) const
 whether it is the last element according to all their parents More...
 
bool isWidgetAncestorSupportLoopFocus (Widget *widget, FocusDirection direction) const
 Lookup any parent widget with a layout type as the direction, if the layout is loop focused, then return true, otherwise It returns false. More...
 
WidgetpassFocusToChild (FocusDirection direction, Widget *current)
 pass the focus to the layout's next focus enabled child More...
 
bool checkFocusEnabledChild () const
 If there are no focus enabled child in the layout, it will return false, otherwise it returns true. More...
 
- Protected Member Functions inherited from Widget
virtual void onPressStateChangedToNormal ()
 
virtual void onPressStateChangedToPressed ()
 
virtual void onPressStateChangedToDisabled ()
 
void pushDownEvent ()
 
void moveEvent ()
 
virtual void releaseUpEvent ()
 
virtual void cancelUpEvent ()
 
virtual void adaptRenderers ()
 
void updateChildrenDisplayedRGBA ()
 
void copyProperties (Widget *model)
 
WidgetgetWidgetParent ()
 
void updateContentSizeWithTextureSize (const Size &size)
 
bool isAncestorsEnabled ()
 
WidgetgetAncensterWidget (Node *node)
 
bool isAncestorsVisible (Node *node)
 
void cleanupWidget ()
 
LayoutComponentgetOrCreateLayoutComponent ()
 
- Protected Member Functions inherited from ProtectedNode
void insertProtectedChild (Node *child, int z)
 helper that reorder a child More...
 
- 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)
 
uint32_t processParentFlags (const Mat4 &parentTransform, uint32_t parentFlags)
 
virtual void updateCascadeOpacity ()
 
virtual void updateCascadeColor ()
 
virtual void updateColor ()
 
bool doEnumerate (std::string name, std::function< bool(Node *)> callback) const
 
bool doEnumerateRecursive (const Node *node, const std::string &name, std::function< bool(Node *)> callback) const
 
bool isVisitableByVisitingCamera () const
 
void updatePhysicsBodyTransform (Scene *layer)
 
virtual void updatePhysicsBodyPosition (Scene *layer)
 
virtual void updatePhysicsBodyRotation (Scene *layer)
 
virtual void updatePhysicsBodyScale (Scene *scene)
 
- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Protected Attributes

Layout_innerContainer
 
Direction _direction
 
Vec2 _autoScrollDir
 
float _topBoundary
 
float _bottomBoundary
 
float _leftBoundary
 
float _rightBoundary
 
float _bounceTopBoundary
 
float _bounceBottomBoundary
 
float _bounceLeftBoundary
 
float _bounceRightBoundary
 
bool _autoScroll
 
float _autoScrollAddUpTime
 
float _autoScrollOriginalSpeed
 
float _autoScrollAcceleration
 
bool _isAutoScrollSpeedAttenuated
 
bool _needCheckAutoScrollDestination
 
Vec2 _autoScrollDestination
 
bool _bePressed
 
float _slidTime
 
Vec2 _moveChildPoint
 
float _childFocusCancelOffset
 
bool _leftBounceNeeded
 
bool _topBounceNeeded
 
bool _rightBounceNeeded
 
bool _bottomBounceNeeded
 
bool _bounceEnabled
 
bool _bouncing
 
Vec2 _bounceDir
 
float _bounceOriginalSpeed
 
bool _inertiaScrollEnabled
 
Ref_scrollViewEventListener
 
SEL_ScrollViewEvent _scrollViewEventSelector
 
ccScrollViewCallback _eventCallback
 
- Protected Attributes inherited from Layout
bool _backGroundScale9Enabled
 
Scale9Sprite_backGroundImage
 
std::string _backGroundImageFileName
 
Rect _backGroundImageCapInsets
 
BackGroundColorType _colorType
 
TextureResType _bgImageTexType
 
Size _backGroundImageTextureSize
 
Color3B _backGroundImageColor
 
GLubyte _backGroundImageOpacity
 
LayerColor_colorRender
 
LayerGradient_gradientRender
 
Color3B _cColor
 
Color3B _gStartColor
 
Color3B _gEndColor
 
Vec2 _alongVector
 
GLubyte _cOpacity
 
bool _clippingEnabled
 
Type _layoutType
 
ClippingType _clippingType
 
DrawNode_clippingStencil
 
bool _scissorRectDirty
 
Rect _clippingRect
 
Layout_clippingParent
 
bool _clippingRectDirty
 
GLboolean _currentStencilEnabled
 
GLuint _currentStencilWriteMask
 
GLenum _currentStencilFunc
 
GLint _currentStencilRef
 
GLuint _currentStencilValueMask
 
GLenum _currentStencilFail
 
GLenum _currentStencilPassDepthFail
 
GLenum _currentStencilPassDepthPass
 
GLboolean _currentDepthWriteMask
 
GLboolean _currentAlphaTestEnabled
 
GLenum _currentAlphaTestFunc
 
GLclampf _currentAlphaTestRef
 
GLint _mask_layer_le
 
GroupCommand _groupCommand
 
CustomCommand _beforeVisitCmdStencil
 
CustomCommand _afterDrawStencilCmd
 
CustomCommand _afterVisitCmdStencil
 
CustomCommand _beforeVisitCmdScissor
 
CustomCommand _afterVisitCmdScissor
 
bool _doLayoutDirty
 
bool _isInterceptTouch
 
bool _loopFocus
 
bool _passFocusToChild
 
bool _isFocusPassing
 
- Protected Attributes inherited from Widget
bool _unifySize
 
bool _enabled
 
bool _bright
 
bool _touchEnabled
 
bool _highlight
 
bool _affectByClipping
 
bool _ignoreSize
 
bool _propagateTouchEvents
 
BrightStyle _brightStyle
 
SizeType _sizeType
 
PositionType _positionType
 
int _actionTag
 
Size _customSize
 
Vec2 _sizePercent
 
Vec2 _positionPercent
 
bool _hitted
 
EventListenerTouchOneByOne_touchListener
 
Vec2 _touchBeganPosition
 
Vec2 _touchMovePosition
 
Vec2 _touchEndPosition
 
bool _flippedX
 
bool _flippedY
 
Map< int, LayoutParameter * > _layoutParameterDictionary
 
LayoutParameter::Type _layoutParameterType
 
bool _focused
 
bool _focusEnabled
 
Ref_touchEventListener
 
SEL_TouchEvent _touchEventSelector
 
ccWidgetTouchCallback _touchEventCallback
 
ccWidgetClickCallback _clickEventListener
 
ccWidgetEventCallback _ccEventCallback
 
std::string _callbackType
 
std::string _callbackName
 
- Protected Attributes inherited from ProtectedNode
Vector< Node * > _protectedChildren
 array of children nodes More...
 
bool _reorderProtectedChildDirty
 
- 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...
 
Vec2 _normalizedPosition
 
bool _usingNormalizedPosition
 
bool _normalizedPositionDirty
 
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...
 
bool _contentSizeDirty
 whether or not the contentSize is dirty 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...
 
size_t _hashOfName
 hash value of _name, used for speed in getChildByName 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...
 
PhysicsBody_physicsBody
 the physicsBody the node have More...
 
float _physicsScaleStartX
 the scale x value when setPhysicsBody More...
 
float _physicsScaleStartY
 the scale y value when setPhysicsBody More...
 
GLubyte _displayedOpacity
 
GLubyte _realOpacity
 
Color3B _displayedColor
 
Color3B _realColor
 
bool _cascadeColorEnabled
 
bool _cascadeOpacityEnabled
 
unsigned short _cameraMask
 
std::function< void()> _onEnterCallback
 
std::function< void()> _onExitCallback
 
std::function< void()> _onEnterTransitionDidFinishCallback
 
std::function< void()> _onExitTransitionDidStartCallback
 
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Additional Inherited Members

- 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 Widget
static Widget_focusedWidget
 store the only one focued widget More...
 
- Static Protected Attributes inherited from Node
static int s_globalOrderOfArrival
 

Member Typedef Documentation

typedef std::function<void(Ref*, EventType)> ccScrollViewCallback

Member Enumeration Documentation

enum Direction
strong
Enumerator
NONE 
VERTICAL 
HORIZONTAL 
BOTH 
enum EventType
strong
Enumerator
SCROLL_TO_TOP 
SCROLL_TO_BOTTOM 
SCROLL_TO_LEFT 
SCROLL_TO_RIGHT 
SCROLLING 
BOUNCE_TOP 
BOUNCE_BOTTOM 
BOUNCE_LEFT 
BOUNCE_RIGHT 

Constructor & Destructor Documentation

Default constructor.

virtual ~ScrollView ( )
virtual

Default destructor.

Member Function Documentation

virtual void addChild ( Node child)
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)
tagA interger to identify the node easily. Please refer to setTag(int)

Reimplemented from Layout.

Reimplemented in ListView.

virtual void addChild ( Node child,
int  localZOrder 
)
overridevirtual

Adds a child to the container with a local z-order.

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)

Reimplemented from Layout.

Reimplemented in ListView.

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)

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented from Layout.

Reimplemented in ListView.

virtual void addChild ( Node child,
int  localZOrder,
const std::string &  name 
)
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)
nameA string to identify the node easily. Please refer to setName(int)

Reimplemented from Layout.

Reimplemented in ListView.

virtual void addEventListener ( const ccScrollViewCallback callback)
virtual

Reimplemented in ListView.

void addEventListenerScrollView ( Ref target,
SEL_ScrollViewEvent  selector 
)

Add call back function called scrollview event triggered.

void autoScrollChildren ( float  dt)
protected
void bounceBottomEvent ( )
protected
void bounceChildren ( float  dt)
protected
void bounceLeftEvent ( )
protected
void bounceRightEvent ( )
protected
bool bounceScrollChildren ( float  touchOffsetX,
float  touchOffsetY 
)
protected
void bounceTopEvent ( )
protected
void checkBounceBoundary ( )
protected
bool checkCustomScrollDestination ( float *  touchOffsetX,
float *  touchOffsetY 
)
protected
bool checkNeedBounce ( )
protected
virtual void copyClonedWidgetChildren ( Widget model)
overrideprotectedvirtual

Reimplemented from Layout.

Reimplemented in ListView.

virtual void copySpecialProperties ( Widget model)
overrideprotectedvirtual

Reimplemented from Layout.

Reimplemented in ListView.

static ScrollView* create ( )
static

Allocates and initializes.

virtual Widget* createCloneInstance ( )
overrideprotectedvirtual

Reimplemented from Layout.

Reimplemented in ListView.

virtual void doLayout ( )
overrideprotectedvirtual

Reimplemented from Layout.

Reimplemented in ListView.

virtual void endRecordSlidAction ( )
protectedvirtual
virtual Widget* findNextFocusedWidget ( FocusDirection  direction,
Widget current 
)
overridevirtual

When a widget is in a layout, you could call this method to get the next focused widget within a specified direction.

If the widget is not in a layout, it will return itself

Parameters
dirthe direction to look for the next focused widget in a layout
currentthe current focused widget
Returns
the next focused widget in a layout

Reimplemented from Widget.

virtual Node* getChildByName ( const std::string &  name) const
overridevirtual

Gets a child from the container with its name.

Parameters
nameAn identifier to find the child node.
Returns
a Node object whose name equals to the input parameter
Since
v3.2

Reimplemented from Node.

virtual Node* getChildByTag ( int  tag) const
overridevirtual

Gets a child from the container with its tag.

Parameters
tagAn identifier to find the child node.
Returns
a Node object whose tag equals to the input parameter

Please use getChildByName() instead

Reimplemented from Node.

virtual Vector<Node*>& getChildren ( )
overridevirtual

Returns the array of the node's children.

Returns
the array the node's children

Reimplemented from Node.

virtual const Vector<Node*>& getChildren ( ) const
overridevirtual

Reimplemented from Node.

virtual ssize_t getChildrenCount ( ) const
overridevirtual

Returns the amount of children.

Returns
The amount of children.

Reimplemented from Node.

virtual std::string getDescription ( ) const
overridevirtual

Returns the "class name" of widget.

Reimplemented from Layout.

Reimplemented in ListView.

Direction getDirection ( ) const

Gets scroll direction of scrollview.

See also
Direction Direction::VERTICAL means vertical scroll, Direction::HORIZONTAL means horizontal scroll
Returns
Direction
Layout* getInnerContainer ( ) const

Gets inner container of scrollview.

Inner container is the container of scrollview's children.

Returns
inner container.
const Size& getInnerContainerSize ( ) const

Gets inner container size of scrollview.

Inner container size must be larger than or equal scrollview's size.

Returns
inner container size.
virtual Type getLayoutType ( ) const
overridevirtual

Gets LayoutType.

See also
LayoutType
Returns
LayoutType

Reimplemented from Layout.

virtual void handleMoveLogic ( Touch touch)
protectedvirtual
virtual void handlePressLogic ( Touch touch)
protectedvirtual
virtual void handleReleaseLogic ( Touch touch)
protectedvirtual
virtual void initRenderer ( )
overrideprotectedvirtual

Reimplemented from Widget.

virtual void interceptTouchEvent ( Widget::TouchEventType  event,
Widget sender,
Touch touch 
)
overrideprotectedvirtual

Reimplemented from Widget.

Reimplemented in ListView.

bool isBounceEnabled ( ) const
bool isInertiaScrollEnabled ( ) const
void jumpToBottom ( )

Move inner container to bottom boundary of scrollview.

void jumpToBottomLeft ( )

Move inner container to bottom and left boundary of scrollview.

void jumpToBottomRight ( )

Move inner container to bottom and right boundary of scrollview.

void jumpToDestination ( const Vec2 des)
protected
void jumpToLeft ( )

Move inner container to left boundary of scrollview.

void jumpToPercentBothDirection ( const Vec2 percent)

Move inner container to both direction percent position of scrollview.

void jumpToPercentHorizontal ( float  percent)

Move inner container to horizontal percent position of scrollview.

void jumpToPercentVertical ( float  percent)

Move inner container to vertical percent position of scrollview.

void jumpToRight ( )

Move inner container to right boundary of scrollview.

void jumpToTop ( )

Move inner container to top boundary of scrollview.

void jumpToTopLeft ( )

Move inner container to top and left boundary of scrollview.

void jumpToTopRight ( )

Move inner container to top and right boundary of scrollview.

void moveChildren ( float  offsetX,
float  offsetY 
)
protected
virtual void onEnter ( )
overridevirtual

Event callback that is invoked every time when Node enters the 'stage'.

If the Node enters the 'stage' with a transition, this event is called when the transition starts. During onEnter you can't access a "sister/brother" node. If you override onEnter, you shall call its parent's one, e.g., Node::onEnter(). NA NA

Reimplemented from Layout.

virtual void onSizeChanged ( )
overrideprotectedvirtual

Reimplemented from Layout.

Reimplemented in ListView.

virtual bool onTouchBegan ( Touch touch,
Event unusedEvent 
)
overridevirtual

Reimplemented from Widget.

virtual void onTouchCancelled ( Touch touch,
Event unusedEvent 
)
overridevirtual

Reimplemented from Widget.

virtual void onTouchEnded ( Touch touch,
Event unusedEvent 
)
overridevirtual

Reimplemented from Widget.

virtual void onTouchMoved ( Touch touch,
Event unusedEvent 
)
overridevirtual

Reimplemented from Widget.

void recordSlidTime ( float  dt)
protected
virtual void removeAllChildren ( )
overridevirtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented from Layout.

Reimplemented in ListView.

virtual void removeAllChildrenWithCleanup ( bool  cleanup)
overridevirtual

Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.

Parameters
cleanuptrue if all running actions on all children nodes should be cleanup, false oterwise. removeAllChildren removeAllChildren

Reimplemented from Layout.

Reimplemented in ListView.

virtual void removeChild ( Node child,
bool  cleanup = true 
)
overridevirtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanuptrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented from Layout.

Reimplemented in ListView.

virtual bool scrollChildren ( float  touchOffsetX,
float  touchOffsetY 
)
protectedvirtual
bool scrollChildrenBoth ( float  touchOffsetX,
float  touchOffsetY 
)
protected
bool scrollChildrenHorizontal ( float  touchOffsetX,
float  touchOffestY 
)
protected
bool scrollChildrenVertical ( float  touchOffsetX,
float  touchOffsetY 
)
protected
void scrollingEvent ( )
protected
void scrollToBottom ( float  time,
bool  attenuated 
)

Scroll inner container to bottom boundary of scrollview.

void scrollToBottomEvent ( )
protected
void scrollToBottomLeft ( float  time,
bool  attenuated 
)

Scroll inner container to bottom and left boundary of scrollview.

void scrollToBottomRight ( float  time,
bool  attenuated 
)

Scroll inner container to bottom and right boundary of scrollview.

void scrollToLeft ( float  time,
bool  attenuated 
)

Scroll inner container to left boundary of scrollview.

void scrollToLeftEvent ( )
protected
void scrollToPercentBothDirection ( const Vec2 percent,
float  time,
bool  attenuated 
)

Scroll inner container to both direction percent position of scrollview.

void scrollToPercentHorizontal ( float  percent,
float  time,
bool  attenuated 
)

Scroll inner container to horizontal percent position of scrollview.

void scrollToPercentVertical ( float  percent,
float  time,
bool  attenuated 
)

Scroll inner container to vertical percent position of scrollview.

void scrollToRight ( float  time,
bool  attenuated 
)

Scroll inner container to right boundary of scrollview.

void scrollToRightEvent ( )
protected
void scrollToTop ( float  time,
bool  attenuated 
)

Scroll inner container to top boundary of scrollview.

void scrollToTopEvent ( )
protected
void scrollToTopLeft ( float  time,
bool  attenuated 
)

Scroll inner container to top and left boundary of scrollview.

void scrollToTopRight ( float  time,
bool  attenuated 
)

Scroll inner container to top and right boundary of scrollview.

void setBounceEnabled ( bool  enabled)
virtual void setDirection ( Direction  dir)
virtual

Changes scroll direction of scrollview.

See also
Direction Direction::VERTICAL means vertical scroll, Direction::HORIZONTAL means horizontal scroll
Parameters
dir

Reimplemented in ListView.

void setInertiaScrollEnabled ( bool  enabled)
void setInnerContainerSize ( const Size size)

Changes inner container size of scrollview.

Inner container size must be larger than or equal scrollview's size.

Parameters
innercontainer size.
virtual void setLayoutType ( Type  type)
overridevirtual

Sets LayoutType.

See also
LayoutType
Parameters
LayoutType

Reimplemented from Layout.

void startAutoScrollChildrenWithDestination ( const Vec2 des,
float  time,
bool  attenuated 
)
protected
void startAutoScrollChildrenWithOriginalSpeed ( const Vec2 dir,
float  v,
bool  attenuated,
float  acceleration 
)
protected
void startBounceChildren ( float  v)
protected
void startRecordSlidAction ( )
protected
void stopAutoScrollChildren ( )
protected
void stopBounceChildren ( )
protected
virtual void update ( float  dt)
overridevirtual

Reimplemented from Node.

Member Data Documentation

bool _autoScroll
protected
float _autoScrollAcceleration
protected
float _autoScrollAddUpTime
protected
Vec2 _autoScrollDestination
protected
Vec2 _autoScrollDir
protected
float _autoScrollOriginalSpeed
protected
bool _bePressed
protected
bool _bottomBounceNeeded
protected
float _bottomBoundary
protected
float _bounceBottomBoundary
protected
Vec2 _bounceDir
protected
bool _bounceEnabled
protected
float _bounceLeftBoundary
protected
float _bounceOriginalSpeed
protected
float _bounceRightBoundary
protected
float _bounceTopBoundary
protected
bool _bouncing
protected
float _childFocusCancelOffset
protected
Direction _direction
protected
ccScrollViewCallback _eventCallback
protected
bool _inertiaScrollEnabled
protected
Layout* _innerContainer
protected
bool _isAutoScrollSpeedAttenuated
protected
bool _leftBounceNeeded
protected
float _leftBoundary
protected
Vec2 _moveChildPoint
protected
bool _needCheckAutoScrollDestination
protected
bool _rightBounceNeeded
protected
float _rightBoundary
protected
Ref* _scrollViewEventListener
protected
SEL_ScrollViewEvent _scrollViewEventSelector
protected
float _slidTime
protected
bool _topBounceNeeded
protected
float _topBoundary
protected

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