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_PROGRAM
Este 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