void GHOST_EventManager::removeTypeEvents(GHOST_TEventType type, GHOST_IWindow *window) { TEventStack::iterator iter; iter = m_events.begin(); while (iter != m_events.end()) { GHOST_IEvent *event = *iter; if ((event->getType() == type) && (!window || (event->getWindow() == window))) { GHOST_PRINT("GHOST_EventManager::removeTypeEvents(): removing event\n"); /* * Found an event of this type for the window, remove it. * The iterator will become invalid. */ delete event; m_events.erase(iter); iter = m_events.begin(); } else { ++iter; } } }
void GHOST_EventManager::removeWindowEvents(GHOST_IWindow* window) { TEventStack::iterator iter; iter = m_events.begin(); while (iter != m_events.end()) { GHOST_IEvent* event = *iter; if (event->getWindow() == window) { GHOST_PRINT("GHOST_EventManager::removeWindowEvents(): removing event\n"); /* * Found an event for this window, remove it. * The iterator will become invalid. */ delete event; m_events.erase(iter); iter = m_events.begin(); } else { iter++; } } }
GHOST_WindowHandle GHOST_GetEventWindow(GHOST_EventHandle eventhandle) { GHOST_IEvent *event = (GHOST_IEvent *) eventhandle; return (GHOST_WindowHandle) event->getWindow(); }