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

#include <CCLabel.h>

Inheritance diagram for Label:
SpriteBatchNode LabelProtocol Node TextureProtocol Ref BlendProtocol TextFieldTTF UICCTextField

Classes

struct  LetterInfo
 

Public Member Functions

virtual bool setTTFConfig (const TTFConfig &ttfConfig)
 set TTF configuration for Label More...
 
virtual const TTFConfiggetTTFConfig () const
virtual bool setBMFontFilePath (const std::string &bmfontFilePath, const Vec2 &imageOffset=Vec2::ZERO)
const std::string & getBMFontFilePath () const
virtual bool setCharMap (const std::string &charMapFile, int itemWidth, int itemHeight, int startCharMap)
virtual bool setCharMap (Texture2D *texture, int itemWidth, int itemHeight, int startCharMap)
virtual bool setCharMap (const std::string &plistFile)
virtual void setSystemFontName (const std::string &systemFont)
virtual const std::string & getSystemFontName () const
virtual void setSystemFontSize (float fontSize)
virtual float getSystemFontSize () const
virtual void setString (const std::string &text) override
 changes the string to render More...
 
virtual const std::string & getString () const override
 Returns the string that is currently being used in this label. More...
 
virtual void enableShadow (const Color4B &shadowColor=Color4B::BLACK, const Size &offset=Size(2,-2), int blurRadius=0)
 Enable shadow for the label. More...
 
virtual void enableOutline (const Color4B &outlineColor, int outlineSize=-1)
 only support for TTF More...
 
virtual void enableGlow (const Color4B &glowColor)
 only support for TTF More...
 
virtual void disableEffect ()
 disable shadow/outline/glow rendering More...
 
void setAlignment (TextHAlignment hAlignment)
TextHAlignment getTextAlignment () const
void setAlignment (TextHAlignment hAlignment, TextVAlignment vAlignment)
void setHorizontalAlignment (TextHAlignment hAlignment)
TextHAlignment getHorizontalAlignment () const
void setVerticalAlignment (TextVAlignment vAlignment)
TextVAlignment getVerticalAlignment () const
void setLineBreakWithoutSpace (bool breakWithoutSpace)
void setMaxLineWidth (unsigned int maxLineWidth)
 Sets the max line width of the label. More...
 
unsigned int getMaxLineWidth ()
void setWidth (unsigned int width)
 Sets the untransformed size of the label. More...
 
unsigned int getWidth () const
void setHeight (unsigned int height)
 Sets the untransformed size of the label. More...
 
unsigned int getHeight () const
void setDimensions (unsigned int width, unsigned int height)
 Sets the untransformed size of the label in a more efficient way. More...
 
const SizegetDimensions () const
virtual void updateContent ()
 update content immediately. More...
 
virtual void setTextColor (const Color4B &color)
 Sets the text color. More...
 
const Color4BgetTextColor () const
virtual SpritegetLetter (int lettetIndex)
void setClipMarginEnabled (bool clipEnabled)
 clip upper and lower margin for reduce height of label. More...
 
bool isClipMarginEnabled () const
int getCommonLineHeight () const
int getStringNumLines () const
int getStringLength () const
FontAtlasgetFontAtlas ()
virtual void setBlendFunc (const BlendFunc &blendFunc) override
virtual bool isOpacityModifyRGB () const override
virtual void setOpacityModifyRGB (bool isOpacityModifyRGB) override
virtual void updateDisplayedColor (const Color3B &parentColor) override
virtual void updateDisplayedOpacity (GLubyte parentOpacity) override
virtual void setScale (float scale) override
 Sets the scale (x,y,z) of the node. 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 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 void addChild (Node *child, int zOrder=0, int tag=0) override
 Adds a child to the container with z order and tag. More...
 
virtual void sortAllChildren () override
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual std::string getDescription () const override
 Gets the description string. More...
 
virtual const SizegetContentSize () const override
 Returns the untransformed size of the node. More...
 
virtual Rect getBoundingBox () const override
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, bool parentTransformUpdated) override
 Visits this node's children and draw them recursively. More...
 
