kolibrios/contrib/sdk/sources/SDL-1.2.2/SDL_draw
CleverMouse 3cf7852e03 autobuild sdlquake
git-svn-id: svn://kolibrios.org@5131 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-18 11:46:53 +00:00
..
include autobuild sdlquake 2014-09-18 11:46:53 +00:00
src autobuild sdlquake 2014-09-18 11:46:53 +00:00
AUTHORS autobuild sdlquake 2014-09-18 11:46:53 +00:00
confdefs.h autobuild sdlquake 2014-09-18 11:46:53 +00:00
COPYING autobuild sdlquake 2014-09-18 11:46:53 +00:00
INSTALL autobuild sdlquake 2014-09-18 11:46:53 +00:00
Makefile autobuild sdlquake 2014-09-18 11:46:53 +00:00
NEWS autobuild sdlquake 2014-09-18 11:46:53 +00:00
README autobuild sdlquake 2014-09-18 11:46:53 +00:00
TODO autobuild sdlquake 2014-09-18 11:46:53 +00:00

SDL_draw 1.2.1
~~~~~~~~~~~~~~
The latest version of this library is available from:
http://sdl-draw.sourceforge.net/

This is a simple library to draw basic elements, like points, lines and
circles, on SDL surfaces.

Library API
~~~~~~~~~~~
#include "SDL_draw.h"

//IMPORTANT: Call this function AFTER the call to 'SDL_SetVideoMode':
Draw_Init(); //Register the functions for current bpp 


void Draw_Pixel(SDL_Surface *super,
                Sint16 x, Sint16 y, Uint32 color);

  Draw a colored pixel on coordinates x,y.


void Draw_Line(SDL_Surface *super,
               Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2,
               Uint32 color);

  Draw a line from x1,y1 to x2,y2.


void Draw_Circle(SDL_Surface *super,
                 Sint16 x0, Sint16 y0, Uint16 r,
                 Uint32 color);
                                        
  Draw a circle with center x0,y0 and radius r.


void Draw_FillCircle(SDL_Surface *super,
                     Sint16 x0, Sint16 y0, Uint16 r,
                     Uint32 color);
                     
  Draw a filled circle with center x0,y0 and radius r.


void Draw_HLine(SDL_Surface *super,
                Sint16 x0,Sint16 y0, Sint16 x1,
                Uint32 color);

  Draw a horizontal line from x0,y0 to x1,y0.


void Draw_VLine(SDL_Surface *super,
                Sint16 x0,Sint16 y0, Sint16 y1,
                Uint32 color);

  Draw a vertical line from x0,y0 to x0,y1.


void Draw_Rect(SDL_Surface *super,
               Sint16 x,Sint16 y, Uint16 w,Uint16 h,
               Uint32 color);

  Draw a rectangle with upper left corner in x,y being w the width and h the
  height.


void Draw_FillRect(SDL_Surface *super,
                   Sint16 x,Sint16 y, Uint16 w,Uint16 h,
                   Uint32 color);

  The same as above but the rectangle is filled. This function is equivalent 
  to SDL_FillRect (is a MACRO).


void Draw_Ellipse(SDL_Surface *super,
                  Sint16 x0, Sint16 y0,
                  Uint16 Xradius, Uint16 Yradius,
                  Uint32 color);

  Draw a ellipse with center in x0,y0. Xradius is the major axis and Yradius is
  the minor axis.
                  

void Draw_FillEllipse(SDL_Surface *super,
                      Sint16 x0, Sint16 y0,
                      Uint16 Xradius, Uint16 Yradius,
                      Uint32 color);

  Draw a filled ellipse (same parameters as the above function).


void Draw_Round(SDL_Surface *super,
                Sint16 x0,Sint16 y0, Uint16 w,Uint16 h,
                Uint16 corner, Uint32 color);

  Draw a rectangle with rounded corners. x0,y0 is the upper left corner of the
  rectangle, w is the width and h is the height. corner is the radius of the
  corner.


void Draw_Round(SDL_Surface *super,
                Sint16 x0,Sint16 y0, Uint16 w,Uint16 h,
                Uint16 corner, Uint32 color);
  
  The same as above but the rounded rectangle is filled.


The file sdldrawtest.c is a example application for the library. You can
compile it using (for GNU Compiler):

$ export CFLAGS="`sdl-config --cflags` -I./include"
$ export LIBS="`sdl-config --libs` ./src/.libs/libSDL_draw.a"
$ gcc -o sdldrawtest sdldrawtest.c -Wall $CFLAGS $LIBS

This library is under the GNU Library General Public License, see the file
"COPYING" for details.