mirror of https://github.com/axmolengine/axmol.git
issue #4636. refactor Scale9Sprite
This commit is contained in:
parent
b27fe6ecc2
commit
0a6b0a4389
|
@ -167,9 +167,9 @@ void Button::setScale9Enabled(bool able)
|
|||
_buttonDisableRenderer = Sprite::create();
|
||||
}
|
||||
|
||||
loadTextureNormal(_normalFileName.c_str(), _normalTexType);
|
||||
loadTexturePressed(_clickedFileName.c_str(), _pressedTexType);
|
||||
loadTextureDisabled(_disabledFileName.c_str(), _disabledTexType);
|
||||
loadTextureNormal(_normalFileName, _normalTexType);
|
||||
loadTexturePressed(_clickedFileName, _pressedTexType);
|
||||
loadTextureDisabled(_disabledFileName, _disabledTexType);
|
||||
addProtectedChild(_buttonNormalRenderer, NORMAL_RENDERER_Z, -1);
|
||||
addProtectedChild(_buttonClickedRenderer, PRESSED_RENDERER_Z, -1);
|
||||
addProtectedChild(_buttonDisableRenderer, DISABLED_RENDERER_Z, -1);
|
||||
|
@ -227,10 +227,10 @@ void Button::loadTextureNormal(const std::string& normal,TextureResType texType)
|
|||
switch (_normalTexType)
|
||||
{
|
||||
case UI_TEX_TYPE_LOCAL:
|
||||
normalRendererScale9->initWithFile(normal.c_str());
|
||||
normalRendererScale9->initWithFile(normal);
|
||||
break;
|
||||
case UI_TEX_TYPE_PLIST:
|
||||
normalRendererScale9->initWithSpriteFrameName(normal.c_str());
|
||||
normalRendererScale9->initWithSpriteFrameName(normal);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -275,10 +275,10 @@ void Button::loadTexturePressed(const std::string& selected,TextureResType texTy
|
|||
switch (_pressedTexType)
|
||||
{
|
||||
case UI_TEX_TYPE_LOCAL:
|
||||
clickedRendererScale9->initWithFile(selected.c_str());
|
||||
clickedRendererScale9->initWithFile(selected);
|
||||
break;
|
||||
case UI_TEX_TYPE_PLIST:
|
||||
clickedRendererScale9->initWithSpriteFrameName(selected.c_str());
|
||||
clickedRendererScale9->initWithSpriteFrameName(selected);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -323,10 +323,10 @@ void Button::loadTextureDisabled(const std::string& disabled,TextureResType texT
|
|||
switch (_disabledTexType)
|
||||
{
|
||||
case UI_TEX_TYPE_LOCAL:
|
||||
disabledScale9->initWithFile(disabled.c_str());
|
||||
disabledScale9->initWithFile(disabled);
|
||||
break;
|
||||
case UI_TEX_TYPE_PLIST:
|
||||
disabledScale9->initWithSpriteFrameName(disabled.c_str());
|
||||
disabledScale9->initWithSpriteFrameName(disabled);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -745,9 +745,9 @@ void Button::copySpecialProperties(Widget *widget)
|
|||
{
|
||||
_prevIgnoreSize = button->_prevIgnoreSize;
|
||||
setScale9Enabled(button->_scale9Enabled);
|
||||
loadTextureNormal(button->_normalFileName.c_str(), button->_normalTexType);
|
||||
loadTexturePressed(button->_clickedFileName.c_str(), button->_pressedTexType);
|
||||
loadTextureDisabled(button->_disabledFileName.c_str(), button->_disabledTexType);
|
||||
loadTextureNormal(button->_normalFileName, button->_normalTexType);
|
||||
loadTexturePressed(button->_clickedFileName, button->_pressedTexType);
|
||||
loadTextureDisabled(button->_disabledFileName, button->_disabledTexType);
|
||||
setCapInsetsNormalRenderer(button->_capInsetsNormal);
|
||||
setCapInsetsPressedRenderer(button->_capInsetsPressed);
|
||||
setCapInsetsDisabledRenderer(button->_capInsetsDisabled);
|
||||
|
|
|
@ -386,6 +386,22 @@ TextField* TextField::create()
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
TextField* TextField::create(const std::string &placeholder, const std::string &fontName, int fontSize)
|
||||
{
|
||||
TextField* widget = new TextField();
|
||||
if (widget && widget->init())
|
||||
{
|
||||
widget->setTouchEnabled(true);
|
||||
widget->setPlaceHolder(placeholder);
|
||||
widget->setFontName(fontName);
|
||||
widget->setFontSize(fontSize);
|
||||
widget->autorelease();
|
||||
return widget;
|
||||
}
|
||||
CC_SAFE_DELETE(widget);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool TextField::init()
|
||||
{
|
||||
if (Widget::init())
|
||||
|
|
|
@ -110,6 +110,9 @@ public:
|
|||
TextField();
|
||||
virtual ~TextField();
|
||||
static TextField* create();
|
||||
static TextField* create(const std::string& placeholder,
|
||||
const std::string& fontName,
|
||||
int fontSize);
|
||||
void setTouchSize(const Size &size);
|
||||
Size getTouchSize();
|
||||
void setTouchAreaEnabled(bool enable);
|
||||
|
|
|
@ -458,16 +458,14 @@ void Scale9Sprite::updatePositions()
|
|||
_centre->setPosition(Point(leftWidth, bottomHeight));
|
||||
}
|
||||
|
||||
bool Scale9Sprite::initWithFile(const char* file, const Rect& rect, const Rect& capInsets)
|
||||
{
|
||||
CCASSERT(file != NULL, "Invalid file for sprite");
|
||||
|
||||
bool Scale9Sprite::initWithFile(const std::string& file, const Rect& rect, const Rect& capInsets)
|
||||
{
|
||||
SpriteBatchNode *batchnode = SpriteBatchNode::create(file, 9);
|
||||
bool pReturn = this->initWithBatchNode(batchnode, rect, capInsets);
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::create(const char* file, const Rect& rect, const Rect& capInsets)
|
||||
Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect, const Rect& capInsets)
|
||||
{
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithFile(file, rect, capInsets) )
|
||||
|
@ -479,14 +477,13 @@ Scale9Sprite* Scale9Sprite::create(const char* file, const Rect& rect, const Re
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool Scale9Sprite::initWithFile(const char* file, const Rect& rect)
|
||||
bool Scale9Sprite::initWithFile(const std::string& file, const Rect& rect)
|
||||
{
|
||||
CCASSERT(file != NULL, "Invalid file for sprite");
|
||||
bool pReturn = this->initWithFile(file, rect, Rect::ZERO);
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::create(const char* file, const Rect& rect)
|
||||
Scale9Sprite* Scale9Sprite::create(const std::string& file, const Rect& rect)
|
||||
{
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithFile(file, rect) )
|
||||
|
@ -499,13 +496,13 @@ Scale9Sprite* Scale9Sprite::create(const char* file, const Rect& rect)
|
|||
}
|
||||
|
||||
|
||||
bool Scale9Sprite::initWithFile(const Rect& capInsets, const char* file)
|
||||
bool Scale9Sprite::initWithFile(const Rect& capInsets, const std::string& file)
|
||||
{
|
||||
bool pReturn = this->initWithFile(file, Rect::ZERO, capInsets);
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::create(const Rect& capInsets, const char* file)
|
||||
Scale9Sprite* Scale9Sprite::create(const Rect& capInsets, const std::string& file)
|
||||
{
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithFile(capInsets, file) )
|
||||
|
@ -517,14 +514,14 @@ Scale9Sprite* Scale9Sprite::create(const Rect& capInsets, const char* file)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool Scale9Sprite::initWithFile(const char* file)
|
||||
bool Scale9Sprite::initWithFile(const std::string& file)
|
||||
{
|
||||
bool pReturn = this->initWithFile(file, Rect::ZERO);
|
||||
return pReturn;
|
||||
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::create(const char* file)
|
||||
Scale9Sprite* Scale9Sprite::create(const std::string& file)
|
||||
{
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithFile(file) )
|
||||
|
@ -578,7 +575,7 @@ Scale9Sprite* Scale9Sprite::createWithSpriteFrame(SpriteFrame* spriteFrame)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool Scale9Sprite::initWithSpriteFrameName(const char* spriteFrameName, const Rect& capInsets)
|
||||
bool Scale9Sprite::initWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets)
|
||||
{
|
||||
CCASSERT((SpriteFrameCache::getInstance()) != NULL, "SpriteFrameCache::getInstance() must be non-NULL");
|
||||
|
||||
|
@ -591,7 +588,7 @@ bool Scale9Sprite::initWithSpriteFrameName(const char* spriteFrameName, const Re
|
|||
return pReturn;
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const char* spriteFrameName, const Rect& capInsets)
|
||||
Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets)
|
||||
{
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName, capInsets) )
|
||||
|
@ -603,16 +600,14 @@ Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const char* spriteFrameNam
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool Scale9Sprite::initWithSpriteFrameName(const char* spriteFrameName)
|
||||
bool Scale9Sprite::initWithSpriteFrameName(const std::string& spriteFrameName)
|
||||
{
|
||||
bool pReturn = this->initWithSpriteFrameName(spriteFrameName, Rect::ZERO);
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const char* spriteFrameName)
|
||||
Scale9Sprite* Scale9Sprite::createWithSpriteFrameName(const std::string& spriteFrameName)
|
||||
{
|
||||
CCASSERT(spriteFrameName != NULL, "spriteFrameName must be non-NULL");
|
||||
|
||||
Scale9Sprite* pReturn = new Scale9Sprite();
|
||||
if ( pReturn && pReturn->initWithSpriteFrameName(spriteFrameName) )
|
||||
{
|
||||
|
|
|
@ -75,7 +75,7 @@ public:
|
|||
*
|
||||
* @see initWithFile(const char *file, const Rect& rect, const Rect& capInsets)
|
||||
*/
|
||||
static Scale9Sprite* create(const char* file, const Rect& rect, const Rect& capInsets);
|
||||
static Scale9Sprite* create(const std::string& file, const Rect& rect, const Rect& capInsets);
|
||||
|
||||
/**
|
||||
* Creates a 9-slice sprite with a texture file. The whole texture will be
|
||||
|
@ -83,7 +83,7 @@ public:
|
|||
*
|
||||
* @see initWithFile(const Rect& capInsets, const char *file)
|
||||
*/
|
||||
static Scale9Sprite* create(const Rect& capInsets, const char* file);
|
||||
static Scale9Sprite* create(const Rect& capInsets, const std::string& file);
|
||||
|
||||
/**
|
||||
* Creates a 9-slice sprite with a texture file and a delimitation zone. The
|
||||
|
@ -91,7 +91,7 @@ public:
|
|||
*
|
||||
* @see initWithFile(const char *file, const Rect& rect)
|
||||
*/
|
||||
static Scale9Sprite* create(const char* file, const Rect& rect);
|
||||
static Scale9Sprite* create(const std::string& file, const Rect& rect);
|
||||
|
||||
/**
|
||||
* Creates a 9-slice sprite with a texture file. The whole texture will be
|
||||
|
@ -99,7 +99,7 @@ public:
|
|||
*
|
||||
* @see initWithFile(const char *file)
|
||||
*/
|
||||
static Scale9Sprite* create(const char* file);
|
||||
static Scale9Sprite* create(const std::string& file);
|
||||
|
||||
/**
|
||||
* Creates a 9-slice sprite with an sprite frame.
|
||||
|
@ -129,7 +129,7 @@ public:
|
|||
*
|
||||
* @see initWithSpriteFrameName(const char *spriteFrameName)
|
||||
*/
|
||||
static Scale9Sprite* createWithSpriteFrameName(const char*spriteFrameName);
|
||||
static Scale9Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);
|
||||
|
||||
/**
|
||||
* Creates a 9-slice sprite with an sprite frame name and the centre of its
|
||||
|
@ -140,7 +140,7 @@ public:
|
|||
*
|
||||
* @see initWithSpriteFrameName(const char *spriteFrameName, const Rect& capInsets)
|
||||
*/
|
||||
static Scale9Sprite* createWithSpriteFrameName(const char*spriteFrameName, const Rect& capInsets);
|
||||
static Scale9Sprite* createWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with a texture file, a delimitation zone and
|
||||
|
@ -155,7 +155,7 @@ public:
|
|||
* texture's full rect.
|
||||
* @param capInsets The values to use for the cap insets.
|
||||
*/
|
||||
virtual bool initWithFile(const char* file, const Rect& rect, const Rect& capInsets);
|
||||
virtual bool initWithFile(const std::string& file, const Rect& rect, const Rect& capInsets);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with a texture file and a delimitation zone. The
|
||||
|
@ -169,7 +169,7 @@ public:
|
|||
* 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, const Rect& rect);
|
||||
virtual bool initWithFile(const std::string& file, const Rect& rect);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with a texture file and with the specified cap
|
||||
|
@ -181,7 +181,7 @@ public:
|
|||
* @param file The name of the texture file.
|
||||
* @param capInsets The values to use for the cap insets.
|
||||
*/
|
||||
virtual bool initWithFile(const Rect& capInsets, const char* file);
|
||||
virtual bool initWithFile(const Rect& capInsets, const std::string& file);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with a texture file. The whole texture will be
|
||||
|
@ -192,7 +192,7 @@ public:
|
|||
*
|
||||
* @param file The name of the texture file.
|
||||
*/
|
||||
virtual bool initWithFile(const char* file);
|
||||
virtual bool initWithFile(const std::string& file);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with an sprite frame and with the specified
|
||||
|
@ -226,7 +226,7 @@ public:
|
|||
* @param spriteFrameName The sprite frame name.
|
||||
* @param capInsets The values to use for the cap insets.
|
||||
*/
|
||||
virtual bool initWithSpriteFrameName(const char*spriteFrameName, const Rect& capInsets);
|
||||
virtual bool initWithSpriteFrameName(const std::string& spriteFrameName, const Rect& capInsets);
|
||||
|
||||
/**
|
||||
* Initializes a 9-slice sprite with an sprite frame name.
|
||||
|
@ -236,7 +236,7 @@ public:
|
|||
*
|
||||
* @param spriteFrameName The sprite frame name.
|
||||
*/
|
||||
virtual bool initWithSpriteFrameName(const char*spriteFrameName);
|
||||
virtual bool initWithSpriteFrameName(const std::string& spriteFrameName);
|
||||
|
||||
virtual bool init();
|
||||
virtual bool initWithBatchNode(SpriteBatchNode* batchnode, const Rect& rect, bool rotated, const Rect& capInsets);
|
||||
|
|
|
@ -38,11 +38,8 @@ bool UITextFieldTest::init()
|
|||
_uiLayer->addChild(alert);
|
||||
|
||||
// Create the textfield
|
||||
TextField* textField = TextField::create();
|
||||
textField->setTouchEnabled(true);
|
||||
textField->setFontName("fonts/Marker Felt.ttf");
|
||||
textField->setFontSize(30);
|
||||
textField->setPlaceHolder("input words here");
|
||||
TextField* textField = TextField::create("input words here","fonts/Marker Felt.ttf",30);
|
||||
|
||||
textField->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
|
||||
textField->addEventListenerTextField(this, textfieldeventselector(UITextFieldTest::textFieldEvent));
|
||||
_uiLayer->addChild(textField);
|
||||
|
|
Loading…
Reference in New Issue