2012-09-25 17:26:09 +08:00
|
|
|
|
/****************************************************************************
|
|
|
|
|
Copyright (c) 2012 cocos2d-x.org
|
|
|
|
|
|
|
|
|
|
http://www.cocos2d-x.org
|
|
|
|
|
|
|
|
|
|
Created by Jung Sang-Taik on 12. 3. 16..
|
|
|
|
|
Copyright (c) 2012 Neofect. All rights reserved.
|
|
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
|
THE SOFTWARE.
|
|
|
|
|
****************************************************************************/
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
|
|
|
|
#ifndef __CCScale9Sprite_H__
|
|
|
|
|
#define __CCScale9Sprite_H__
|
|
|
|
|
|
2012-09-25 16:57:51 +08:00
|
|
|
|
#include "cocos2d.h"
|
2012-07-20 14:05:52 +08:00
|
|
|
|
#include "ExtensionMacros.h"
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
2012-04-27 18:47:49 +08:00
|
|
|
|
NS_CC_EXT_BEGIN
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
2012-06-20 18:09:11 +08:00
|
|
|
|
/**
|
|
|
|
|
* @addtogroup GUI
|
|
|
|
|
* @{
|
|
|
|
|
* @addtogroup control_extension
|
|
|
|
|
* @{
|
|
|
|
|
*/
|
|
|
|
|
|
2012-08-30 22:39:36 +08:00
|
|
|
|
class CCScale9Sprite : public CCNode, public CCRGBAProtocol
|
2012-04-16 18:58:43 +08:00
|
|
|
|
{
|
|
|
|
|
public:
|
2012-04-19 14:35:52 +08:00
|
|
|
|
CCScale9Sprite();
|
|
|
|
|
virtual ~CCScale9Sprite();
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
|
|
|
|
public:
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/** Original sprite's size. */
|
2012-09-25 16:57:51 +08:00
|
|
|
|
CC_SYNTHESIZE_READONLY(CCSize, m_originalSize, OriginalSize);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/** Prefered sprite's size. By default the prefered size is the original size. */
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
//if the preferredSize component is given as -1, it is ignored
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CC_PROPERTY(CCSize, m_preferredSize, PreferredSize);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* The end-cap insets.
|
|
|
|
|
* On a non-resizeable sprite, this property is set to CGRectZero; the sprite
|
|
|
|
|
* does not use end caps and the entire sprite is subject to stretching.
|
|
|
|
|
*/
|
|
|
|
|
CC_PROPERTY(CCRect, m_capInsets, CapInsets);
|
2012-09-25 16:57:51 +08:00
|
|
|
|
/** Sets the left side inset */
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CC_PROPERTY(float, m_insetLeft, InsetLeft);
|
2012-09-25 16:57:51 +08:00
|
|
|
|
/** Sets the top side inset */
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CC_PROPERTY(float, m_insetTop, InsetTop);
|
2012-09-25 16:57:51 +08:00
|
|
|
|
/** Sets the right side inset */
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CC_PROPERTY(float, m_insetRight, InsetRight);
|
2012-09-25 16:57:51 +08:00
|
|
|
|
/** Sets the bottom side inset */
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CC_PROPERTY(float, m_insetBottom, InsetBottom);
|
2012-09-25 16:57:51 +08:00
|
|
|
|
|
|
|
|
|
/** Opacity: conforms to CCRGBAProtocol protocol */
|
|
|
|
|
CC_PROPERTY(GLubyte, m_cOpacity, Opacity)
|
|
|
|
|
/** Color: conforms to CCRGBAProtocol protocol */
|
|
|
|
|
CC_PROPERTY_PASS_BY_REF(ccColor3B, m_tColor, Color)
|
|
|
|
|
|
2012-04-16 18:58:43 +08:00
|
|
|
|
protected:
|
2012-09-25 16:57:51 +08:00
|
|
|
|
bool m_bSpritesGenerated;
|
2012-04-19 14:35:52 +08:00
|
|
|
|
CCRect m_spriteRect;
|
2012-09-25 16:57:51 +08:00
|
|
|
|
bool m_bSpriteFrameRotated;
|
2012-06-01 02:47:16 +08:00
|
|
|
|
CCRect m_capInsetsInternal;
|
|
|
|
|
bool m_positionsAreDirty;
|
2012-04-16 18:58:43 +08:00
|
|
|
|
|
|
|
|
|
CCSpriteBatchNode* scale9Image;
|
|
|
|
|
CCSprite* topLeft;
|
|
|
|
|
CCSprite* top;
|
|
|
|
|
CCSprite* topRight;
|
|
|
|
|
CCSprite* left;
|
|
|
|
|
CCSprite* centre;
|
|
|
|
|
CCSprite* right;
|
|
|
|
|
CCSprite* bottomLeft;
|
|
|
|
|
CCSprite* bottom;
|
|
|
|
|
CCSprite* bottomRight;
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
|
|
/** Conforms to CocosNodeRGBA protocol. */
|
|
|
|
|
ccColor3B m_sColorUnmodified;
|
|
|
|
|
bool m_bIsOpacityModifyRGB;
|
2012-06-01 02:47:16 +08:00
|
|
|
|
|
|
|
|
|
void updateCapInset();
|
|
|
|
|
void updatePositions();
|
|
|
|
|
|
2012-04-16 18:58:43 +08:00
|
|
|
|
public:
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
2012-06-01 03:37:28 +08:00
|
|
|
|
virtual void setContentSize(const CCSize & size);
|
2012-06-01 02:47:16 +08:00
|
|
|
|
virtual void visit();
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
2012-06-01 02:47:16 +08:00
|
|
|
|
virtual bool init();
|
|
|
|
|
|
2012-09-25 16:57:51 +08:00
|
|
|
|
virtual bool initWithBatchNode(CCSpriteBatchNode* batchnode, CCRect rect, bool rotated, CCRect capInsets);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
virtual bool initWithBatchNode(CCSpriteBatchNode* batchnode, CCRect rect, CCRect capInsets);
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param file The name of the texture file.
|
|
|
|
|
* @param rect The 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.
|
|
|
|
|
* @param capInsets The values to use for the cap insets.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithFile(const char* file, CCRect rect, CCRect capInsets);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Creates a 9-slice sprite with a texture file, a delimitation zone and
|
|
|
|
|
* with the specified cap insets.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithFile:rect:centerRegion:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-04-19 14:35:52 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithFile(const char* file, CCRect rect, CCRect capInsets);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
2012-06-20 18:09:11 +08:00
|
|
|
|
/**
|
2012-06-14 15:13:16 +08:00
|
|
|
|
* Creates a 9-slice sprite with a texture file, a delimitation zone and
|
|
|
|
|
* with the specified cap insets.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithFile:rect:centerRegion:
|
|
|
|
|
*/
|
|
|
|
|
static CCScale9Sprite* create(const char* file, CCRect rect, CCRect capInsets);
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param file The name of the texture file.
|
|
|
|
|
* @param rect The 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.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithFile(const char* file, CCRect rect);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:rect:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-04-19 14:35:52 +08:00
|
|
|
|
*/
|
2012-09-25 16:57:51 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithFile(const char* file, CCRect rect);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:rect:
|
|
|
|
|
*/
|
|
|
|
|
static CCScale9Sprite* create(const char* file, CCRect rect);
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param file The name of the texture file.
|
|
|
|
|
* @param capInsets The values to use for the cap insets.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithFile(CCRect capInsets, const char* file);
|
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:capInsets:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithFile(CCRect capInsets, const char* file);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:capInsets:
|
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* create(CCRect capInsets, const char* file);
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param file The name of the texture file.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithFile(const char* file);
|
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithFile(const char* file);
|
2012-06-14 15:13:16 +08:00
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 initWithFile:
|
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* create(const char* file);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param spriteFrame The sprite frame object.
|
|
|
|
|
* @param capInsets The values to use for the cap insets.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithSpriteFrame(CCSpriteFrame* spriteFrame, CCRect capInsets);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrame:centerRegion:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithSpriteFrame(CCSpriteFrame* spriteFrame, CCRect capInsets);
|
2012-06-14 15:13:16 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrame:centerRegion:
|
2012-04-19 14:35:52 +08:00
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* createWithSpriteFrame(CCSpriteFrame* spriteFrame, CCRect capInsets);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* Initializes 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param spriteFrame The sprite frame object.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithSpriteFrame(CCSpriteFrame* spriteFrame);
|
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrame:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithSpriteFrame(CCSpriteFrame* spriteFrame);
|
2012-06-14 15:13:16 +08:00
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrame:
|
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* createWithSpriteFrame(CCSpriteFrame* spriteFrame);
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param spriteFrameName The sprite frame name.
|
|
|
|
|
* @param capInsets The values to use for the cap insets.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithSpriteFrameName(const char*spriteFrameName, CCRect capInsets);
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrameName:centerRegion:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithSpriteFrameName(const char*spriteFrameName, CCRect capInsets);
|
2012-06-14 15:13:16 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrameName:centerRegion:
|
2012-04-19 14:35:52 +08:00
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* createWithSpriteFrameName(const char*spriteFrameName, CCRect capInsets);
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @param spriteFrameName The sprite frame name.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool initWithSpriteFrameName(const char*spriteFrameName);
|
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrameName:
|
2012-06-20 14:31:36 +08:00
|
|
|
|
@deprecated: This interface will be deprecated sooner or later.
|
2012-06-14 15:13:16 +08:00
|
|
|
|
*/
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* spriteWithSpriteFrameName(const char*spriteFrameName);
|
2012-06-14 15:13:16 +08:00
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
/**
|
|
|
|
|
* 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 intract.
|
|
|
|
|
* It respects the anchorPoint too.
|
|
|
|
|
*
|
|
|
|
|
* @see initWithSpriteFrameName:
|
|
|
|
|
*/
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* createWithSpriteFrameName(const char*spriteFrameName);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
*
|
|
|
|
|
* @param capInsets The values to use for the cap insets.
|
|
|
|
|
*/
|
|
|
|
|
CCScale9Sprite* resizableSpriteWithCapInsets(CCRect capInsets);
|
|
|
|
|
|
2012-06-20 14:31:36 +08:00
|
|
|
|
//@deprecated: This interface will be deprecated sooner or later.
|
2012-06-20 11:48:31 +08:00
|
|
|
|
CC_DEPRECATED_ATTRIBUTE static CCScale9Sprite* node();
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
2012-06-14 15:13:16 +08:00
|
|
|
|
static CCScale9Sprite* create();
|
|
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
|
// optional
|
|
|
|
|
|
|
|
|
|
/** sets the premultipliedAlphaOpacity property.
|
|
|
|
|
If set to NO then opacity will be applied as: glColor(R,G,B,opacity);
|
|
|
|
|
If set to YES then oapcity will be applied as: glColor(opacity, opacity, opacity, opacity );
|
|
|
|
|
Textures with premultiplied alpha will have this property by default on YES. Otherwise the default value is NO
|
|
|
|
|
@since v0.8
|
|
|
|
|
*/
|
2012-06-15 15:10:40 +08:00
|
|
|
|
virtual void setOpacityModifyRGB(bool bValue);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
|
|
/** returns whether or not the opacity will be applied using glColor(R,G,B,opacity) or glColor(opacity, opacity, opacity, opacity);
|
|
|
|
|
@since v0.8
|
|
|
|
|
*/
|
2012-06-15 15:10:40 +08:00
|
|
|
|
virtual bool isOpacityModifyRGB(void);
|
2012-06-01 02:47:16 +08:00
|
|
|
|
|
2012-09-25 16:57:51 +08:00
|
|
|
|
virtual bool updateWithBatchNode(CCSpriteBatchNode* batchnode, CCRect rect, bool rotated, CCRect capInsets);
|
2012-06-01 02:47:16 +08:00
|
|
|
|
|
|
|
|
|
virtual void setSpriteFrame(CCSpriteFrame * spriteFrame);
|
2012-04-16 18:58:43 +08:00
|
|
|
|
};
|
|
|
|
|
|
2012-06-20 18:09:11 +08:00
|
|
|
|
// end of GUI group
|
|
|
|
|
/// @}
|
|
|
|
|
/// @}
|
|
|
|
|
|
2012-04-27 18:47:49 +08:00
|
|
|
|
NS_CC_EXT_END
|
2012-04-17 11:12:05 +08:00
|
|
|
|
|
2012-04-16 18:58:43 +08:00
|
|
|
|
#endif // __CCScale9Sprite_H__
|