Axmol Engine 2.4.0-258ceca
Loading...
Searching...
No Matches
Scale9Sprite Class Reference

A 9-slice sprite for cocos2d-x. More...

#include <UIScale9Sprite.h>

Inherits Sprite.

Public Types

enum class  State
 Builtin shader state. More...
 

Public Member Functions

 Scale9Sprite ()
 Default constructor.
 
virtual ~Scale9Sprite ()
 Default destructor.
 
virtual bool initWithFile (std::string_view file, const Rect &rect, const Rect &capInsets)
 Initializes a 9-slice sprite with a texture file, a delimitation zone and with the specified cap insets.
 
virtual bool initWithFile (const Rect &capInsets, std::string_view file)
 Initializes a 9-slice sprite with a texture file and with the specified cap insets.
 
virtual bool initWithSpriteFrame (SpriteFrame *spriteFrame, const Rect &capInsets)
 Initializes a 9-slice sprite with an sprite frame and with the specified cap insets.
 
virtual bool initWithSpriteFrameName (std::string_view spriteFrameName, const Rect &capInsets)
 Initializes a 9-slice sprite with an sprite frame name and with the specified cap insets.
 
virtual bool initWithFile (std::string_view file, const Rect &rect) override
 Initializes a 9-slice sprite with a texture file and a delimitation zone.
 
virtual bool initWithFile (std::string_view file) override
 Initializes a 9-slice sprite with a texture file.
 
virtual bool initWithSpriteFrameName (std::string_view spriteFrameName) override
 Initializes a 9-slice sprite with an sprite frame name.
 
virtual bool init (Sprite *sprite, const Rect &rect, bool rotated, const Rect &capInsets)
 Initializes a 9-slice sprite with an sprite instance.
 
virtual bool init (Sprite *sprite, const Rect &rect, const Rect &capInsets)
 Initializes a 9-slice sprite with an sprite instance.
 
virtual bool init (Sprite *sprite, const Rect &rect, bool rotated, const Vec2 &offset, const Vec2 &originalSize, const Rect &capInsets)
 Initializes a 9-slice sprite with an sprite instance.
 
Scale9SpriteresizableSpriteWithCapInsets (const Rect &capInsets) const
 Creates and returns a new sprite object with the specified cap insets.
 
virtual bool updateWithSprite (Sprite *sprite, const Rect &rect, bool rotated, const Rect &capInsets)
 Update Scale9Sprite with a specified sprite.
 
virtual bool updateWithSprite (Sprite *sprite, const Rect &rect, bool rotated, const Vec2 &offset, const Vec2 &originalSize, const Rect &capInsets)
 Update Scale9Sprite with a specified sprite.
 
virtual void setSpriteFrame (SpriteFrame *spriteFrame, const Rect &capInsets)
 Change inner sprite's sprite frame.
 
void setState (State state)
 Change the state of 9-slice sprite.
 
State getState () const
 Query the current bright state.
 
Vec2 getOriginalSize () const
 Query the sprite's original size.
 
void setPreferredSize (const Vec2 &size)
 Change the preferred size of Scale9Sprite.
 
Vec2 getPreferredSize () const
 Query the Scale9Sprite's preferred size.
 
void setInsetLeft (float leftInset)
 Change the left sprite's cap inset.
 
float getInsetLeft () const
 Query the left sprite's cap inset.
 
void setInsetTop (float topInset)
 Change the top sprite's cap inset.
 
float getInsetTop () const
 Query the top sprite's cap inset.
 
void setInsetRight (float rightInset)
 Change the right sprite's cap inset.
 
float getInsetRight () const
 Query the right sprite's cap inset.
 
void setInsetBottom (float bottomInset)
 Change the bottom sprite's cap inset.
 
float getInsetBottom () const
 Query the bottom sprite's cap inset.
 
void setScale9Enabled (bool enabled)
 Toggle 9-slice feature.
 
bool isScale9Enabled () const
 Query whether the Scale9Sprite is enable 9-slice or not.
 
SpritegetSprite ()
 Get the original no 9-sliced sprite.
 
void copyTo (Scale9Sprite *copy) const
 copies self to copy
 
void setRenderingType (RenderingType type)
 Set the slice sprite rendering type.
 
RenderingType getRenderingType () const
 Return the slice sprite rendering type.
 
void setCapInsets (const Rect &insets)
 Set the Cap Insets in Points using the untrimmed size as reference.
 
