Cocos2d-x  v4
Layout Class Reference

A container for holding a few child widgets. More...

Inherits Widget, and LayoutProtocol.

Inherited by HBox, RelativeBox, ScrollView, and VBox.

Public Types

enum  Type
 Layout type, default is ABSOLUTE.
 
enum  ClippingType
 Clipping Type, default is STENCIL.
 
enum  BackGroundColorType
 Background color type, default is NONE.
 
- Public Types inherited from Widget
enum  FocusDirection
 Widget focus direction.
 
enum  PositionType
 Widget position type for layout.
 
enum  SizeType
 Widget size type for layout.
 
enum  TouchEventType
 Touch event type.
 
enum  TextureResType
 Texture resource type. More...
 
enum  BrightStyle
 Widget bright style.
 
typedef std::function< void(Ref *, Widget::TouchEventType)> ccWidgetTouchCallback
 Widget touch event callback.
 
typedef std::function< void(Ref *)> ccWidgetClickCallback
 Widget click event callback.
 
typedef std::function< void(Ref *, int)> ccWidgetEventCallback
 Widget custom event callback. More...
 

Public Member Functions

 Layout ()
 Default constructor @js ctor @lua new.
 
virtual ~Layout ()
 Default destructor @js NA @lua NA.
 
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, it only affects the scale9 enabled background image. More...
 
const RectgetBackGroundImageCapInsets () const
 Query background image's capInsets size. More...
 
void setBackGroundColorType (BackGroundColorType type)
 Sets Color Type for layout's background. More...
 
BackGroundColorType getBackGroundColorType () const
 Query the layout's background color type. More...
 
void setBackGroundImageScale9Enabled (bool enabled)
 Enable background image scale9 rendering. More...
 
bool isBackGroundImageScale9Enabled () const
 Query background image scale9 enable status. More...
 
void setBackGroundColor (const Color3B &color)
 Set background color for layout The color only applies to layout when it's color type is BackGroundColorType::SOLIDE. More...
 
const Color3BgetBackGroundColor () const
 Query the layout's background color. More...
 
void setBackGroundColor (const Color3B &startColor, const Color3B &endColor)
 Set start and end background color for layout. More...
 
const Color3BgetBackGroundStartColor () const
 Get the gradient background start color. More...
 
const Color3BgetBackGroundEndColor () const
 Get the gradient background end color. More...
 
void setBackGroundColorOpacity (uint8_t opacity)
 Sets background color opacity of layout. More...
 
uint8_t getBackGroundColorOpacity () const
 Get the layout's background color opacity. More...
 
void setBackGroundColorVector (const Vec2 &vector)
 Sets background color vector for layout. More...
 
const Vec2getBackGroundColorVector () const
 Get the layout's background color vector. More...
 
void setBackGroundImageColor (const Color3B &color)
 Set layout's background image color. More...
 
void setBackGroundImageOpacity (uint8_t opacity)
 Set opacity of background image. More...
 
const Color3BgetBackGroundImageColor () const
 Get color of layout's background image. More...
 
uint8_t getBackGroundImageOpacity () const
 Get the opacity of layout's background image. More...
 
void removeBackGroundImage ()
 Remove the background image of layout.
 
const Size & getBackGroundImageTextureSize () const
 Gets background image texture size. More...
 
virtual void setClippingEnabled (bool enabled)
 Toggle layout clipping. More...
 
void setClippingType (ClippingType type)
 Change the clipping type of layout. More...
 
ClippingType getClippingType () const
 
virtual bool isClippingEnabled () const
 Gets if layout is clipping enabled. More...
 
virtual std::string getDescription () const override
 Returns the "class name" of widget.
 
virtual void setLayoutType (Type type)
 Change the layout type. More...
 
virtual Type getLayoutType () const
 Query layout type. More...
 
virtual void addChild (Node *child) override
 Adds a child to the container with z-order as 0. 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 localZOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name) override
 Adds a child to the container with z order and tag. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override
 @js NA
 
virtual void removeChild (Node *child, bool cleanup=true) override
 Removes a child from the container. 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 forceDoLayout ()
 force refresh widget layout
 
virtual void requestDoLayout ()
 request to refresh widget layout
 
virtual void onEnter () override
 @lua NA
 
virtual void onExit () override
 @lua NA
 
virtual void setGlobalZOrder (float globalZOrder) override
 Defines the order in which the nodes are renderer. 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...
 
virtual void setCameraMask (unsigned short mask, bool applyChildren=true) override
 Override function. More...
 
- Public Member Functions inherited from Widget
 Widget ()
 Default constructor @js ctor @lua new.
 
