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
45 // hardware cursor image paths, shared with fsCContextualHardwareCursor
48
51
52 void posSet(const fsVec2d& pPos) override;
53
54 void enabledSet(fsBool pEnabled);
55 void cursorSet(const fsCUniqueId& pCursorId);
56
57
58 ~fsCSoftwareCursor() override;
59
60protected:
61
62 void listenersRegisterDo() override;
63 void listenersDeregisterDo() override;
64 void updateDo(fsS32 pDeltaMs) override;
65
67
68private:
69
70 void cursorSetImage(const fsCUniqueId& pCursorId);
71 void cursorSetAnimation(const fsCUniqueId& pCursorId);
72
73 void init();
74
75 void cursorsRegister();
76 void cursorAdd(const fsCUniqueId& pCursorId, const fsStr& pFileName);
77
78
79 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
80 const fsIMessageDispatcher::sMessageParameters& pParam) override;
81
82 static fsIComponent* create(fsCEntity* pParent);
83
84
85 fsBool mEnabled;
86 fsBool mHardwareCustomCursor;
87
88 fsCAnimatingSpriteComponent* mAnimSprComp;
89
90 std::map<fsCUniqueId, fsStr> mCursorFilenames;
91 fsBool mCursorInvestigateActive;
92
93 fsBool mFireTV;
94
95 std::unique_ptr<fsCCursorInertia> mCursorInertia;
96};
97
98#endif
Definition fsCAnimatingSpriteComponent.h:27
Definition fsCCursorInertia.h:17
Definition fsCEntity.h:39
void enabledSet(fsBool pEnabled)
Definition fsCSoftwareCursor.cpp:61
static const fsStr mHardwareCursorDefaultPath
Definition fsCSoftwareCursor.h:46
friend class fsCComponentFactory
Definition fsCSoftwareCursor.h:29
static const fsCUniqueId mResetToDefaultMsg
Definition fsCSoftwareCursor.h:40
static const fsStr mHardwareCursorInvestigatePath
Definition fsCSoftwareCursor.h:47
static const fsCUniqueId mLeaveClienAreaMsg
Definition fsCSoftwareCursor.h:39
friend class fsICursor
Definition fsCSoftwareCursor.h:28
void listenersDeregisterDo() override
Definition fsCSoftwareCursor.cpp:190
static const fsCUniqueId mSoftwarCursorToggle
Definition fsCSoftwareCursor.h:35
void updateDo(fsS32 pDeltaMs) override
Definition fsCSoftwareCursor.cpp:50
fsCSoftwareCursor(fsCEntity *pParent)
Definition fsCSoftwareCursor.cpp:262
static const fsCUniqueId mLeftHandedCursorToggle
Definition fsCSoftwareCursor.h:36
void posSet(const fsVec2d &pPos) override
Definition fsCSoftwareCursor.cpp:42
static const fsCUniqueId mEnterClientAreaMsg
Definition fsCSoftwareCursor.h:38
static const fsCUniqueId mMovedOntoHotComponentMsg
Definition fsCSoftwareCursor.h:49
static const fsCUniqueId mCursorInvestigate
Definition fsCSoftwareCursor.h:43
static const fsCUniqueId mTypeId
Definition fsCSoftwareCursor.h:33
static const fsCUniqueId mMovedOffHotComponentMsg
Definition fsCSoftwareCursor.h:50
static const fsCUniqueId mCursorDefault
Definition fsCSoftwareCursor.h:42
void listenersRegisterDo() override
Definition fsCSoftwareCursor.cpp:209
~fsCSoftwareCursor() override
Definition fsCSoftwareCursor.cpp:273
void cursorSet(const fsCUniqueId &pCursorId)
Definition fsCSoftwareCursor.cpp:121
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