Rect getCapInsets () const
 Returns the Cap Insets.
 
virtual bool initWithSpriteFrame (SpriteFrame *spriteFrame)
 Initializes a sprite with an SpriteFrame.
 
virtual void setSpriteFrame (std::string_view spriteFrameName)
 
- Public Member Functions inherited from Sprite
virtual bool isFrameDisplayed (SpriteFrame *frame) const
 Returns whether or not a SpriteFrame is being displayed.
 
virtual SpriteFramegetSpriteFrame () const
 Returns the current displayed frame.
 
const V3F_C4B_T2F_QuadgetQuad () const
 Returns the quad (tex coords, vertex coords and color) information.
 
bool isTextureRectRotated () const
 Returns whether or not the texture rectangle is rotated.
 
unsigned int getAtlasIndex () const
 Returns the index used on the TextureAtlas.
 
void setAtlasIndex (unsigned int atlasIndex)
 Sets the index used on the TextureAtlas.
 
const RectgetTextureRect () const
 Returns the rect of the Sprite in points.
 
TextureAtlasgetTextureAtlas () const
 Gets the weak reference of the TextureAtlas when the sprite is rendered using via SpriteBatchNode.
 
bool setProgramState (backend::ProgramState *programState, bool ownPS=false) override
 Set or Attach new ProgramState.
 
void setTextureAtlas (TextureAtlas *textureAtlas)
 Sets the weak reference of the TextureAtlas when the sprite is rendered using via SpriteBatchNode.
 
const Vec2getOffsetPosition () const
 Gets the offset position of the sprite.
 
bool isFlippedX () const
 Returns the flag which indicates whether the sprite is flipped horizontally or not.
 
void setFlippedX (bool flippedX)
 Sets whether the sprite should be flipped horizontally or not.
 
bool isFlippedY () const
 Return the flag which indicates whether the sprite is flipped vertically or not.
 
void setFlippedY (bool flippedY)
 Sets whether the sprite should be flipped vertically or not.
 
const PolygonInfogetPolygonInfo () const
 returns a reference of the polygon information associated with this sprite
 
void setPolygonInfo (const PolygonInfo &info)
 set the sprite to use this new PolygonInfo
 
void setStretchEnabled (bool enabled)
 whether or not contentSize stretches the sprite's texture
 
bool isStretchEnabled () const
 returns whether or not contentSize stretches the sprite's texture
 
 Sprite ()
 @js ctor
 
virtual bool initWithTexture (Texture2D *texture)
 Initializes a sprite with a texture.
 
virtual bool initWithPolygon (const PolygonInfo &info)
 Initializes a sprite with a PolygonInfo.
 
virtual bool initWithTexture (Texture2D *texture, const Rect &rect)
 Initializes a sprite with a texture and a rect.
 
virtual bool initWithTexture (Texture2D *texture, const Rect &rect, bool rotated)
 Initializes a sprite with a texture and a rect in points, optionally rotated.
 
virtual bool initWithImageData (const ax::Data &imageData, std::string_view key)
 Initializes a sprite with an image data, and a key for the cache.
 
void setAutoSize (bool enabled)
 Indicate if the sprite content size can change if new textures are applied to the sprite.
 
virtual void updateTransform () override
 Updates the quad according the rotation, position, scale values.
 
virtual SpriteBatchNodegetBatchNode () const
 Returns the batch node object if this sprite is rendered by SpriteBatchNode.
 
virtual void setBatchNode (SpriteBatchNode *spriteBatchNode)
 Sets the batch node to sprite.
 
virtual void setTexture (std::string_view filename)
 Sets a new texture (from a filename) to the sprite.
 
virtual void setTexture (Texture2D *texture) override
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The Texture's rect is not changed.
 
virtual Texture2DgetTexture () const override
 Returns the Texture2D object used by the sprite.
 
virtual void setTextureRect (const Rect &rect)
 Updates the texture rect of the Sprite in points.
 
virtual void setTextureRect (const Rect &rect, bool rotated, const Vec2 &untrimmedSize)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.It will update the texture coordinates and the vertex rectangle.
 
virtual void setVertexRect (const Rect &rect)
 Sets the vertex rect.
 
virtual void setCenterRectNormalized (const Rect &rect)
 setCenterRectNormalized
 
virtual Rect getCenterRectNormalized () const
 getCenterRectNormalized
 
virtual Rect getCenterRect () const
 Returns the Cap Insets rect.
 