virtual ~Widget ()
 Default destructor @js NA @lua NA.
 
virtual void setEnabled (bool enabled)
 Sets whether the widget is enabled. More...
 
bool isEnabled () const
 Determines if the widget is enabled or not. 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 highlight)
 Sets whether the widget is highlighted. More...
 
float getLeftBoundary () const
 Gets the left boundary position of this widget in parent's coordination system. More...
 
float getBottomBoundary () const
 Gets the bottom boundary position of this widget in parent's coordination system. More...
 
float getRightBoundary () const
 Gets the right boundary position of this widget in parent's coordination system. More...
 
float getTopBoundary () const
 Gets the top boundary position of this widget in parent's coordination system. More...
 
void addTouchEventListener (const ccWidgetTouchCallback &callback)
 Set a callback to touch vent listener. More...
 
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 ()
 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...
 
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 isClippingParentContainsPoint (const Vec2 &pt)
 Checks a point if in parent's area. More...
 
const Vec2getTouchBeganPosition () const
 Gets the touch began point of widget when widget is selected. More...
 
virtual void setContentSize (const Size &contentSize) override
 Changes the size that is widget's size. 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 Size & getCustomSize () const
 Get the user defined widget size. More...
 
virtual const Size & getLayoutSize ()
 Get the content size of widget. More...
 
const Vec2getSizePercent ()
 Get size percent of widget. More...
 
virtual bool hitTest (const Vec2 &pt, const Camera *camera, Vec3 *p) const
 Checks a point is in widget's content space. More...
 
virtual bool onTouchBegan (Touch *touch, Event *unusedEvent)
 A callback which will be called when touch began event is issued. More...
 
virtual void onTouchMoved (Touch *touch, Event *unusedEvent)
 A callback which will be called when touch moved event is issued. More...
 
virtual void onTouchEnded (Touch *touch, Event *unusedEvent)
 A callback which will be called when touch ended event is issued. More...
 
virtual void onTouchCancelled (Touch *touch, Event *unusedEvent)
 A callback which will be called when touch cancelled event is issued. More...
 
void setLayoutParameter (LayoutParameter *parameter)
 Sets a LayoutParameter to widget. More...
 
LayoutParametergetLayoutParameter () const override
 Gets LayoutParameter of widget. More...
 
virtual void ignoreContentAdaptWithSize (bool ignore)
 Toggle whether ignore user defined content size for widget. More...
 
bool isIgnoreContentAdaptWithSize () const
 Query whether the widget ignores user defined content size or not. More...
 
Vec2 getWorldPosition () const
 Gets position of widget in world space. More...
 
virtual NodegetVirtualRenderer ()
 Gets the inner Renderer node of widget. More...
 
virtual Size getVirtualRendererSize () const
 Get the virtual renderer's size. More...
 
Widgetclone ()
 Create a new widget copy of the original one. More...
 
void updateSizeAndPosition ()
 Update all children's contents size and position recursively. More...
 
void updateSizeAndPosition (const Size &parentSize)
 Update all children's contents size and position recursively.
 
void setActionTag (int tag)
 Set the tag of action. More...
 
int getActionTag () const
 Get the action tag. More...
 
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)
 Toggle widget swallow touch option. More...
 
bool isSwallowTouches () const
 Return whether the widget is swallowing touch or not. More...
 
bool isFocused () const
 Query whether widget is focused or not. More...
 
void setFocused (bool focus)
 Toggle widget focus status. More...
 
bool isFocusEnabled () const
 Query widget's focus enable state. More...
 
void setFocusEnabled (bool enable)
 Allow widget to accept focus. More...
 
void requestFocus ()
 when a widget calls this method, it will get focus immediately.
 
void setUnifySizeEnabled (bool enable)
 Toggle use unify size. More...
 
bool isUnifySizeEnabled () const
 Query whether unify size enable state. More...
 
void setCallbackName (const std::string &callbackName)
 Set callback name. More...
 
const std::string & getCallbackName () const
 Query callback name. More...
 
void setCallbackType (const std::string &callbackType)
 Set callback type. More...
 
const std::string & getCallbackType () const
 Query callback type. More...
 
void setLayoutComponentEnabled (bool enable)
 Toggle layout component enable. More...
 
bool isLayoutComponentEnabled () const
 Query whether layout component is enabled or not. 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...
 
- Public Member Functions inherited from ProtectedNode
virtual void cleanup () override
 Stops all running actions and schedulers.
 
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 (uint8_t parentOpacity) override
 Update the displayed opacity of node with it's parent opacity;. More...
 
virtual void updateDisplayedColor (const Color3B &parentColor) override
 Update node's displayed color with its parent color. More...
 
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 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 void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene. More...
 
