Fission FSN
Loading...
Searching...
No Matches
fsCRollOverButtonComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 17/3/2014 11:05
4*
5* File: fsCRollOverButtonComponent.h
6*
7* Author: Mick Waites
8*
9* Purpose: Control component for a GUI button entity.
10*
11*********************************************************************/
12
13#ifndef fsCRollOverButtonComponenthdr
14#define fsCRollOverButtonComponenthdr
15
17
19
22
23struct fsPoint;
24class fsCResourceName;
25class fsIFont;
27class fsCBrush;
28
29
31{
33 friend class fsCComponentFactory;
35
36public:
37
39 {
40 virtual void update() = 0;
41 virtual void start(const fsPoint& pMousePos) = 0;
42 virtual void end(const fsPoint& pMousePos) = 0;
43 virtual void mouseDown(const fsPoint& pMousePos) = 0;
44 virtual void mouseUp(const fsPoint& pMousePos) = 0;
45
47 {
48 }
49
51 {
52 }
53 };
54
60
61 void actionSet(fsCRollOverAction* pRollOverAction);
62
63 fsCEntity* buttonGuiEntityCreate(const fsStr& pEntityName, const fsCResourceName& pImageFileName,
64 const fsCResourceName& pDownImageFileName);
65
66 static const fsCUniqueId mTypeId;
67
68protected:
69
70 void tutorialCompletedDo(const fsPoint& pPos) override;
71
72 void updateDo(fsS32 pDeltaMs) override;
73
74 void listenersRegisterDo() override;
75 void listenersDeregisterDo() override;
76 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
77 const fsIMessageDispatcher::sMessageParameters& pParam) override;
78
79
80 void defaultSpriteSet();
81
82 virtual fsBool acceptingInputGet() const;
83
84 virtual void onTap(const fsPoint& pTapPos);
85
86 static fsIComponent* create(fsCEntity* pParent);
87
88 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
89
92
93 std::shared_ptr<fsCBrush> mBrush;
94 std::shared_ptr<fsCBrush> mOverBrush;
95
97
98private:
99
100 fsBool mOver;
101
102 static const fsCUniqueId mActionUnsetId;
103
104 fsBool hitTest(const fsPoint& pPos) const;
105
106 fsBool pointerMoveProcess(const fsIInputManager::sPointerMsgParam& pParam);
107 fsBool pointerDownProcess(const fsIInputManager::sPointerMsgParam& pParam);
108 fsBool pointerUpProcess(const fsIInputManager::sPointerMsgParam& pParam);
109
110 void spriteInitialise(const fsCVariableTable& pVars);
111};
112
113#endif
Definition fsCBrush.h:26
Definition fsCEntity.h:39
Definition fsCResourceName.h:32
std::shared_ptr< fsCBrush > mBrush
Definition fsCRollOverButtonComponent.h:93
friend class gfIAutoTestLevelUserInputComponent
Definition fsCRollOverButtonComponent.h:34
void defaultSpriteSet()
Definition fsCRollOverButtonComponent.cpp:129
fsCRollOverAction * mActionId
Definition fsCRollOverButtonComponent.h:96
friend class fsCComponentFactory
Definition fsCRollOverButtonComponent.h:33
fsCRollOverButtonComponent(fsCEntity *pParent)
Definition fsCRollOverButtonComponent.cpp:197
std::shared_ptr< fsCBrush > mOverBrush
Definition fsCRollOverButtonComponent.h:94
void tutorialCompletedDo(const fsPoint &pPos) override
Definition fsCRollOverButtonComponent.cpp:17
fsCEntity * buttonGuiEntityCreate(const fsStr &pEntityName, const fsCResourceName &pImageFileName, const fsCResourceName &pDownImageFileName)
Definition fsCRollOverButtonComponent.cpp:159
void actionSet(fsCRollOverAction *pRollOverAction)
Definition fsCRollOverButtonComponent.cpp:153
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsCRollOverButtonComponent.cpp:122
void listenersRegisterDo() override
Definition fsCRollOverButtonComponent.cpp:30
virtual void onTap(const fsPoint &pTapPos)
Definition fsCRollOverButtonComponent.cpp:188
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition fsCRollOverButtonComponent.cpp:46
friend class gfCLevelSequencerMapComponent
Definition fsCRollOverButtonComponent.h:32
static const fsCUniqueId mTypeId
Definition fsCRollOverButtonComponent.h:66
static fsIComponent * create(fsCEntity *pParent)
Definition fsCRollOverButtonComponent.cpp:192
virtual fsBool acceptingInputGet() const
Definition fsCRollOverButtonComponent.cpp:183
virtual ~fsCRollOverButtonComponent()
Definition fsCRollOverButtonComponent.cpp:204
void listenersDeregisterDo() override
Definition fsCRollOverButtonComponent.cpp:38
void updateDo(fsS32 pDeltaMs) override
Definition fsCRollOverButtonComponent.cpp:22
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsIFont.h:34
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
fsITutorialEnabledComponent()
Definition fsITutorialEnabledComponent.cpp:17
Definition fsStr.h:23
Definition gfCSubSceneViewComponent.h:27
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsCRollOverButtonComponent.h:39
virtual void mouseUp(const fsPoint &pMousePos)=0
virtual void end(const fsPoint &pMousePos)=0
virtual void start(const fsPoint &pMousePos)=0
virtual void mouseDown(const fsPoint &pMousePos)=0
virtual ~fsCRollOverAction()
Definition fsCRollOverButtonComponent.h:50
fsCRollOverAction()
Definition fsCRollOverButtonComponent.h:46
Definition fsCRollOverButtonComponent.h:56
fsStr mStr
Definition fsCRollOverButtonComponent.h:57
fsCRollOverButtonComponent * mParent
Definition fsCRollOverButtonComponent.h:58
Definition fsIInputManager.h:104
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17