virtual void setDisplayFrameWithAnimationName (std::string_view animationName, unsigned int frameIndex)
 Changes the display frame with animation name and index.
 
virtual bool isDirty () const
 Whether or not the Sprite needs to be updated in the Atlas.
 
virtual void setDirty (bool dirty)
 Makes the Sprite to be updated in the Atlas.
 
virtual std::string getDescription () const override
 @js NA
 
virtual void setScaleX (float scaleX) override
 Sets the scale (x) of the node.
 
virtual void setScaleY (float scaleY) override
 Sets the scale (y) of the node.
 
virtual void setScale (float scaleX, float scaleY) override
 Sets the scale (x,y) of the node.
 
virtual void setPosition (const Vec2 &pos) override
 @js NA @lua NA
 
virtual void setPosition (float x, float y) override
 Sets the position (x,y) of the node in its parent's coordinate system.
 
virtual void setRotation (float rotation) override
 Sets the rotation (angle) of the node in degrees.
 
virtual void setRotationSkewX (float rotationX) override
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.
 
virtual void setRotationSkewY (float rotationY) override
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
 
virtual void setSkewX (float sx) override
 Changes the X skew angle of the node in degrees.
 
virtual void setSkewY (float sy) override
 Changes the Y skew angle of the node in degrees.
 
virtual void removeChild (Node *child, bool cleanup=true) override
 Removes a child from the container.
 
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.
 
virtual void reorderChild (Node *child, int zOrder) override
 Reorders a child according to a new z value.
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag.
 
virtual void addChild (Node *child, int zOrder, std::string_view name) override
 Adds a child to the container with z order and tag.
 
virtual void sortAllChildren () override
 Sorts the children array once before drawing, instead of every time when a child is added or reordered.
 
virtual void setScale (float scale) override
 Sets the scale (x,y,z) of the node.
 
virtual void setPositionZ (float positionZ) override
 Sets the 'z' coordinate in the position.
 
virtual void setAnchorPoint (const Vec2 &anchor) override
 Sets the anchor point in percent.
 
virtual void setContentSize (const Vec2 &size) override
 Sets the untransformed size of the node.
 
virtual void setIgnoreAnchorPointForPosition (bool value) override
 Sets whether the anchor point will be (0,0) when you position this node.
 
virtual void setVisible (bool bVisible) override
 Sets whether the node is visible.
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags) override
 Override this method to draw your own node.
 
virtual void setOpacityModifyRGB (bool modify) override
 If you want the opacity affect the color property, then set to true.
 
virtual bool isOpacityModifyRGB () const override
 If node opacity will modify the RGB color value, then you should override this method and return true.
 
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0.
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order.
 
void setBlendFunc (const BlendFunc &blendFunc) override
 
const BlendFuncgetBlendFunc () const override
 @js NA @lua NA
 
static Spritecreate ()
 Creates an empty sprite without texture.
 
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running".
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script.
 
virtual void cleanup ()
 Stops all running actions and schedulers.
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 Visits this node's children and draw them recursively.
 
virtual ScenegetScene () const
 Returns the Scene that contains the Node.
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.
 
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene.
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene.
 
virtual uint8_t getOpacity () const
 Return the node's opacity.
 
virtual uint8_t getDisplayedOpacity () const
 Return the node's display opacity.
 
virtual void setOpacity (uint8_t opacity)
 Change node opacity.
 
virtual void updateDisplayedOpacity (uint8_t parentOpacity)
 Update the displayed opacity of node with it's parent opacity;.
 
virtual bool isCascadeOpacityEnabled () const
 Whether cascadeOpacity is enabled or not.
 
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
 Change node's cascadeOpacity property.
 
virtual const Color3BgetColor () const
 Query node's color value.
 
virtual const Color3BgetDisplayedColor () const
 Query node's displayed color.
 
virtual void setColor (const Color3B &color)
 Change the color of node.
 
virtual void updateDisplayedColor (const Color3B &parentColor)
 Update node's displayed color with its parent color.
 
virtual bool isCascadeColorEnabled () const
 Query whether cascadeColor is enabled or not.
 
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
 If you want node's color affect the children node's color, then set it to true.
 
void setOnEnterCallback (const std::function< void()> &callback)
 Set the callback of event onEnter.
 
const std::function< void()> & getOnEnterCallback () const
 Get the callback of event onEnter.
 
void setOnExitCallback (const std::function< void()> &callback)
 Set the callback of event onExit.
 
