| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- DEFINITION MODULE FOR "C" SDLRender ;
- (*
- m2SDL - 2D renderer binding (SDL2 <SDL_render.h>), starter subset.
- Opaque handle: SDL_Renderer * travels as ADDRESS (NIL == failure).
- Single rects pass as VAR SDLRect (GM2 maps VAR record params onto
- T * ); rect/point arrays pass as ADDRESS of the first element plus
- a count, e.g. ADR(rects) with rects: ARRAY OF SDLRect.
- Color components are Uint8 in C, hence SYSTEM.CARDINAL8 here -
- SHORTCARD would be 16 bits and would not match the ABI.
- *)
- FROM SYSTEM IMPORT ADDRESS, CARDINAL8;
- FROM SDLRect IMPORT SDLRect;
- FROM SDLVideo IMPORT WindowHandle;
- EXPORT UNQUALIFIED
- RendererHandle,
- RendererSoftware, RendererAccelerated,
- RendererPresentVSync, RendererTargetTexture,
- SDL_CreateRenderer, SDL_CreateWindowAndRenderer,
- SDL_DestroyRenderer,
- SDL_SetRenderDrawColor, SDL_GetRenderDrawColor,
- SDL_RenderSetLogicalSize,
- SDL_RenderClear, SDL_RenderPresent,
- SDL_RenderDrawPoint, SDL_RenderDrawPoints,
- SDL_RenderDrawLine, SDL_RenderDrawLines,
- SDL_RenderDrawRect, SDL_RenderDrawRects,
- SDL_RenderFillRect, SDL_RenderFillRects;
- TYPE
- RendererHandle = ADDRESS;
- CONST
- RendererSoftware = 000000001H;
- RendererAccelerated = 000000002H;
- RendererPresentVSync = 000000004H;
- RendererTargetTexture = 000000008H;
- (* SDL_Renderer *SDL_CreateRenderer(SDL_Window *win, int index,
- Uint32 flags) *)
- PROCEDURE SDL_CreateRenderer (win: WindowHandle; index: INTEGER;
- flags: CARDINAL) : RendererHandle;
- (* int SDL_CreateWindowAndRenderer(int w, int h, Uint32 flags,
- SDL_Window **win, SDL_Renderer **ren) *)
- PROCEDURE SDL_CreateWindowAndRenderer (w, h: INTEGER; flags: CARDINAL;
- VAR win: WindowHandle;
- VAR ren: RendererHandle) : [ INTEGER ];
- (* void SDL_DestroyRenderer(SDL_Renderer *ren) *)
- PROCEDURE SDL_DestroyRenderer (ren: RendererHandle);
- (* int SDL_SetRenderDrawColor(SDL_Renderer *ren,
- Uint8 r, Uint8 g, Uint8 b, Uint8 a) *)
- PROCEDURE SDL_SetRenderDrawColor (ren: RendererHandle;
- r, g, b, a: CARDINAL8) : [ INTEGER ];
- (* int SDL_GetRenderDrawColor(SDL_Renderer *ren,
- Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a) *)
- PROCEDURE SDL_GetRenderDrawColor (ren: RendererHandle;
- VAR r, g, b, a: CARDINAL8) : [ INTEGER ];
- (* int SDL_RenderSetLogicalSize(SDL_Renderer *ren, int w, int h) *)
- PROCEDURE SDL_RenderSetLogicalSize (ren: RendererHandle;
- w, h: INTEGER) : [ INTEGER ];
- (* int SDL_RenderClear(SDL_Renderer *ren) *)
- PROCEDURE SDL_RenderClear (ren: RendererHandle) : [ INTEGER ];
- (* void SDL_RenderPresent(SDL_Renderer *ren) *)
- PROCEDURE SDL_RenderPresent (ren: RendererHandle);
- (* int SDL_RenderDrawPoint(SDL_Renderer *ren, int x, int y) *)
- PROCEDURE SDL_RenderDrawPoint (ren: RendererHandle;
- x, y: INTEGER) : [ INTEGER ];
- (* int SDL_RenderDrawPoints(SDL_Renderer *ren, const SDL_Point *pts,
- int count) *)
- PROCEDURE SDL_RenderDrawPoints (ren: RendererHandle; pts: ADDRESS;
- count: INTEGER) : [ INTEGER ];
- (* int SDL_RenderDrawLine(SDL_Renderer *ren,
- int x1, int y1, int x2, int y2) *)
- PROCEDURE SDL_RenderDrawLine (ren: RendererHandle;
- x1, y1, x2, y2: INTEGER) : [ INTEGER ];
- (* int SDL_RenderDrawLines(SDL_Renderer *ren, const SDL_Point *pts,
- int count) *)
- PROCEDURE SDL_RenderDrawLines (ren: RendererHandle; pts: ADDRESS;
- count: INTEGER) : [ INTEGER ];
- (* int SDL_RenderDrawRect(SDL_Renderer *ren, const SDL_Rect *rect) *)
- PROCEDURE SDL_RenderDrawRect (ren: RendererHandle;
- VAR rect: SDLRect) : [ INTEGER ];
- (* int SDL_RenderDrawRects(SDL_Renderer *ren, const SDL_Rect *rects,
- int count) *)
- PROCEDURE SDL_RenderDrawRects (ren: RendererHandle; rects: ADDRESS;
- count: INTEGER) : [ INTEGER ];
- (* int SDL_RenderFillRect(SDL_Renderer *ren, const SDL_Rect *rect) *)
- PROCEDURE SDL_RenderFillRect (ren: RendererHandle;
- VAR rect: SDLRect) : [ INTEGER ];
- (* int SDL_RenderFillRects(SDL_Renderer *ren, const SDL_Rect *rects,
- int count) *)
- PROCEDURE SDL_RenderFillRects (ren: RendererHandle; rects: ADDRESS;
- count: INTEGER) : [ INTEGER ];
- END SDLRender.
|