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/CCSprite.h>
18
19namespace cocos2d
20{
21 class Sprite;
22}
23
24class fsSColour;
25class fsAffineMtx2d;
26class fsCBrush;
27struct fsPoint;
28
29
30class fsCNativeSprite : public fsINative
31{
32 friend class fsCNativeSpriteRenderData;
33
34public:
35
36 fsBool hitTest(const fsPoint& pLocalPos, fsBool pRequireHitMap) const;
37
38 fsS32 widthGet() const;
40
41 std::shared_ptr<fsCBrush> brushGet() const;
42
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 cocos2d::Node* implGet() const override;
66
67 fsS32 mWidth;
68 fsS32 mHeight;
69
70 std::shared_ptr<fsCBrush> mBrush;
71 std::unique_ptr<cocos2d::Sprite> mImpl;
72
73 cocos2d::Mat4 mRenderMatrix;
74
75 cocos2d::PolygonInfo mPolyInfo;
76 cocos2d::TrianglesCommand::Triangles mCocosTris;
77};
78
79
80#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
Definition fsCNativeSprite.h:31
fsS32 widthGet() const
friend class fsCNativeSpriteRenderData
Definition fsCNativeSprite.h:32
void vertsSetDo(std::vector< fsVec2d > const &pVerts) override
std::shared_ptr< fsCBrush > brushGet() const
void alphaBlendModeSetDo(fsS32 pAlphaBlendMode) override
void heightSetDo(fsS32 pHeight) override
void textureWrapSetDo() override
fsS32 heightGet() const
void colourSetDo(const fsSColour4B &pColour) override
void widthSetDo(fsS32 pWidth) override
void uvSetDo(const fsRect &pOffest) override
void polygonInfoSetDo(fsIRenderData::fsSPolyInfo const &pPolyInfo) override
void renderDo() override
void brushSetDo(std::shared_ptr< fsCBrush > pBrush) override
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
fsBool hitTest(const fsPoint &pLocalPos, fsBool pRequireHitMap) const
virtual ~fsCNativeSprite()
Definition fsINative.h:31
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