const std::function< void()> & getOnExitCallback () const
 Get the callback of event onExit.
 
void setOnEnterTransitionDidFinishCallback (const std::function< void()> &callback)
 Set the callback of event EnterTransitionDidFinish.
 
const std::function< void()> & getOnEnterTransitionDidFinishCallback () const
 Get the callback of event EnterTransitionDidFinish.
 
void setOnExitTransitionDidStartCallback (const std::function< void()> &callback)
 Set the callback of event ExitTransitionDidStart.
 
const std::function< void()> & getOnExitTransitionDidStartCallback () const
 Get the callback of event ExitTransitionDidStart.
 
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 setCameraMask (unsigned short mask, bool applyChildren=true)
 Modify the camera mask for current node.
 
void applyMaskOnEnter (bool applyChildren)
 Should addChild() make the child follow it's parent's mask?
 
backend::ProgramState * setProgramStateByProgramId (uint64_t progId)
 Sets ProgramState by programId.
 
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings.
 
void updateOrderOfArrival ()
 !
 
virtual int getLocalZOrder () const
 Gets the local Z order of this node.
 
virtual void setGlobalZOrder (float globalZOrder)
 Defines the order in which the nodes are renderer.
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order.
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node.
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node.
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node.
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node.
 
virtual float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor.
 
virtual void setPositionNormalized (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1.
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system.
 
virtual const Vec2getPositionNormalized () const
 Returns the normalized position.
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object.
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position.
 
virtual float getPositionX () const
 Gets the x coordinate of the node in its parent's coordinate system.
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system.
 
virtual float getPositionY () const
 Gets the y coordinate of the node in its parent's coordinate system.
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system.
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system.
 
virtual float getPositionZ () const
 Gets position Z coordinate of this node.
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees.
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees.
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent.
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels.
 
virtual const Vec2getContentSize () const
 Returns the untransformed size of the node.
 
virtual bool hitTest (const Vec2 &worldPoint) const
 The basic node hit test, since axmol-1.0.
 
virtual bool isVisible () const
 Determines if the node is visible.
 
virtual float getRotation () const
 Returns the rotation of the node in degrees.
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees.
 
virtual Vec3 getRotation3D () const
 Returns the rotation (X,Y,Z) in degrees.
 
virtual void setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion.
 
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.
 
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.
 
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node.
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily.
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily.
 
virtual std::string_view getName () const
 Returns a string that is used to identify the node.
 
virtual void setName (std::string_view name)
 Changes the name that is used to identify the node easily.
 
virtual void * getUserData ()
 Returns a custom user data pointer.
 
virtual const void * getUserData () const
 @lua NA
 
virtual void setUserData (void *userData)
 Sets a custom user data pointer.
 
virtual ObjectgetUserObject ()
 Returns a user assigned Object.
 
virtual const ObjectgetUserObject () const
 @lua NA
 
virtual void setUserObject (Object *userObject)
 Returns a user assigned Object.
 
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'.
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'.
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves the 'stage'.
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'.
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions.
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions.
 
virtual Action * runAction (Action *action)
 Executes an action, and returns the action that is executed.
 
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.
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag.
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag.
 
void stopActionsByFlags (unsigned int flags)
 Removes all actions from the running action list by its flags.
 
Action * getActionByTag (int tag)
 Gets an action from the running action list by its tag.
 
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).
 
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.
 
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers.
 
virtual SchedulergetScheduler ()
 Gets a Scheduler object.
 
bool isScheduled (SEL_SCHEDULE selector) const
 Checks whether a selector is scheduled.
 
bool isScheduled (std::string_view key) const
 Checks whether a lambda function is scheduled.
 
void scheduleUpdate ()
 Schedules the "update" method.
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority.
 
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector.
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds.
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger.
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, std::string_view key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger.
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame.
 
void schedule (const std::function< void(float)> &callback, std::string_view key)
 Schedules a lambda function.
 
void schedule (const std::function< void(float)> &callback, float interval, std::string_view key)
 Schedules a lambda function.
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, std::string_view key)
 Schedules a lambda function.
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector.
 
void unschedule (std::string_view key)
 Unschedules a lambda function.
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions.
 
virtual void resume ()
 Resumes all scheduled selectors, actions and event listeners.
 
virtual void pause ()
 Pauses all scheduled selectors, actions and event listeners.
 
