Fission FSN
Loading...
Searching...
No Matches
fsCSoftwareCursor.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 1/4/2014 16:40
4*
5* File: fsCSoftwareCursor.h
6*
7* Author: Mick Waites
8*
9* Purpose: Rendering a pretty mouse cursor.
10*
11*********************************************************************/
12
13#ifndef fsCSoftwareCursorhdr
14#define fsCSoftwareCursorhdr
15
16#include <map>
18
19#include "../fsICursor.h"
21
25
27{
28 friend class fsICursor;
29 friend class fsCComponentFactory;
30
31public:
32
33 static const fsCUniqueId mTypeId;
34
37
41
44
47
48 void posSet(const fsVec2d& pPos) override;
49
50 void enabledSet(fsBool pEnabled);
51 void cursorSet(const fsCUniqueId& pCursorId);
52
53
54 ~fsCSoftwareCursor() override;
55
56protected:
57
58 void listenersRegisterDo() override;
59 void listenersDeregisterDo() override;
60 void updateDo(fsS32 pDeltaMs) override;
61
63
64private:
65
66 void cursorSetImage(const fsCUniqueId& pCursorId);
67 void cursorSetAnimation(const fsCUniqueId& pCursorId);
68
69 void init();
70
71 void cursorsRegister();
72 void cursorAdd(const fsCUniqueId& pCursorId, const fsStr& pFileName);
73
74
75 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
76 const fsIMessageDispatcher::sMessageParameters& pParam) override;
77
78 static fsIComponent* create(fsCEntity* pParent);
79
80
81 fsBool mEnabled;
82 fsBool mHardwareCustomCursor;
83
84 fsCAnimatingSpriteComponent* mAnimSprComp;
85
86 std::map<fsCUniqueId, fsStr> mCursorFilenames;
87 fsBool mCursorInvestigateActive;
88
89 fsBool mFireTV;
90
91 std::unique_ptr<fsCCursorInertia> mCursorInertia;
92};
93
94#endif
Definition fsCAnimatingSpriteComponent.h:26
Definition fsCCursorInertia.h:17
Definition fsCEntity.h:39
void enabledSet(fsBool pEnabled)
Definition fsCSoftwareCursor.cpp:58
friend class fsCComponentFactory
Definition fsCSoftwareCursor.h:29
static const fsCUniqueId mResetToDefaultMsg
Definition fsCSoftwareCursor.h:40
static const fsCUniqueId mLeaveClienAreaMsg
Definition fsCSoftwareCursor.h:39
friend class fsICursor
Definition fsCSoftwareCursor.h:28
void listenersDeregisterDo() override
Definition fsCSoftwareCursor.cpp:187
static const fsCUniqueId mSoftwarCursorToggle
Definition fsCSoftwareCursor.h:35
void updateDo(fsS32 pDeltaMs) override
Definition fsCSoftwareCursor.cpp:47
fsCSoftwareCursor(fsCEntity *pParent)
Definition fsCSoftwareCursor.cpp:259
static const fsCUniqueId mLeftHandedCursorToggle
Definition fsCSoftwareCursor.h:36
void posSet(const fsVec2d &pPos) override
Definition fsCSoftwareCursor.cpp:39
static const fsCUniqueId mEnterClientAreaMsg
Definition fsCSoftwareCursor.h:38
static const fsCUniqueId mMovedOntoHotComponentMsg
Definition fsCSoftwareCursor.h:45
static const fsCUniqueId mCursorInvestigate
Definition fsCSoftwareCursor.h:43
static const fsCUniqueId mTypeId
Definition fsCSoftwareCursor.h:33
static const fsCUniqueId mMovedOffHotComponentMsg
Definition fsCSoftwareCursor.h:46
static const fsCUniqueId mCursorDefault
Definition fsCSoftwareCursor.h:42
void listenersRegisterDo() override
Definition fsCSoftwareCursor.cpp:206
~fsCSoftwareCursor() override
Definition fsCSoftwareCursor.cpp:270
void cursorSet(const fsCUniqueId &pCursorId)
Definition fsCSoftwareCursor.cpp:118
Definition fsCUniqueId.h:21
Definition fsIAnimationData.h:18
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsIMessageDispatcher.h:32
Definition fsVec2d.h:16