41 #ifndef __CU_LABEL_H__
42 #define __CU_LABEL_H__
217 std::shared_ptr<Texture> _texture;
221 #pragma mark Constructors
235 ~Label() { clearRenderData(); _font =
nullptr; }
246 virtual void dispose()
override;
258 bool init(
const Size& size,
const std::shared_ptr<Font>& font);
277 bool initWithText(
const char* text,
const std::shared_ptr<Font>& font) {
298 bool initWithText(
const std::string& text,
const std::shared_ptr<Font>& font);
302 #pragma mark Static Constructors
313 static std::shared_ptr<Label>
alloc(
const Size& size,
const std::shared_ptr<Font>& font) {
314 std::shared_ptr<Label> result = std::make_shared<Label>();
315 return (result->init(size,font) ? result :
nullptr);
335 static std::shared_ptr<Label>
alloc(
const std::string& text,
const std::shared_ptr<Font>& font) {
336 std::shared_ptr<Label> result = std::make_shared<Label>();
337 return (result->initWithText(text,font) ? result :
nullptr);
360 static std::shared_ptr<Label>
alloc(
const char* text,
const std::shared_ptr<Font>& font) {
361 std::shared_ptr<Label> result = std::make_shared<Label>();
362 return (result->initWithText(text,font) ? result :
nullptr);
367 #pragma mark Text Attributes
400 void setText(
const std::string& text,
bool resize=
false);
650 #pragma mark Other Attributes
708 void setFont(
const std::shared_ptr<Font>& font,
bool resize=
false);
711 #pragma mark Rendering
735 virtual void draw(
const std::shared_ptr<SpriteBatch>& batch,
const Mat4& transform,
Color4 tint)
override;
739 #pragma mark Internal Helpers
755 void generateRenderData();
760 void clearRenderData();
virtual void setContentSize(const Size &size) override
float x
Definition: CUVec2.h:66
float y
Definition: CUVec2.h:68
void setText(const std::string &text, bool resize=false)
const Rect & getTextBounds() const
Definition: CULabel.h:580
bool _rendered
Definition: CULabel.h:212
Rect _textbounds
Definition: CULabel.h:195
bool initWithText(const char *text, const std::shared_ptr< Font > &font)
Definition: CULabel.h:277
void setPaddingX(float padx)
Definition: CULabel.h:502
virtual void draw(const std::shared_ptr< SpriteBatch > &batch, const Mat4 &transform, Color4 tint) override
const std::string & getText() const
Definition: CULabel.h:379
VAlign _valign
Definition: CULabel.h:204
~Label()
Definition: CULabel.h:235
VAlign getVerticalAlignment() const
Definition: CULabel.h:551
static std::shared_ptr< Label > alloc(const std::string &text, const std::shared_ptr< Font > &font)
Definition: CULabel.h:335
Vec2 _padding
Definition: CULabel.h:200
HAlign _halign
Definition: CULabel.h:202
std::vector< Vertex2 > _vertices
Definition: CULabel.h:214
std::shared_ptr< Font > getFont() const
Definition: CULabel.h:698
Color4 getBackground() const
Definition: CULabel.h:680
Color4 getForeground() const
Definition: CULabel.h:659
const Vec2 & getPadding() const
Definition: CULabel.h:418
float getBaseLine() const
Color4 _foreground
Definition: CULabel.h:207
static std::shared_ptr< Label > alloc(const char *text, const std::shared_ptr< Font > &font)
Definition: CULabel.h:360
void setPaddingY(float pady)
Definition: CULabel.h:519
HAlign
Definition: CULabel.h:85
void setBackground(Color4 color)
void setForeground(Color4 color)
Definition: CULabel.h:669
Color4 _background
Definition: CULabel.h:209
Rect _truebounds
Definition: CULabel.h:197
virtual void dispose() override
void setPadding(const Vec2 &padding)
Definition: CULabel.h:466
Vec2 origin
Definition: CURect.h:49
void setFont(const std::shared_ptr< Font > &font, bool resize=false)
std::vector< unsigned short > _indices
Definition: CULabel.h:216
float getPaddingX() const
Definition: CULabel.h:433
std::string _text
Definition: CULabel.h:193
std::shared_ptr< Font > _font
Definition: CULabel.h:190
Size size
Definition: CURect.h:51
Definition: CUColor4.h:1104
float getPaddingY() const
Definition: CULabel.h:448
Definition: CUAnimationNode.h:52
static std::shared_ptr< Label > alloc(const Size &size, const std::shared_ptr< Font > &font)
Definition: CULabel.h:313
VAlign
Definition: CULabel.h:137
void setVerticalAlignment(VAlign valign)
virtual void setContentSize(float width, float height) override
Definition: CULabel.h:645
const Rect getTrueBounds() const
Definition: CULabel.h:599
virtual bool init()
Definition: CUNode.h:237
void setHorizontalAlignment(HAlign halign)
HAlign getHorizontalAlignment() const
Definition: CULabel.h:531