Fission FSN
Loading...
Searching...
No Matches
fsCVertexStreamTextSpriteRenderData-v3.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCVertexStreamTextSpriteRenderData.h
4*
5* Purpose: Cocos2d-x implementation of the text render data.
6*
7*********************************************************************/
8
9#ifndef fsCVertexStreamTextSpriteRenderDatahdr
10#define fsCVertexStreamTextSpriteRenderDatahdr
11
12#include <2d/CCLabel.h>
13#include <renderer/CCTextureAtlas.h>
14
16
17class fsVec2d;
18
19
21{
23
24public:
25
26 void implRender() override;
27
28 fsS32 stringWidthInPixelsGet() const override;
29
30 virtual ~fsCVertexStreamTextSpriteRenderData() = default;
31
32protected:
33
34 static fsIRenderData* create();
36
37 void dirtyTextProcessDo(const fsAffineMtx2d& pRenderMatrix, const fsRect& pFormattingRect, const fsStr& pText) override;
38 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
39
40private:
41
42 void rawVertSet(fsS32 currVert, fsS32 x, fsS32 y, fsS32 w, fsS32 h);
43 void lineHorizontalOffset(fsS32 pLineStart, fsS32 pLineEnd, fsS32 pOffset);
44 void hardWrap(fsS32 pLineStart, fsS32 pLineEnd, fsS32 pOffset);
45 void softWrap(fsS32 pLineStart, fsS32& pLineEnd, fsS32& pCurrVert, fsS32 pX);
46
47 void verticalJustify(fsS32 pLineCount);
48
49 void quadsUpdate();
50
51 void rawVertBufferStore(const fsRect& pFormattingRect);
52
53 cocos2d::TextureAtlas* mTextureAtlas;
54 fsS32 mPixelWidth;
55
56//#ifdef fsPCStore
57// std::u16string mU16Str;
58//#else
59 std::u32string mU16Str;
60//#endif
61
62
63};
64
65#endif
Definition fsAffineMtx2d.h:27
friend class fsCRenderDataFactoryVertexStream
Definition fsCVertexStreamTextSpriteRenderData-v3.h:22
fsS32 stringWidthInPixelsGet() const override
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:108
fsCVertexStreamTextSpriteRenderData()
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:329
virtual ~fsCVertexStreamTextSpriteRenderData()=default
Definition fsCVertexStreamTextSpriteRenderData.cpp:432
static fsIRenderData * create()
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:324
void dirtyTextProcessDo(const fsAffineMtx2d &pRenderMatrix, const fsRect &pFormattingRect, const fsStr &pText) override
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:113
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:318
void implRender() override
Definition fsCVertexStreamTextSpriteRenderData-v3.cpp:17
fsIRenderData()=default
fsITextRenderData()
Definition fsITextRenderData.cpp:91
Definition fsRect.h:16
Definition fsStr.h:23
int fsS32
Definition fsBaseTypes.h:20
Definition fsVec2d.h:16