198 end; |
198 end; |
199 |
199 |
200 SDL_TEXTINPUT: uChat.TextInput(event.text); |
200 SDL_TEXTINPUT: uChat.TextInput(event.text); |
201 |
201 |
202 SDL_WINDOWEVENT: |
202 SDL_WINDOWEVENT: |
203 if event.window.event = SDL_WINDOWEVENT_SHOWN then |
|
204 begin |
203 begin |
205 cHasFocus:= true; |
204 case event.window.event of |
206 onFocusStateChanged() |
205 SDL_WINDOWEVENT_FOCUS_GAINED: |
207 end |
206 begin |
208 else if event.window.event = SDL_WINDOWEVENT_MINIMIZED then |
207 cHasFocus:= true; |
209 begin |
208 onFocusStateChanged(); |
210 previousGameState:= GameState; |
209 end; |
211 GameState:= gsSuspend; |
210 SDL_WINDOWEVENT_FOCUS_LOST: |
212 end |
211 begin |
213 else if event.window.event = SDL_WINDOWEVENT_RESTORED then |
212 cHasFocus:= false; |
214 begin |
213 onFocusStateChanged(); |
215 GameState:= previousGameState; |
214 end; |
|
215 SDL_WINDOWEVENT_MINIMIZED: |
|
216 begin |
|
217 previousGameState:= GameState; |
|
218 GameState:= gsSuspend; |
|
219 end; |
|
220 SDL_WINDOWEVENT_RESTORED: |
|
221 begin |
|
222 GameState:= previousGameState; |
216 {$IFDEF ANDROID} |
223 {$IFDEF ANDROID} |
217 //This call is used to reinitialize the glcontext and reload the textures |
224 //This call is used to reinitialize the glcontext and reload the textures |
218 ParseCommand('fullscr '+intToStr(LongInt(cFullScreen)), true); |
225 ParseCommand('fullscr '+intToStr(LongInt(cFullScreen)), true); |
219 {$ENDIF} |
226 {$ENDIF} |
220 end |
227 end; |
221 else if event.window.event = SDL_WINDOWEVENT_RESIZED then |
228 SDL_WINDOWEVENT_RESIZED: |
222 begin |
229 begin |
223 cNewScreenWidth:= max(2 * (event.window.data1 div 2), cMinScreenWidth); |
230 cNewScreenWidth:= max(2 * (event.window.data1 div 2), cMinScreenWidth); |
224 cNewScreenHeight:= max(2 * (event.window.data2 div 2), cMinScreenHeight); |
231 cNewScreenHeight:= max(2 * (event.window.data2 div 2), cMinScreenHeight); |
225 cScreenResizeDelay:= RealTicks + 500{$IFDEF IPHONEOS}div 2{$ENDIF}; |
232 cScreenResizeDelay:= RealTicks + 500{$IFDEF IPHONEOS}div 2{$ENDIF}; |
|
233 end; |
|
234 end; // case closed |
226 end; |
235 end; |
|
236 |
227 {$IFDEF USE_TOUCH_INTERFACE} |
237 {$IFDEF USE_TOUCH_INTERFACE} |
228 SDL_FINGERMOTION: |
238 SDL_FINGERMOTION: |
229 onTouchMotion(event.tfinger.x, event.tfinger.y, event.tfinger.dx, event.tfinger.dy, event.tfinger.fingerId); |
239 onTouchMotion(event.tfinger.x, event.tfinger.y, event.tfinger.dx, event.tfinger.dy, event.tfinger.fingerId); |
230 |
240 |
231 SDL_FINGERDOWN: |
241 SDL_FINGERDOWN: |