void draw_in_map( int file, graph, tipo_grafico, color, modo, region, x0, y0, x1, y1 )


Descripción:

Se trata de una función genérica capaz de representar varias primitivas gráficas en un gráfico (como líneas, cajas y círculos). Se deben indicar los siguientes parámetros:

file - Fichero FPG contenedor de imágenes.

graph - Gráfico en el que se va ha dibujar la primitiva gráfica

tipo_grafico - Tipo de primitiva, dentro de los siguientes:

 d_line           // Línea recta
 d_rectangle      // Rectángulo
 d_fill_rectangle // Rectángulo relleno
 d_ellipse        // Elipse
 d_fill_ellipse   // Elipse rellena

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.


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 ...");

    x = 160;
    y = 100;

    graph = new_map(320, 200, 160, 100, 0);

    do{
        clear_map_color(0, graph, 0);

        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_in_map(0, graph, tipo, color, opacidad, 0, x, y, x2, y2);
        }

        FRAME;
    }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.

El proceso se repite hasta que se detecta la tecla ESC.


Ver: draw() - move_draw() - delete_draw() - draw_z