PROCEDURE Settings(w, h: INTEGER; flags: SET);
PROCEDURE Init(): Bitmap;
PROCEDURE GetError(VAR s: ARRAY OF CHAR);
PROCEDURE SetWindowTitle(title: ARRAY OF CHAR);
PROCEDURE Flip;
PROCEDURE Pause;
PROCEDURE Delay(n: INTEGER);
PROCEDURE Close;
PROCEDURE MakeCol(r, g, b: INTEGER): INTEGER;
PROCEDURE ColorToRGB(color: INTEGER; VAR r, g, b: INTEGER);
PROCEDURE BmpCol(bmp: Bitmap; r, g, b: INTEGER): INTEGER;
PROCEDURE KeyPressed(): BOOLEAN;
PROCEDURE ReadKey(): CHAR;
PROCEDURE WaitEvents(timeout: INTEGER);
PROCEDURE PollEvent(VAR event: Event): BOOLEAN;
PROCEDURE GetDesktopResolution(VAR w, h: INTEGER);
PROCEDURE SetFPS(fps: INTEGER);
PROCEDURE SetSizeStep(w, h: INTEGER);
PROCEDURE SetRegion(x, y, w, h: INTEGER);
PROCEDURE AddRegion(x, y, w, h: INTEGER);
PROCEDURE UnsetRegion;
PROCEDURE ClearToColor(bmp: Bitmap; color: INTEGER);
PROCEDURE ClearBitmap(bmp: Bitmap);
PROCEDURE ClearScreenToColor(color: INTEGER);
PROCEDURE ClearScreen;
PROCEDURE HLine(bmp: Bitmap; x1, y, x2, color: INTEGER);
PROCEDURE VLine(bmp: Bitmap; x, y1, y2, color: INTEGER);
PROCEDURE Line(bmp: Bitmap; x1, y1, x2, y2, color: INTEGER);
PROCEDURE Rect(bmp: Bitmap; x1, y1, x2, y2, color: INTEGER);
PROCEDURE RectFill(bmp: Bitmap; x1, y1, x2, y2, color: INTEGER);
PROCEDURE Circle(b: Bitmap; cx, cy, r, col: INTEGER);
PROCEDURE CircleFill(b: Bitmap; cx, cy, r, col: INTEGER);
PROCEDURE GetPixel(bmp: Bitmap; x, y: INTEGER): INTEGER;
PROCEDURE PutPixel(bmp: Bitmap; x, y, color: INTEGER);
PROCEDURE PutPixelFast(bmp: Bitmap; x, y, color: INTEGER);
PROCEDURE CreateBitmap(w, h: INTEGER): Bitmap;
PROCEDURE DestroyBitmap(bmp: Bitmap);
PROCEDURE LockBitmap(bmp: Bitmap);
PROCEDURE UnlockBitmap(bmp: Bitmap);
PROCEDURE LoadBitmap(filename: ARRAY OF CHAR): Bitmap;
PROCEDURE SetColorKey(bmp: Bitmap; color: INTEGER);
PROCEDURE SetAlpha(bmp: Bitmap; alpha: INTEGER);
PROCEDURE Blit(src, dest: Bitmap; sx, sy, sw, sh, dx, dy: INTEGER);
PROCEDURE BlitWhole(src, dest: Bitmap; x, y: INTEGER);
PROCEDURE StretchBlit(src, dest: Bitmap; sx, sy, sw, sh, dx, dy, dw, dh: INTEGER);
PROCEDURE LoadFont(filename: ARRAY OF CHAR; charW, charH: INTEGER): Font;
PROCEDURE DrawCharacter(dest: Bitmap; font: Font; x, y: INTEGER; ch: CHAR; fg: INTEGER);
PROCEDURE DrawString(dest: Bitmap; font: Font; x, y: INTEGER; s: ARRAY OF CHAR; fg: INTEGER);
PROCEDURE GetKeyArray(): KeyArray;
PROCEDURE KeyDown(key: INTEGER): BOOLEAN;
PROCEDURE AltPressed(): BOOLEAN;
PROCEDURE ShiftPressed(): BOOLEAN;
PROCEDURE CtrlPressed(): BOOLEAN;
PROCEDURE StartTextInput;
PROCEDURE StopTextInput;
PROCEDURE MouseOnScreen(): BOOLEAN;
PROCEDURE ShowMouse(show: BOOLEAN);
PROCEDURE GetRealMousePos(VAR x, y: INTEGER);
PROCEDURE GetMousePos(VAR x, y: INTEGER);
PROCEDURE GetMouseButtons(): SET;
PROCEDURE CreateStdMousePointer;
PROCEDURE SetMouseFocus(x, y: INTEGER);
PROCEDURE SetMousePointer(bmp: Bitmap; x, y: INTEGER);
PROCEDURE GetMousePointer(): Bitmap;
PROCEDURE SetStdMousePointer;
PROCEDURE SwitchToWindowed;
PROCEDURE SwitchToFullscreen;
PROCEDURE ToggleFullscreen;
PROCEDURE RepeatFlip;
PROCEDURE WindowShown(): BOOLEAN;
PROCEDURE GetTicks(): INTEGER;
PROCEDURE Time(): INTEGER;
PROCEDURE Randomize;
PROCEDURE PutSeed(newSeed: INTEGER);
PROCEDURE Random(range: INTEGER): INTEGER;
PROCEDURE Uniform(): REAL;
PROCEDURE Str(n: INTEGER; VAR s: ARRAY OF CHAR);
PROCEDURE Val(s: ARRAY OF CHAR): INTEGER;
PROCEDURE AppendN(n: INTEGER; VAR s: ARRAY OF CHAR);