int graph=0; // Código del gráfico del proceso
Esta variable predefinida es PUBLIC, lo que significa que cada proceso tendrá su propio valor en su variable graph.
Normalmente, la mayoría de procesos se corresponden con un objeto gráfico visualizado en pantalla que se situará en las coordenadas indicadas en las variables locales x e y. Se debe definir qué gráfico es el correspondiente a dicho proceso asignando un código de gráfico a la variable local graph.
Por defecto, esta variable valdrá 0 lo que implica que no se visualizará ningún gráfico para este proceso.
Es decir, los gráficos utilizados en un programa pueden provenir de un archivo de imagen (que contiene un sólo gráfico) o de un fichero FPG (que puede contener muchos gráficos).
Nota: Un mismo gráfico puede ser utilizado por muchos procesos a la vez en un programa.
Archivos de imagen
Para utilizar en el programa un gráfico de un archivo de imagen se debe cargar este llamando a las funciones load_map(), load_pcx(), load_bmp(), load_lbm(), load_tga(), load_image() que devolverán el código del gráfico que se debe ser asignado a la variable graph.
Normalmente se utiliza una variable GLOBAL para guardar este código de gráfico y después se asigna ésta a la variable graph.
MAIN_PROGRAM_CDIV LOCAL int grafico1; BEGIN_PROGRAM set_mode(m300x200); grafico1=load_map("../help.map"); graph=grafico1; // Se define el gráfico del proceso. LOOP{ x=mouse.x; y=mouse.y; FRAME; } END_PROGRAM
Si bien en el ejemplo anterior se podría haber prescindido de la variable global grafico1 y haber asignado directamente el código devuelto por la función load_map() a la variable graph con la siguiente sentencia:
graph=load_map("help/help.map");
los códigos de gráfico que devuelve esta función son simplemente números enteros a partir de 1000.
Ficheros FPG
Para incluir un gráfico que se ha realizado en el editor gráfico en un fichero FPG de debe arrastrar la ventana del gráfico a la ventana del fichero (pulsar en el gráfico, moverse hasta el fichero y soltar), entonces el programa pedirá el código del gráfico, con lo que se debe introducir aquí un número entero entre 1 y 999.
Para utilizar entonces el gráfico en un programa, se debe primero cargar el fichero FPG que lo contiene con la función load_fpg() y, después, asignar el código del gráfico a la variable graph.
Se muestra, a continuación, un ejemplo es necesario saber antes que un gráfico de una bola marrón se introdujo en el fichero HELP.FPG indicando el código de gráfico 100.
MAIN_PROGRAM_CDIV BEGIN_PROGRAM set_mode(m300x200); load_fpg("../help.fpg"); graph=100; // Se define el gráfico del proceso. LOOP{ x=mouse.x; y=mouse.y; FRAME; } END_PROGRAM
Se pueden cargar varios ficheros FPG en un programa; en ese caso se deberá indicar, además del código del gráfico en la variable local graph, el código de fichero que devuelve la función load_fpg() en la variable local file.
Si sólo se carga un fichero esto no será necesario, ya que la variable file vale 1 por defecto en todos los procesos y 0 será siempre el código del primer fichero que se cargue en el programa. Existen más variables locales relacionadas con el gráfico de un proceso, las principales son las siguientes:
graph - Código del gráfico
file - Código del fichero
x, y - Coordenadas del gráfico
z - Plano de profundidad
angle - ángulo del gráfico
size - Tamaño del gráfico
flags - Espejados y transparencias
region - Ventana de visualización
Ver: Datos locales