Fission FSN
Loading...
Searching...
No Matches
fsINative.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsINative.h
4*
5* Purpose: Scene node interface for all things hierarchied in
6* in impl's - scene sprites and scene text as we start
7*
8*********************************************************************/
9
10#ifndef fsINativehdr
11#define fsINativehdr
12
13#include <memory>
14#include <fsCore/fsBaseTypes.h>
15#include <fsCore/fsVec2d.h>
16
18
19class fsAffineMtx2d;
20class fsSColour4B;
21class fsVec2d;
22class fsCBrush;
23class fsRect;
24
25class fsINative
26{
27public:
28
29 void render();
30 void matrixApply(const fsAffineMtx2d& pRenderMatrix);
31
32 void widthSet(fsS32 pWidth);
33 void heightSet(fsS32 pHeight);
34
37 void uvSet(const fsRect& pOffest);
38 void vertsSet(std::vector<fsVec2d> const& pVerts);
39 void brushSet(std::shared_ptr<fsCBrush> pBrush);
40 void alphaBlendModeSet(fsS32 pAlphaBlendMode);
41 void colourSet(const fsSColour4B& pColour);
42
43 virtual ~fsINative() = default;
44
45protected:
46
47 virtual void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const& pPolyInfo) {}
48
49 virtual void textureWrapSetDo() {}
50
51 virtual void uvSetDo(const fsRect& pOffest) {}
52
53 virtual void renderDo() = 0;
54 virtual void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix);
55
56 virtual void vertsSetDo(std::vector<fsVec2d> const& pVerts) {}
57
58 virtual void widthSetDo(fsS32 pWidth) {}
59
60 virtual void heightSetDo(fsS32 pHeight) {}
61
62 virtual void brushSetDo(std::shared_ptr<fsCBrush> pBrush) {}
63
64 virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) {}
65
66 virtual void colourSetDo(const fsSColour4B& pColour) {}
67
68 fsF32 mRenderMatrix[16] = {0.0};
70
71private:
72
73};
74
75#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
Definition fsINative.h:31
void alphaBlendModeSet(fsS32 pAlphaBlendMode)
void matrixApply(const fsAffineMtx2d &pRenderMatrix)
virtual void vertsSetDo(std::vector< fsVec2d > const &pVerts)
Definition fsINative.h:56
void brushSet(std::shared_ptr< fsCBrush > pBrush)
void vertsSet(std::vector< fsVec2d > const &pVerts)
fsF32 mRenderMatrix[16]
Definition fsINative.h:68
void heightSet(fsS32 pHeight)
virtual void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix)
virtual void widthSetDo(fsS32 pWidth)
Definition fsINative.h:58
void uvSet(const fsRect &pOffest)
void colourSet(const fsSColour4B &pColour)
virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode)
Definition fsINative.h:64
virtual void renderDo()=0
virtual void heightSetDo(fsS32 pHeight)
Definition fsINative.h:60
void widthSet(fsS32 pWidth)
void polygonInfoSet(fsIRenderData::fsSPolyInfo const &pPolyInfo)
void textureWrapSet()
void render()
virtual ~fsINative()=default
virtual void uvSetDo(const fsRect &pOffest)
Definition fsINative.h:51
virtual void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsINative.h:47
virtual void brushSetDo(std::shared_ptr< fsCBrush > pBrush)
Definition fsINative.h:62
virtual void textureWrapSetDo()
Definition fsINative.h:49
virtual void colourSetDo(const fsSColour4B &pColour)
Definition fsINative.h:66
Definition fsRect.h:16
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsIRenderData.h:44
Definition fsSColour.h:54
Definition fsVec2d.h:16