Polygon Functions
Primitives
Polygon
Transform
Surface
Drawing
Dirty Rect
Palette
Control
Misc
Defines
Types
Extended

Arguments

Index
Credits

Return Name Arguments
void SPG_Trigon SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color
void SPG_TrigonBlend SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color, Uint8 alpha
void SPG_TrigonFilled SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color
void SPG_TrigonFilledBlend SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color, Uint8 alpha
void SPG_TrigonFade SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3,
Uint32
color1, Uint32 color2, Uint32 color3
void SPG_TrigonTex SDL_Surface* dest, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3,
SDL_Surface
* source, Sint16 sx1, Sint16 sy1, Sint16 sx2, Sint16 sy2, Sint16 sx3, Sint16 sy3
void SPG_TrigonTexPoints SDL_Surface* dest, SPG_Point* dest_points,
SDL_Surface* source, SPG_Point* source_points
void SPG_QuadTex SDL_Surface* dest, Sint16 destULx, Sint16 destULy, Sint16 destDLx, Sint16 destDLy, Sint16 destDRx, Sint16 destDRy, Sint16 destURx, Sint16 destURy,
SDL_Surface* source, Sint16 srcULx, Sint16 srcULy, Sint16 srcDLx, Sint16 srcDLy, Sint16 srcDRx, Sint16 srcDRy, Sint16 srcURx, Sint16 srcURy
void SPG_QuadTexPoints SDL_Surface* dest, SPG_Point* dest_points,
SDL_Surface* source, SPG_Point* source_points
void SPG_Polygon SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color
void SPG_PolygonBlend SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color
void SPG_PolygonFilled SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color
void SPG_PolygonFilledBlend SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color, Uint8 alpha
void SPG_PolygonFade SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32* colors
void SPG_PolygonFadeBlend SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32* colors, Uint8 alpha
void
SPG_CopyPointsUint16 n, SPG_Point* points, SPG_Point* buffer
voidSPG_RotatePointsXYUint16 n, SPG_Point* points, float cx, float cy, float angle
voidSPG_RotatePointsUint16 n, SPG_Point* points, float angle
voidSPG_ScalePointsXYUint16 n, SPG_Point* points, float cx, float cy, float xscale, float yscale
voidSPG_ScalePointsUint16 n, SPG_Point* points, float xscale, float yscale
voidSPG_SkewPointsXYUint16 n, SPG_Point* points, float cx, float cy, float xskew, float yskew
voidSPG_SkewPointsUint16 n, SPG_Point* points, float xskew, float yskew
voidSPG_TranslatePointsUint16 n, SPG_Point* points, float x1, float y1


void SPG_Trigon(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
- Draws a triangle

void SPG_TrigonBlend(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color, Uint8 alpha)
- Draws an alpha-blended triangle

void SPG_TrigonFilled(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color)
- Draws a filled triangle

void SPG_TrigonFilledBlend(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color, Uint8 alpha)
- Draws a filled alpha-blended triangle

void SPG_TrigonFade(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color1, Uint32 color2, Uint32 color3)
- Draws a filled trangle with interpolated shading from three vertex colors

void SPG_TrigonTex(SDL_Surface* surface, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, SDL_Surface* source, Sint16 sx1, Sint16 sy1, Sint16 sx2, Sint16 sy2, Sint16 sx3, Sint16 sy3)
- Draws a surface-mapped (textured) triangle.  The points should be listed in counter-clockwise order.

void SPG_TrigonTexPoints(SDL_Surface* dest, SPG_Point* dest_points, SDL_Surface* source, SPG_Point* source_points)
- Draws a surface-mapped (textured) triangle.  The points should be listed in counter-clockwise order.

void SPG_QuadTex(SDL_Surface* dest, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Sint16 x4, Sint16 y4, SDL_Surface* source, Sint16 sx1, Sint16 sy1, Sint16 sx2, Sint16 sy2, Sint16 sx3, Sint16 sy3, Sint16 sx4, Sint16 sy4)
- Draws a surface-mapped (textured) quadrilateral.  The points should be listed in counter-clockwise order.

void SPG_QuadTexPoints(SDL_Surface* dest, SPG_Point* dest_points, SDL_Surface* source, SPG_Point* source_points)
- Draws a surface-mapped (textured) quadrilateral.  The points should be listed in counter-clockwise order.

void SPG_Polygon(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color)
- Draws a polygon with 'n' vertices

void SPG_PolygonBlend(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color)
- Draws an alpha-blended polygon with 'n' vertices

void SPG_PolygonFilled(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color)
- Draws a filled polygon with 'n' vertices

void SPG_PolygonFilledBlend(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32 color, Uint8 alpha)
- Draws a filled alpha-blended polygon with 'n' vertices

void SPG_PolygonFade(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32* colors)
- Draws a filled polygon with interpolated shading from 'n' vertex colors

void SPG_PolygonFadeBlend(SDL_Surface* surface, Uint16 n, SPG_Point* points, Uint32* colors, Uint8 alpha)
- Draws a filled alpha-blended polygon with interpolated shading from 'n' vertex colors

void SPG_CopyPoints(Uint16 n, SPG_Point* points, SPG_Point* buffer);
- Copies the given points into the given buffer.  This avoids the overhead in SPG_CopyPoints of dynamic memory allocation.

void SPG_RotatePointsXY(Uint16 n, SPG_Point* points, float cx, float cy, float angle);
- Rotates the given points around the point (cx, cy).

void SPG_RotatePoints(Uint16 n, SPG_Point* points, float angle);
- Rotates the given points around the point (0, 0).

void SPG_ScalePointsXY(Uint16 n, SPG_Point* points, float cx, float cy, float xscale, float yscale);
- Scales the given points around the point (cx, cy).

void SPG_ScalePoints(Uint16 n, SPG_Point* points, float cx, float cy, float xscale, float yscale);
- Scales the given points around the point (0, 0).

void SPG_SkewPointsXY(Uint16 n, SPG_Point* points, float cx, float cy, float xskew, float yskew);
- Skews the given points around the point (cx, cy).

void SPG_SkewPoints(Uint16 n, SPG_Point* points, float cx, float cy, float xskew, float yskew);
- Skews the given points around the point (0, 0).

void SPG_TranslatePoints(Uint16 n, SPG_Point* points, float x1, float y1);
- Moves each given point by (x1, y1).




Notes:
These functions respect the destination surface's clipping rect. (see SPG_ClipRect)
The surface will be automatically locked when necessary. (see SPG_Lock)
You can control the alpha blending mode. (see SPG_PushBlend)
Anti-aliasing capability (see SPG_PushAA)


SPriG v1.0.0 Documentation by Jonathan Dearborn 2008