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 <2d/CCLabel.h>
14#include <ui/UIRichText.h>
15
16#include <fsCore/fsBaseTypes.h>
17#include <fsCore/fsStr.h>
18#include <fsCore/fsSColour.h>
19#include <fsCore/fsRect.h>
20
21#include "fsINative.h"
22
23class fsIFont;
24class fsRect;
25class fsSColour;
26class fsAffineMtx2d;
27class fsStr;
28
29class fsCNativeTextSprite : public fsINative
30{
32
33public:
34
35 void outlineSet(const fsSColour4B& pOutline, fsF32 pSize) const;
36 void shadowSet(const fsSColour4B& pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const;
37 void glowSet(const fsSColour4B& pGlow) const;
38
39 void alignmentSet(fsS32 pAlignH, fsS32 pAlignV);
40 void initialise(const fsStr& pText, fsIFont* pFont);
41
43
44 void formattingRectSizeSet(const fsRect& pFormattingRect);
45 fsStr textGet() const;
46 void textSet(const fsStr& pText);
47
49
50protected:
51
52 void renderDo() override;
53 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
54 void colourSetDo(const fsSColour4B& pColour) override;
55
57
58private:
59
60 cocos2d::Node* implGet() const override;
61
62 cocos2d::Label* labelImplGet();
63 void textApply(const fsStr& pText, fsBool pForceRebuild);
64 void richTextRebuild();
65 void richTextFormattingRectApply();
66
67 cocos2d::Label* mImpl;
68 cocos2d::ui::RichText* mRichImpl;
69 fsBool mUseRichText;
70
71 cocos2d::TTFConfig* mConfig;
72 cocos2d::FontAtlas* mFontAtlas;
73
74 fsStr mLastText;
75 fsSColour4B mDefaultColour;
76 fsRect mFormattingRect;
77 fsBool mHasFormattingRect;
78 fsS32 mAlignH;
79 fsS32 mAlignV;
80
81 cocos2d::Mat4 mRenderMatrix;
82};
83
84#endif
Definition fsAffineMtx2d.h:27
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 stringWidthInPixelsGet() const
void glowSet(const fsSColour4B &pGlow) const
void renderDo() override
void outlineSet(const fsSColour4B &pOutline, fsF32 pSize) const
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
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
Definition fsRect.h:16
Definition fsSColour.h:20
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
struct _ttfConfig TTFConfig
Definition fsCFont.h:18
Definition fsSColour.h:54
Definition fsVec2d.h:16