MCPcopy Create free account
hub / github.com/JeanPhilippeKernel/RendererEngine / PollEvent

Method PollEvent

ZEngine/src/SDL2Window/OpenGLWindow.cpp:88–198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86 }
87
88 void OpenGLWindow::PollEvent() {
89 const auto pending = SDL_PollEvent(m_event.get());
90 if (pending)
91 {
92
93 switch (m_event->type)
94 {
95 case SDL_QUIT: {
96 WindowClosedEvent e;
97 m_property.CallbackFn(e);
98 break;
99 }
100
101 case SDL_WINDOWEVENT: {
102 switch (m_event->window.event)
103 {
104 case SDL_WINDOWEVENT_RESIZED:
105 {
106 Event::WindowResizedEvent e {
107 static_cast<uint32_t>(m_event->window.data1),
108 static_cast<std::uint32_t>(m_event->window.data2)
109 };
110 m_property.CallbackFn(e);
111 break;
112 }
113
114 case SDL_WINDOWEVENT_MAXIMIZED: {
115 Event::WindowMaximizedEvent e;
116 m_property.CallbackFn(e);
117 break;
118 }
119
120 case SDL_WINDOWEVENT_MINIMIZED:{
121 Event::WindowMinimizedEvent e;
122 m_property.CallbackFn(e);
123 break;
124 }
125
126 case SDL_WINDOWEVENT_RESTORED: {
127 Event::WindowRestoredEvent e;
128 m_property.CallbackFn(e);
129 break;
130 }
131 }
132 break;
133 }
134
135 case SDL_TEXTINPUT: {
136 TextInputEvent e{m_event->text.text};
137 m_property.CallbackFn(e);
138 break;
139 }
140
141 case SDL_KEYDOWN: {
142 if (m_event->key.keysym.sym == SDLK_ESCAPE) {
143 Event::WindowClosedEvent e;
144 m_property.CallbackFn(e);
145

Callers 1

ProcessEventMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected