Fission FSN
Loading...
Searching...
No Matches
fsCNativeTextSprite.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCNativeTextSprite.h
4*
5* Purpose: Cocos2d-x retained text sprite - needs to be added
6* to a scene
7*
8*********************************************************************/
9
10#ifndef fsCNativeTextSpriteehdr
11#define fsCNativeTextSpriteehdr
12
13#include <raylib.h>
14
15#include <fsCore/fsBaseTypes.h>
16#include <fsCore/fsRect.h>
17#include <fsCore/fsStr.h>
18
20#include "fsINative.h"
21
22class fsIFont;
23class fsSColour;
24class fsStr;
25
26
27class fsCNativeTextSprite : public fsINative
28{
30
31public:
32
33 void outlineSet(const fsSColour4B& pOutline, fsF32 pSize) const;
34 void shadowSet(const fsSColour4B& pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const;
35 void glowSet(const fsSColour4B& pGlow) const;
36
37 void alignmentSet(fsS32 pAlignH, fsS32 pAlignV);
38 void initialise(const fsStr& pText, fsIFont* pFont);
39
42
43 void formattingRectSizeSet(const fsRect& pFormattingRect);
44 fsStr textGet() const;
45 void textSet(const fsStr& pText);
46
48
49protected:
50
51 void renderDo() override;
52 void colourSetDo(const fsSColour4B& pColour) override;
53
55
56private:
57
58 typedef fsITextSpriteComponent::eHORIZONTAL_ALIGNMENT fsTHorizontalAlign;
59 typedef fsITextSpriteComponent::eVERTICAL_ALIGNMENT fsTVerticalAlign;
60
61 fsS32 lineCountGet(Font font, const char *text, Rectangle rec, float fontSize, float spacing) const;
62
63 fsF32 lineStart(fsF32 lineWidth) const;
64 void drawTextBoxed(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint);
65 void positionRecompute();
66
67 fsTHorizontalAlign mHorizontalAlignment = fsTHorizontalAlign::eHALIGN_CENTRE;
68 fsTVerticalAlign mVerticalAlignment = fsTVerticalAlign::eVALIGN_MIDDLE;
69
70 fsRect mBoundingBox;
71 fsStr mText;
72 fsIFont* mFont;
73
74 ::Rectangle mRect;
75 ::Color mTint;
76};
77
78#endif
Definition fsCNativeTextSprite.h:35
void textSet(const fsStr &pText)
void shadowSet(const fsSColour4B &pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const
void formattingRectSizeSet(const fsRect &pFormattingRect)
void colourSetDo(const fsSColour4B &pColour) override
friend class fsCNativeTextSpriteRenderData
Definition fsCNativeTextSprite.h:36
fsS32 stringHeightInPixelsGet() const
fsS32 stringWidthInPixelsGet() const
void glowSet(const fsSColour4B &pGlow) const
void renderDo() override
void outlineSet(const fsSColour4B &pOutline, fsF32 pSize) const
fsStr textGet() const
virtual ~fsCNativeTextSprite()
void alignmentSet(fsS32 pAlignH, fsS32 pAlignV)
void initialise(const fsStr &pText, fsIFont *pFont)
Definition fsIFont.h:34
Definition fsINative.h:31
eVERTICAL_ALIGNMENT
Definition fsITextSpriteComponent.h:33
eHORIZONTAL_ALIGNMENT
Definition fsITextSpriteComponent.h:26
Definition fsRect.h:16
Definition fsSColour.h:20
Definition fsStr.h:23
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsSColour.h:54
Definition fsVec2d.h:16