X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fsdl%2Fg_system.pas;h=6d7cf03ef433b371fb4abcad6cf440f1c9b8cbd5;hb=d52e9d7b6bcc5c1846c82c3908a4688339e736f3;hp=0067bbca54da5798197c71d9c6a709906e9f2090;hpb=bcad110d1bb2ff50900f9ca2c42b50c1c7b68445;p=d2df-sdl.git diff --git a/src/game/sdl/g_system.pas b/src/game/sdl/g_system.pas index 0067bbc..6d7cf03 100644 --- a/src/game/sdl/g_system.pas +++ b/src/game/sdl/g_system.pas @@ -19,16 +19,36 @@ interface uses Utils; + type + TGLProfile = (Core, Compat, Common, CommonLite); + + TGLDisplayInfo = record + w, h, bpp: Integer; + fullscreen: Boolean; + maximized: Boolean; + major, minor: Integer; + profile: TGLProfile; + end; + (* --- Graphics --- *) + function sys_GetDisplayModes (bpp: Integer): SSArray; function sys_SetDisplayMode (w, h, bpp: Integer; fullscreen, maximized: Boolean): Boolean; procedure sys_EnableVSync (yes: Boolean); procedure sys_Repaint; + function sys_SetDisplayModeGL (const info: TGLDisplayInfo): Boolean; + (* --- Input --- *) + function sys_HandleInput (): Boolean; procedure sys_RequestQuit; +{$IFDEF ENABLE_TOUCH} + function sys_IsTextInputActive (): Boolean; + procedure sys_ShowKeyboard (yes: Boolean); +{$ENDIF} + (* --- Init --- *) procedure sys_Init; procedure sys_Final; @@ -150,6 +170,14 @@ implementation result := InitWindow(w, h, bpp, fullscreen) end; + function sys_SetDisplayModeGL (const info: TGLDisplayInfo): Boolean; + begin + result := false; + case info.profile of + TGLProfile.Compat: result := InitWindow(info.w, info.h, info.bpp, info.fullscreen); + end; + end; + (* --------- Joystick --------- *) procedure HandleJoyButton (var ev: TSDL_JoyButtonEvent); @@ -448,6 +476,18 @@ implementation end; {$ENDIF} +{$IFDEF ENABLE_TOUCH} + procedure sys_ShowKeyboard (yes: Boolean); + begin + // stub + end; + + function sys_IsTextInputActive (): Boolean; + begin + Result := false + end; +{$ENDIF} + function Key2Stub (key: Integer): Integer; var x: Integer; begin