delete_draw()

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.

Programa ejemplo:
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).


Ver: draw() - move_draw()