isle-portable/LEGO1/lego/legoomni/include/legoeventnotificationparam.h
Anonymous Maarten b97aea42d2
Use SDL_KeyCode in LEGO1.dll (#51)
* Pass SDL_Keycode in LEGO1.dll

* ISLE.EXE: use iniparser for getting isle.mediaPath

* Use SDL_isdigit instead of isdigit

* clang-format

* hdPath is a better default for mediaPath

* Replaced a stray 'A' with SDLK_A

* Use SDL_Keycode to store the ogel cheat code
2024-12-29 18:56:47 +01:00

86 lines
2.0 KiB
C++

#ifndef LEGOEVENTNOTIFICATIONPARAM_H
#define LEGOEVENTNOTIFICATIONPARAM_H
#include "mxnotificationparam.h"
#include "mxtypes.h"
#include <SDL3/SDL_keycode.h>
#include <stdlib.h>
class LegoROI;
// VTABLE: LEGO1 0x100d6aa0
// SIZE 0x20
class LegoEventNotificationParam : public MxNotificationParam {
public:
enum {
c_lButtonState = 1,
c_rButtonState = 2,
c_modKey1 = 4,
c_modKey2 = 8,
};
// FUNCTION: LEGO1 0x10028690
MxNotificationParam* Clone() const override
{
LegoEventNotificationParam* clone =
new LegoEventNotificationParam(m_type, m_sender, m_modifier, m_x, m_y, m_key);
clone->m_roi = m_roi;
return clone;
} // vtable+0x04
LegoEventNotificationParam() : MxNotificationParam(c_notificationType0, NULL) {}
LegoEventNotificationParam(
NotificationId p_type,
MxCore* p_sender,
MxU8 p_modifier,
MxS32 p_x,
MxS32 p_y,
SDL_Keycode p_key
)
: MxNotificationParam(p_type, p_sender), m_modifier(p_modifier), m_x(p_x), m_y(p_y), m_key(p_key), m_roi(NULL)
{
}
LegoROI* GetROI() { return m_roi; }
MxU8 GetModifier() { return m_modifier; }
SDL_Keycode GetKey() const { return m_key; }
// FUNCTION: LEGO1 0x10012190
// FUNCTION: BETA10 0x10024210
MxS32 GetX() const { return m_x; }
// FUNCTION: LEGO1 0x100121a0
// FUNCTION: BETA10 0x10024240
MxS32 GetY() const { return m_y; }
void SetROI(LegoROI* p_roi) { m_roi = p_roi; }
// FUNCTION: BETA10 0x1007d620
void SetModifier(MxU8 p_modifier) { m_modifier = p_modifier; }
// FUNCTION: BETA10 0x1007d6b0
void SetKey(SDL_Keycode p_key) { m_key = p_key; }
// FUNCTION: BETA10 0x1007d650
void SetX(MxS32 p_x) { m_x = p_x; }
// FUNCTION: BETA10 0x1007d680
void SetY(MxS32 p_y) { m_y = p_y; }
protected:
MxU8 m_modifier; // 0x0c
MxS32 m_x; // 0x10
MxS32 m_y; // 0x14
SDL_Keycode m_key; // 0x18
LegoROI* m_roi; // 0x1c
};
// SYNTHETIC: LEGO1 0x10028770
// LegoEventNotificationParam::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100287e0
// LegoEventNotificationParam::~LegoEventNotificationParam
#endif // LEGOEVENTNOTIFICATIONPARAM_H