mirror of
				https://github.com/KolibriOS/kolibrios.git
				synced 2025-11-03 21:06:50 -05: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.