summary refs log tree commit diff stats
path: root/lib/wrappers/sdl/sdl_gfx.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wrappers/sdl/sdl_gfx.nim')
-rw-r--r--lib/wrappers/sdl/sdl_gfx.nim452
1 files changed, 0 insertions, 452 deletions
diff --git a/lib/wrappers/sdl/sdl_gfx.nim b/lib/wrappers/sdl/sdl_gfx.nim
deleted file mode 100644
index 0f5afaa9b..000000000
--- a/lib/wrappers/sdl/sdl_gfx.nim
+++ /dev/null
@@ -1,452 +0,0 @@
-#
-#  $Id: sdl_gfx.pas,v 1.3 2007/05/29 21:31:04 savage Exp $
-#
-#
-#
-#  $Log: sdl_gfx.pas,v $
-#  Revision 1.3  2007/05/29 21:31:04  savage
-#  Changes as suggested by Almindor for 64bit compatibility.
-#
-#  Revision 1.2  2007/05/20 20:30:18  savage
-#  Initial Changes to Handle 64 Bits
-#
-#  Revision 1.1  2005/01/03 19:08:32  savage
-#  Header for the SDL_Gfx library.
-#
-#
-#
-#
-
-import 
-  sdl
-
-when defined(windows): 
-  const 
-    gfxLibName = "SDL_gfx.dll"
-elif defined(macosx): 
-  const 
-    gfxLibName = "libSDL_gfx.dylib"
-else: 
-  const 
-    gfxLibName = "libSDL_gfx.so"
-const                         # Some rates in Hz
-  FPS_UPPER_LIMIT* = 200
-  FPS_LOWER_LIMIT* = 1
-  FPS_DEFAULT* = 30           # ---- Defines
-  SMOOTHING_OFF* = 0
-  SMOOTHING_ON* = 1
-
-type 
-  PFPSmanager* = ptr FPSmanager
-  FPSmanager*{.final.} = object  # ---- Structures
-    framecount*: uint32
-    rateticks*: float32
-    lastticks*: uint32
-    rate*: uint32
-
-  PColorRGBA* = ptr ColorRGBA
-  ColorRGBA*{.final.} = object 
-    r*: byte
-    g*: byte
-    b*: byte
-    a*: byte
-
-  PColorY* = ptr ColorY
-  ColorY*{.final.} = object   #
-                              #
-                              # SDL_framerate: framerate manager
-                              #
-                              # LGPL (c) A. Schiffler
-                              #
-                              #
-    y*: byte
-{.deprecated: [TFPSmanager: FPSmanager, TColorRGBA: ColorRGBA, TColorY: ColorY].}
-
-proc initFramerate*(manager: PFPSmanager){.cdecl, importc: "SDL_initFramerate", 
-    dynlib: gfxLibName.}
-proc setFramerate*(manager: PFPSmanager, rate: cint): cint{.cdecl, 
-    importc: "SDL_setFramerate", dynlib: gfxLibName.}
-proc getFramerate*(manager: PFPSmanager): cint{.cdecl, 
-    importc: "SDL_getFramerate", dynlib: gfxLibName.}
-proc framerateDelay*(manager: PFPSmanager){.cdecl, 
-    importc: "SDL_framerateDelay", dynlib: gfxLibName.}
-  #
-  #
-  # SDL_gfxPrimitives: graphics primitives for SDL
-  #
-  # LGPL (c) A. Schiffler
-  #
-  #
-  # Note: all ___Color routines expect the color to be in format 0xRRGGBBAA 
-  # Pixel 
-proc pixelColor*(dst: PSurface, x: int16, y: int16, color: uint32): cint{.
-    cdecl, importc: "pixelColor", dynlib: gfxLibName.}
-proc pixelRGBA*(dst: PSurface, x: int16, y: int16, r: byte, g: byte, 
-                b: byte, a: byte): cint{.cdecl, importc: "pixelRGBA", 
-    dynlib: gfxLibName.}
-  # Horizontal line 
-proc hlineColor*(dst: PSurface, x1: int16, x2: int16, y: int16, color: uint32): cint{.
-    cdecl, importc: "hlineColor", dynlib: gfxLibName.}
-proc hlineRGBA*(dst: PSurface, x1: int16, x2: int16, y: int16, r: byte, 
-                g: byte, b: byte, a: byte): cint{.cdecl, importc: "hlineRGBA", 
-    dynlib: gfxLibName.}
-  # Vertical line 
-proc vlineColor*(dst: PSurface, x: int16, y1: int16, y2: int16, color: uint32): cint{.
-    cdecl, importc: "vlineColor", dynlib: gfxLibName.}
-proc vlineRGBA*(dst: PSurface, x: int16, y1: int16, y2: int16, r: byte, 
-                g: byte, b: byte, a: byte): cint{.cdecl, importc: "vlineRGBA", 
-    dynlib: gfxLibName.}
-  # Rectangle 
-proc rectangleColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                     y2: int16, color: uint32): cint{.cdecl, 
-    importc: "rectangleColor", dynlib: gfxLibName.}
-proc rectangleRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                    y2: int16, r: byte, g: byte, b: byte, a: byte): cint{.
-    cdecl, importc: "rectangleRGBA", dynlib: gfxLibName.}
-  # Filled rectangle (Box) 
-proc boxColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-               color: uint32): cint{.cdecl, importc: "boxColor", 
-                                    dynlib: gfxLibName.}
-proc boxRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-              r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "boxRGBA", dynlib: gfxLibName.}
-  # Line 
-proc lineColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-                color: uint32): cint{.cdecl, importc: "lineColor", 
-                                     dynlib: gfxLibName.}
-proc lineRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-               r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "lineRGBA", dynlib: gfxLibName.}
-  # AA Line 
-proc aalineColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-                  color: uint32): cint{.cdecl, importc: "aalineColor", 
-                                       dynlib: gfxLibName.}
-proc aalineRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-                 r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "aalineRGBA", dynlib: gfxLibName.}
-  # Circle 
-proc circleColor*(dst: PSurface, x: int16, y: int16, r: int16, color: uint32): cint{.
-    cdecl, importc: "circleColor", dynlib: gfxLibName.}
-proc circleRGBA*(dst: PSurface, x: int16, y: int16, rad: int16, r: byte, 
-                 g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "circleRGBA", dynlib: gfxLibName.}
-  # AA Circle 
-proc aacircleColor*(dst: PSurface, x: int16, y: int16, r: int16, 
-                    color: uint32): cint{.cdecl, importc: "aacircleColor", 
-    dynlib: gfxLibName.}
-proc aacircleRGBA*(dst: PSurface, x: int16, y: int16, rad: int16, r: byte, 
-                   g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "aacircleRGBA", dynlib: gfxLibName.}
-  # Filled Circle 
-proc filledCircleColor*(dst: PSurface, x: int16, y: int16, r: int16, 
-                        color: uint32): cint{.cdecl, 
-    importc: "filledCircleColor", dynlib: gfxLibName.}
-proc filledCircleRGBA*(dst: PSurface, x: int16, y: int16, rad: int16, 
-                       r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "filledCircleRGBA", dynlib: gfxLibName.}
-  # Ellipse 
-proc ellipseColor*(dst: PSurface, x: int16, y: int16, rx: int16, ry: int16, 
-                   color: uint32): cint{.cdecl, importc: "ellipseColor", 
-                                        dynlib: gfxLibName.}
-proc ellipseRGBA*(dst: PSurface, x: int16, y: int16, rx: int16, ry: int16, 
-                  r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "ellipseRGBA", dynlib: gfxLibName.}
-  # AA Ellipse 
-proc aaellipseColor*(dst: PSurface, xc: int16, yc: int16, rx: int16, 
-                     ry: int16, color: uint32): cint{.cdecl, 
-    importc: "aaellipseColor", dynlib: gfxLibName.}
-proc aaellipseRGBA*(dst: PSurface, x: int16, y: int16, rx: int16, ry: int16, 
-                    r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "aaellipseRGBA", dynlib: gfxLibName.}
-  # Filled Ellipse 
-proc filledEllipseColor*(dst: PSurface, x: int16, y: int16, rx: int16, 
-                         ry: int16, color: uint32): cint{.cdecl, 
-    importc: "filledEllipseColor", dynlib: gfxLibName.}
-proc filledEllipseRGBA*(dst: PSurface, x: int16, y: int16, rx: int16, 
-                        ry: int16, r: byte, g: byte, b: byte, a: byte): cint{.
-    cdecl, importc: "filledEllipseRGBA", dynlib: gfxLibName.}
-  # Pie
-proc pieColor*(dst: PSurface, x: int16, y: int16, rad: int16, start: int16, 
-               finish: int16, color: uint32): cint{.cdecl, importc: "pieColor", 
-    dynlib: gfxLibName.}
-proc pieRGBA*(dst: PSurface, x: int16, y: int16, rad: int16, start: int16, 
-              finish: int16, r: byte, g: byte, b: byte, a: byte): cint{.
-    cdecl, importc: "pieRGBA", dynlib: gfxLibName.}
-  # Filled Pie
-proc filledPieColor*(dst: PSurface, x: int16, y: int16, rad: int16, 
-                     start: int16, finish: int16, color: uint32): cint{.cdecl, 
-    importc: "filledPieColor", dynlib: gfxLibName.}
-proc filledPieRGBA*(dst: PSurface, x: int16, y: int16, rad: int16, 
-                    start: int16, finish: int16, r: byte, g: byte, b: byte, 
-                    a: byte): cint{.cdecl, importc: "filledPieRGBA", 
-                                    dynlib: gfxLibName.}
-  # Trigon
-proc trigonColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-                  x3: int16, y3: int16, color: uint32): cint{.cdecl, 
-    importc: "trigonColor", dynlib: gfxLibName.}
-proc trigonRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, y2: int16, 
-                 x3: int16, y3: int16, r: byte, g: byte, b: byte, a: byte): cint{.
-    cdecl, importc: "trigonRGBA", dynlib: gfxLibName.}
-  # AA-Trigon
-proc aatrigonColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                    y2: int16, x3: int16, y3: int16, color: uint32): cint{.
-    cdecl, importc: "aatrigonColor", dynlib: gfxLibName.}
-proc aatrigonRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                   y2: int16, x3: int16, y3: int16, r: byte, g: byte, 
-                   b: byte, a: byte): cint{.cdecl, importc: "aatrigonRGBA", 
-    dynlib: gfxLibName.}
-  # Filled Trigon
-proc filledTrigonColor*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                        y2: int16, x3: int16, y3: int16, color: uint32): cint{.
-    cdecl, importc: "filledTrigonColor", dynlib: gfxLibName.}
-proc filledTrigonRGBA*(dst: PSurface, x1: int16, y1: int16, x2: int16, 
-                       y2: int16, x3: int16, y3: int16, r: byte, g: byte, 
-                       b: byte, a: byte): cint{.cdecl, 
-    importc: "filledTrigonRGBA", dynlib: gfxLibName.}
-  # Polygon
-proc polygonColor*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, 
-                   color: uint32): cint{.cdecl, importc: "polygonColor", 
-                                        dynlib: gfxLibName.}
-proc polygonRGBA*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, r: byte, 
-                  g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "polygonRGBA", dynlib: gfxLibName.}
-  # AA-Polygon
-proc aapolygonColor*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, 
-                     color: uint32): cint{.cdecl, importc: "aapolygonColor", 
-    dynlib: gfxLibName.}
-proc aapolygonRGBA*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, r: byte, 
-                    g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "aapolygonRGBA", dynlib: gfxLibName.}
-  # Filled Polygon
-proc filledPolygonColor*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, 
-                         color: uint32): cint{.cdecl, 
-    importc: "filledPolygonColor", dynlib: gfxLibName.}
-proc filledPolygonRGBA*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, 
-                        r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "filledPolygonRGBA", dynlib: gfxLibName.}
-  # Bezier
-  # s = number of steps
-proc bezierColor*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, s: cint, 
-                  color: uint32): cint{.cdecl, importc: "bezierColor", 
-                                       dynlib: gfxLibName.}
-proc bezierRGBA*(dst: PSurface, vx: ptr int16, vy: ptr int16, n: cint, s: cint, 
-                 r: byte, g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "bezierRGBA", dynlib: gfxLibName.}
-  # Characters/Strings
-proc characterColor*(dst: PSurface, x: int16, y: int16, c: char, color: uint32): cint{.
-    cdecl, importc: "characterColor", dynlib: gfxLibName.}
-proc characterRGBA*(dst: PSurface, x: int16, y: int16, c: char, r: byte, 
-                    g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "characterRGBA", dynlib: gfxLibName.}
-proc stringColor*(dst: PSurface, x: int16, y: int16, c: cstring, color: uint32): cint{.
-    cdecl, importc: "stringColor", dynlib: gfxLibName.}
-proc stringRGBA*(dst: PSurface, x: int16, y: int16, c: cstring, r: byte, 
-                 g: byte, b: byte, a: byte): cint{.cdecl, 
-    importc: "stringRGBA", dynlib: gfxLibName.}
-proc gfxPrimitivesSetFont*(fontdata: pointer, cw: cint, ch: cint){.cdecl, 
-    importc: "gfxPrimitivesSetFont", dynlib: gfxLibName.}
-  #
-  #
-  # SDL_imageFilter - bytes-image "filter" routines
-  # (uses inline x86 MMX optimizations if available)
-  #
-  # LGPL (c) A. Schiffler
-  #
-  #
-  # Comments:                                                                           
-  #  1.) MMX functions work best if all data blocks are aligned on a 32 bytes boundary. 
-  #  2.) Data that is not within an 8 byte boundary is processed using the C routine.   
-  #  3.) Convolution routines do not have C routines at this time.                      
-  # Detect MMX capability in CPU
-proc imageFilterMMXdetect*(): cint{.cdecl, importc: "SDL_imageFilterMMXdetect", 
-                                   dynlib: gfxLibName.}
-  # Force use of MMX off (or turn possible use back on)
-proc imageFilterMMXoff*(){.cdecl, importc: "SDL_imageFilterMMXoff", 
-                           dynlib: gfxLibName.}
-proc imageFilterMMXon*(){.cdecl, importc: "SDL_imageFilterMMXon", 
-                          dynlib: gfxLibName.}
-  #
-  # All routines return:
-  #   0   OK
-  #  -1   Error (internal error, parameter error)
-  #
-  #  SDL_imageFilterAdd: D = saturation255(S1 + S2)
-proc imageFilterAdd*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterAdd", dynlib: gfxLibName.}
-  #  SDL_imageFilterMean: D = S1/2 + S2/2
-proc imageFilterMean*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterMean", dynlib: gfxLibName.}
-  #  SDL_imageFilterSub: D = saturation0(S1 - S2)
-proc imageFilterSub*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterSub", dynlib: gfxLibName.}
-  #  SDL_imageFilterAbsDiff: D = | S1 - S2 |
-proc imageFilterAbsDiff*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterAbsDiff", dynlib: gfxLibName.}
-  #  SDL_imageFilterMult: D = saturation(S1 * S2)
-proc imageFilterMult*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterMult", dynlib: gfxLibName.}
-  #  SDL_imageFilterMultNor: D = S1 * S2   (non-MMX)
-proc imageFilterMultNor*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterMultNor", dynlib: gfxLibName.}
-  #  SDL_imageFilterMultDivby2: D = saturation255(S1/2 * S2)
-proc imageFilterMultDivby2*(src1: cstring, src2: cstring, dest: cstring, 
-                            len: cint): cint{.cdecl, 
-    importc: "SDL_imageFilterMultDivby2", dynlib: gfxLibName.}
-  #  SDL_imageFilterMultDivby4: D = saturation255(S1/2 * S2/2)
-proc imageFilterMultDivby4*(src1: cstring, src2: cstring, dest: cstring, 
-                            len: cint): cint{.cdecl, 
-    importc: "SDL_imageFilterMultDivby4", dynlib: gfxLibName.}
-  #  SDL_imageFilterBitAnd: D = S1 & S2
-proc imageFilterBitAnd*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterBitAnd", dynlib: gfxLibName.}
-  #  SDL_imageFilterBitOr: D = S1 | S2
-proc imageFilterBitOr*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterBitOr", dynlib: gfxLibName.}
-  #  SDL_imageFilterDiv: D = S1 / S2   (non-MMX)
-proc imageFilterDiv*(src1: cstring, src2: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterDiv", dynlib: gfxLibName.}
-  #  SDL_imageFilterBitNegation: D = !S
-proc imageFilterBitNegation*(src1: cstring, dest: cstring, len: cint): cint{.
-    cdecl, importc: "SDL_imageFilterBitNegation", dynlib: gfxLibName.}
-  #  SDL_imageFilterAddByte: D = saturation255(S + C)
-proc imageFilterAddByte*(src1: cstring, dest: cstring, len: cint, c: char): cint{.
-    cdecl, importc: "SDL_imageFilterAddByte", dynlib: gfxLibName.}
-  #  SDL_imageFilterAddUint: D = saturation255(S + (uint)C)
-proc imageFilterAddUint*(src1: cstring, dest: cstring, len: cint, c: cint): cint{.
-    cdecl, importc: "SDL_imageFilterAddUint", dynlib: gfxLibName.}
-  #  SDL_imageFilterAddByteToHalf: D = saturation255(S/2 + C)
-proc imageFilterAddByteToHalf*(src1: cstring, dest: cstring, len: cint, c: char): cint{.
-    cdecl, importc: "SDL_imageFilterAddByteToHalf", dynlib: gfxLibName.}
-  #  SDL_imageFilterSubByte: D = saturation0(S - C)
-proc imageFilterSubByte*(src1: cstring, dest: cstring, len: cint, c: char): cint{.
-    cdecl, importc: "SDL_imageFilterSubByte", dynlib: gfxLibName.}
-  #  SDL_imageFilterSubUint: D = saturation0(S - (uint)C)
-proc imageFilterSubUint*(src1: cstring, dest: cstring, len: cint, c: cint): cint{.
-    cdecl, importc: "SDL_imageFilterSubUint", dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftRight: D = saturation0(S >> N)
-proc imageFilterShiftRight*(src1: cstring, dest: cstring, len: cint, n: char): cint{.
-    cdecl, importc: "SDL_imageFilterShiftRight", dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftRightUint: D = saturation0((uint)S >> N)
-proc imageFilterShiftRightUint*(src1: cstring, dest: cstring, len: cint, n: char): cint{.
-    cdecl, importc: "SDL_imageFilterShiftRightUint", dynlib: gfxLibName.}
-  #  SDL_imageFilterMultByByte: D = saturation255(S * C)
-proc imageFilterMultByByte*(src1: cstring, dest: cstring, len: cint, c: char): cint{.
-    cdecl, importc: "SDL_imageFilterMultByByte", dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftRightAndMultByByte: D = saturation255((S >> N) * C)
-proc imageFilterShiftRightAndMultByByte*(src1: cstring, dest: cstring, len: cint, 
-    n: char, c: char): cint{.cdecl, 
-                            importc: "SDL_imageFilterShiftRightAndMultByByte", 
-                            dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftLeftByte: D = (S << N)
-proc imageFilterShiftLeftByte*(src1: cstring, dest: cstring, len: cint, n: char): cint{.
-    cdecl, importc: "SDL_imageFilterShiftLeftByte", dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftLeftUint: D = ((uint)S << N)
-proc imageFilterShiftLeftUint*(src1: cstring, dest: cstring, len: cint, n: char): cint{.
-    cdecl, importc: "SDL_imageFilterShiftLeftUint", dynlib: gfxLibName.}
-  #  SDL_imageFilterShiftLeft: D = saturation255(S << N)
-proc imageFilterShiftLeft*(src1: cstring, dest: cstring, len: cint, n: char): cint{.
-    cdecl, importc: "SDL_imageFilterShiftLeft", dynlib: gfxLibName.}
-  #  SDL_imageFilterBinarizeUsingThreshold: D = S >= T ? 255:0
-proc imageFilterBinarizeUsingThreshold*(src1: cstring, dest: cstring, len: cint, 
-                                        t: char): cint{.cdecl, 
-    importc: "SDL_imageFilterBinarizeUsingThreshold", dynlib: gfxLibName.}
-  #  SDL_imageFilterClipToRange: D = (S >= Tmin) & (S <= Tmax) 255:0
-proc imageFilterClipToRange*(src1: cstring, dest: cstring, len: cint, tmin: int8, 
-                             tmax: int8): cint{.cdecl, 
-    importc: "SDL_imageFilterClipToRange", dynlib: gfxLibName.}
-  #  SDL_imageFilterNormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin)
-proc imageFilterNormalizeLinear*(src1: cstring, dest: cstring, len: cint, 
-                                 cmin: cint, cmax: cint, nmin: cint, nmax: cint): cint{.
-    cdecl, importc: "SDL_imageFilterNormalizeLinear", dynlib: gfxLibName.}
-  # !!! NO C-ROUTINE FOR THESE FUNCTIONS YET !!! 
-  #  SDL_imageFilterConvolveKernel3x3Divide: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel3x3Divide*(src: cstring, dest: cstring, rows: cint, 
-    columns: cint, kernel: pointer, divisor: int8): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel3x3Divide", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel5x5Divide: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel5x5Divide*(src: cstring, dest: cstring, rows: cint, 
-    columns: cint, kernel: pointer, divisor: int8): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel5x5Divide", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel7x7Divide: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel7x7Divide*(src: cstring, dest: cstring, rows: cint, 
-    columns: cint, kernel: pointer, divisor: int8): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel7x7Divide", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel9x9Divide: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel9x9Divide*(src: cstring, dest: cstring, rows: cint, 
-    columns: cint, kernel: pointer, divisor: int8): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel9x9Divide", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel3x3ShiftRight*(src: cstring, dest: cstring, 
-    rows: cint, columns: cint, kernel: pointer, nRightShift: char): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel3x3ShiftRight", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel5x5ShiftRight*(src: cstring, dest: cstring, 
-    rows: cint, columns: cint, kernel: pointer, nRightShift: char): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel5x5ShiftRight", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel7x7ShiftRight*(src: cstring, dest: cstring, 
-    rows: cint, columns: cint, kernel: pointer, nRightShift: char): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel7x7ShiftRight", dynlib: gfxLibName.}
-  #  SDL_imageFilterConvolveKernel9x9ShiftRight: Dij = saturation0and255( ... )
-proc imageFilterConvolveKernel9x9ShiftRight*(src: cstring, dest: cstring, 
-    rows: cint, columns: cint, kernel: pointer, nRightShift: char): cint{.cdecl, 
-    importc: "SDL_imageFilterConvolveKernel9x9ShiftRight", dynlib: gfxLibName.}
-  #  SDL_imageFilterSobelX: Dij = saturation255( ... )
-proc imageFilterSobelX*(src: cstring, dest: cstring, rows: cint, columns: cint): cint{.
-    cdecl, importc: "SDL_imageFilterSobelX", dynlib: gfxLibName.}
-  #  SDL_imageFilterSobelXShiftRight: Dij = saturation255( ... )
-proc imageFilterSobelXShiftRight*(src: cstring, dest: cstring, rows: cint, 
-                                  columns: cint, nRightShift: char): cint{.cdecl, 
-    importc: "SDL_imageFilterSobelXShiftRight", dynlib: gfxLibName.}
-  # Align/restore stack to 32 byte boundary -- Functionality untested! --
-proc imageFilterAlignStack*(){.cdecl, importc: "SDL_imageFilterAlignStack", 
-                               dynlib: gfxLibName.}
-proc imageFilterRestoreStack*(){.cdecl, importc: "SDL_imageFilterRestoreStack", 
-                                 dynlib: gfxLibName.}
-  #
-  #
-  # SDL_rotozoom - rotozoomer
-  #
-  # LGPL (c) A. Schiffler
-  #
-  #
-  # 
-  # 
-  # rotozoomSurface()
-  #
-  # Rotates and zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface.
-  # 'angle' is the rotation in degrees. 'zoom' a scaling factor. If 'smooth' is 1
-  # then the destination 32bit surface is anti-aliased. If the surface is not 8bit
-  # or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
-  #
-  #
-proc rotozoomSurface*(src: PSurface, angle: float64, zoom: float64, smooth: cint): PSurface{.
-    cdecl, importc: "rotozoomSurface", dynlib: gfxLibName.}
-proc rotozoomSurfaceXY*(src: PSurface, angle: float64, zoomx: float64, 
-                        zoomy: float64, smooth: cint): PSurface{.cdecl, 
-    importc: "rotozoomSurfaceXY", dynlib: gfxLibName.}
-  # Returns the size of the target surface for a rotozoomSurface() call 
-proc rotozoomSurfaceSize*(width: cint, height: cint, angle: float64, 
-                          zoom: float64, dstwidth: var cint, dstheight: var cint){.
-    cdecl, importc: "rotozoomSurfaceSize", dynlib: gfxLibName.}
-proc rotozoomSurfaceSizeXY*(width: cint, height: cint, angle: float64, 
-                            zoomx: float64, zoomy: float64, dstwidth: var cint, 
-                            dstheight: var cint){.cdecl, 
-    importc: "rotozoomSurfaceSizeXY", dynlib: gfxLibName.}
-  #
-  #
-  # zoomSurface()
-  #
-  # Zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface.
-  # 'zoomx' and 'zoomy' are scaling factors for width and height. If 'smooth' is 1
-  # then the destination 32bit surface is anti-aliased. If the surface is not 8bit
-  # or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly.
-  #
-  #
-proc zoomSurface*(src: PSurface, zoomx: float64, zoomy: float64, smooth: cint): PSurface{.
-    cdecl, importc: "zoomSurface", dynlib: gfxLibName.}
-  # Returns the size of the target surface for a zoomSurface() call 
-proc zoomSurfaceSize*(width: cint, height: cint, zoomx: float64, zoomy: float64, 
-                      dstwidth: var cint, dstheight: var cint){.cdecl, 
-    importc: "zoomSurfaceSize", dynlib: gfxLibName.}
-# implementation