LeviLamina
Loading...
Searching...
No Matches
MouseInputEvent.h
1#pragma once
2
3#include "ll/api/event/Cancellable.h"
4#include "ll/api/event/input/InputEvent.h"
5
6namespace ll::event::inline input {
7
8class MouseInputEvent final : public Cancellable<InputEvent> {
9 char& mActionButtonId;
10 schar& mButtonData;
11 short& mX;
12 short& mY;
13 short& mDx;
14 short& mDy;
15
16public:
17 constexpr explicit MouseInputEvent(
18 char& actionButtonId,
19 schar& buttonData,
20 short& x,
21 short& y,
22 short& dx,
23 short& dy
24 )
25 : Cancellable(),
26 mActionButtonId(actionButtonId),
27 mButtonData(buttonData),
28 mX(x),
29 mY(y),
30 mDx(dx),
31 mDy(dy) {}
32
33 LLAPI void serialize(CompoundTag&) const override;
34 LLAPI void deserialize(CompoundTag const&) override;
35
36 LLNDAPI char& actionButtonId() const;
37 LLNDAPI schar& buttonData() const;
38
39 LLNDAPI short& x() const;
40 LLNDAPI short& y() const;
41 LLNDAPI short& dx() const;
42 LLNDAPI short& dy() const;
43};
44} // namespace ll::event::inline input
Definition CompoundTag.h:23