Fission FSN
Loading...
Searching...
No Matches
fsIAnimatingSprite.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsIAnimatingSprite.h
4*
5* Purpose: Interface for animating sprites
6*
7*********************************************************************/
8
9#ifndef fsIAnimatingSpritehdr
10#define fsIAnimatingSpritehdr
11
12#include <memory>
13
14#include <fsCore/fsBaseTypes.h>
15
16#include "fsIRenderable.h"
18
19class fsCResourceName;
20class fsAffineMtx2d;
21class fsStr;
24class fsCSpriteFrame;
25struct fsPoint;
26class fsSColour;
27class fsCSprite;
28class fsCBrush;
29
30
32{
33 friend std::shared_ptr<fsIAnimatingSprite> const fsCAnimationDataManager::createAnimationInstance(
34 std::shared_ptr<fsIAnimationData>, fsCSprite* pAnimatingRootSprt);
35
36public:
37
38 void animationPlay(const fsStr& pAnimation);
39
42
43 void stop();
44
45 std::shared_ptr<fsCBrush> brushGet() const;
46 fsBool hitTest(const fsPoint& pPoint, fsBool pRequireHitMap) const;
47 // fsBool pixelCollisionCheck( fsISpriteRef pTarget );
48
49 fsS32 currentFrameGet() const;
50
51 void update(fsS32 pDeltaMS);
52
53 fsBool animatingGet() const;
54 fsBool loopingGet() const;
55
56
57 void reset();
58
59 fsIAnimatingSprite(const fsCResourceName& pFileName, fsBool pHitMap, fsCSprite* pAnimatingSpriteRoot);
60 fsIAnimatingSprite(fsCSprite* pAnimatingRootSprt);
61 virtual ~fsIAnimatingSprite();
62
63protected:
64
65 void animationDataSet(std::shared_ptr<fsIAnimationData> pAnimData);
66 void colourSetDo(const fsSColour4B& pColour) override;
67
68 virtual void animationPlayDo(const fsStr& pAnimation)
69 {
70 };
71
72 virtual void activeSet(fsBool pVisibility) = 0;
73 virtual void colourApplyToSpriteFrames(const fsSColour4B& pColour) = 0;
74 virtual void animationDataSetDo(std::shared_ptr<fsIAnimationData> pAnimData) = 0;
75
76 virtual fsS32 currentFrameHeightGetDo() const = 0;
77 virtual fsPoint currentFramePosGetDo() const = 0;
78
79 virtual std::shared_ptr<fsCBrush> brushGetDo() const;
80 virtual fsBool hitTestDo(const fsPoint& pPoint, fsBool pRequireHitMap) const = 0;
81 // virtual fsBool pixelCollisionCheckDo( fsISpriteRef pTarget ) = 0;
82
83 virtual fsS32 currentFrameGetDo() const = 0;
84 virtual void updateDo(fsS32 pDeltaMS) = 0;
85
86 virtual fsBool loopingGetDo() const = 0;
87 virtual void resetDo() = 0;
88
91
92private:
93};
94
95#endif
Definition fsAffineMtx2d.h:27
std::shared_ptr< fsIAnimatingSprite > const createAnimationInstance(std::shared_ptr< fsIAnimationData >, fsCSprite *pAnimatingRootSprt)
Definition fsCAnimationDataManager.cpp:27
Definition fsCAnimationTimeline.h:25
Definition fsCBrush.h:26
Definition fsCResourceName.h:32
Definition fsCSpriteFrame.h:29
Definition fsCSprite.h:24
void reset()
Definition fsIAnimatingSprite.cpp:78
void update(fsS32 pDeltaMS)
Definition fsIAnimatingSprite.cpp:63
virtual void colourApplyToSpriteFrames(const fsSColour4B &pColour)=0
virtual std::shared_ptr< fsCBrush > brushGetDo() const
Definition fsIAnimatingSprite.cpp:7
virtual void updateDo(fsS32 pDeltaMS)=0
fsBool loopingGet() const
Definition fsIAnimatingSprite.cpp:73
virtual fsS32 currentFrameGetDo() const =0
void animationPlay(const fsStr &pAnimation)
Definition fsIAnimatingSprite.cpp:17
void stop()
Definition fsIAnimatingSprite.cpp:42
virtual fsPoint currentFramePosGetDo() const =0
virtual void animationPlayDo(const fsStr &pAnimation)
Definition fsIAnimatingSprite.h:68
virtual void activeSet(fsBool pVisibility)=0
fsS32 currentFrameGet() const
Definition fsIAnimatingSprite.cpp:58
virtual ~fsIAnimatingSprite()
Definition fsIAnimatingSprite.cpp:96
virtual fsS32 currentFrameHeightGetDo() const =0
virtual void animationDataSetDo(std::shared_ptr< fsIAnimationData > pAnimData)=0
fsIAnimatingSprite(const fsCResourceName &pFileName, fsBool pHitMap, fsCSprite *pAnimatingSpriteRoot)
Definition fsIAnimatingSprite.cpp:83
virtual fsBool loopingGetDo() const =0
std::shared_ptr< fsCBrush > brushGet() const
Definition fsIAnimatingSprite.cpp:12
fsCSprite * mAnimationRootSprt
Definition fsIAnimatingSprite.h:90
void colourSetDo(const fsSColour4B &pColour) override
Definition fsIAnimatingSprite.cpp:22
virtual void resetDo()=0
virtual fsBool hitTestDo(const fsPoint &pPoint, fsBool pRequireHitMap) const =0
fsPoint currentFramePosGet() const
Definition fsIAnimatingSprite.cpp:37
fsBool animatingGet() const
Definition fsIAnimatingSprite.cpp:68
fsS32 currentFrameHeightGet() const
Definition fsIAnimatingSprite.cpp:32
fsBool hitTest(const fsPoint &pPoint, fsBool pRequireHitMap) const
Definition fsIAnimatingSprite.cpp:47
fsBool mActive
Definition fsIAnimatingSprite.h:89
void animationDataSet(std::shared_ptr< fsIAnimationData > pAnimData)
Definition fsIAnimatingSprite.cpp:27
Definition fsIAnimationData.h:18
fsIRenderable()=default
Definition fsSColour.h:20
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsPoint.h:17
Definition fsSColour.h:54