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 }
50
51 virtual void textureWrapSetDo()
52 {
53 }
54
55 virtual void uvSetDo(const fsRect& pOffest)
56 {
57 }
58
59 virtual void renderDo() = 0;
60 virtual void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) = 0;
61
62 virtual void vertsSetDo(std::vector<fsVec2d> const& pVerts)
63 {
64 }
65
66 virtual void widthSetDo(fsS32 pWidth)
67 {
68 }
69
70 virtual void heightSetDo(fsS32 pHeight)
71 {
72 }
73
74 virtual void brushSetDo(std::shared_ptr<fsCBrush> pBrush)
75 {
76 }
77
78 virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode)
79 {
80 }
81
82 virtual void colourSetDo(const fsSColour4B& pColour)
83 {
84 }
85
86 fsINative() = default;
87
88private:
89
90// virtual cocos2d::Node* implGet() const = 0;
91};
92
93#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:62
void brushSet(std::shared_ptr< fsCBrush > pBrush)
void vertsSet(std::vector< fsVec2d > const &pVerts)
void heightSet(fsS32 pHeight)
fsINative()=default
virtual void widthSetDo(fsS32 pWidth)
Definition fsINative.h:66
void uvSet(const fsRect &pOffest)
void colourSet(const fsSColour4B &pColour)
virtual void alphaBlendModeSetDo(fsS32 pAlphaBlendMode)
Definition fsINative.h:78
virtual void renderDo()=0
virtual void heightSetDo(fsS32 pHeight)
Definition fsINative.h:70
virtual void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix)=0
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:55
virtual void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsINative.h:47
virtual void brushSetDo(std::shared_ptr< fsCBrush > pBrush)
Definition fsINative.h:74
virtual void textureWrapSetDo()
Definition fsINative.h:51
virtual void colourSetDo(const fsSColour4B &pColour)
Definition fsINative.h:82
Definition fsRect.h:16
int fsS32
Definition fsBaseTypes.h:20
Definition fsIRenderData.h:44
Definition fsSColour.h:54
Definition fsVec2d.h:16