2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-10 00:27:43 +00:00

Initial mouse events for pause screen

This commit is contained in:
Jack Andersen
2019-01-20 18:10:34 -10:00
parent 47c6b5cba8
commit f3f9924309
25 changed files with 620 additions and 176 deletions

View File

@@ -42,11 +42,12 @@ private:
float m_maxAspect = -1.f;
mutable bool m_inMouseDown = false;
mutable bool m_inCancel = false;
mutable CGuiWidget* m_mouseDownWidget = nullptr;
mutable CGuiWidget* m_lastMouseOverWidget = nullptr;
std::function<void(CGuiWidget*, CGuiWidget*)> m_mouseOverChangeCb;
std::function<void(CGuiWidget*)> m_mouseDownCb;
std::function<void(CGuiWidget*)> m_mouseUpCb;
std::function<void(CGuiWidget*, bool)> m_mouseDownCb;
std::function<void(CGuiWidget*, bool)> m_mouseUpCb;
public:
CGuiFrame(CAssetId id, CGuiSys& sys, int a, int b, int c, CSimplePool* sp);
@@ -76,10 +77,10 @@ public:
void SetMouseOverChangeCallback(std::function<void(CGuiWidget*, CGuiWidget*)>&& cb) {
m_mouseOverChangeCb = std::move(cb);
}
void SetMouseDownCallback(std::function<void(CGuiWidget*)>&& cb) {
void SetMouseDownCallback(std::function<void(CGuiWidget*, bool)>&& cb) {
m_mouseDownCb = std::move(cb);
}
void SetMouseUpCallback(std::function<void(CGuiWidget*)>&& cb) {
void SetMouseUpCallback(std::function<void(CGuiWidget*, bool)>&& cb) {
m_mouseUpCb = std::move(cb);
}
@@ -89,6 +90,7 @@ public:
void Initialize();
void LoadWidgetsInGame(CInputStream& in, CSimplePool* sp);
void ProcessUserInput(const CFinalInput& input) const;
bool ProcessMouseInput(const CFinalInput& input, const CGuiWidgetDrawParms& parms) const;
CGuiWidgetIdDB& GetWidgetIdDB() { return x18_idDB; }