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#include <2d/CCNode.h>
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) = 0;
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 fsINative() = default;
69
70private:
71
72 virtual cocos2d::Node* implGet() const = 0;
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)
void heightSet(fsS32 pHeight)
fsINative()=default
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
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: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
Definition fsIRenderData.h:44
Definition fsSColour.h:54
Definition fsVec2d.h:16