virtual void draw (Renderer *renderer, const Mat4 &transform, bool transformUpdated) override
 Override this method to draw your own node. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setFontDefinition (const FontDefinition &textDefinition)
CC_DEPRECATED_ATTRIBUTE const
FontDefinition
getFontDefinition () const
- Public Member Functions inherited from SpriteBatchNode
TextureAtlasgetTextureAtlas (void)
 returns the TextureAtlas object More...
 
void setTextureAtlas (TextureAtlas *textureAtlas)
 sets the TextureAtlas object More...
 
const std::vector< Sprite * > & getDescendants () const
 returns an array with the descendants (children, gran children, etc.). More...
 
void increaseAtlasCapacity ()
void removeChildAtIndex (ssize_t index, bool doCleanup)
 removes a child given a certain index. More...
 
void appendChild (Sprite *sprite)
void removeSpriteFromAtlas (Sprite *sprite)
ssize_t rebuildIndexInOrder (Sprite *parent, ssize_t index)
ssize_t highestAtlasIndexInChild (Sprite *sprite)
ssize_t lowestAtlasIndexInChild (Sprite *sprite)
ssize_t atlasIndexForChild (Sprite *sprite, int z)
void reorderBatch (bool reorder)
virtual Texture2DgetTexture () const override
 Returns the currently used texture. More...
 
virtual void setTexture (Texture2D *texture) override
 Sets a new texuture. More...
 
virtual const BlendFuncgetBlendFunc () const override
 Returns the blending function that is currently being used. More...
 
virtual void reorderChild (Node *child, int zOrder) override
 Reorders a child according to a new z value. More...
 
virtual void removeChild (Node *child, bool cleanup) override
 Removes a child from the container. 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...
 
void insertQuadFromSprite (Sprite *sprite, ssize_t index)
 Inserts a quad at a certain index into the texture atlas. More...
 
SpriteBatchNodeaddSpriteWithoutQuad (Sprite *child, int z, int aTag)
virtual ~SpriteBatchNode ()
bool initWithTexture (Texture2D *tex, ssize_t capacity)
 initializes a SpriteBatchNode with a texture2d and capacity of children. More...
 
bool initWithFile (const std::string &fileImage, ssize_t capacity)
 initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. More...
 
bool init ()
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers. More...
 
virtual void draw () final
virtual void visit () final
virtual ScenegetScene ()
 Returns the Scene that contains the Node. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE Rect 
boundingBox () const
virtual void setEventDispatcher (EventDispatcher *dispatcher)
virtual EventDispatchergetEventDispatcher () const
virtual GLubyte getOpacity () const
virtual GLubyte getDisplayedOpacity () const
virtual void setOpacity (GLubyte opacity)
virtual bool isCascadeOpacityEnabled () const
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
virtual const Color3BgetColor (void) const
virtual const Color3BgetDisplayedColor () const
virtual void setColor (const Color3B &color)
virtual bool isCascadeColorEnabled () const
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
virtual ~Node ()
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual CC_DEPRECATED_ATTRIBUTE int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual void 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 float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float scaleX, float scaleY)
 Sets the scale (x,y) of the node. More...
 
virtual void setPosition (const Vec2 &position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void) const
virtual void setPositionY (float y)
virtual float getPositionY (void) const
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 returns the position (X,Y,Z) in its parent's coordinate system More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setVertexZ (float vertexZ)
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getVertexZ () const
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets 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
CC_DEPRECATED_ATTRIBUTE void 
setRotationX (float rotationX)
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getRotationX () const
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE void 
setRotationY (float rotationY)
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE float 
getRotationY () const
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
CC_DEPRECATED_ATTRIBUTE void setGLServerState (int serverState)
CC_DEPRECATED_ATTRIBUTE int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual NodegetChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram ()
 Return the GLProgram (shader) currently used for this node. More...
 
