Fission FSN
Loading...
Searching...
No Matches
fsITextRenderData.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsITextRenderData.h
4*
5* Purpose: Information required to render text
6*
7*********************************************************************/
8
9#ifndef fsITextRenderDatahdr
10#define fsITextRenderDatahdr
11
12#include "fsIRenderData.h"
14
15class fsIFont;
16
17
19{
20public:
21
22 void outlineSet(const fsSColour4B& pOutline, fsF32 pSize) const;
23 void shadowSet(const fsSColour4B& pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const;
24 void glowSet(const fsSColour4B& pGlow) const;
25
26 virtual void implRender()
27 {
28 };
29
30 virtual void uvsCopyToImpl()
31 {
32 };
33
34 virtual void vertsCopyToImpl(void* const pImpl) const
35 {
36 };
37
38 virtual void colourCopyToImpl(void* const pImpl) const
39 {
40 };
41
42 fsS32 vertexCountGet() const;
43 const fsIFont* fontGet() const;
44
45 void dirtyTextProcess(const fsAffineMtx2d& pRenderMatrix, const fsRect& pFormattingRect, const fsStr& pText);
46
47 void initialise(fsIFont* pFont);
48 void formattingRectSizeSet(const fsRect& pFormatting);
51
52 virtual fsS32 stringWidthInPixelsGet() const = 0;
53
54 virtual ~fsITextRenderData();
55
56protected:
57
58 virtual void outlineSetDo(const fsSColour4B& pOutline, fsF32 pSize) const {}
59 virtual void shadowSetDo(const fsSColour4B& pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const {}
60 virtual void glowSetDo(const fsSColour4B& pGlow) const {}
61
62 void passToEngineRendererDo(fsIRenderer* pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override;
63
64 void renderDo() override;
65
66 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
67
68 virtual void dirtyTextProcessDo(const fsAffineMtx2d& pRenderMatrix, const fsRect& pFormattingRect,
69 const fsStr& pText) = 0;
70
71 virtual void formattingRectSizeSetDo(const fsRect& pFormatting)
72 {
73 }
74
75 virtual void alignmentSetDo()
76 {
77 };
78
79 void buffersResize();
80
82
84
87
90
93
94private:
95};
96
97#endif
Definition fsAffineMtx2d.h:27
Definition fsIFont.h:34
fsIRenderData()=default
Definition fsIRenderer.h:73
const fsIFont * fontGet() const
Definition fsITextRenderData.cpp:32
virtual fsS32 stringWidthInPixelsGet() const =0
virtual void vertsCopyToImpl(void *const pImpl) const
Definition fsITextRenderData.h:34
fsIFont * mFont
Definition fsITextRenderData.h:83
void dirtyTextProcess(const fsAffineMtx2d &pRenderMatrix, const fsRect &pFormattingRect, const fsStr &pText)
Definition fsITextRenderData.cpp:37
void initialise(fsIFont *pFont)
Definition fsITextRenderData.cpp:71
fsITextRenderData()
Definition fsITextRenderData.cpp:91
virtual void outlineSetDo(const fsSColour4B &pOutline, fsF32 pSize) const
Definition fsITextRenderData.h:58
virtual void uvsCopyToImpl()
Definition fsITextRenderData.h:30
void renderDo() override
Definition fsITextRenderData.cpp:27
virtual void implRender()
Definition fsITextRenderData.h:26
void outlineSet(const fsSColour4B &pOutline, fsF32 pSize) const
Definition fsITextRenderData.cpp:6
void formattingRectSizeSet(const fsRect &pFormatting)
Definition fsITextRenderData.cpp:78
virtual void dirtyTextProcessDo(const fsAffineMtx2d &pRenderMatrix, const fsRect &pFormattingRect, const fsStr &pText)=0
void alignmentSet(fsITextSpriteComponent::eHORIZONTAL_ALIGNMENT pAlignH, fsITextSpriteComponent::eVERTICAL_ALIGNMENT pAlignV)
Definition fsITextRenderData.cpp:83
void passToEngineRendererDo(fsIRenderer *pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override
Definition fsITextRenderData.cpp:21
virtual void formattingRectSizeSetDo(const fsRect &pFormatting)
Definition fsITextRenderData.h:71
fsITextSpriteComponent::eVERTICAL_ALIGNMENT mAlignV
Definition fsITextRenderData.h:92
fsITextSpriteComponent::eHORIZONTAL_ALIGNMENT mAlignH
Definition fsITextRenderData.h:91
virtual ~fsITextRenderData()
Definition fsITextRenderData.cpp:102
virtual void glowSetDo(const fsSColour4B &pGlow) const
Definition fsITextRenderData.h:60
fsS32 mTotalCharacters
Definition fsITextRenderData.h:88
void shadowSet(const fsSColour4B &pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const
Definition fsITextRenderData.cpp:11
void glowSet(const fsSColour4B &pGlow) const
Definition fsITextRenderData.cpp:16
virtual void colourCopyToImpl(void *const pImpl) const
Definition fsITextRenderData.h:38
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsITextRenderData.cpp:66
fsVec2d * mRawVerts
Definition fsITextRenderData.h:85
fsVec2d * mTransformedVerts
Definition fsITextRenderData.h:86
virtual void alignmentSetDo()
Definition fsITextRenderData.h:75
fsS32 vertexCountGet() const
Definition fsITextRenderData.cpp:46
virtual void shadowSetDo(const fsSColour4B &pShadow, fsVec2d pOffset, fsF32 pBlurRadius) const
Definition fsITextRenderData.h:59
void buffersResize()
Definition fsITextRenderData.cpp:51
fsS32 mVertBufferSize
Definition fsITextRenderData.h:89
eVERTICAL_ALIGNMENT
Definition fsITextSpriteComponent.h:33
eHORIZONTAL_ALIGNMENT
Definition fsITextSpriteComponent.h:26
Definition fsRect.h:16
Definition fsStr.h:23
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsSColour.h:54
Definition fsVec2d.h:16