virtual uint8_t getOpacity () const
 Return the node's opacity. More...
 
virtual uint8_t getDisplayedOpacity () const
 Return the node's display opacity. More...
 
virtual void setOpacity (uint8_t opacity)
 Change node opacity. More...
 
virtual bool isCascadeOpacityEnabled () const
 Whether cascadeOpacity is enabled or not. More...
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 Change node's cascadeOpacity property. More...
 
virtual const Color3BgetColor () const
 Query node's color value. More...
 
virtual const Color3BgetDisplayedColor () const
 Query node's displayed color. More...
 
virtual void setColor (const Color3B &color)
 Change the color of node. More...
 
virtual bool isCascadeColorEnabled () const
 Query whether cascadeColor is enabled or not. More...
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 If you want node's color affect the children node's color, then set it to true. More...
 
virtual void setOpacityModifyRGB (bool value)
 If you want the opacity affect the color property, then set to true. More...
 
virtual bool isOpacityModifyRGB () const
 If node opacity will modify the RGB color value, then you should override this method and return true. More...
 
void setOnEnterCallback (const std::function< void()> &callback)
 Set the callback of event onEnter. More...
 
const std::function< void()> & getOnEnterCallback () const
 Get the callback of event onEnter. More...
 
void setOnExitCallback (const std::function< void()> &callback)
 Set the callback of event onExit. More...
 
const std::function< void()> & getOnExitCallback () const
 Get the callback of event onExit. More...
 
void setOnEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 Set the callback of event EnterTransitionDidFinish. More...
 
const std::function< void()> & getOnEnterTransitionDidFinishCallback () const
 Get the callback of event EnterTransitionDidFinish. More...
 
void setOnExitTransitionDidStartCallback (const std::function< void()> &callback)
 Set the callback of event ExitTransitionDidStart. More...
 
const std::function< void()> & getOnExitTransitionDidStartCallback () const
 Get the callback of event ExitTransitionDidStart. More...
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
 
