Fission FSN
Loading...
Searching...
No Matches
fsCSprite.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 13/3/2014 11:53
4*
5* Purpose: A 2D textured quad.
6*
7*********************************************************************/
8
9#ifndef fsCSpritehdr
10#define fsCSpritehdr
11
12#include <memory>
13
14#include <fsCore/fsVec2d.h>
15
18
19class fsSColour;
20class fsCBrush;
21
22
24{
25public:
26
27 void polyInfoSet(fsIRenderData::fsSPolyInfo const& pPolyInfo);
28
29 void textureWrapSet();
30 void uvUpdate(const fsVec2d& pOffest);
31
32 void pivotSet(const fsVec2d& pPivot);
33
34 void brushSet(std::shared_ptr<fsCBrush> pBrush);
35 std::shared_ptr<fsCBrush> brushGet() const;
36 void alphaBlendModeSet(fsS32 pAlphaBlendMode);
37
38 fsS32 widthGet() const;
39 fsS32 heightGet() const;
40
41 void widthSet(fsS32 pWidth, fsBool pModifyRenderData = true);
42 void heightSet(fsS32 pHeight, fsBool pModifyRenderData = true);
43
44 fsBool hitTest(const fsPoint& pLocalPos, fsBool pRequireHitMap) const;
45
46 fsCSprite();
47 ~fsCSprite() override = default;
48
49protected:
50
51 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
52
53 fsISpriteRenderData* renderDataGet() const override;
54
55private:
56
57 void rawVertsSet();
58
59 std::shared_ptr<fsCBrush> mBrush;
60
62
63 fsS32 mWidth;
64 fsS32 mHeight;
65
66 fsVec2d mPivot;
67};
68
69#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
void pivotSet(const fsVec2d &pPivot)
Definition fsCSprite.cpp:35
fsISpriteRenderData * renderDataGet() const override
Definition fsCSprite.cpp:30
~fsCSprite() override=default
fsS32 widthGet() const
Definition fsCSprite.cpp:76
void heightSet(fsS32 pHeight, fsBool pModifyRenderData=true)
Definition fsCSprite.cpp:96
std::shared_ptr< fsCBrush > brushGet() const
Definition fsCSprite.cpp:49
void uvUpdate(const fsVec2d &pOffest)
Definition fsCSprite.cpp:25
fsS32 heightGet() const
Definition fsCSprite.cpp:81
void polyInfoSet(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsCSprite.cpp:14
fsCSprite()
Definition fsCSprite.cpp:147
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsCSprite.cpp:134
fsBool hitTest(const fsPoint &pLocalPos, fsBool pRequireHitMap) const
Definition fsCSprite.cpp:106
void widthSet(fsS32 pWidth, fsBool pModifyRenderData=true)
Definition fsCSprite.cpp:86
void alphaBlendModeSet(fsS32 pAlphaBlendMode)
Definition fsCSprite.cpp:71
void brushSet(std::shared_ptr< fsCBrush > pBrush)
Definition fsCSprite.cpp:40
void textureWrapSet()
Definition fsCSprite.cpp:20
fsIRenderableQuantum()
Definition fsIRenderableQuantum.cpp:28
Definition fsISpriteRenderData.h:25
Definition fsSColour.h:20
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIRenderData.h:44
Definition fsPoint.h:17
Definition fsVec2d.h:16