blob: 5b1181c7cbe96bb2863f92ef984daeef2a9d9f2e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#pragma once
#include "event.h"
#include "eventHandler.h"
#include "eventManager.h"
class IMouseListener {
public:
virtual ~IMouseListener();
virtual void onMouseClicked(const MouseClickEvent & event) = 0;
virtual void onMousePressed(const MousePressedEvent & event) = 0;
virtual void onMouseReleased(const MouseReleasedEvent & event) = 0;
virtual void onMouseMoved(const MouseMovedEvent & event) = 0;
protected:
void subscribeEvents(int listenerId = 0);
void unsubscribeEvents(int listenerId = 0);
private:
EventHandler<MouseClickEvent> mouseClickHandler;
EventHandler<MousePressedEvent> mousePressHandler;
EventHandler<MouseReleasedEvent> mouseReleaseHandler;
EventHandler<MouseMovedEvent> mouseMoveHandler;
};
|