delete_draw(<identificador de la primitiva gráfica>)
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.
PROGRAM ejemplo_delete_draw; PRIVATE id_draw; tipo; color; opacidad; x0,y0; x1,y1; BEGIN write(0, 160, 8, 1, "[ENTER] Mostrar una primitiva / [ESPACIO] borrarla"); draw(2,127,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; END delete_draw(id_draw); // Borramos el texto WHILE (NOT key(_enter)) FRAME; END END END
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).