virtual void setLocalZOrder (std::int32_t localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void _setLocalZOrder (std::int32_t z)
 
void updateOrderOfArrival ()
 !!! ONLY FOR INTERNAL USE Sets the arrival order when this node has a same ZOrder with other children. More...
 
virtual std::int32_t getLocalZOrder () const
 Gets the local Z order of this node. 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 setPositionNormalized (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getPositionNormalized () const
 Returns the normalized position. More...
 
virtual const Vec2getNormalizedPosition () const
 
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 () const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY () const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
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 float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
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 Size & getContentSize () 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 setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setIgnoreAnchorPointForPosition (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 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 const 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
 @lua NA
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
 @lua NA
 
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. 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
 
virtual 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 .
 
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...
 
void stopActionsByFlags (unsigned int flags)
 Removes all actions from the running action list by its flags. 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 getNumberOfRunningActionsByTag (int tag) const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays) with a specific tag. More...
 
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Scheduler object. More...
 
virtual const SchedulergetScheduler () const
 
bool isScheduled (SEL_SCHEDULE selector) const
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key) const
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate ()
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate ()
 
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. More...
 
virtual void resume ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". 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 Mat4 getNodeToParentTransform (Node *ancestor) const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform (Node *ancestor) const
 Returns the affine transform matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
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 Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () 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 (const Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const Mat4 &additionalTransform)
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
 
Component * getComponent (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.
 
virtual NodegetChildByTag (int tag) const
 Gets a child from the container with its tag. More...
 
template<typename T >
getChildByTag (int tag) const
 Gets a child from the container with its tag that can be cast to Type T. More...
 
virtual NodegetChildByName (const std::string &name) const
 Gets a child from the container with its name. 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 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 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...
 
- 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 ()
 Destructor. More...
 
- Public Member Functions inherited from LayoutParameterProtocol
virtual ~LayoutParameterProtocol ()
 Default destructor.
 

Static Public Member Functions

static Layoutcreate ()
 Create a empty layout.
 
- Static Public Member Functions inherited from Widget
static Widgetcreate ()
 Create and return a empty Widget instance pointer.
 
static WidgetgetCurrentFocusedWidget ()
 Return a current focused widget in your UI scene. More...
 
- Static Public Member Functions inherited from ProtectedNode
static ProtectedNodecreate ()
 Creates a ProtectedNode with no argument. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 
static int getAttachedNodeCount ()
 Gets count of nodes those are attached to scene graph.
 
template<typename _T >
static void sortNodes (cocos2d::Vector< _T * > &nodes)
 Sorts helper function. More...
 

Public Attributes

std::function< int(FocusDirection, Widget *)> onPassFocusToChild
 To specify a user-defined functor to decide which child widget of the layout should get focused. More...
 
- 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
 
- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 

Additional Inherited Members

- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 
- Protected Member Functions inherited from Widget
void propagateTouchEvent (TouchEventType event, Widget *sender, Touch *touch)
 Propagate touch events to its parents.
 
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...
 

Detailed Description

A container for holding a few child widgets.

The child widgets could be rearranged according to the layout type and it also enables clipping, set background image and color.

There are mainly four types of layout:

  • Absolute layout: This the default layout type, child elements are arranged by their absolute position.
  • Horizontal layout: child elements are arranged horizontally.
  • Vertical layout: child elements are arranged vertically.
  • Relative layout: child elements are arranged relative to certain rules.

Member Function Documentation

◆ setBackGroundImage()

void setBackGroundImage ( const std::string &  fileName,
TextureResType  texType = TextureResType::LOCAL 
)

Sets a background image for layout.

Parameters
fileNameimage file path.
texType
See also
TextureResType.

◆ setBackGroundImageCapInsets()

void setBackGroundImageCapInsets ( const Rect capInsets)

Sets a background image capinsets for layout, it only affects the scale9 enabled background image.

Parameters
capInsetsThe capInsets in Rect.

◆ getBackGroundImageCapInsets()

const Rect& getBackGroundImageCapInsets ( ) const

Query background image's capInsets size.

Returns
The background image capInsets.

◆ setBackGroundColorType()

void setBackGroundColorType ( BackGroundColorType  type)

Sets Color Type for layout's background.

Parameters
type
See also
BackGroundColorType

◆ getBackGroundColorType()

BackGroundColorType getBackGroundColorType ( ) const

Query the layout's background color type.

Returns
The layout's background color type.

◆ setBackGroundImageScale9Enabled()

void setBackGroundImageScale9Enabled ( bool  enabled)

Enable background image scale9 rendering.

Parameters
enabledTrue means enable scale9 rendering for background image, false otherwise.

◆ isBackGroundImageScale9Enabled()

bool isBackGroundImageScale9Enabled ( ) const

Query background image scale9 enable status.

Returns
Whether background image is scale9 enabled or not.

◆ setBackGroundColor() [1/2]

void setBackGroundColor ( const Color3B color)

Set background color for layout The color only applies to layout when it's color type is BackGroundColorType::SOLIDE.

Parameters
colorColor in Color3B.

◆ getBackGroundColor()

const Color3B& getBackGroundColor ( ) const

Query the layout's background color.

Returns
Background color in Color3B.

◆ setBackGroundColor() [2/2]

void setBackGroundColor ( const Color3B startColor,
const Color3B endColor 
)

Set start and end background color for layout.

This setting only take effect when the layout's color type is BackGroundColorType::GRADIENT

Parameters
startColorColor value in Color3B.
endColorColor value in Color3B.

◆ getBackGroundStartColor()

const Color3B& getBackGroundStartColor ( ) const

Get the gradient background start color.

Returns
Gradient background start color value.

◆ getBackGroundEndColor()

const Color3B& getBackGroundEndColor ( ) const

Get the gradient background end color.

Returns
Gradient background end color value.

◆ setBackGroundColorOpacity()

void setBackGroundColorOpacity ( uint8_t  opacity)

Sets background color opacity of layout.

Parameters
opacityThe opacity in GLubyte.

◆ getBackGroundColorOpacity()

uint8_t getBackGroundColorOpacity ( ) const

Get the layout's background color opacity.

Returns
Background color opacity value.

◆ setBackGroundColorVector()

void setBackGroundColorVector ( const Vec2 vector)

Sets background color vector for layout.

This setting only take effect when layout's color type is BackGroundColorType::GRADIENT

Parameters
vectorThe color vector in Vec2.

◆ getBackGroundColorVector()

const Vec2& getBackGroundColorVector ( ) const

Get the layout's background color vector.

Returns
Background color vector.

◆ setBackGroundImageColor()

void setBackGroundImageColor ( const Color3B color)

Set layout's background image color.

Parameters
colorBackground color value in Color3B.

◆ setBackGroundImageOpacity()

void setBackGroundImageOpacity ( uint8_t  opacity)

Set opacity of background image.

Parameters
opacityBackground image opacity in GLubyte.

◆ getBackGroundImageColor()

const Color3B& getBackGroundImageColor ( ) const

Get color of layout's background image.

Returns
Layout's background image color.

◆ getBackGroundImageOpacity()

uint8_t getBackGroundImageOpacity ( ) const

Get the opacity of layout's background image.

Returns
The opacity of layout's background image.

◆ getBackGroundImageTextureSize()

const Size& getBackGroundImageTextureSize ( ) const

Gets background image texture size.

Returns
background image texture size.

◆ setClippingEnabled()

virtual void setClippingEnabled ( bool  enabled)
virtual

Toggle layout clipping.

If you do need clipping, you pass true to this function.

Parameters
enabledPass true to enable clipping, false otherwise.

◆ setClippingType()

void setClippingType ( ClippingType  type)

Change the clipping type of layout.

On default, the clipping type is ClippingType::STENCIL.

See also
ClippingType
Parameters
typeThe clipping type of layout.

◆ getClippingType()

ClippingType getClippingType ( ) const

◆ isClippingEnabled()

virtual bool isClippingEnabled ( ) const
virtual

Gets if layout is clipping enabled.

Returns
if layout is clipping enabled.

◆ setLayoutType()

virtual void setLayoutType ( Type  type)
virtual

Change the layout type.

Parameters
typeLayout type.

Reimplemented in ScrollView.

◆ getLayoutType()

virtual Type getLayoutType ( ) const
virtual

Query layout type.

Returns
Get the layout type.

Reimplemented in ScrollView.

◆ addChild() [1/4]

virtual void addChild ( Node child)
overridevirtual

Adds a child to the container with z-order as 0.

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

Parameters
childA child node.

Reimplemented from Node.

Reimplemented in ScrollView, and ListView.

◆ addChild() [2/4]

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.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented from Node.

Reimplemented in ScrollView, and ListView.

◆ addChild() [3/4]

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
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int)
tagA integer to identify the node easily. Please refer to setTag(int)

Reimplemented from Node.

Reimplemented in ListView, and ScrollView.

◆ addChild() [4/4]

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.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
nameA string to identify the node easily. Please refer to setName(int).

Reimplemented from Node.

Reimplemented in ListView, and ScrollView.

◆ removeChild()

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 Node.

Reimplemented in ScrollView, and ListView.

◆ removeAllChildren()

virtual void removeAllChildren ( )
overridevirtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented from Node.

Reimplemented in ScrollView, and ListView.

◆ removeAllChildrenWithCleanup()

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 otherwise. @js removeAllChildren @lua removeAllChildren

Reimplemented from Node.

Reimplemented in ScrollView, and ListView.

◆ setGlobalZOrder()

virtual void setGlobalZOrder ( float  globalZOrder)
overridevirtual

Defines the order in which the nodes are renderer.

Nodes that have a Global Z Order lower, are renderer first.

In case two or more nodes have the same Global Z Order, the order is not guaranteed. The only exception if the Nodes have a Global Z Order == 0. In that case, the Scene Graph order is used.

By default, all nodes have a Global Z Order = 0. That means that by default, the Scene Graph order is used to render the nodes.

Global Z Order is useful when you need to render nodes in an order different than the Scene Graph order.

Limitations: Global Z Order can't be used by Nodes that have SpriteBatchNode as one of their ancestors. And if ClippingNode is one of the ancestors, then "global Z order" will be relative to the ClippingNode.

See also
setLocalZOrder()
setVertexZ()
Since
v3.0
Parameters
globalZOrderThe global Z order value.

Reimplemented from ProtectedNode.

◆ setLoopFocus()

void setLoopFocus ( bool  loop)

If a layout is loop focused which means that the focus movement will be inside the layout.

Parameters
looppass true to let the focus movement loop inside the layout

◆ isLoopFocus()

bool isLoopFocus ( ) const
Returns
If focus loop is enabled, then it will return true, otherwise it returns false. The default value is false.

◆ setPassFocusToChild()

void setPassFocusToChild ( bool  pass)
Parameters
passTo specify whether the layout pass its focus to its child

◆ isPassFocusToChild()

bool isPassFocusToChild ( ) const
Returns
To query whether the layout will pass the focus to its children or not. The default value is true

◆ findNextFocusedWidget()

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
directionthe 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.

Reimplemented in ScrollView.

◆ setCameraMask()

virtual void setCameraMask ( unsigned short  mask,
bool  applyChildren = true 
)
overridevirtual

Override function.

Set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true.

Parameters
maskMask being set
applyChildrenIf true call this function recursively from this node to its children.

Reimplemented from ProtectedNode.

Member Data Documentation

◆ onPassFocusToChild

std::function<int(FocusDirection, Widget*)> onPassFocusToChild

To specify a user-defined functor to decide which child widget of the layout should get focused.

Parameters
FocusDirectionthe finding direction
thisprevious focused widget
Returns
return the index of widget in the layout

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