Fission FSN
Loading...
Searching...
No Matches
fsCRollOverGui.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 15/7/2014 09:06
4*
5* File: fsCRollOverGui.h
6*
7* Author: Martin P King
8*
9* Purpose: Roll over that renders when the mouse is over any
10* of the registered entities
11*
12*********************************************************************/
13
14#ifndef fsCRollOverGuihdr
15#define fsCRollOverGuihdr
16
18
20#include <fsCore/fsPoint.h>
21
23
25{
26 friend class fsCComponentFactory;
27
28public:
29
30 static const fsCUniqueId mTypeId;
31
33 {
34 fsSRollOver(const fsStr& pTxt, fsCEntity* const pEnt) :
35 mTxt(pTxt),
36 mEnt(pEnt)
37 {
38 }
39
42 };
43
45
47 void candidatesRegister(std::vector<fsSRollOver>& pCandidates);
48 void candidateRegister(const fsSRollOver& pCandidate);
50
51
52 void listenersRegisterDo() override;
53 void listenersDeregisterDo() override;
54 fsBool messageProcessDo(const fsCUniqueId& pMessageType,
55 const fsIMessageDispatcher::sMessageParameters& pParam) override;
56
57protected:
58
59 void initialiseFromVariableTableDo(const fsCVariableTable& pVars) override;
60
61 static fsIComponent* create(fsCEntity* pParent);
62
63 fsCRollOverGui(fsCEntity* pParent);
64 virtual ~fsCRollOverGui();
65
66
67 void posSet(const fsPoint& pMousePos, fsCEntity* pEnt);
68 void textSet(const fsSRollOver& pRollOver);
69 fsBool newTarget(const fsSRollOver& pRollOver) const;
70
71 virtual void rollOverCandidatesCheck(const fsPoint& pPos);
72
73 std::vector<fsSRollOver> mRollOvers;
74
75private:
76
77 fsITransformationComponent* transformationChildComponentGet() const;
78 void close();
79
80
81 void positionCorrectForScreenBoundry(fsPoint& pPos, fsS32 pTargetH, fsPoint pRollOverGuiSize);
82
83 void maxStrWidthCalculate(const fsCVariableTable& pVars);
84
85 fsS32 mStrWidthInPixels;
86 fsPoint mFixedPos;
87};
88
89#endif
Definition fsCEntity.h:39
virtual ~fsCRollOverGui()
Definition fsCRollOverGui.cpp:222
friend class fsCComponentFactory
Definition fsCRollOverGui.h:26
void candidatesDeregister()
Definition fsCRollOverGui.cpp:36
fsCRollOverGui(fsCEntity *pParent)
Definition fsCRollOverGui.cpp:215
fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition fsCRollOverGui.cpp:173
static const fsCUniqueId mDeactivateMsg
Definition fsCRollOverGui.h:44
void posSet(const fsPoint &pMousePos, fsCEntity *pEnt)
Definition fsCRollOverGui.cpp:101
static fsIComponent * create(fsCEntity *pParent)
Definition fsCRollOverGui.cpp:210
void listenersRegisterDo() override
Definition fsCRollOverGui.cpp:87
void candidateRegister(const fsSRollOver &pCandidate)
Definition fsCRollOverGui.cpp:50
void textSet(const fsSRollOver &pRollOver)
Definition fsCRollOverGui.cpp:157
virtual void rollOverCandidatesCheck(const fsPoint &pPos)
Definition fsCRollOverGui.cpp:60
fsBool newTarget(const fsSRollOver &pRollOver) const
Definition fsCRollOverGui.cpp:151
std::vector< fsSRollOver > mRollOvers
Definition fsCRollOverGui.h:73
void candidatesRegister(std::vector< fsSRollOver > &pCandidates)
Definition fsCRollOverGui.cpp:55
void candidateDeRegister(fsCEntity *pEnt)
Definition fsCRollOverGui.cpp:41
void listenersDeregisterDo() override
Definition fsCRollOverGui.cpp:94
void initialiseFromVariableTableDo(const fsCVariableTable &pVars) override
Definition fsCRollOverGui.cpp:201
static const fsCUniqueId mTypeId
Definition fsCRollOverGui.h:30
Definition fsCUniqueId.h:21
Definition fsCVariableTable.h:27
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerGuiComponent(fsCEntity *pParent, fsS32 pPriority)
Definition fsIMessageListenerGuiComponent.cpp:4
Definition fsITransformationComponent.h:26
Definition fsStr.h:23
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsCRollOverGui.h:33
fsSRollOver(const fsStr &pTxt, fsCEntity *const pEnt)
Definition fsCRollOverGui.h:34
fsStr mTxt
Definition fsCRollOverGui.h:40
fsCEntity * mEnt
Definition fsCRollOverGui.h:41
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17