void write_in_bitmap( BITMAP * bmp, int id_fuente, x, y, centrado, void * dato, int tipo )
Descripción:
Esta función nos permite escribir un texto en un BITMAP de ALLEGRO, utilizando también diferentes opciones para dicho dibujado; para ello requiere los siguientes parámetros:
bmp : (BITMAP *) de ALLEGRO el cual se va ha dibujar el texto
id_fuente : El código de la fuente o tipo de letra que se va a utilizar. Aquí se debe poner un 0 cuando se quiera utilizar la fuente del sistema (fuente de color blanco, pequeña, de 6 por 8 puntos), o bien el código de fuente devuelto por la función load_fnt() cuando se carga una nueva fuente en el programa.
x, y : Las coordenadas relativas a la imagen en las que se va a imprimir el texto, primero en el eje horizontal y después en el vertical.
centrado : código de centrado - Es un código que determina la posición del texto que se especifica en las coordenadas anteriores. Sus valores son:
0-Arriba izquierda 1-Arriba 2-Arriba derecha 3-Izquierda 4-Centro 5-Derecha 6-Abajo izquierda 7-Abajo 8-Abajo derecha
Por ejemplo, si se escribe un texto en las coordenadas 160, 0 y con el código de centrado 1 (Arriba), entonces se centrará el texto en la columna 160 y se imprimirá de la línea 0 hacia abajo. O si se quiere un texto en la esquina superior izquierda, se debe imprimir en las coordenadas 0, 0 y con código de centrado 0 (Arriba izquierda).
dato : Puntero al dato que deseamos imprimir (int, float o char).
tipo : Tipo de dato que vamos a imprimir, sus valores son:
w_int_pointer // Puntero a un número entero w_char_pointer // Puntero a un carácter o cadena w_float_pointer // Puntero a un número real w_char_const // Puntero a una cadena constante w_double_pointer // Puntero a un número real doble
char str[20]; MAIN_PROGRAM_CDIV BEGIN_PROGRAM // Definimos el modo gráfico set_gfx(GFX_AUTODETECT_WINDOWED); // Definimos la resolución set_mode(m320x200); strcpy(str, "¡Hola Mundo!"); // Bucle de espera LOOP{ write_in_bitmap(screen, 0, 0, 0, 0, str, w_char_pointer ); FRAME; } END_PROGRAM
En el ejemplo anterior vemos como se escribe un texto directamente en pantalla, se puede apreciar un parpadeo en el mismo ya que dicho texto es borrado cada vez que se actualiza la pantalla.
Ver: write() - move_text() - delete_text() - load_fnt() - text_z