mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-23 07:58:21 -05:00
7834f18999
* MxQueue and parts of LegoInputManager * Missed clang-format on mxqueue.h * Fix declarations * MxParamType -> NotificationId --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#ifndef MXNOTIFICATIONPARAM_H
|
|
#define MXNOTIFICATIONPARAM_H
|
|
|
|
#include "compat.h"
|
|
#include "mxparam.h"
|
|
#include "mxtypes.h"
|
|
|
|
class MxCore;
|
|
|
|
enum NotificationId {
|
|
PARAM_NONE = 0,
|
|
c_notificationStartAction = 1, // 100dc210:100d8350
|
|
c_notificationEndAction = 2, // 100d8358:100d8350
|
|
TYPE4 = 4, // 100dc208:100d8350
|
|
MXPRESENTER_NOTIFICATION = 5,
|
|
MXSTREAMER_DELETE_NOTIFY = 6, // 100dc760
|
|
c_notificationKeyPress = 7, // 100d6aa0
|
|
c_notificationButtonUp = 8, // 100d6aa0
|
|
c_notificationButtonDown = 9, // 100d6aa0
|
|
c_notificationMouseMove = 10, // 100d6aa0
|
|
TYPE11 = 11, // 100d6aa0
|
|
c_notificationDragEnd = 12,
|
|
c_notificationDragStart = 13,
|
|
c_notificationDrag = 14,
|
|
c_notificationTimer = 15, // 100d6aa0
|
|
TYPE17 = 17,
|
|
TYPE18 = 18, // 100d7e80
|
|
TYPE19 = 19, // 100d6230
|
|
TYPE20 = 20,
|
|
c_notificationNewPresenter = 21,
|
|
TYPE22 = 22,
|
|
TYPE23 = 23,
|
|
MXTRANSITIONMANAGER_TRANSITIONENDED = 24
|
|
};
|
|
|
|
// VTABLE 0x100d56e0
|
|
class MxNotificationParam : public MxParam {
|
|
public:
|
|
inline MxNotificationParam(NotificationId p_type, MxCore* p_sender) : MxParam(), m_type(p_type), m_sender(p_sender)
|
|
{
|
|
}
|
|
|
|
virtual ~MxNotificationParam() override {} // vtable+0x0 (scalar deleting destructor)
|
|
virtual MxNotificationParam* Clone(); // vtable+0x4
|
|
|
|
inline NotificationId GetNotification() const { return m_type; }
|
|
inline MxCore* GetSender() const { return m_sender; }
|
|
inline NotificationId GetType() const { return m_type; }
|
|
|
|
protected:
|
|
NotificationId m_type; // 0x4
|
|
MxCore* m_sender; // 0x8
|
|
};
|
|
|
|
#endif // MXNOTIFICATIONPARAM_H
|