mirror of https://github.com/axmolengine/axmol.git
48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
#ifndef __FUILABEL_H__
|
||
#define __FUILABEL_H__
|
||
|
||
#include "cocos2d.h"
|
||
#include "FairyGUIMacros.h"
|
||
#include "TextFormat.h"
|
||
|
||
NS_FGUI_BEGIN
|
||
|
||
class FUILabel : public cocos2d::Label
|
||
{
|
||
public:
|
||
FUILabel();
|
||
virtual ~FUILabel();
|
||
|
||
CREATE_FUNC(FUILabel);
|
||
|
||
std::string_view getText() const { return getString(); }
|
||
void setText(std::string_view value);
|
||
|
||
TextFormat* getTextFormat() const { return _textFormat; }
|
||
void applyTextFormat();
|
||
|
||
void setUnderlineColor(const cocos2d::Color3B& value);
|
||
|
||
virtual bool setBMFontFilePath(const std::string& bmfontFilePath, const cocos2d::Vec2& imageOffset = cocos2d::Vec2::ZERO, float fontSize = 0) override;
|
||
|
||
void setGrayed(bool value);
|
||
protected:
|
||
/*
|
||
注意!!!如果这里出现了编译错误,需要修改cocos2d的源码,文件2d/CCLabel.h,大约在672行,为updateBMFontScale函数打上virtual修饰符。
|
||
因为这个方法里有强制字体对象指针为FontFnt类型的代码,但我们不使用FontFnt(FontFnt只支持从外部文件中载入配置,更糟糕的是BMFontConfiguration是定义在cpp里的。)
|
||
所以需要重写这个方法。
|
||
*/
|
||
virtual void updateBMFontScale() override;
|
||
|
||
private:
|
||
TextFormat* _textFormat;
|
||
std::string _fontName;
|
||
int _fontSize;
|
||
bool _bmFontCanTint;
|
||
bool _grayed;
|
||
};
|
||
|
||
NS_FGUI_END
|
||
|
||
#endif
|