30 #ifndef _SDL2_gfxPrimitives_h 
   31 #define _SDL2_gfxPrimitives_h 
   35 #define M_PI    3.1415926535897932384626433832795 
   47 #define SDL2_GFXPRIMITIVES_MAJOR        1 
   48 #define SDL2_GFXPRIMITIVES_MINOR        0 
   49 #define SDL2_GFXPRIMITIVES_MICRO        2 
   55 #  if defined(DLL_EXPORT) && !defined(LIBSDL2_GFX_DLL_IMPORT) 
   56 #    define SDL2_GFXPRIMITIVES_SCOPE __declspec(dllexport) 
   58 #    ifdef LIBSDL2_GFX_DLL_IMPORT 
   59 #      define SDL2_GFXPRIMITIVES_SCOPE __declspec(dllimport) 
   63 #ifndef SDL2_GFXPRIMITIVES_SCOPE 
   64 #  define SDL2_GFXPRIMITIVES_SCOPE extern 
   88                 Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
   94                 Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  100                 Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  106                 Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  112                 Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  118                 Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  122                 Uint8 width, Uint32 color);
 
  124                 Uint8 width, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  135                 Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  141                 Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  147                 Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  153                 Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  159                 Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  165                 Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  170                 Sint16 start, Sint16 end, Uint32 color);
 
  172                 Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  177                 Sint16 start, Sint16 end, Uint32 color);
 
  179                 Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  185                 Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  191                 Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  197                 Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  203                 int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  209                 int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  215                 const Sint16 * vy, 
int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
  225                 int n, 
int s, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
SDL2_GFXPRIMITIVES_SCOPE int roundedBoxColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color)
Draw rounded-corner box (filled rectangle) with blending. 
SDL2_GFXPRIMITIVES_SCOPE int ellipseColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color)
Draw ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledEllipseColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color)
Draw filled ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int bezierRGBA(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, int s, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw a bezier curve with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aacircleRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw anti-aliased circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int stringRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, const char *s, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw a string in the currently set font. 
SDL2_GFXPRIMITIVES_SCOPE int thickLineColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 width, Uint32 color)
Draw a thick line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int hlineRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw horizontal line with blending. 
SDL2_GFXPRIMITIVES_SCOPE int texturedPolygon(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, SDL_Surface *texture, int texture_dx, int texture_dy)
Draws a polygon filled with the given texture. 
SDL2_GFXPRIMITIVES_SCOPE int circleRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int trigonRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw trigon (triangle outline) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aalineRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw anti-aliased line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int arcColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color)
Arc with blending. 
SDL2_GFXPRIMITIVES_SCOPE void gfxPrimitivesSetFontRotation(Uint32 rotation)
Sets current global font character rotation steps. 
SDL2_GFXPRIMITIVES_SCOPE int characterColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, char c, Uint32 color)
Draw a character of the currently set font. 
SDL2_GFXPRIMITIVES_SCOPE void gfxPrimitivesSetFont(const void *fontdata, Uint32 cw, Uint32 ch)
Sets or resets the current global font data. 
SDL2_GFXPRIMITIVES_SCOPE int filledEllipseRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw filled ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int arcRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Arc with blending. 
SDL2_GFXPRIMITIVES_SCOPE int hlineColor(SDL_Renderer *renderer, Sint16 x1, Sint16 x2, Sint16 y, Uint32 color)
Draw horizontal line with blending. 
SDL2_GFXPRIMITIVES_SCOPE int trigonColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
Draw trigon (triangle outline) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aacircleColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint32 color)
Draw anti-aliased circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int pixelRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw pixel with blending enabled if a<255. 
SDL2_GFXPRIMITIVES_SCOPE int pixelColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Uint32 color)
Draw pixel with blending enabled if a<255. 
SDL2_GFXPRIMITIVES_SCOPE int filledPieRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw filled pie with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledPieColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color)
Draw filled pie with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int boxColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color)
Draw box (filled rectangle) with blending. 
SDL2_GFXPRIMITIVES_SCOPE int roundedRectangleRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw rounded-corner rectangle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledCircleRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw filled circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int rectangleRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw rectangle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int pieRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw pie (outline) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledTrigonRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw filled trigon (triangle) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int characterRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, char c, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw a character of the currently set font. 
SDL2_GFXPRIMITIVES_SCOPE int aapolygonRGBA(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw anti-aliased polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledPolygonRGBA(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw filled polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int ellipseRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int vlineRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y1, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw vertical line with blending. 
SDL2_GFXPRIMITIVES_SCOPE int thickLineRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 width, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw a thick line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int lineColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color)
Draw line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int roundedRectangleColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color)
Draw rounded-corner rectangle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int stringColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, const char *s, Uint32 color)
Draw a string in the currently set font. 
SDL2_GFXPRIMITIVES_SCOPE int filledTrigonColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
Draw filled trigon (triangle) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int bezierColor(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, int s, Uint32 color)
Draw a bezier curve with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int polygonColor(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
Draw polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int polygonRGBA(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aalineColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color)
Draw anti-aliased line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledPolygonColor(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
Draw filled polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aatrigonRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw anti-aliased trigon (triangle outline) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int aapolygonColor(SDL_Renderer *renderer, const Sint16 *vx, const Sint16 *vy, int n, Uint32 color)
Draw anti-aliased polygon with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int boxRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw box (filled rectangle) with blending. 
SDL2_GFXPRIMITIVES_SCOPE int pieColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color)
Draw pie (outline) with alpha blending. 
#define SDL2_GFXPRIMITIVES_SCOPE
SDL2_GFXPRIMITIVES_SCOPE int lineRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw line with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int filledCircleColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 r, Uint32 color)
Draw filled circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int aaellipseRGBA(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw anti-aliased ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int aatrigonColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
Draw anti-aliased trigon (triangle outline) with alpha blending. 
SDL2_GFXPRIMITIVES_SCOPE int circleColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rad, Uint32 color)
Draw circle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int rectangleColor(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color)
Draw rectangle with blending. 
SDL2_GFXPRIMITIVES_SCOPE int aaellipseColor(SDL_Renderer *renderer, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color)
Draw anti-aliased ellipse with blending. 
SDL2_GFXPRIMITIVES_SCOPE int roundedBoxRGBA(SDL_Renderer *renderer, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Draw rounded-corner box (filled rectangle) with blending. 
SDL2_GFXPRIMITIVES_SCOPE int vlineColor(SDL_Renderer *renderer, Sint16 x, Sint16 y1, Sint16 y2, Uint32 color)
Draw vertical line with blending.