MCPcopy Create free account
hub / github.com/MyGUI/mygui / run

Method run

Common/Base/PlatformBaseManager/SdlBaseManager.cpp:108–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

106 }
107
108 void SdlBaseManager::run()
109 {
110#ifndef EMSCRIPTEN
111 while (!mExit)
112#endif
113 {
114 while (SDL_PollEvent(&mEvent) != 0)
115 {
116 switch (mEvent.type)
117 {
118 // keyboard events
119 case SDL_KEYDOWN:
120 mKeyCode = mEvent.key.keysym.sym;
121 keyPressed(mKeyCode, nullptr);
122 break;
123 case SDL_TEXTINPUT:
124 mKeyCode = SDLK_UNKNOWN;
125 keyPressed(mKeyCode, &mEvent.text);
126 break;
127 case SDL_KEYUP:
128 keyReleased(mEvent.key);
129 break;
130 // mouse events
131 case SDL_MOUSEMOTION: mouseMoved(mEvent.motion); break;
132 case SDL_MOUSEBUTTONDOWN: mousePressed(mEvent.button); break;
133 case SDL_MOUSEBUTTONUP: mouseReleased(mEvent.button); break;
134 case SDL_MOUSEWHEEL:
135 mouseWheelMoved(mEvent.wheel);
136 break;
137 // drop file events
138 case SDL_DROPFILE:
139 break;
140 // windows events
141 case SDL_WINDOWEVENT:
142 switch (mEvent.window.event)
143 {
144 case SDL_WINDOWEVENT_CLOSE: mExit = true; break;
145 case SDL_WINDOWEVENT_RESIZED: _windowResized(mEvent.window.data1, mEvent.window.data2); break;
146 case SDL_WINDOWEVENT_FOCUS_GAINED: mWindowOn = true; break;
147 case SDL_WINDOWEVENT_FOCUS_LOST: mWindowOn = false; break;
148 default: break;
149 }
150 break;
151 default: break;
152 }
153 }
154
155 mFpsCounter++;
156 drawOneFrame();
157 if (!mWindowOn)
158 SDL_Delay(50);
159 }
160 }
161
162 void SdlBaseManager::destroy()
163 {

Callers 3

ExportDemo_RunFunction · 0.80
runFunction · 0.80
startAppFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected