Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure CreateWindow(Window: PSDL_Window; WindowSettings: TSDLWindowSettings);
- begin
- try
- Window := { --INITIALIZE WINDOW WITH PARAMETER SETTINGS-- }
- SDL_CreateWindow(WindowSettings.WindowTitle, WindowSettings.WindowX,
- WindowSettings.WindowY, WindowSettings.WindowWidth,
- WindowSettings.WindowHeight, WindowSettings.WindowFlags);
- if Window = nil then
- Exception.Create(E_INITIATEWINDOW + '| SDL ERROR: ' + SDL_GetError);
- except
- raise Exception.Create(E_INITIATEWINDOW + '| SDL ERROR: ' + SDL_GetError);
- end;
- // USAGE EXAMPLE = CreateWindow(@Window, GameSettings.Window);
- end;
- procedure CreateRenderer(Window: PSDL_Window; Renderer: PSDL_Renderer);
- begin
- try
- Renderer := SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
- if Renderer = nil then
- Exception.Create(E_INITIATERENDER + '| SDL ERROR: ' + SDL_GetError);
- except
- raise Exception.Create(E_INITIATERENDER + '| SDL ERROR: ' + SDL_GetError);
- end;
- end;
- procedure LoadBMPToSurface(Surface: PSDL_Surface);
- begin
- try
- Surface := SDL_LoadBMP('F:\EVROPA\bin\test.bmp');
- except
- raise Exception.Create(E_LOADBMPTOSURFACE + '| SDL ERROR: ' + SDL_GetError);
- end;
- end;
- procedure CreateTextureFromSurface(Surface: PSDL_Surface;
- Renderer: PSDL_Renderer; Texture: PSDL_Texture);
- begin
- Texture := SDL_CreateTextureFromSurface(Renderer, Surface);
- end;
- var
- // ******************//
- { -GLOBAL VARIABLES- }
- // ------------------//
- { SETTINGS VARIABLES }
- GameSettings: TGameSettings;
- Window: TSDL_Window;
- Renderer: TSDL_Renderer;
- Surface: TSDL_Surface;
- Texture: TSDL_Texture;
- begin
- {$IFDEF WIN32}
- try
- LoadGameSettings(@GameSettings);
- CreateWindow(@Window, GameSettings.Window);
- CreateRenderer(@Window, @Renderer);
- LoadBMPToSurface(@Surface);
- CreateTextureFromSurface(@Surface, @Renderer, @Texture);
- SDL_FreeSurface(@Surface);
- while true do
- begin
- SDL_RenderClear(@Renderer);
- SDL_RenderCopy(@Renderer, @Texture, nil, nil);
- SDL_RenderPresent(@Renderer);
- SDL_Delay(1000);
- end;
- except
- on E: Exception do
- Writeln(E.ClassName, ': ', E.Message);
- end;
- {$ENDIF}
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement