void delete_draw( int id_draw )
Descripción:
Borra una primitiva gráfica que se ha pintado con la función draw(), para ello se requiere como parámetro el identificador de la primitiva, que es el código numérico que se retornó al pintarla.
Si se especifica como parámetro all_drawing se borrarán todas las primitivas gráficas representadas en pantalla, es decir, que el identificador será necesario sólo en el caso de querer eliminar una primitiva concreta.
MAIN_PROGRAM_CDIV PRIVATE int id_draw, tipo, color, opacidad, x0,y0, x1,y1; BEGIN_PROGRAM //Definimos el modo grafico set_gfx(GFX_AUTODETECT_WINDOWED); //Definimos la resolución set_mode(m320x200); write(0, 160, 8, 1, "[ENTER] Mostrar / [ESPACIO] borrarla"); draw(2,makecol(255,0,0),15,0,0,0,319,199); LOOP{ tipo=rand(1,5); color=rand(0,255); opacidad=rand(0,15); x0=rand(0,319); y0=rand(0,199); x1=rand(0,319); y1=rand(0,199); id_draw=draw(tipo,color,opacidad,0,x0,y0,x1,y1); while (NOT key(_space)) FRAME; delete_draw(id_draw); // Borramos el texto while (NOT key(_enter)) FRAME; } END_PROGRAM
En el ejemplo anterior, se imprime una primitiva en pantalla, entonces se espera hasta que se pulse la barra espaciadora, momento en el que se borra la primitiva y se espera a la tecla ENTER antes de volver a repetir el bucle.
Se puede observar como sólo se borra la segunda primitiva, cuyo identificador se ha guardado en la variable id_draw (la primera es el rectángulo que abarca toda la pantalla y se pinta con la primera llamada a draw() del programa).
Para borrar todas las primitivas se debería haber llamado a la función como delete_draw(all_drawing);, lo que también habría eliminado al rectángulo.
Nota: Con la función move_draw() se pueden modificar las características de una primitiva gráfica presente en pantalla (posición, color, opacidad y tamaño).
Ver: draw() - move_draw()