var PowerSDLGfxBase : pLibrary;

const
    POWERSDL_GFXNAME : PChar = 'powersdl_gfx.library';


procedure SDL_initFramerate(manager : pFPSmanager); syscall r12base PowerSDLGfxBase 028;
function SDL_setFramerate(manager : pFPSmanager; rate : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 034;
function SDL_getFramerate(manager : pFPSmanager) : LongInt; syscall r12base PowerSDLGfxBase 040;
procedure SDL_framerateDelay(manager : pFPSmanager); syscall r12base PowerSDLGfxBase 046;
function pixelColor(dst : pSDL_Surface; x : Integer; y : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 052;
function pixelRGBA(dst : pSDL_Surface; x : Integer; y : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 058;
function hlineColor(dst : pSDL_Surface; x1 : Integer; x2 : Integer; y : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 064;
function hlineRGBA(dst : pSDL_Surface; x1 : Integer; x2 : Integer; y : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 070;
function vlineColor(dst : pSDL_Surface; x : Integer; y1 : Integer; y2 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 076;
function vlineRGBA(dst : pSDL_Surface; x : Integer; y1 : Integer; y2 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 082;
function rectangleColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 088;
function rectangleRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 094;
function boxColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 100;
function boxRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 106;
function lineColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 112;
function lineRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 118;
function aalineColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 124;
function aalineRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 130;
function circleColor(dst : pSDL_Surface; x : Integer; y : Integer; r : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 136;
function circleRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 142;
function aacircleColor(dst : pSDL_Surface; x : Integer; y : Integer; r : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 148;
function aacircleRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 154;
function filledCircleColor(dst : pSDL_Surface; x : Integer; y : Integer; r : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 160;
function filledCircleRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 166;
function ellipseColor(dst : pSDL_Surface; x : Integer; y : Integer; rx : Integer; ry : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 172;
function ellipseRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rx : Integer; ry : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 178;
function aaellipseColor(dst : pSDL_Surface; xc : Integer; yc : Integer; rx : Integer; ry : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 184;
function aaellipseRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rx : Integer; ry : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 190;
function filledEllipseColor(dst : pSDL_Surface; x : Integer; y : Integer; rx : Integer; ry : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 196;
function filledEllipseRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rx : Integer; ry : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 202;
function pieColor(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; start : Integer; _end : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 208;
function pieRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; start : Integer; _end : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 214;
function filledPieColor(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; start : Integer; _end : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 220;
function filledPieRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; start : Integer; _end : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 226;
function trigonColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 232;
function trigonRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 238;
function aatrigonColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 244;
function aatrigonRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 250;
function filledTrigonColor(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 256;
function filledTrigonRGBA(dst : pSDL_Surface; x1 : Integer; y1 : Integer; x2 : Integer; y2 : Integer; x3 : Integer; y3 : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 262;
function polygonColor(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 268;
function polygonRGBA(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 274;
function aapolygonColor(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 280;
function aapolygonRGBA(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 286;
function filledPolygonColor(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 292;
function filledPolygonRGBA(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 298;
function bezierColor(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; s : LongInt; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 304;
function bezierRGBA(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; s : LongInt; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 310;
function characterColor(dst : pSDL_Surface; x : Integer; y : Integer; c : ShortInt; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 316;
function characterRGBA(dst : pSDL_Surface; x : Integer; y : Integer; c : ShortInt; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 322;
function stringColor(dst : pSDL_Surface; x : Integer; y : Integer; const c : pChar; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 328;
function stringRGBA(dst : pSDL_Surface; x : Integer; y : Integer; const c : pChar; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 334;
procedure gfxPrimitivesSetFont(const fontdata : Pointer; cw : LongInt; ch : LongInt); syscall r12base PowerSDLGfxBase 340;
function SDL_imageFilterMMXdetect : LongInt; syscall r12base PowerSDLGfxBase 346;
procedure SDL_imageFilterMMXoff; syscall r12base PowerSDLGfxBase 352;
procedure SDL_imageFilterMMXon; syscall r12base PowerSDLGfxBase 358;
function SDL_imageFilterAdd(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 364;
function SDL_imageFilterMean(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 370;
function SDL_imageFilterSub(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 376;
function SDL_imageFilterAbsDiff(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 382;
function SDL_imageFilterMult(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 388;
function SDL_imageFilterMultNor(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 394;
function SDL_imageFilterMultDivby2(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 400;
function SDL_imageFilterMultDivby4(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 406;
function SDL_imageFilterBitAnd(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 412;
function SDL_imageFilterBitOr(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 418;
function SDL_imageFilterDiv(Src1 : pChar; Src2 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 424;
function SDL_imageFilterBitNegation(Src1 : pChar; Dest : pChar; length : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 430;
function SDL_imageFilterAddByte(Src1 : pChar; Dest : pChar; length : LongInt; C : Byte) : LongInt; syscall r12base PowerSDLGfxBase 436;
function SDL_imageFilterAddByteToHalf(Src1 : pChar; Dest : pChar; length : LongInt; C : Byte) : LongInt; syscall r12base PowerSDLGfxBase 442;
function SDL_imageFilterSubByte(Src1 : pChar; Dest : pChar; length : LongInt; C : Byte) : LongInt; syscall r12base PowerSDLGfxBase 448;
function SDL_imageFilterShiftRight(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte) : LongInt; syscall r12base PowerSDLGfxBase 454;
function SDL_imageFilterMultByByte(Src1 : pChar; Dest : pChar; length : LongInt; C : Byte) : LongInt; syscall r12base PowerSDLGfxBase 460;
function SDL_imageFilterShiftRightAndMultByByte(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte; C : Byte) : LongInt; syscall r12base PowerSDLGfxBase 466;
function SDL_imageFilterShiftLeftByte(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte) : LongInt; syscall r12base PowerSDLGfxBase 472;
function SDL_imageFilterShiftLeft(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte) : LongInt; syscall r12base PowerSDLGfxBase 478;
function SDL_imageFilterBinarizeUsingThreshold(Src1 : pChar; Dest : pChar; length : LongInt; T : Byte) : LongInt; syscall r12base PowerSDLGfxBase 484;
function SDL_imageFilterClipToRange(Src1 : pChar; Dest : pChar; length : LongInt; Tmin : Byte; Tmax : Byte) : LongInt; syscall r12base PowerSDLGfxBase 490;
function SDL_imageFilterNormalizeLinear(Src1 : pChar; Dest : pChar; length : LongInt; Cmin : LongInt; Cmax : LongInt; Nmin : LongInt; Nmax : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 496;
function SDL_imageFilterConvolveKernel3x3Divide(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; Divisor : Byte) : LongInt; syscall r12base PowerSDLGfxBase 502;
function SDL_imageFilterConvolveKernel5x5Divide(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; Divisor : Byte) : LongInt; syscall r12base PowerSDLGfxBase 508;
function SDL_imageFilterConvolveKernel7x7Divide(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; Divisor : Byte) : LongInt; syscall r12base PowerSDLGfxBase 514;
function SDL_imageFilterConvolveKernel9x9Divide(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; Divisor : Byte) : LongInt; syscall r12base PowerSDLGfxBase 520;
function SDL_imageFilterConvolveKernel3x3ShiftRight(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; NRightShift : Byte) : LongInt; syscall r12base PowerSDLGfxBase 526;
function SDL_imageFilterConvolveKernel5x5ShiftRight(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; NRightShift : Byte) : LongInt; syscall r12base PowerSDLGfxBase 532;
function SDL_imageFilterConvolveKernel7x7ShiftRight(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; NRightShift : Byte) : LongInt; syscall r12base PowerSDLGfxBase 538;
function SDL_imageFilterConvolveKernel9x9ShiftRight(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; var Kernel : Integer; NRightShift : Byte) : LongInt; syscall r12base PowerSDLGfxBase 544;
function SDL_imageFilterSobelX(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 550;
function SDL_imageFilterSobelXShiftRight(Src : pChar; Dest : pChar; rows : LongInt; columns : LongInt; NRightShift : Byte) : LongInt; syscall r12base PowerSDLGfxBase 556;
procedure SDL_imageFilterAlignStack; syscall r12base PowerSDLGfxBase 562;
procedure SDL_imageFilterRestoreStack; syscall r12base PowerSDLGfxBase 568;
function rotozoomSurface(src : pSDL_Surface; angle : LongInt; zoom : LongInt; smooth : LongInt) : pSDL_Surface; syscall r12base PowerSDLGfxBase 574;
procedure rotozoomSurfaceSize(width : LongInt; height : LongInt; angle : LongInt; zoom : LongInt; dstwidth : pLongInt; dstheight : pLongInt); syscall r12base PowerSDLGfxBase 580;
function zoomSurface(src : pSDL_Surface; zoomx : LongInt; zoomy : LongInt; smooth : LongInt) : pSDL_Surface; syscall r12base PowerSDLGfxBase 586;
procedure zoomSurfaceSize(width : LongInt; height : LongInt; zoomx : LongInt; zoomy : LongInt; dstwidth : pLongInt; dstheight : pLongInt); syscall r12base PowerSDLGfxBase 592;
function SDL_imageFilterAddUint(Src1 : pChar; Dest : pChar; length : LongInt; C : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 598;
function SDL_imageFilterSubUint(Src1 : pChar; Dest : pChar; length : LongInt; C : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 604;
function SDL_imageFilterShiftRightUint(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte) : LongInt; syscall r12base PowerSDLGfxBase 610;
function SDL_imageFilterShiftLeftUint(Src1 : pChar; Dest : pChar; length : LongInt; N : Byte) : LongInt; syscall r12base PowerSDLGfxBase 616;
function rotozoomSurfaceXY(src : pSDL_Surface; angle : LongInt; zoomx : LongInt; zoomy : LongInt; smooth : LongInt) : pSDL_Surface; syscall r12base PowerSDLGfxBase 622;
procedure rotozoomSurfaceSizeXY(width : LongInt; height : LongInt; angle : LongInt; zoomx : LongInt; zoomy : LongInt; dstwidth : pLongInt; dstheight : pLongInt); syscall r12base PowerSDLGfxBase 628;
function texturedPolygon(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; texture : pSDL_Surface; texture_dx : LongInt; texture_dy : LongInt) : LongInt; syscall r12base PowerSDLGfxBase 634;
function shrinkSurface(src : pSDL_Surface; factorx : LongInt; factory : LongInt) : pSDL_Surface; syscall r12base PowerSDLGfxBase 640;
function SDL_gfxBlitRGBA(src : pSDL_Surface; srcrect : pSDL_Rect; dst : pSDL_Surface; dstrect : pSDL_Rect) : LongInt; syscall r12base PowerSDLGfxBase 646;
function SDL_gfxSetAlpha(src : pSDL_Surface; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 652;
function arcColor(dst : pSDL_Surface; x : Integer; y : Integer; r : Integer; start : Integer; _end : Integer; color : DWord) : LongInt; syscall r12base PowerSDLGfxBase 658;
function arcRGBA(dst : pSDL_Surface; x : Integer; y : Integer; rad : Integer; start : Integer; _end : Integer; r : Byte; g : Byte; b : Byte; a : Byte) : LongInt; syscall r12base PowerSDLGfxBase 664;
function filledPolygonColorMT(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; color : DWord; var polyInts : pLongInt; polyAllocated : pLongInt) : LongInt; syscall r12base PowerSDLGfxBase 670;
function filledPolygonRGBAMT(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; r : Byte; g : Byte; b : Byte; a : Byte; var polyInts : pLongInt; polyAllocated : pLongInt) : LongInt; syscall r12base PowerSDLGfxBase 676;
function texturedPolygonMT(dst : pSDL_Surface; var vx : Integer; var vy : Integer; n : LongInt; texture : pSDL_Surface; texture_dx : LongInt; texture_dy : LongInt; var polyInts : pLongInt; polyAllocated : pLongInt) : LongInt; syscall r12base PowerSDLGfxBase 682;
function rotateSurface90Degrees(pSurf : pSDL_Surface; numClockwiseTurns : LongInt) : pSDL_Surface; syscall r12base PowerSDLGfxBase 688;