CC_DEPRECATED_ATTRIBUTE GLProgramgetShaderProgram ()
GLProgramStategetGLProgramState ()
void setGLProgramState (GLProgramState *glProgramState)
void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
CC_DEPRECATED_ATTRIBUTE void setShaderProgram (GLProgram *glprogram)
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list . More...
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
CC_DEPRECATED_ATTRIBUTE ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unscheduleAllSelectors (void)
 Unschedule all scheduled selectors: custom selectors, and the 'update' selector. More...
 
void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
CC_DEPRECATED_ATTRIBUTE void resumeSchedulerAndActions (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
CC_DEPRECATED_ATTRIBUTE void pauseSchedulerAndActions (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the Transformation matrix manually. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToParentTransform () const
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2 More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
ComponentgetComponent (const std::string &pName)
 gets a component by its name More...
 
virtual bool addComponent (Component *pComponent)
 adds a component More...
 
virtual bool removeComponent (const std::string &pName)
 removes a component by its name More...
 
virtual void removeAllComponents ()
 removes all components More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
- Public Member Functions inherited from TextureProtocol
virtual ~TextureProtocol ()
- Public Member Functions inherited from BlendProtocol
virtual ~BlendProtocol ()
- Public Member Functions inherited from LabelProtocol
virtual ~LabelProtocol ()

Static Public Member Functions

static Labelcreate ()
static LabelcreateWithSystemFont (const std::string &text, const std::string &font, float fontSize, const Size &dimensions=Size::ZERO, TextHAlignment hAlignment=TextHAlignment::LEFT, TextVAlignment vAlignment=TextVAlignment::TOP)
 Creates a label with an initial string,font[font name or font file],font size, dimension in points, horizontal alignment and vertical alignment. More...
 
static LabelcreateWithTTF (const std::string &text, const std::string &fontFile, float fontSize, const Size &dimensions=Size::ZERO, TextHAlignment hAlignment=TextHAlignment::LEFT, TextVAlignment vAlignment=TextVAlignment::TOP)
 Creates a label with an initial string,font file,font size, dimension in points, horizontal alignment and vertical alignment. More...
 
static LabelcreateWithTTF (const TTFConfig &ttfConfig, const std::string &text, TextHAlignment alignment=TextHAlignment::LEFT, int maxLineWidth=0)
 Create a label with TTF configuration. More...
 
static LabelcreateWithBMFont (const std::string &bmfontFilePath, const std::string &text, const TextHAlignment &alignment=TextHAlignment::LEFT, int maxLineWidth=0, const Vec2 &imageOffset=Vec2::ZERO)
static LabelcreateWithCharMap (const std::string &charMapFile, int itemWidth, int itemHeight, int startCharMap)
static LabelcreateWithCharMap (Texture2D *texture, int itemWidth, int itemHeight, int startCharMap)
static LabelcreateWithCharMap (const std::string &plistFile)
static CC_DEPRECATED_ATTRIBUTE
Label
create (const std::string &text, const std::string &font, float fontSize, const Size &dimensions=Size::ZERO, TextHAlignment hAlignment=TextHAlignment::LEFT, TextVAlignment vAlignment=TextVAlignment::TOP)
- Static Public Member Functions inherited from SpriteBatchNode
static SpriteBatchNodecreateWithTexture (Texture2D *tex, ssize_t capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a texture2d and capacity of children. More...
 
static SpriteBatchNodecreate (const std::string &fileImage, ssize_t capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate (void)
 Allocates and initializes a node. More...
 

Static Public Attributes

static const int DistanceFieldFontSize
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes. More...
 

Protected Types

enum  LabelType { TTF, BMFONT, CHARMAP, STRING_TEXTURE }
 

Protected Member Functions

void onDraw (const Mat4 &transform, bool transformUpdated)
 Label (FontAtlas *atlas=nullptr, TextHAlignment hAlignment=TextHAlignment::LEFT, TextVAlignment vAlignment=TextVAlignment::TOP, bool useDistanceField=false, bool useA8Shader=false)
virtual ~Label ()
virtual void setFontAtlas (FontAtlas *atlas, bool distanceFieldEnabled=false, bool useA8Shader=false)
bool recordLetterInfo (const cocos2d::Vec2 &point, const FontLetterDefinition &letterDef, int spriteIndex)
bool recordPlaceholderInfo (int spriteIndex)
void setFontScale (float fontScale)
virtual void alignText ()
bool computeHorizontalKernings (const std::u16string &stringToRender)
void computeStringNumLines ()
void updateQuads ()
virtual void updateColor () override
virtual void updateShaderProgram ()
void drawShadowWithoutBlur ()
void drawTextSprite (Renderer *renderer, bool parentTransformUpdated)
void createSpriteWithFontDefinition ()
void updateFont ()
void reset ()
- Protected Member Functions inherited from SpriteBatchNode
void updateQuadFromSprite (Sprite *sprite, ssize_t index)
 Updates a quad at a certain index into the texture atlas. More...
 
void updateAtlasIndex (Sprite *sprite, ssize_t *curIndex)
void swap (ssize_t oldIndex, ssize_t newIndex)
void updateBlendFunc ()
- Protected Member Functions inherited from Node
void childrenAlloc (void)
 lazy allocs More...
 
void insertChild (Node *child, int z)
 helper that reorder a child More...
 
void detachChild (Node *child, ssize_t index, bool doCleanup)
 Removes a child, call child->onExit(), do cleanup, remove it from children array. More...
 
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
 Convert cocos2d coordinates to UI windows coordinate. More...
 
Mat4 transform (const Mat4 &parentTransform)
virtual void updateCascadeOpacity ()
virtual void disableCascadeOpacity ()
virtual void updateCascadeColor ()
virtual void disableCascadeColor ()
- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Protected Attributes

std::string _bmFontPath
bool _isOpacityModifyRGB
bool _contentDirty
bool _systemFontDirty
std::string _systemFont
float _systemFontSize
LabelType _currentLabelType
std::vector< SpriteBatchNode * > _batchNodes
FontAtlas_fontAtlas
std::vector< LetterInfo_lettersInfo
TTFConfig _fontConfig
Sprite_textSprite
FontDefinition _fontDefinition
bool _compatibleMode
Sprite_reusedLetter
 used for optimization More...
 
Rect _reusedRect
int _limitShowCount
float _commonLineHeight
bool _lineBreakWithoutSpaces
int * _horizontalKernings
unsigned int _maxLineWidth
Size _labelDimensions
unsigned int _labelWidth
unsigned int _labelHeight
TextHAlignment _hAlignment
TextVAlignment _vAlignment
int _currNumLines
std::u16string _currentUTF16String
std::string _originalUTF8String
float _fontScale
bool _useDistanceField
bool _useA8Shader
LabelEffect _currLabelEffect
Color4B _effectColor
Color4F _effectColorF
GLuint _uniformEffectColor
GLuint _uniformTextColor
CustomCommand _customCommand
bool _shadowDirty
bool _shadowEnabled
Size _shadowOffset
int _shadowBlurRadius
Mat4 _shadowTransform
Color3B _shadowColor
float _shadowOpacity
Sprite_shadowNode
int _outlineSize
Color4B _textColor
Color4F _textColorF
bool _clipEnabled
bool _blendFuncDirty
bool _insideBounds
- Protected Attributes inherited from SpriteBatchNode
TextureAtlas_textureAtlas
BlendFunc _blendFunc
BatchCommand _batchCommand
std::vector< Sprite * > _descendants
- Protected Attributes inherited from Node
float _rotationX
 rotation on the X-axis More...
 
float _rotationY
 rotation on the Y-axis More...
 
float _rotationZ_X
 rotation angle on Z-axis, component X More...
 
float _rotationZ_Y
 rotation angle on Z-axis, component Y More...
 
float _scaleX
 scaling factor on x-axis More...
 
float _scaleY
 scaling factor on y-axis More...
 
float _scaleZ
 scaling factor on z-axis More...
 
Vec2 _position
 position of the node More...
 
float _positionZ
 OpenGL real Z position. More...
 
float _skewX
 skew angle on x-axis More...
 
float _skewY
 skew angle on y-axis More...
 
Vec2 _anchorPointInPoints
 anchor point in points More...
 
Vec2 _anchorPoint
 anchor point normalized (NOT in points) More...
 
Size _contentSize
 untransformed size of the node More...
 
Mat4 _modelViewTransform
 ModelView transform of the Node. More...
 
Mat4 _transform
 transform More...
 
bool _transformDirty
 transform dirty flag More...
 
Mat4 _inverse
 inverse transform More...
 
bool _inverseDirty
 inverse transform dirty flag More...
 
Mat4 _additionalTransform
 transform More...
 
bool _useAdditionalTransform
 The flag to check whether the additional transform is dirty. More...
 
bool _transformUpdated
 Whether or not the Transform object was updated since the last frame. More...
 
int _localZOrder
 Local order (relative to its siblings) used to sort the node. More...
 
float _globalZOrder
 Global order used to sort the node. More...
 
Vector< Node * > _children
 array of children nodes More...
 
Node_parent
 weak reference to parent node More...
 
int _tag
 a tag. Can be any number you assigned just to identify this node More...
 
std::string _name
 a string label, an user defined string to identify this node More...
 
void * _userData
 A user assingned void pointer, Can be point to any cpp object. More...
 
Ref_userObject
 A user assigned Object. More...
 
GLProgramState_glProgramState
 OpenGL Program State. More...
 
int _orderOfArrival
 used to preserve sequence while sorting children with the same localZOrder More...
 
Scheduler_scheduler
 scheduler used to schedule timers and updates More...
 
ActionManager_actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
EventDispatcher_eventDispatcher
 event dispatcher used to dispatch all kinds of events More...
 
bool _running
 is running More...
 
bool _visible
 is this node visible More...
 
bool _ignoreAnchorPointForPosition
 true if the Anchor Vec2 will be (0,0) when you position the Node, false otherwise. More...
 
bool _reorderChildDirty
 children order dirty flag More...
 
bool _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
ComponentContainer_componentContainer
 Dictionary of components. More...
 
GLubyte _displayedOpacity
GLubyte _realOpacity
Color3B _displayedColor
Color3B _realColor
bool _cascadeColorEnabled
bool _cascadeOpacityEnabled
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Friends

class LabelTextFormatter

Additional Inherited Members

- Public Attributes inherited from SpriteBatchNode
CC_CONSTRUCTOR_ACCESS __pad0__: SpriteBatchNode()
- Public Attributes inherited from Node
CC_CONSTRUCTOR_ACCESS __pad0__: Node()
- Static Protected Attributes inherited from Node
static int s_globalOrderOfArrival

Member Enumeration Documentation

enum LabelType
strongprotected
Enumerator
TTF 
BMFONT 
CHARMAP 
STRING_TEXTURE 

Constructor & Destructor Documentation

Label ( FontAtlas atlas = nullptr,
TextHAlignment  hAlignment = TextHAlignment::LEFT,
TextVAlignment  vAlignment = TextVAlignment::TOP,
bool  useDistanceField = false,
bool  useA8Shader = false 
)
protected
virtual ~Label ( )
protectedvirtual

Member Function Documentation

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

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

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

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

Reimplemented from SpriteBatchNode.

virtual void alignText ( )
protectedvirtual
bool computeHorizontalKernings ( const std::u16string &  stringToRender)
protected
void computeStringNumLines ( )
protected
static Label* create ( )
static
static CC_DEPRECATED_ATTRIBUTE
Label* create
( const std::string &  text,
const std::string &  font,
float  fontSize,
const Size dimensions = Size::ZERO,
TextHAlignment  hAlignment = TextHAlignment::LEFT,
TextVAlignment  vAlignment = TextVAlignment::TOP 
)
static
void createSpriteWithFontDefinition ( )
protected
static Label* createWithBMFont ( const std::string &  bmfontFilePath,
const std::string &  text,
const TextHAlignment alignment = TextHAlignment::LEFT,
int  maxLineWidth = 0,
const Vec2 imageOffset = Vec2::ZERO 
)
static
static Label* createWithCharMap ( const std::string &  charMapFile,
int  itemWidth,
int  itemHeight,
int  startCharMap 
)
static
static Label* createWithCharMap ( Texture2D texture,
int  itemWidth,
int  itemHeight,
int  startCharMap 
)
static
static Label* createWithCharMap ( const std::string &  plistFile)
static
static Label* createWithSystemFont ( const std::string &  text,
const std::string &  font,
float  fontSize,
const Size dimensions = Size::ZERO,
TextHAlignment  hAlignment = TextHAlignment::LEFT,
TextVAlignment  vAlignment = TextVAlignment::TOP 
)
static

Creates a label with an initial string,font[font name or font file],font size, dimension in points, horizontal alignment and vertical alignment.

Warning
It will generate texture by the platform-dependent code
static Label* createWithTTF ( const std::string &  text,
const std::string &  fontFile,
float  fontSize,
const Size dimensions = Size::ZERO,
TextHAlignment  hAlignment = TextHAlignment::LEFT,
TextVAlignment  vAlignment = TextVAlignment::TOP 
)
static

Creates a label with an initial string,font file,font size, dimension in points, horizontal alignment and vertical alignment.

Warning
Not support font name.
static Label* createWithTTF ( const TTFConfig ttfConfig,
const std::string &  text,
TextHAlignment  alignment = TextHAlignment::LEFT,
int  maxLineWidth = 0 
)
static

Create a label with TTF configuration.

Warning
Not support font name.
virtual void disableEffect ( )
virtual

disable shadow/outline/glow rendering

virtual void draw ( Renderer renderer,
const Mat4 transform,
bool  transformUpdated 
)
overridevirtual

Override this method to draw your own node.

The following GL states will be enabled by default:

  • glEnableClientState(GL_VERTEX_ARRAY);
  • glEnableClientState(GL_COLOR_ARRAY);
  • glEnableClientState(GL_TEXTURE_COORD_ARRAY);
  • glEnable(GL_TEXTURE_2D); AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE But if you enable any other GL state, you should disable it after drawing your node.

Reimplemented from SpriteBatchNode.

void drawShadowWithoutBlur ( )
protected
void drawTextSprite ( Renderer renderer,
bool  parentTransformUpdated 
)
protected
virtual void enableGlow ( const Color4B glowColor)
virtual

only support for TTF

virtual void enableOutline ( const Color4B outlineColor,
int  outlineSize = -1 
)
virtual

only support for TTF

virtual void enableShadow ( const Color4B shadowColor = Color4B::BLACK,
const Size offset = Size(2,-2),
int  blurRadius = 0 
)
virtual

Enable shadow for the label.

Todo:
support blur for shadow effect
const std::string&
getBMFontFilePath
( ) const
inline
virtual Rect getBoundingBox ( ) const
overridevirtual

Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.

Returns
An AABB (axis-aligned bounding-box) in its parent's coordinate system

Reimplemented from Node.

int getCommonLineHeight ( ) const
virtual const Size& getContentSize ( ) const
overridevirtual

Returns the untransformed size of the node.

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

Reimplemented from Node.

virtual std::string getDescription ( ) const
overridevirtual

Gets the description string.

It makes debugging easier.

Returns
A string

Reimplemented from SpriteBatchNode.

const Size& getDimensions ( ) const
inline
FontAtlas* getFontAtlas ( )
inline
CC_DEPRECATED_ATTRIBUTE const
FontDefinition&
getFontDefinition
( ) const
inline
unsigned int getHeight ( ) const
inline
TextHAlignment
getHorizontalAlignment
( ) const
inline
virtual Sprite* getLetter ( int  lettetIndex)
virtual
unsigned int getMaxLineWidth ( )
inline
virtual float getScaleX ( ) const
overridevirtual

Returns the scale factor on X axis of this node.

See also
setScaleX(float)
Returns
The scale factor on X axis.

Reimplemented from Node.

virtual float getScaleY ( ) const
overridevirtual

Returns the scale factor on Y axis of this node.

See also
setScaleY(float)
Returns
The scale factor on Y axis.

Reimplemented from Node.

virtual const std::string&
getString
( ) const
inlineoverridevirtual

Returns the string that is currently being used in this label.

Returns
The string that is currently being used in this label

Implements LabelProtocol.

Reimplemented in TextFieldTTF.

int getStringLength ( ) const
int getStringNumLines ( ) const
inline
virtual const std::string&
getSystemFontName
( ) const
inlinevirtual
virtual float getSystemFontSize ( ) const
inlinevirtual
TextHAlignment getTextAlignment ( ) const
inline
const Color4B& getTextColor ( ) const
inline
virtual const TTFConfig&
getTTFConfig
( ) const
inlinevirtual
TextVAlignment getVerticalAlignment ( ) const
inline
unsigned int getWidth ( ) const
inline
bool isClipMarginEnabled ( ) const
inline
virtual bool isOpacityModifyRGB ( ) const
overridevirtual

Reimplemented from Node.

void onDraw ( const Mat4 transform,
bool  transformUpdated 
)
protected
bool recordLetterInfo ( const cocos2d::Vec2 &  point,
const FontLetterDefinition letterDef,
int  spriteIndex 
)
protected
bool recordPlaceholderInfo ( int  spriteIndex)
protected
void reset ( )
protected
void setAlignment ( TextHAlignment  hAlignment)
inline
void setAlignment ( TextHAlignment  hAlignment,
TextVAlignment  vAlignment 
)
virtual void setBlendFunc ( const BlendFunc blendFunc)
overridevirtual
*When this function bound into js or lua,the parameter will be changed
*In js: var setBlendFunc(var src, var dst)

Reimplemented from SpriteBatchNode.

virtual bool setBMFontFilePath ( const std::string &  bmfontFilePath,
const Vec2 imageOffset = Vec2::ZERO 
)
virtual
virtual bool setCharMap ( const std::string &  charMapFile,
int  itemWidth,
int  itemHeight,
int  startCharMap 
)
virtual
virtual bool setCharMap ( Texture2D texture,
int  itemWidth,
int  itemHeight,
int  startCharMap 
)
virtual
virtual bool setCharMap ( const std::string &  plistFile)
virtual
void setClipMarginEnabled ( bool  clipEnabled)
inline

clip upper and lower margin for reduce height of label.

void setDimensions ( unsigned int  width,
unsigned int  height 
)

Sets the untransformed size of the label in a more efficient way.

virtual void setFontAtlas ( FontAtlas atlas,
bool  distanceFieldEnabled = false,
bool  useA8Shader = false 
)
protectedvirtual
virtual
CC_DEPRECATED_ATTRIBUTE void
setFontDefinition
( const FontDefinition textDefinition)
virtual
void setFontScale ( float  fontScale)
protected
void setHeight ( unsigned int  height)
inline

Sets the untransformed size of the label.

The label's height be used for text align if the set value not equal zero. The text will display of incomplete when the size of label not enough to support display all text.

void setHorizontalAlignment ( TextHAlignment  hAlignment)
inline
void setLineBreakWithoutSpace ( bool  breakWithoutSpace)
void setMaxLineWidth ( unsigned int  maxLineWidth)

Sets the max line width of the label.

The label's max line width be used for force line breaks if the set value not equal zero. The label's width and max line width has not always to be equal.

virtual void setOpacityModifyRGB ( bool  isOpacityModifyRGB)
overridevirtual

Reimplemented from Node.

virtual void setScale ( float  scale)
overridevirtual

Sets the scale (x,y,z) of the node.

It is a scaling factor that multiplies the width, height and depth of the node and its children.

Parameters
scaleThe scale factor for both X and Y axis.

Reimplemented from Node.

virtual void setScaleX ( float  scaleX)
overridevirtual

Sets the scale (x) of the node.

It is a scaling factor that multiplies the width of the node and its children.

Parameters
scaleXThe scale factor on X axis.

Reimplemented from Node.

virtual void setScaleY ( float  scaleY)
overridevirtual

Sets the scale (y) of the node.

It is a scaling factor that multiplies the height of the node and its children.

Parameters
scaleYThe scale factor on Y axis.

Reimplemented from Node.

virtual void setString ( const std::string &  text)
overridevirtual

changes the string to render

Warning
It is as expensive as changing the string if you haven't set up TTF/BMFont/CharMap for the label.

Implements LabelProtocol.

Reimplemented in TextFieldTTF.

virtual void setSystemFontName ( const std::string &  systemFont)
virtual
virtual void setSystemFontSize ( float  fontSize)
virtual
virtual void setTextColor ( const Color4B color)
virtual

Sets the text color.

Reimplemented in TextFieldTTF.

virtual bool setTTFConfig ( const TTFConfig ttfConfig)
virtual

set TTF configuration for Label

void setVerticalAlignment ( TextVAlignment  vAlignment)
inline
void setWidth ( unsigned int  width)
inline

Sets the untransformed size of the label.

The label's width be used for text align if the set value not equal zero. The label's max line width will be equal to the same value.

virtual void sortAllChildren ( )
overridevirtual

Sorts the children array once before drawing, instead of every time when a child is added or reordered.

This appraoch can improves the performance massively.

Note
Don't call this manually unless a child added needs to be removed in the same frame

Reimplemented from SpriteBatchNode.

virtual void updateColor ( )
overrideprotectedvirtual

Reimplemented from Node.

virtual void updateContent ( )
virtual

update content immediately.

virtual void updateDisplayedColor ( const Color3B parentColor)
overridevirtual

Reimplemented from Node.

virtual void updateDisplayedOpacity ( GLubyte  parentOpacity)
overridevirtual

Reimplemented from Node.

void updateFont ( )
protected
void updateQuads ( )
protected
virtual void updateShaderProgram ( )
protectedvirtual
virtual void visit ( Renderer renderer,
const Mat4 parentTransform,
bool  parentTransformUpdated 
)
overridevirtual

Visits this node's children and draw them recursively.

Reimplemented from SpriteBatchNode.

Reimplemented in TextFieldTTF.

Friends And Related Function Documentation

friend class LabelTextFormatter
friend

Member Data Documentation

std::vector<SpriteBatchNode*>
_batchNodes
protected
bool _blendFuncDirty
protected
std::string _bmFontPath
protected
bool _clipEnabled
protected
float _commonLineHeight
protected
bool _compatibleMode
protected
bool _contentDirty
protected
LabelType _currentLabelType
protected
std::u16string _currentUTF16String
protected
LabelEffect _currLabelEffect
protected
int _currNumLines
protected
CustomCommand _customCommand
protected
Color4B _effectColor
protected
Color4F _effectColorF
protected
FontAtlas* _fontAtlas
protected
TTFConfig _fontConfig
protected
FontDefinition _fontDefinition
protected
float _fontScale
protected
TextHAlignment _hAlignment
protected
int* _horizontalKernings
protected
bool _insideBounds
protected
bool _isOpacityModifyRGB
protected
Size _labelDimensions
protected
unsigned int _labelHeight
protected
unsigned int _labelWidth
protected
std::vector<LetterInfo>
_lettersInfo
protected
int _limitShowCount
protected
bool _lineBreakWithoutSpaces
protected
unsigned int _maxLineWidth
protected
std::string _originalUTF8String
protected
int _outlineSize
protected
Sprite* _reusedLetter
protected

used for optimization

Rect _reusedRect
protected
int _shadowBlurRadius
protected
Color3B _shadowColor
protected
bool _shadowDirty
protected
bool _shadowEnabled
protected
Sprite* _shadowNode
protected
Size _shadowOffset
protected
float _shadowOpacity
protected
Mat4 _shadowTransform
protected
std::string _systemFont
protected
bool _systemFontDirty
protected
float _systemFontSize
protected
Color4B _textColor
protected
Color4F _textColorF
protected
Sprite* _textSprite
protected
GLuint _uniformEffectColor
protected
GLuint _uniformTextColor
protected
bool _useA8Shader
protected
bool _useDistanceField
protected
TextVAlignment _vAlignment
protected
const int DistanceFieldFontSize
static

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