Fission FSN
Loading...
Searching...
No Matches
fsCNativeSprite.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCNativeSprite.h
4*
5* Purpose: Sprite that is added to and retained by a scene. All
6* positioning / parenting is handled in the scene
7*
8*********************************************************************/
9
10#ifndef fsCNativeSpritehdr
11#define fsCNativeSpritehdr
12
13#include <fsCore/fsBaseTypes.h>
14
15#include "fsINative.h"
16
17#include <2d/Sprite.h>
18
19namespace ax
20{
21 class Sprite;
22}
23
24class fsSColour;
25class fsAffineMtx2d;
26class fsCBrush;
27struct fsPoint;
28
29
31{
33
34public:
35
36 fsBool hitTest(const fsPoint& pLocalPos, fsBool pRequireHitMap) const;
37
38 fsS32 widthGet() const;
39 fsS32 heightGet() const;
40
41 std::shared_ptr<fsCBrush> brushGet() const;
42
43 virtual ~fsCNativeSprite();
44
45protected:
46
47 void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const& pPolyInfo) override;
48
49 void textureWrapSetDo() override;
50 void renderDo() override;
51 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
52 void colourSetDo(const fsSColour4B& pColour) override;
53
54 void uvSetDo(const fsRect& pOffest) override;
55 void vertsSetDo(std::vector<fsVec2d> const& pVerts) override;
56 void widthSetDo(fsS32 pWidth) override;
57 void heightSetDo(fsS32 pHeight) override;
58 void brushSetDo(std::shared_ptr<fsCBrush> pBrush) override;
59 void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) override;
60
62
63private:
64
65 ax::Node* implGet() const override;
66
67 fsS32 mWidth;
68 fsS32 mHeight;
69
70 std::shared_ptr<fsCBrush> mBrush;
71 std::unique_ptr<ax::Sprite> mImpl;
72
73 ax::Mat4 mRenderMatrix;
74
75 ax::PolygonInfo mPolyInfo;
76 ax::TrianglesCommand::Triangles mCocosTris;
77};
78
79
80#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
fsS32 widthGet() const
Definition fsCNativeSprite.cpp:224
friend class fsCNativeSpriteRenderData
Definition fsCNativeSprite.h:32
void vertsSetDo(std::vector< fsVec2d > const &pVerts) override
Definition fsCNativeSprite.cpp:75
std::shared_ptr< fsCBrush > brushGet() const
Definition fsCNativeSprite.cpp:234
void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) override
Definition fsCNativeSprite.cpp:60
void heightSetDo(fsS32 pHeight) override
Definition fsCNativeSprite.cpp:218
void textureWrapSetDo() override
Definition fsCNativeSprite.cpp:32
virtual ~fsCNativeSprite()
Definition fsCNativeSprite.cpp:251
fsS32 heightGet() const
Definition fsCNativeSprite.cpp:229
void colourSetDo(const fsSColour4B &pColour) override
Definition fsCNativeSprite.cpp:184
fsCNativeSprite()
Definition fsCNativeSprite.cpp:239
void widthSetDo(fsS32 pWidth) override
Definition fsCNativeSprite.cpp:212
void uvSetDo(const fsRect &pOffest) override
Definition fsCNativeSprite.cpp:51
void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const &pPolyInfo) override
Definition fsCNativeSprite.cpp:18
void renderDo() override
Definition fsCNativeSprite.cpp:69
void brushSetDo(std::shared_ptr< fsCBrush > pBrush) override
Definition fsCNativeSprite.cpp:92
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsCNativeSprite.cpp:109
fsBool hitTest(const fsPoint &pLocalPos, fsBool pRequireHitMap) const
Definition fsCNativeSprite.cpp:194
fsINative()=default
Definition fsINative.cpp:72
Definition fsRect.h:16
Definition fsSColour.h:20
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsC3dLight.h:19
Definition fsIRenderData.h:44
Definition fsPoint.h:17
Definition fsSColour.h:54