mirror of https://github.com/axmolengine/axmol.git
issue #5110, refactor UITextAtlas
This commit is contained in:
parent
e6889dca36
commit
76cefcaa3f
|
@ -62,7 +62,7 @@ TextAtlas* TextAtlas::create()
|
||||||
|
|
||||||
void TextAtlas::initRenderer()
|
void TextAtlas::initRenderer()
|
||||||
{
|
{
|
||||||
_labelAtlasRenderer = LabelAtlas::create();
|
_labelAtlasRenderer = Label::create();
|
||||||
_labelAtlasRenderer->setAnchorPoint(Point::ANCHOR_MIDDLE);
|
_labelAtlasRenderer->setAnchorPoint(Point::ANCHOR_MIDDLE);
|
||||||
addProtectedChild(_labelAtlasRenderer, LABELATLAS_RENDERER_Z, -1);
|
addProtectedChild(_labelAtlasRenderer, LABELATLAS_RENDERER_Z, -1);
|
||||||
}
|
}
|
||||||
|
@ -91,26 +91,34 @@ void TextAtlas::setProperty(const std::string& stringValue, const std::string& c
|
||||||
_itemWidth = itemWidth;
|
_itemWidth = itemWidth;
|
||||||
_itemHeight = itemHeight;
|
_itemHeight = itemHeight;
|
||||||
_startCharMap = startCharMap;
|
_startCharMap = startCharMap;
|
||||||
_labelAtlasRenderer->initWithString(stringValue, charMapFile, itemWidth, itemHeight, (int)(startCharMap[0]));
|
|
||||||
|
_labelAtlasRenderer->setCharMap(_charMapFileName, _itemWidth, _itemHeight, (int)(_startCharMap[0]));
|
||||||
|
_labelAtlasRenderer->setString(stringValue);
|
||||||
|
|
||||||
updateContentSizeWithTextureSize(_labelAtlasRenderer->getContentSize());
|
updateContentSizeWithTextureSize(_labelAtlasRenderer->getContentSize());
|
||||||
_labelAtlasRendererAdaptDirty = true;
|
_labelAtlasRendererAdaptDirty = true;
|
||||||
CCLOG("cs w %f, h %f", _contentSize.width, _contentSize.height);
|
// CCLOG("cs w %f, h %f", _contentSize.width, _contentSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextAtlas::setStringValue(const std::string& value)
|
void TextAtlas::setString(const std::string& value)
|
||||||
{
|
{
|
||||||
_stringValue = value;
|
_stringValue = value;
|
||||||
_labelAtlasRenderer->setString(value);
|
_labelAtlasRenderer->setString(value);
|
||||||
updateContentSizeWithTextureSize(_labelAtlasRenderer->getContentSize());
|
updateContentSizeWithTextureSize(_labelAtlasRenderer->getContentSize());
|
||||||
_labelAtlasRendererAdaptDirty = true;
|
_labelAtlasRendererAdaptDirty = true;
|
||||||
CCLOG("cssss w %f, h %f", _contentSize.width, _contentSize.height);
|
// CCLOG("cssss w %f, h %f", _contentSize.width, _contentSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& TextAtlas::getStringValue() const
|
const std::string& TextAtlas::getString() const
|
||||||
{
|
{
|
||||||
return _labelAtlasRenderer->getString();
|
return _labelAtlasRenderer->getString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ssize_t TextAtlas::getStringLength()
|
||||||
|
{
|
||||||
|
return _labelAtlasRenderer->getStringLength();
|
||||||
|
}
|
||||||
|
|
||||||
void TextAtlas::onSizeChanged()
|
void TextAtlas::onSizeChanged()
|
||||||
{
|
{
|
||||||
Widget::onSizeChanged();
|
Widget::onSizeChanged();
|
||||||
|
|
|
@ -73,10 +73,21 @@ public:
|
||||||
const std::string& startCharMap);
|
const std::string& startCharMap);
|
||||||
|
|
||||||
//set string value for labelatlas.
|
//set string value for labelatlas.
|
||||||
void setStringValue(const std::string& value);
|
CC_DEPRECATED_ATTRIBUTE void setStringValue(const std::string& value){this->setString(value);}
|
||||||
|
void setString(const std::string& value);
|
||||||
|
|
||||||
//get string value for labelatlas.
|
//get string value for labelatlas.
|
||||||
const std::string& getStringValue() const;
|
CC_DEPRECATED_ATTRIBUTE const std::string& getStringValue() const{return this->getString();}
|
||||||
|
const std::string& getString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the string length of the label.
|
||||||
|
* Note: This length will be larger than the raw string length,
|
||||||
|
* if you want to get the raw string length, you should call this->getString().size() instead
|
||||||
|
*
|
||||||
|
* @return string length.
|
||||||
|
*/
|
||||||
|
ssize_t getStringLength();
|
||||||
|
|
||||||
//override "getVirtualRendererSize" method of widget.
|
//override "getVirtualRendererSize" method of widget.
|
||||||
virtual const Size& getVirtualRendererSize() const override;
|
virtual const Size& getVirtualRendererSize() const override;
|
||||||
|
@ -100,7 +111,7 @@ protected:
|
||||||
virtual Widget* createCloneInstance() override;
|
virtual Widget* createCloneInstance() override;
|
||||||
virtual void copySpecialProperties(Widget* model) override;
|
virtual void copySpecialProperties(Widget* model) override;
|
||||||
protected:
|
protected:
|
||||||
LabelAtlas* _labelAtlasRenderer;
|
Label* _labelAtlasRenderer;
|
||||||
std::string _stringValue;
|
std::string _stringValue;
|
||||||
std::string _charMapFileName;
|
std::string _charMapFileName;
|
||||||
int _itemWidth;
|
int _itemWidth;
|
||||||
|
|
Loading…
Reference in New Issue