index c228aee8d77952d27bf1cf618f6f8fac1bd0b0e9..6d7cf03ef433b371fb4abcad6cf440f1c9b8cbd5 100644 (file)
uses Utils;
- (* --- Utils --- *)
- procedure sys_Delay (ms: Integer);
+ 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;
JoystickHatState: array [0..e_MaxJoys - 1, 0..e_MaxJoyHats - 1, HAT_LEFT..HAT_DOWN] of Boolean;
JoystickZeroAxes: array [0..e_MaxJoys - 1, 0..e_MaxJoyAxes - 1] of Integer;
- (* --------- Utils --------- *)
-
- procedure sys_Delay (ms: Integer);
- begin
- SDL_Delay(ms)
- end;
-
(* --------- Graphics --------- *)
function GetDriver (): AnsiString;
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);
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