16 Salida de texto

Allegro proporciona rutinas de salida de texto que funcionan tanto con fuentes monocromo y color, que pueden contener cualquier número de rangos de carácteres Unicode. El programa grabber puede crear fuentes desde conjuntos de carácteres dibujados en un fichero bitmap (mire grabber.txt para más información), y también puede importar ficheros de fuentes en formato GRX o BIOS. La estructura fuente contiene un número de engaches (hooks) que pueden usarse para extenderla con su propio código de dibujo: vea la definición en allegro/text.h para conocer los detalles.


extern FONT *font;
Una fuente simple con un tamaño fijo de 8x8 (del modo 13h de la BIOS). Si quiere alterar la fuente usada por las rutinas GUI, cambie esto para que apunte a una de sus fuentes. Esta función contiene los rangos estándar de carácteres ASCII (U+20 a U+7F), Latin-1 (U+A1 a U+FF) y Latin Extended-A (U+0100 a U+017F).

Relacionado con: textout, textprintf.
extern int allegro_404_char;
Cuando Allegro no puede encontrar el gráfico que necesita una fuente, en su lugar dibujará el carácter indicado por allegro_404_char. Por defecto éste es el símbolo del acento circumflejo, '^'.
Relacionado con: font.
int text_mode(int mode);
Ajusta el modo en el que se dibujará el texto. Devuelve el valor previo. Si el modo es cero o positivo, la salida de texto será opaca y el fondo de los carácteres serán ajustados al color #mode. Si mode es negativo, el texto será dibujado de forma transparente (es decir, el fondo de los carácteres no será alterado). Por defecto este modo es cero.
Relacionado con: textout, textprintf.
void textout(BITMAP *bmp, const FONT *f, const char *s, int x, y, int color);
Escribe la cadena s en el bitmap en la posición x, y, usando el modo de texto actual y el color de fondo y fuente especificado. Si el color es -1 y se esta usando una fuente en color, se dibujará usando los colores de el bitmap de fuentes original (el que importó en el programa grabber), lo que permite salida de texto multicolor.
Relacionado con: font, text_mode, textout_centre, textout_right, textout_justify, textprintf, text_height, text_length.
void textout_centre(BITMAP *bmp, const FONT *f, const unsigned char *s, int x, y, color);
Como textout(), pero interpreta la coordenada x como el centro y no como el margen izquierdo de la cadena.
Relacionado con: textout, textprintf_centre.
void textout_right(BITMAP *bmp, const FONT *f, const char *s, int x, y, color);
Como textout(), pero interpreta la coordenada x como la parte derecha de la cadena de texto.
Relacionado con: textout, textprintf_right.
void textout_justify(BITMAP *bmp, const FONT *f, const unsigned char *s, int x1, int x2, int y, int diff, int color);
Dibuja texto justificado dentro de la región x1-x2. Si la cantidad de espacio reservado es mayor que el valor diff, se dará por vencido y dibujará un texto justificado por la izquierda.
Relacionado con: textout, textprintf_justify.
void textprintf(BITMAP *bmp, const FONT *f, int x, y, color, const char *fmt, ...);
Salida de texto formateada, usando un formato de cadena al estilo de printf().
Relacionado con: font, text_mode, textprintf_centre, textprintf_right, textprintf_justify, textout, text_height, text_length.
void textprintf_centre(BITMAP *bmp, const FONT *f, int x, y, color, const char *fmt, ...);
Como textprintf(), pero interpreta la coordenada x como el centro y no como el margen izquierdo de la cadena.
Relacionado con: textprintf, textout_centre.
void textprintf_right(BITMAP *bmp, FONT *f, int x, y, color, const char *fmt, ...);
Como textprintf(), pero interpreta la coordenada x como la parte derecha de la cadena.
Relacionado con: textprintf, textout_right.
void textprintf_justify(BITMAP *bmp, const FONT *f, int x1, int x2, int y, int diff, int color, const char *fmt, ...);
Como textout_justify, pero usando una cadena de formato printf.
Relacionado con: textprintf, textout_justify.
int text_length(const FONT *f, const unsigned char *str);
Devuelve la longitud (en pixels) de la cadena en la fuente especificada.
Relacionado con: text_height.
int text_height(const FONT *f)
Devuelve la altura (en pixels) de la fuente especificada.
Relacionado con: text_length.
void destroy_font(FONT *f);
Libera la memoria usada por una estructura de fuente.



Volver al Indice