MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/FleX / SDLMainLoop

Function SDLMainLoop

demo/main.cpp:2616–2680  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2614}
2615
2616void SDLMainLoop()
2617{
2618 bool quit = false;
2619 SDL_Event e;
2620 while (!quit)
2621 {
2622 UpdateFrame();
2623
2624 while (SDL_PollEvent(&e))
2625 {
2626 switch (e.type)
2627 {
2628 case SDL_QUIT:
2629 quit = true;
2630 break;
2631
2632 case SDL_KEYDOWN:
2633 if (e.key.keysym.sym < 256 && (e.key.keysym.mod == KMOD_NONE || (e.key.keysym.mod & KMOD_NUM)))
2634 quit = InputKeyboardDown(e.key.keysym.sym, 0, 0);
2635 InputArrowKeysDown(e.key.keysym.sym, 0, 0);
2636 break;
2637
2638 case SDL_KEYUP:
2639 if (e.key.keysym.sym < 256 && (e.key.keysym.mod == 0 || (e.key.keysym.mod & KMOD_NUM)))
2640 InputKeyboardUp(e.key.keysym.sym, 0, 0);
2641 InputArrowKeysUp(e.key.keysym.sym, 0, 0);
2642 break;
2643
2644 case SDL_MOUSEMOTION:
2645 if (e.motion.state)
2646 MouseMotionFunc(e.motion.state, e.motion.x, e.motion.y);
2647 else
2648 MousePassiveMotionFunc(e.motion.x, e.motion.y);
2649 break;
2650
2651 case SDL_MOUSEBUTTONDOWN:
2652 case SDL_MOUSEBUTTONUP:
2653 MouseFunc(e.button.button, e.button.state, e.motion.x, e.motion.y);
2654 break;
2655
2656 case SDL_WINDOWEVENT:
2657 if (e.window.windowID == g_windowId)
2658 {
2659 if (e.window.event == SDL_WINDOWEVENT_SIZE_CHANGED)
2660 ReshapeWindow(e.window.data1, e.window.data2);
2661 }
2662 break;
2663
2664 case SDL_WINDOWEVENT_LEAVE:
2665 g_camVel = Vec3(0.0f, 0.0f, 0.0f);
2666 break;
2667
2668 case SDL_CONTROLLERBUTTONUP:
2669 case SDL_CONTROLLERBUTTONDOWN:
2670 ControllerButtonEvent(e.cbutton);
2671 break;
2672
2673 case SDL_JOYDEVICEADDED:

Callers 1

mainFunction · 0.85

Calls 11

UpdateFrameFunction · 0.85
InputKeyboardDownFunction · 0.85
InputArrowKeysDownFunction · 0.85
InputKeyboardUpFunction · 0.85
InputArrowKeysUpFunction · 0.85
MouseMotionFuncFunction · 0.85
MousePassiveMotionFuncFunction · 0.85
MouseFuncFunction · 0.85
ReshapeWindowFunction · 0.85
ControllerButtonEventFunction · 0.85
ControllerDeviceUpdateFunction · 0.85

Tested by

no test coverage detected