cocos2d-x  2.2.3-gd2.113-rev1ec524e
Loading...
Searching...
No Matches
CCDrawNode Class Reference

CCDrawNode Node that draws dots, segments and polygons. More...

#include <CCDrawNode.h>

Inheritance diagram for CCDrawNode:
[legend]
Collaboration diagram for CCDrawNode:
[legend]

Public Member Functions

virtual ~CCDrawNode ()
 
virtual bool init ()
 Initializes the instance of CCNode. More...
 
virtual void draw ()
 Override this method to draw your own node. More...
 
void drawDot (const CCPoint &pos, float radius, const ccColor4F &color)
 draw a dot at a position, with a given radius and color More...
 
void drawSegment (const CCPoint &from, const CCPoint &to, float radius, const ccColor4F &color)
 draw a segment with a radius and color More...
 
void drawPolygon (CCPoint *verts, unsigned int count, const ccColor4F &fillColor, float borderWidth, const ccColor4F &borderColor)
 draw a polygon with a fill color and line color More...
 
void clear ()
 Clear the geometry in the node's buffer. More...
 
ccBlendFunc getBlendFunc () const
 NA. More...
 
void setBlendFunc (const ccBlendFunc &blendFunc)
 
 CCDrawNode ()
 
void listenBackToForeground (CCObject *obj)
 listen the event that coming to foreground on Android
NA More...
 
- Public Member Functions inherited from CCNode
virtual ~CCNode (void)
 Default destructor NA NA. More...
 
virtual bool init ()
 Initializes the instance of CCNode. More...
 
const char * description (void)
 Gets the description string. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible ()
 Determines if the node is visible. More...
 
virtual void setRotation (float fRotation)
 Sets the rotation (angle) of the node in degrees. More...
 
virtual float getRotation ()
 Returns the rotation of the node in degrees. More...
 
