參考資訊:
https://www.freepascal.org/
https://wiki.lazarus.freepascal.org/FPC_and_SDL
https://sourceforge.net/projects/freepascal/files/
main.pp
program app; uses sdl; var rt : SDL_Rect; screen : PSDL_Surface; begin SDL_Init(SDL_INIT_VIDEO); screen := SDL_SetVideoMode(320, 240, 16, SDL_SWSURFACE); SDL_FillRect(screen, @screen^.clip_rect, SDL_MapRGB(screen^.format, $ff, $00, $00)); rt.x := 50; rt.y := 50; rt.w := 30; rt.h := 30; SDL_FillRect(screen, @rt, SDL_MapRGB(screen^.format, $00, $ff, $00)); rt.x := 100; rt.y := 100; rt.w := 50; rt.h := 100; SDL_FillRect(screen, @rt, SDL_MapRGB(screen^.format, $00, $00, $ff)); SDL_Flip(screen); SDL_Delay(3000); SDL_Quit; end.
編譯、執行
$ fpc main.pp $ ./main