int draw( int tipo_grafico, color, modo_dibujado, región, x0, y0, x1, y1 )
Retorna:
El identificador de la primitiva gráfica pintada.
Descripción:
Se trata de una función genérica capaz de representar varias primitivas gráficas en pantalla (como líneas, cajas y círculos). Se deben indicar los siguientes parámetros:
tipo - Tipo de primitiva, dentro de los siguientes:
d_line // Línea recta su valor es 1 d_rectangle // Rectángulo su valor es 2 d_fill_rectangle // Rectángulo relleno su valor es 3 d_ellipse // Elipse su valor es 4 d_fill_ellipse // Elipse rellena es 5
color - Color de tinta para la primitiva (de 0 a 255, como un color de la paleta).
modo - Modo de dibujado: 0 opaco y 1 transparente.
región - Número de región (ventana dentro de la pantalla) en la que se debe pintar la primitiva; normalmente este valor será 0 para poder imprimir la primitiva en cualquier posición de la pantalla. Para definir una región se debe utilizar la función define_region().
x0, y0 - Punto inicial de la recta, o la esquina superior izquierda de la caja que contiene al rectángulo o elipse.
x1, y1 - Punto final de la recta, o la esquina inferior derecha de la caja que contiene al rectángulo o elipse.
Cuando se pinta una primitiva con draw() esta permanecerá fija en pantalla hasta que se mueva con move_draw(), o se elimine con delete_draw().
El identificador de la primitiva devuelto por la función draw() será necesario para mover o borrar dicha primitiva.
El sistema de representación de estas primitivas gráficas es muy similar al sistema de textos; se pintan con write() y permanecen hasta que se muevan con move_text() o se eliminen con delete_text().
Nota: Se puede controlar la prioridad de impresión de las primitivas gráficas mediante la variable global predefinida draw_z.
int contador,
tipo,
color,
opacidad, x, y, x2, y2;
MAIN_PROGRAM_CDIV
BEGIN_PROGRAM
//Definimos el modo grafico
set_gfx(GFX_AUTODETECT_WINDOWED);
//Definimos la resolución
set_mode(m320x200);
write(0,0,0,0,"Pulse ESC para terminar ...");
do{
for( contador = 0; contador < 10; contador++){
tipo = rand(1,5);
color = rand(0,255);
opacidad = rand(0,1);
x = rand(0,319);
y = rand(0,199);
x2 = rand(0,319);
y2 = rand(0,199);
// Pinta una primitiva gráfica
draw(tipo, color, opacidad, 0, x, y, x2, y2);
}
FRAME;
delete_draw(all_drawing);
}LOOP;
END_PROGRAMEste programa ejemplo representa en pantalla 10 primitivas gráficas cuyas características son seleccionadas al azar mediante la función rand(), y tras dar una imagen con FRAME, las borra con la función delete_draw().
El proceso se repite hasta que se detecta la tecla ESC.
Ver: move_draw() - delete_draw() - draw_z