Librería SDL_draw
Mario Palomo, José de la Huerga, Pepe González
English Português
[01-08-2002] SDL_draw 1.2.1 Liberada (Capturas de pantalla)

La última versión de esta librería esta disponible en: http://sourceforge.net/projects/sdl-draw/

Esta librería se distribuye bajo la licencia GNU LGPL (Library General Public License), los detalles se encuentran en el fichero "COPYING"distribuido junto con el código fuente de la librería.

SDL_draw es una sencilla librería para representar primitivas básicas de dibujo, como puntos, rectas y circunferencias, sobre una superficie SDL. ¡Se trata de la extensión que la librería SDL (Simple DirectMedia Layer) necesitaba!

Hasta ahora los desarrolladores de esta librería somos españoles. Ninguno dominamos del todo bien el Inglés, pero si queremos que la librería se utilize ampliamente como una extensión a la SDL básica, hemos de trabajar en Inglés. Si tienes conocimientos de Inglés y observas algo mal escrito en la Web o en el código, por favor, envianos un mensaje a alguno de los foros que esta librería tiene en la página de SourceForge. Gracias de antemano por colaborar. (Si observas algo mal escrito en español, también nos gustaría saberlo :-))

Si utilizas la librería, nos gustaría saberlo. Puedes mandarnos un mensaje a alguno de los foros de la página que esta librería tiene en SourceForge, y pondremos un enlace a tu página en este sitio.


Projectos que utilizan SDL_draw



API de la librería

#include "SDL_draw.h"


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

Dibuja un pixel del color dado en las coordenadas x,y.


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

Dibuja una línea desde x1,y1 hasta x2,y2.


void Draw_Circle(SDL_Surface *super,
                 Sint16 x0, Sint16 y0, Uint16 r,
                 Uint32 color);

Dibuja una circunferencia con centro en x0,y0 y radio r.


void Draw_FillCircle(SDL_Surface *super,
                     Sint16 x0, Sint16 y0, Uint16 r,
                     Uint32 color);

Dibuja una circunferencia rellena con el color dado, con centro en x0,y0 y radio r.


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

Dibuja una línea horizontal desde x0,y0 hasta x1,y0.


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

Dibuja una línea vertical desde x0,y0 hasta x0,y1.


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

Dibuja un rectángulo con la esquina superior izquierda en x,y siendo w la anchura y h la altura.


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

Lo mismo que arriba, solo que el rectángulo es rellenado con el color. Esta función es equivalente a SDL_FillRect (es una MACRO).


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

Dibuja una elipse con centro en x0,y0. El eje mayor es Xradius y el eje menor es Yradius.


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

Dibuja una elipse rellena (los parámetros son los mismos que los de la función de arriba).


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

Dibuja un rectángulo con las esquinas redondeadas. x0,y0 es la esquina superior izquierda, w es la anchura y h es la altura. Y corner es el radio del cuarto de círculo que forma la esquina redondeada.


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

Lo mismo que arriba, sólo que se rellena del color el rectángulo de esquinas redondeadas.


El fichero sdldrawtest.c es un ejemplo de aplicación que usa la librería. Puedes compilarlo escribiendo (para el compilador GNU):

$ 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





SourceForge Logo