Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.22 KB | None | 0 0
  1. procedure CreateWindow(Window: PSDL_Window; WindowSettings: TSDLWindowSettings);
  2. begin
  3.   try
  4.     Window := { --INITIALIZE WINDOW WITH PARAMETER SETTINGS-- }
  5.       SDL_CreateWindow(WindowSettings.WindowTitle, WindowSettings.WindowX,
  6.       WindowSettings.WindowY, WindowSettings.WindowWidth,
  7.       WindowSettings.WindowHeight, WindowSettings.WindowFlags);
  8.     if Window = nil then
  9.       Exception.Create(E_INITIATEWINDOW + '| SDL ERROR: ' + SDL_GetError);
  10.   except
  11.     raise Exception.Create(E_INITIATEWINDOW + '| SDL ERROR: ' + SDL_GetError);
  12.   end;
  13.   // USAGE EXAMPLE = CreateWindow(@Window, GameSettings.Window);
  14. end;
  15.  
  16. procedure CreateRenderer(Window: PSDL_Window; Renderer: PSDL_Renderer);
  17. begin
  18.   try
  19.     Renderer := SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
  20.     if Renderer = nil then
  21.       Exception.Create(E_INITIATERENDER + '| SDL ERROR: ' + SDL_GetError);
  22.   except
  23.     raise Exception.Create(E_INITIATERENDER + '| SDL ERROR: ' + SDL_GetError);
  24.   end;
  25. end;
  26.  
  27. procedure LoadBMPToSurface(Surface: PSDL_Surface);
  28. begin
  29.   try
  30.     Surface := SDL_LoadBMP('F:\EVROPA\bin\test.bmp');
  31.   except
  32.     raise Exception.Create(E_LOADBMPTOSURFACE + '| SDL ERROR: ' + SDL_GetError);
  33.   end;
  34.  
  35. end;
  36.  
  37. procedure CreateTextureFromSurface(Surface: PSDL_Surface;
  38.   Renderer: PSDL_Renderer; Texture: PSDL_Texture);
  39. begin
  40.   Texture := SDL_CreateTextureFromSurface(Renderer, Surface);
  41. end;
  42.  
  43. var
  44.   // ******************//
  45.   { -GLOBAL VARIABLES- }
  46.   // ------------------//
  47.  
  48.   { SETTINGS VARIABLES }
  49.  
  50.   GameSettings: TGameSettings;
  51.   Window: TSDL_Window;
  52.   Renderer: TSDL_Renderer;
  53.   Surface: TSDL_Surface;
  54.   Texture: TSDL_Texture;
  55.  
  56. begin
  57. {$IFDEF WIN32}
  58.   try
  59.  
  60.     LoadGameSettings(@GameSettings);
  61.  
  62.     CreateWindow(@Window, GameSettings.Window);
  63.     CreateRenderer(@Window, @Renderer);
  64.     LoadBMPToSurface(@Surface);
  65.     CreateTextureFromSurface(@Surface, @Renderer, @Texture);
  66.     SDL_FreeSurface(@Surface);
  67.     while true do
  68.     begin
  69.       SDL_RenderClear(@Renderer);
  70.       SDL_RenderCopy(@Renderer, @Texture, nil, nil);
  71.       SDL_RenderPresent(@Renderer);
  72.       SDL_Delay(1000);
  73.     end;
  74.  
  75.   except
  76.     on E: Exception do
  77.       Writeln(E.ClassName, ': ', E.Message);
  78.   end;
  79. {$ENDIF}
  80.   readln;
  81.  
  82. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement