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 // Copies the polygon data; callers do not need to keep their arrays alive.
28 void polyInfoSet(fsIRenderData::fsSPolyInfo const& pPolyInfo);
29
30 void textureWrapSet();
31 void uvUpdate(const fsVec2d& pOffest);
32
33 void pivotSet(const fsVec2d& pPivot);
34
35 void brushSet(std::shared_ptr<fsCBrush> pBrush);
36 std::shared_ptr<fsCBrush> brushGet() const;
37 void alphaBlendModeSet(fsS32 pAlphaBlendMode);
38
39 fsS32 widthGet() const;
40 fsS32 heightGet() const;
41
42 void widthSet(fsS32 pWidth, fsBool pModifyRenderData = true);
43 void heightSet(fsS32 pHeight, fsBool pModifyRenderData = true);
44
45 fsBool hitTest(const fsPoint& pLocalPos, fsBool pRequireHitMap) const;
46
47 fsCSprite();
48 ~fsCSprite() override = default;
49
50protected:
51
52 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
53
54 fsISpriteRenderData* renderDataGet() const override;
55
56private:
57
58 void rawVertsSet();
59
60 std::shared_ptr<fsCBrush> mBrush;
61
63
64 fsS32 mWidth;
65 fsS32 mHeight;
66
67 fsVec2d mPivot;
68};
69
70#endif
Definition fsAffineMtx2d.h:27
Definition fsCBrush.h:26
void pivotSet(const fsVec2d &pPivot)
Definition fsCSprite.cpp:37
fsISpriteRenderData * renderDataGet() const override
Definition fsCSprite.cpp:32
~fsCSprite() override=default
fsS32 widthGet() const
Definition fsCSprite.cpp:78
void heightSet(fsS32 pHeight, fsBool pModifyRenderData=true)
Definition fsCSprite.cpp:98
std::shared_ptr< fsCBrush > brushGet() const
Definition fsCSprite.cpp:51
void uvUpdate(const fsVec2d &pOffest)
Definition fsCSprite.cpp:27
fsS32 heightGet() const
Definition fsCSprite.cpp:83
void polyInfoSet(fsIRenderData::fsSPolyInfo const &pPolyInfo)
Definition fsCSprite.cpp:14
fsCSprite()
Definition fsCSprite.cpp:149
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsCSprite.cpp:136
fsBool hitTest(const fsPoint &pLocalPos, fsBool pRequireHitMap) const
Definition fsCSprite.cpp:108
void widthSet(fsS32 pWidth, fsBool pModifyRenderData=true)
Definition fsCSprite.cpp:88
void alphaBlendModeSet(fsS32 pAlphaBlendMode)
Definition fsCSprite.cpp:73
void brushSet(std::shared_ptr< fsCBrush > pBrush)
Definition fsCSprite.cpp:42
void textureWrapSet()
Definition fsCSprite.cpp:22
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