MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / loop

Function loop

deps/SDL2/test/testoverlay2.c:179–235  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179void
180loop()
181{
182 SDL_Event event;
183
184 while (SDL_PollEvent(&event)) {
185 switch (event.type) {
186 case SDL_WINDOWEVENT:
187 if (event.window.event == SDL_WINDOWEVENT_RESIZED) {
188 SDL_RenderSetViewport(renderer, NULL);
189 displayrect.w = window_w = event.window.data1;
190 displayrect.h = window_h = event.window.data2;
191 }
192 break;
193 case SDL_MOUSEBUTTONDOWN:
194 displayrect.x = event.button.x - window_w / 2;
195 displayrect.y = event.button.y - window_h / 2;
196 break;
197 case SDL_MOUSEMOTION:
198 if (event.motion.state) {
199 displayrect.x = event.motion.x - window_w / 2;
200 displayrect.y = event.motion.y - window_h / 2;
201 }
202 break;
203 case SDL_KEYDOWN:
204 if (event.key.keysym.sym == SDLK_SPACE) {
205 paused = !paused;
206 break;
207 }
208 if (event.key.keysym.sym != SDLK_ESCAPE) {
209 break;
210 }
211 case SDL_QUIT:
212 done = SDL_TRUE;
213 break;
214 }
215 }
216
217#ifndef __EMSCRIPTEN__
218 SDL_Delay(fpsdelay);
219#endif
220
221 if (!paused) {
222 i = (i + 1) % MOOSEFRAMES_COUNT;
223
224 SDL_UpdateTexture(MooseTexture, NULL, MooseFrame[i], MOOSEPIC_W);
225 }
226 SDL_RenderClear(renderer);
227 SDL_RenderCopy(renderer, MooseTexture, NULL, &displayrect);
228 SDL_RenderPresent(renderer);
229
230#ifdef __EMSCRIPTEN__
231 if (done) {
232 emscripten_cancel_main_loop();
233 }
234#endif
235}
236

Callers 1

mainFunction · 0.70

Calls 7

SDL_PollEventFunction · 0.85
SDL_RenderSetViewportFunction · 0.85
SDL_UpdateTextureFunction · 0.85
SDL_RenderClearFunction · 0.85
SDL_RenderCopyFunction · 0.85
SDL_RenderPresentFunction · 0.85
SDL_DelayFunction · 0.50

Tested by

no test coverage detected