X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fsdl%2Fg_system.pas;h=6d7cf03ef433b371fb4abcad6cf440f1c9b8cbd5;hb=7ea33f434a86160ce9223f5946b5e3407026c76f;hp=8fdb42ca5b93ea3ea61ef2f14ff832f9ea53c07d;hpb=5ff315211d9cab4ed4b38c339857a06611d9b0ed;p=d2df-sdl.git diff --git a/src/game/sdl/g_system.pas b/src/game/sdl/g_system.pas index 8fdb42c..6d7cf03 100644 --- a/src/game/sdl/g_system.pas +++ b/src/game/sdl/g_system.pas @@ -19,13 +19,28 @@ 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; @@ -155,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);