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 <fsCore/fsBaseTypes.h>
14#include <fsCore/fsVec2d.h>
15
16#ifdef AXMOL_V3
17 #include <scene/Node.h>
18#else
19 #include <2d/Node.h>
20#endif
21
23
24class fsAffineMtx2d;
25class fsSColour4B;
26class fsVec2d;
27class fsCBrush;
28class fsRect;
29
31{
32public:
33
34 void render();
35 void matrixApply(const fsAffineMtx2d& pRenderMatrix);
36
37 void widthSet(fsS32 pWidth);
38 void heightSet(fsS32 pHeight);
39
40 void polygonInfoSet(fsIRenderData::fsSPolyInfo const& pPolyInfo);
41 void textureWrapSet();
42 void uvSet(const fsRect& pOffest);
43 void vertsSet(std::vector<fsVec2d> const& pVerts);
44 void brushSet(std::shared_ptr<fsCBrush> pBrush);
45 void alphaBlendModeSet(fsS32 pAlphaBlendMode);
46 void colourSet(const fsSColour4B& pColour);
47
48 virtual ~fsINative() = default;
49
50protected:
51
52 virtual void renderDo() = 0;
53 virtual void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) = 0;
54
55
56 virtual void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const& pPolyInfo) {}
57
58 virtual void textureWrapSetDo() {}
59
60 virtual void uvSetDo(const fsRect& pOffest) {}
61
62
63 virtual void vertsSetDo(std::vector<fsVec2d> const& pVerts) {}
64
65 virtual void widthSetDo(fsS32 pWidth) {}
66 virtual void heightSetDo(fsS32 pHeight) {}
67
68 virtual void brushSetDo(std::shared_ptr<fsCBrush> pBrush) {}
69 virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) {}
70 virtual void colourSetDo(const fsSColour4B& pColour) {}
71
72 fsINative() = default;
73
74private:
75
76 virtual ax::Node* implGet() const = 0;
77};
78
79#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
void alphaBlendModeSet(fsS32 pAlphaBlendMode)
Definition fsINative.cpp:44
void matrixApply(const fsAffineMtx2d &pRenderMatrix)
Definition fsINative.cpp:54
virtual void vertsSetDo(std::vector< fsVec2d > const &pVerts)
Definition fsINative.h:63
void brushSet(std::shared_ptr< fsCBrush > pBrush)
Definition fsINative.cpp:49
void vertsSet(std::vector< fsVec2d > const &pVerts)
Definition fsINative.cpp:24
void heightSet(fsS32 pHeight)
Definition fsINative.cpp:34
virtual void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix)=0
Definition fsINative.cpp:56
fsINative()=default
Definition fsINative.cpp:72
virtual void widthSetDo(fsS32 pWidth)
Definition fsINative.h:65
void uvSet(const fsRect &pOffest)
Definition fsINative.cpp:14
void colourSet(const fsSColour4B &pColour)
Definition fsINative.cpp:39
virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode)
Definition fsINative.h:69
virtual void renderDo()=0
virtual void heightSetDo(fsS32 pHeight)
Definition fsINative.h:66
void widthSet(fsS32 pWidth)
Definition fsINative.cpp:29
void polygonInfoSet(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsINative.cpp:4
void textureWrapSet()
Definition fsINative.cpp:9
void render()
Definition fsINative.cpp:19
virtual ~fsINative()=default
virtual void uvSetDo(const fsRect &pOffest)
Definition fsINative.h:60
virtual void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsINative.h:56
virtual void brushSetDo(std::shared_ptr< fsCBrush > pBrush)
Definition fsINative.h:68
virtual void textureWrapSetDo()
Definition fsINative.h:58
virtual void colourSetDo(const fsSColour4B &pColour)
Definition fsINative.h:70
Definition fsRect.h:16
int fsS32
Definition fsBaseTypes.h:20
Definition fsIRenderData.h:44
Definition fsSColour.h:54
Definition fsVec2d.h:16