virtual void update (float delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
 
virtual Mat4 getNodeToParentTransform (Node *ancestor) const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
 
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.
 
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually.
 
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
 
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix.
 
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix.
 
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates.
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates.
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates.
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points.
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2.
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate.
 
Vec2 getWorldPosition () const
 Gets position of node in world space.
 
void setWorldPosition (const Vec2 &position)
 Sets position of node in world space.
 
void setAdditionalTransform (const Mat4 *additionalTransform)
 Sets an additional transform matrix to the node.
 
Component * getComponent (std::string_view name)
 Gets a component by its name.
 
virtual bool addComponent (Component *component)
 Adds a component.
 
virtual bool removeComponent (std::string_view name)
 Removes a component by its name.
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer.
 
virtual void removeAllComponents ()
 Removes all components.
 
virtual NodegetChildByTag (int tag) const
 Gets a child from the container with its tag.
 
template<typename T>
getChildByTag (int tag) const
 Gets a child from the container with its tag that can be cast to Type T.
 
virtual NodegetChildByName (std::string_view name) const
 Gets a child from the container with its name.
 
template<typename T>
getChildByName (std::string_view name) const
 Gets a child from the container with its name that can be cast to Type T.
 
virtual void enumerateChildren (std::string_view name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name.
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children.
 
virtual ssize_t getChildrenCount () const
 Returns the amount of children.
 
virtual void setParent (Node *parent)
 Sets the parent node.
 
virtual NodegetParent ()
 Returns a pointer to the parent node.
 
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup.
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node.
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value.
 
virtual void removeChildByName (std::string_view name, bool cleanup=true)
 Removes a child from the container by tag value.
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup.
 
- Public Member Functions inherited from Object
void retain ()
 Retains the ownership.
 
void release ()
 Releases the ownership immediately.
 
Objectautorelease ()
 Releases the ownership sometime soon automatically.
 
unsigned int getReferenceCount () const
 Returns the Object's current reference count.
 
virtual ~Object ()
 Destructor.
 

Static Public Member Functions

static Scale9Spritecreate ()
 Create an empty Scale9Sprite.
 
static Scale9Spritecreate (std::string_view file, const Rect &rect, const Rect &capInsets)
 Creates a 9-slice sprite with a texture file, a delimitation zone and with the specified cap insets.
 
static Scale9Spritecreate (const Rect &capInsets, std::string_view file)
 Creates a 9-slice sprite with a texture file.
 
static Scale9Spritecreate (std::string_view file, const Rect &rect)
 Creates a 9-slice sprite with a texture file and a delimitation zone.
 
static Scale9Spritecreate (std::string_view file)
 Creates a 9-slice sprite with a texture file.
 
static Scale9SpritecreateWithSpriteFrame (SpriteFrame *spriteFrame)
 Creates a 9-slice sprite with an sprite frame.
 
static Scale9SpritecreateWithSpriteFrame (SpriteFrame *spriteFrame, const Rect &capInsets)
 Creates a 9-slice sprite with an sprite frame and the centre of its zone.
 
static Scale9SpritecreateWithSpriteFrameName (std::string_view spriteFrameName)
 Creates a 9-slice sprite with an sprite frame name.
 
static Scale9SpritecreateWithSpriteFrameName (std::string_view spriteFrameName, const Rect &capInsets)
 Creates a 9-slice sprite with an sprite frame name and the centre of its zone.
 
static Spritecreate (std::string_view filename)
 Creates a sprite with an image filename.
 
static Spritecreate (const PolygonInfo &info)
 Creates a polygon sprite with a polygon info.
 
static Spritecreate (std::string_view filename, const Rect &rect)
 Creates a sprite with an image filename and a rect.
 
static Spritecreate (const ax::Data &imageData, std::string_view key)
 Creates a sprite with an image data and an image key.
 
static SpritecreateWithTexture (Texture2D *texture)
 Creates a sprite with a Texture2D object.
 
static SpritecreateWithTexture (Texture2D *texture, const Rect &rect, bool rotated=false)
 Creates a sprite with a texture and a rect.
 
static SpritecreateWithSpriteFrame (SpriteFrame *spriteFrame)
 Creates a sprite with an sprite frame.
 
static SpritecreateWithSpriteFrameName (std::string_view spriteFrameName)
 Creates a sprite with an sprite frame name.
 
static Nodecreate ()
 Allocates and initializes a node.
 
static int getAttachedNodeCount ()
 Gets count of nodes those are attached to scene graph.
 
template<typename _T>
static void sortNodes (ax::Vector< _T * > &nodes)
 Sorts helper function.
 

Additional Inherited Members

- Public Attributes inherited from Object
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
- Static Public Attributes inherited from Sprite
static const int INDEX_NOT_INITIALIZED = -1
 Sprite invalid index on the SpriteBatchNode.
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 

Detailed Description

A 9-slice sprite for cocos2d-x.

9-slice scaling allows you to specify how scaling is applied to specific areas of a sprite. With 9-slice scaling (3x3 grid), you can ensure that the sprite does not become distorted when scaled. Note: When you set _scale9Enabled to false, then you could call scale9Sprite->getSprite() to return the inner Sprite pointer. Then you could call any methods of Sprite class with the return pointers.

Member Enumeration Documentation

◆ State

enum class State
strong

Builtin shader state.

Currently support Normal and Gray state.

Constructor & Destructor Documentation

◆ Scale9Sprite()

Default constructor.

@js ctor @lua new

◆ ~Scale9Sprite()

virtual ~Scale9Sprite ( )
virtual

Default destructor.

@js NA @lua NA

Member Function Documentation

◆ create() [1/5]

static Scale9Sprite * create ( )
static

Create an empty Scale9Sprite.

Returns
A Scale9Sprite instance.

◆ create() [2/5]

static Scale9Sprite * create ( std::string_view file,
const Rect & rect,
const Rect & capInsets )
static

Creates a 9-slice sprite with a texture file, a delimitation zone and with the specified cap insets.

See also
initWithFile(const char *file, const Rect& rect, const Rect& capInsets)
Parameters
fileA texture file name.
rectA delimitation zone.
capInsetsA specified cap insets.
Returns
A Scale9Sprite instance.

◆ create() [3/5]

static Scale9Sprite * create ( const Rect & capInsets,
std::string_view file )
static

Creates a 9-slice sprite with a texture file.

The whole texture will be broken down into a 3×3 grid of equal blocks.

See also
initWithFile(const Rect& capInsets, const char *file)
Parameters
capInsetsA specified cap insets.
fileA texture file name.
Returns
A Scale9Sprite instance.

◆ create() [4/5]

static Scale9Sprite * create ( std::string_view file,
const Rect & rect )
static

Creates a 9-slice sprite with a texture file and a delimitation zone.

The texture will be broken down into a 3×3 grid of equal blocks.

See also
initWithFile(const char *file, const Rect& rect)
Parameters
fileA texture file name.
rectA delimitation zone.
Returns
A Scale9Sprite instance.

◆ create() [5/5]

static Scale9Sprite * create ( std::string_view file)
static

Creates a 9-slice sprite with a texture file.

The whole texture will be broken down into a 3×3 grid of equal blocks.

See also
initWithFile(const char *file)
Parameters
fileA texture file name.
Returns
A Scale9Sprite instance.

◆ createWithSpriteFrame() [1/2]

static Scale9Sprite * createWithSpriteFrame ( SpriteFrame * spriteFrame)
static

Creates a 9-slice sprite with an sprite frame.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

See also
initWithSpriteFrame(SpriteFrame *spriteFrame)
Parameters
spriteFrameA sprite frame pointer.
Returns
A Scale9Sprite instance.

◆ createWithSpriteFrame() [2/2]

static Scale9Sprite * createWithSpriteFrame ( SpriteFrame * spriteFrame,
const Rect & capInsets )
static

Creates a 9-slice sprite with an sprite frame and the centre of its zone.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

See also
initWithSpriteFrame(SpriteFrame *spriteFrame, const Rect& capInsets)
Parameters
spriteFrameA sprite frame pointer.
capInsetsA delimitation zone.
Returns
A Scale9Sprite instance.

◆ createWithSpriteFrameName() [1/2]

static Scale9Sprite * createWithSpriteFrameName ( std::string_view spriteFrameName)
static

Creates a 9-slice sprite with an sprite frame name.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

See also
initWithSpriteFrameName(const char *spriteFrameName)
Parameters
spriteFrameNameA sprite frame name.
Returns
A Scale9Sprite instance.

◆ createWithSpriteFrameName() [2/2]

static Scale9Sprite * createWithSpriteFrameName ( std::string_view spriteFrameName,
const Rect & capInsets )
static

Creates a 9-slice sprite with an sprite frame name and the centre of its zone.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

See also
initWithSpriteFrameName(const char *spriteFrameName, const Rect& capInsets)
Parameters
spriteFrameNameA sprite frame name.
capInsetsA delimitation zone.
Returns
A Scale9Sprite instance.

◆ initWithFile() [1/4]

virtual bool initWithFile ( std::string_view file,
const Rect & rect,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with a texture file, a delimitation zone and with the specified cap insets.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
fileThe name of the texture file.
rectThe rectangle that describes the sub-part of the texture that is the whole image. If the shape is the whole texture, set this to the texture's full rect.
capInsetsThe values to use for the cap insets.
Returns
True if initialize success, false otherwise.

◆ initWithFile() [2/4]

virtual bool initWithFile ( const Rect & capInsets,
std::string_view file )
virtual

Initializes a 9-slice sprite with a texture file and with the specified cap insets.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
fileThe name of the texture file.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ initWithSpriteFrame() [1/2]

virtual bool initWithSpriteFrame ( SpriteFrame * spriteFrame,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with an sprite frame and with the specified cap insets.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteFrameThe sprite frame object.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ initWithSpriteFrameName() [1/2]

virtual bool initWithSpriteFrameName ( std::string_view spriteFrameName,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with an sprite frame name and with the specified cap insets.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteFrameNameThe sprite frame name.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ initWithFile() [3/4]

virtual bool initWithFile ( std::string_view file,
const Rect & rect )
overridevirtual

Initializes a 9-slice sprite with a texture file and a delimitation zone.

The texture will be broken down into a 3×3 grid of equal blocks. Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
fileThe name of the texture file.
rectThe rectangle that describes the sub-part of the texture that is the whole image. If the shape is the whole texture, set this to the texture's full rect.
Returns
True if initializes success, false otherwise.

Reimplemented from Sprite.

◆ initWithFile() [4/4]

virtual bool initWithFile ( std::string_view file)
overridevirtual

Initializes a 9-slice sprite with a texture file.

The whole texture will be broken down into a 3×3 grid of equal blocks. Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
fileThe name of the texture file.
Returns
True if initializes success, false otherwise.

Reimplemented from Sprite.

◆ initWithSpriteFrameName() [2/2]

virtual bool initWithSpriteFrameName ( std::string_view spriteFrameName)
overridevirtual

Initializes a 9-slice sprite with an sprite frame name.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteFrameNameThe sprite frame name.
Returns
True if initializes success, false otherwise.

Reimplemented from Sprite.

◆ init() [1/3]

virtual bool init ( Sprite * sprite,
const Rect & rect,
bool rotated,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with an sprite instance.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteThe sprite instance.
rectA delimitation zone.
rotatedWhether the sprite is rotated or not.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ init() [2/3]

virtual bool init ( Sprite * sprite,
const Rect & rect,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with an sprite instance.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteThe sprite instance.
rectA delimitation zone.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ init() [3/3]

virtual bool init ( Sprite * sprite,
const Rect & rect,
bool rotated,
const Vec2 & offset,
const Vec2 & originalSize,
const Rect & capInsets )
virtual

Initializes a 9-slice sprite with an sprite instance.

Once the sprite is created, you can then call its "setContentSize:" method to resize the sprite will all it's 9-slice goodness interact. It respects the anchorPoint too.

Parameters
spriteThe sprite instance.
rectA delimitation zone.
rotatedWhether the sprite is rotated or not.
offsetThe offset when slice the sprite.
originalSizeThe original size of sprite.
capInsetsThe values to use for the cap insets.
Returns
True if initializes success, false otherwise.

◆ resizableSpriteWithCapInsets()

Scale9Sprite * resizableSpriteWithCapInsets ( const Rect & capInsets) const

Creates and returns a new sprite object with the specified cap insets.

You use this method to add cap insets to a sprite or to change the existing cap insets of a sprite. In both cases, you get back a new image and the original sprite remains untouched.

Parameters
capInsetsThe values to use for the cap insets.
Returns
A Scale9Sprite instance.

◆ updateWithSprite() [1/2]

virtual bool updateWithSprite ( Sprite * sprite,
const Rect & rect,
bool rotated,
const Rect & capInsets )
virtual

Update Scale9Sprite with a specified sprite.

Parameters
spriteA sprite pointer.
rectA delimitation zone.
rotatedWhether the sprite is rotated or not.
capInsetsThe Values to use for the cap insets.
Returns
True if update success, false otherwise. @js NA

◆ updateWithSprite() [2/2]

virtual bool updateWithSprite ( Sprite * sprite,
const Rect & rect,
bool rotated,
const Vec2 & offset,
const Vec2 & originalSize,
const Rect & capInsets )
virtual

Update Scale9Sprite with a specified sprite.

Parameters
spriteA sprite pointer.
rectA delimitation zone.
rotatedWhether the sprite is rotated or not.
offsetThe offset when slice the sprite.
originalSizeThe original size of the sprite.
capInsetsThe Values to use for the cap insets.
Returns
True if update success, false otherwise. @js NA

◆ setSpriteFrame() [1/2]

virtual void setSpriteFrame ( SpriteFrame * spriteFrame,
const Rect & capInsets )
virtual

Change inner sprite's sprite frame.

Parameters
spriteFrameA sprite frame pointer.
capInsetsThe values to use for the cap insets.

◆ setState()

void setState ( State state)

Change the state of 9-slice sprite.

See also
State
Parameters
stateA enum value in State.
Since
v3.4

◆ getState()

State getState ( ) const

Query the current bright state.

Returns
See also
State
Since
v3.7

◆ getOriginalSize()

Vec2 getOriginalSize ( ) const

Query the sprite's original size.

Returns
Sprite size.

◆ setPreferredSize()

void setPreferredSize ( const Vec2 & size)

Change the preferred size of Scale9Sprite.

Parameters
sizeA delimitation zone.

◆ getPreferredSize()

Vec2 getPreferredSize ( ) const

Query the Scale9Sprite's preferred size.

Returns
Scale9Sprite's preferred size.

◆ setInsetLeft()

void setInsetLeft ( float leftInset)

Change the left sprite's cap inset.

Parameters
leftInsetThe values to use for the cap inset.

◆ getInsetLeft()

float getInsetLeft ( ) const

Query the left sprite's cap inset.

Returns
The left sprite's cap inset.

◆ setInsetTop()

void setInsetTop ( float topInset)

Change the top sprite's cap inset.

Parameters
topInsetThe values to use for the cap inset.

◆ getInsetTop()

float getInsetTop ( ) const

Query the top sprite's cap inset.

Returns
The top sprite's cap inset.

◆ setInsetRight()

void setInsetRight ( float rightInset)

Change the right sprite's cap inset.

Parameters
rightInsetThe values to use for the cap inset.

◆ getInsetRight()

float getInsetRight ( ) const

Query the right sprite's cap inset.

Returns
The right sprite's cap inset.

◆ setInsetBottom()

void setInsetBottom ( float bottomInset)

Change the bottom sprite's cap inset.

Parameters
bottomInsetThe values to use for the cap inset.

◆ getInsetBottom()

float getInsetBottom ( ) const

Query the bottom sprite's cap inset.

Returns
The bottom sprite's cap inset.

◆ setScale9Enabled()

void setScale9Enabled ( bool enabled)

Toggle 9-slice feature.

If Scale9Sprite is 9-slice disabled, the Scale9Sprite will rendered as a normal sprite.

Warning
: Don't use setScale9Enabled(false), use setRenderingType(RenderingType::SIMPLE) instead. The setScale9Enabled(false) is kept only for back back compatibility.
Parameters
enabledTrue to enable 9-slice, false otherwise. @js NA

◆ isScale9Enabled()

bool isScale9Enabled ( ) const

Query whether the Scale9Sprite is enable 9-slice or not.

Returns
True if 9-slice is enabled, false otherwise. @js NA

◆ getSprite()

Sprite * getSprite ( )

Get the original no 9-sliced sprite.

Returns
A sprite instance.

◆ setRenderingType()

void setRenderingType ( RenderingType type)

Set the slice sprite rendering type.

When setting to SIMPLE, only 4 vertexes is used to rendering. otherwise 16 vertexes will be used to rendering.

See also
RenderingType

◆ initWithSpriteFrame() [2/2]

virtual bool initWithSpriteFrame ( SpriteFrame * spriteFrame)
virtual

Initializes a sprite with an SpriteFrame.

The texture and rect in SpriteFrame will be applied on this sprite.

Parameters
spriteFrameA SpriteFrame object. It should includes a valid texture and a rect.
Returns
True if the sprite is initialized properly, false otherwise.

Reimplemented from Sprite.

◆ setSpriteFrame() [2/2]

virtual void setSpriteFrame ( std::string_view spriteFrameName)
virtual

Sets a new SpriteFrame to the Sprite.

Reimplemented from Sprite.


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