virtual void setRotationX (float fRotaionX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual float getRotationX ()
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual void setRotationY (float fRotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY ()
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setOrderOfArrival (unsigned int uOrderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
virtual unsigned int getOrderOfArrival ()
 Returns the arrival order, indecates which children is added previously. More...
 
virtual void setGLServerState (ccGLServerState glServerState)
 Sets the state of OpenGL server side. More...
 
virtual ccGLServerState getGLServerState ()
 Returns the state of OpenGL server side. More...
 
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition ()
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
virtual void removeChild (CCNode *child)
 Removes a child from the container with a cleanup. More...
 
virtual void removeChild (CCNode *child, bool cleanup)
 Removes a child from the container. More...
 
virtual void removeChildByTag (int tag)
 Removes a child from the container by tag value with a cleanup. More...
 
virtual void removeChildByTag (int tag, bool cleanup)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderChild (CCNode *child, int zOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual CCCameragetCamera ()
 Returns a camera object that lets you move the node using a gluLookAt. More...
 
virtual bool isRunning ()
 Returns whether or not the node accepts event callbacks. More...
 
virtual void cleanup (void)
 Stops all running actions and schedulers. More...
 
virtual void draw (void)
 Override this method to draw your own node. More...
 
virtual void visit (void)
 Visits this node's children and draw them recursively. More...
 
CCRect boundingBox (void)
 Returns a "local" axis aligned bounding box of the node. More...
 
virtual CCAffineTransform nodeToWorldTransform (void)
 Returns the world affine transform matrix. More...
 
virtual CCAffineTransform worldToNodeTransform (void)
 Returns the inverse world affine transform matrix. More...
 
 CCNode (void)
 Default constructor ctor. More...
 
 CCNode (const CCNode &)
 
virtual void setZOrder (int zOrder)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
virtual void _setZOrder (int z)
 Sets the z order which stands for the drawing order. More...
 
virtual int getZOrder ()
 Gets the Z order of this node. More...
 
virtual void setVertexZ (float vertexZ)
 Sets the real OpenGL Z vertex. More...
 
virtual float getVertexZ ()
 Gets OpenGL Z vertex of this node. More...
 
virtual void setScaleX (float fScaleX)
 Changes the scale factor on X axis of this node. More...
 
virtual float getScaleX ()
 Returns the scale factor on X axis of this node. More...
 
virtual void setScaleY (float fScaleY)
 Changes the scale factor on Y axis of this node. More...
 
virtual float getScaleY ()
 Returns the scale factor on Y axis of this node. More...
 
virtual void setScale (float scale)
 Changes both X and Y scale factor of the node. More...
 
virtual float getScale ()
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float fScaleX, float fScaleY)
 Changes both X and Y scale factor of the node. More...
 
virtual void setPosition (const CCPoint &position)
 Changes the position (x,y) of the node in OpenGL coordinates. More...
 
virtual const CCPointgetPosition ()
 Gets the position (x,y) of the node in OpenGL coordinates. More...
 
virtual void setPosition (float x, float y)
 Sets position in a more efficient way. More...
 
virtual void getPosition (float *x, float *y)
 Gets position in a more efficient way, returns two number instead of a CCPoint object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
virtual void setPositionY (float y)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
virtual float getPositionY (void)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
virtual void setSkewX (float fSkewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX ()
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float fSkewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY ()
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const CCPoint &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const CCPointgetAnchorPoint ()
 Returns the anchor point in percent. More...
 
virtual const CCPointgetAnchorPointInPoints ()
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const CCSize &contentSize)
 Sets the untransformed size of the node. More...
 
virtual const CCSizegetContentSize () const
 Returns the untransformed size of the node. More...
 
virtual CCSize getScaledContentSize (void)
 
virtual void addChild (CCNode *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (CCNode *child, int zOrder)
 Adds a child to the container with a z-order. More...
 
virtual void addChild (CCNode *child, int zOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual CCNodegetChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual CCArraygetChildren ()
 Return an array of children. More...
 
virtual unsigned int getChildrenCount (void) const
 Get the amount of children. More...
 
virtual void setParent (CCNode *parent)
 Sets the parent node. More...
 
virtual CCNodegetParent ()
 Returns a pointer to the parent node. More...
 
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 removeMeAndCleanup (void)
 
virtual CCGridBasegetGrid ()
 Returns a grid object that is used when applying effects. More...
 
virtual void setGrid (CCGridBase *pGrid)
 Changes a grid object that is used when applying effects. More...
 
virtual void * getUserData ()
 Returns a tag that is used to identify the node easily. More...
 
virtual void setUserData (void *pUserData)
 Sets a custom user data pointer. More...
 
virtual CCObjectgetUserObject ()
 Returns a user assigned CCObject. More...
 
virtual void setUserObject (CCObject *pUserObject)
 Returns a user assigned CCObject. More...
 
virtual CCGLProgramgetShaderProgram ()
 Return the shader program currently used for this node. More...
 
virtual void setShaderProgram (CCGLProgram *pShaderProgram)
 Sets the shader program for this node. More...
 
virtual void registerScriptHandler (int handler)
 Registers a script function that will be called in onEnter() & onExit() seires functions. More...
 
virtual void unregisterScriptHandler (void)
 Unregisters a script function that will be called in onEnter() & onExit() series functions. More...
 
int getScriptHandler ()
 Gets script handler for onEnter/onExit event. More...
 
void scheduleUpdateWithPriorityLua (int nHandler, int priority)
 Schedules for lua script. More...
 
virtual void onEnter ()
 Event callback that is invoked every time when CCNode enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the CCNode enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the CCNode leaves the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the CCNode leaves the 'stage'. More...
 
virtual void setActionManager (CCActionManager *actionManager)
 Sets the CCActionManager object that is used by all actions. More...
 
virtual CCActionManagergetActionManager ()
 Gets the CCActionManager object that is used by all actions. More...
 
CCActionrunAction (CCAction *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions (void)
 Stops and removes all actions from the running action list . More...
 
void stopAction (CCAction *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...
 
CCActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
unsigned int numberOfRunningActions (void)
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
virtual void setScheduler (CCScheduler *scheduler)
 Sets a CCScheduler object that is used to schedule all "updates" and timers. More...
 
virtual CCSchedulergetScheduler ()
 Gets a CCSheduler object. More...
 
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)
 Sets a CCScheduler object that is used to schedule all "updates" and timers. More...
 
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 resumeSchedulerAndActions (void)
 Resumes all scheduled selectors and actions. More...
 
void pauseSchedulerAndActions (void)
 Pauses all scheduled selectors and actions. More...
 
virtual void update (float delta)
 Sets a CCScheduler object that is used to schedule all "updates" and timers. More...
 
void transform (void)
 Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes. More...
 
void transformAncestors (void)
 Performs OpenGL view-matrix transformation of it's ancestors. More...
 
virtual void updateTransform (void)
 Calls children's updateTransform() method recursively. More...
 
virtual const CCAffineTransform nodeToParentTransform (void)
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual const CCAffineTransform parentToNodeTransform (void)
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
CCPoint convertToNodeSpace (const CCPoint &worldPoint)
 Converts a Point to node (local) space coordinates. More...
 
CCPoint convertToWorldSpace (const CCPoint &nodePoint)
 Converts a Point to world space coordinates. More...
 
CCPoint convertToNodeSpaceAR (const CCPoint &worldPoint)
 Converts a Point to node (local) space coordinates. More...
 
CCPoint convertToWorldSpaceAR (const CCPoint &nodePoint)
 Converts a local Point to world space coordinates.The result is in Points. More...
 
CCPoint convertTouchToNodeSpace (CCTouch *touch)
 convenience methods which take a CCTouch instead of CCPoint More...
 
CCPoint convertTouchToNodeSpaceAR (CCTouch *touch)
 converts a CCTouch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (const CCAffineTransform &additionalTransform)
 Sets the additional transform. More...
 
CCComponentgetComponent (const char *pName) const
 gets a component by its name More...
 
virtual bool addComponent (CCComponent *pComponent)
 adds a component More...
 
virtual bool removeComponent (const char *pName)
 removes a component by its name
More...
 
virtual bool removeComponent (CCComponent *pComponent)
 removes a component by its pointer
More...
 
virtual void removeAllComponents ()
 removes all components More...
 
virtual void updateTweenAction (float, const char *)
 
CCNodeoperator= (const CCNode &)
 
- Public Member Functions inherited from CCObject
 CCObject (void)
 
virtual ~CCObject (void)
 NA. More...
 
void release (void)
 
void retain (void)
 
CCObjectautorelease (void)
 
CCObjectcopy (void)
 
bool isSingleReference (void) const
 
unsigned int retainCount (void) const
 
virtual bool isEqual (const CCObject *pObject)
 
virtual void acceptVisitor (CCDataVisitor &visitor)
 
virtual void update (float dt)
 
 CCObject (const CCObject &)
 
CCObjectoperator= (const CCObject &)
 
virtual void encodeWithCoder (DS_Dictionary *)
 
virtual bool canEncode ()
 
CCObjectType getObjType () const
 
virtual int getTag () const
 
virtual void setTag (int nTag)
 
void setObjType (CCObjectType)
 
- Public Member Functions inherited from CCCopying
virtual CCObjectcopyWithZone (CCZone *pZone)
 

Static Public Member Functions

static CCDrawNodecreate ()
 
- Static Public Member Functions inherited from CCNode
static CCNodecreate (void)
 Allocates and initializes a node. More...
 
- Static Public Member Functions inherited from CCObject
static CCObjectcreateWithCoder (DS_Dictionary *)
 

Protected Attributes

GLuint m_uVao
 
GLuint m_uVbo
 
unsigned int m_uBufferCapacity
 
GLsizei m_nBufferCount
 
ccV2F_C4B_T2Fm_pBuffer
 
ccBlendFunc m_sBlendFunc
 
bool m_bDirty
 
- Protected Attributes inherited from CCNode
float m_fRotationX
 rotation angle on x-axis More...
 
float m_fRotationY
 rotation angle on y-axis More...
 
float m_fScaleX
 scaling factor on x-axis More...
 
float m_fScaleY
 scaling factor on y-axis More...
 
float m_fVertexZ
 OpenGL real Z vertex. More...
 
CCPoint m_obPosition
 position of the node More...
 
float m_fSkewX
 skew angle on x-axis More...
 
float m_fSkewY
 skew angle on y-axis More...
 
CCPoint m_obAnchorPointInPoints
 anchor point in points More...
 
CCPoint m_obAnchorPoint
 anchor point normalized (NOT in points) More...
 
CCSize m_obContentSize
 untransformed size of the node More...
 
CCAffineTransform m_sAdditionalTransform
 transform More...
 
CCAffineTransform m_sTransform
 transform More...
 
CCAffineTransform m_sInverse
 transform More...
 
CCCameram_pCamera
 a camera More...
 
CCGridBasem_pGrid
 a grid More...
 
int m_nZOrder
 z-order value that affects the draw order More...
 
CCArraym_pChildren
 array of children nodes More...
 
CCNodem_pParent
 weak reference to parent node More...
 
void * m_pUserData
 A user assingned void pointer, Can be point to any cpp object. More...
 
CCObjectm_pUserObject
 A user assigned CCObject. More...
 
CCGLProgramm_pShaderProgram
 OpenGL shader. More...
 
ccGLServerState m_eGLServerState
 OpenGL servier side state. More...
 
unsigned int m_uOrderOfArrival
 used to preserve sequence while sorting children with the same zOrder More...
 
CCSchedulerm_pScheduler
 scheduler used to schedule timers and updates More...
 
CCActionManagerm_pActionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
bool m_bRunning
 is running More...
 
bool m_bTransformDirty
 transform dirty flag More...
 
bool m_bInverseDirty
 transform dirty flag More...
 
bool m_bAdditionalTransformDirty
 The flag to check whether the additional transform is dirty. More...
 
bool m_bVisible
 is this node visible More...
 
bool m_bIgnoreAnchorPointForPosition
 true if the Anchor Point will be (0,0) when you position the CCNode, false otherwise. More...
 
bool m_bReorderChildDirty
 children order dirty flag More...
 
int m_nScriptHandler
 script handler for onEnter() & onExit(), used in Javascript binding and Lua binding. More...
 
int m_nUpdateScriptHandler
 script handler for update() callback per frame, which is invoked from lua & javascript. More...
 
ccScriptType m_eScriptType
 type of script binding, lua or javascript More...
 
CCComponentContainerm_pComponentContainer
 Dictionary of components. More...
 
- Protected Attributes inherited from CCObject
unsigned int m_uReference
 
unsigned int m_uAutoReleaseCount
 
int m_nTag
 
int m_eObjType
 
unsigned int m_uObjectIdxInArray
 

Additional Inherited Members

- Public Attributes inherited from CCObject
unsigned int m_uID
 
int m_nLuaID
 

Detailed Description

CCDrawNode Node that draws dots, segments and polygons.

Faster than the "drawing primitives" since they it draws everything in one single batch.

Since
v2.1 NA

Constructor & Destructor Documentation

◆ ~CCDrawNode()

virtual ~CCDrawNode ( )
virtual

◆ CCDrawNode()

Member Function Documentation

◆ clear()

void clear ( )

Clear the geometry in the node's buffer.

◆ create()

static CCDrawNode * create ( )
static

◆ draw()

virtual void draw ( )
virtual

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

◆ drawDot()

void drawDot ( const CCPoint pos,
float  radius,
const ccColor4F color 
)

draw a dot at a position, with a given radius and color

◆ drawPolygon()

void drawPolygon ( CCPoint verts,
unsigned int  count,
const ccColor4F fillColor,
float  borderWidth,
const ccColor4F borderColor 
)

draw a polygon with a fill color and line color

when this funciton bound to js,the input params are changed
js:var drawPolygon(var verts, var fillColor,var borderWidth,var borderColor)
void drawPolygon(CCPoint *verts, unsigned int count, const ccColor4F &fillColor, float borderWidth, const ccColor4F &borderColor)
draw a polygon with a fill color and line color

◆ drawSegment()

void drawSegment ( const CCPoint from,
const CCPoint to,
float  radius,
const ccColor4F color 
)

draw a segment with a radius and color

◆ getBlendFunc()

ccBlendFunc getBlendFunc ( ) const

NA.

◆ init()

virtual bool init ( )
virtual

Initializes the instance of CCNode.

Returns
Whether the initialization was successful.

Reimplemented from CCNode.

◆ listenBackToForeground()

void listenBackToForeground ( CCObject obj)

listen the event that coming to foreground on Android
NA

◆ setBlendFunc()

void setBlendFunc ( const ccBlendFunc blendFunc)
when this function bound to js ,the input param is change
js:var setBlendFunc(var src,var dst)
void setBlendFunc(const ccBlendFunc &blendFunc)

Member Data Documentation

◆ m_bDirty

bool m_bDirty
protected

◆ m_nBufferCount

GLsizei m_nBufferCount
protected

◆ m_pBuffer

ccV2F_C4B_T2F* m_pBuffer
protected

◆ m_sBlendFunc

ccBlendFunc m_sBlendFunc
protected

◆ m_uBufferCapacity

unsigned int m_uBufferCapacity
protected

◆ m_uVao

GLuint m_uVao
protected

◆ m_uVbo

GLuint m_uVbo
protected

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