Blender V4.3
GHOST_EventManager.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10#pragma once
11
12#include <deque>
13#include <vector>
14
16
26 public:
31
36
42
49
57
61 void dispatchEvent(const GHOST_IEvent *event);
62
67 void dispatchEvent();
68
73 void dispatchEvents();
74
81
88
93 void removeWindowEvents(const GHOST_IWindow *window);
94
102 void removeTypeEvents(GHOST_TEventType type, const GHOST_IWindow *window = nullptr);
103
104 protected:
108 void disposeEvents();
109
111 typedef std::deque<const GHOST_IEvent *> TEventStack;
112
114 std::deque<const GHOST_IEvent *> m_events;
115 std::deque<const GHOST_IEvent *> m_handled_events;
116
118 typedef std::vector<GHOST_IEventConsumer *> TConsumerVector;
119
122
123#ifdef WITH_CXX_GUARDEDALLOC
124 MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_EventManager")
125#endif
126};
#define pushEvent
GHOST_TEventType
GHOST_TSuccess
Definition GHOST_Types.h:87
std::deque< const GHOST_IEvent * > m_handled_events
GHOST_TSuccess addConsumer(GHOST_IEventConsumer *consumer)
std::deque< const GHOST_IEvent * > m_events
GHOST_TSuccess removeConsumer(GHOST_IEventConsumer *consumer)
TConsumerVector m_consumers
void removeWindowEvents(const GHOST_IWindow *window)
std::vector< GHOST_IEventConsumer * > TConsumerVector
void removeTypeEvents(GHOST_TEventType type, const GHOST_IWindow *window=nullptr)
std::deque< const GHOST_IEvent * > TEventStack
unsigned int uint32_t
Definition stdint.h:80