Instrucción
|
Propósito
|
Ejemplo
|
install_allegro
|
Inicializa Allegro. Debe llamar a esta función o a allegro_init() antes de hacer
otra cosa
|
int install_allegro(int system_id, int *errno_ptr, int (*atexit_ptr)());
|
allegro_init
|
Esta función es equivalente a la llamada install_allegro(SYSTEM_AUTODETECT, &errno, atexit).
|
int allegro_init();
|
allegro_exit
|
Cierra el sistema Allegro
|
void allegro_exit();
|
allegro_id
|
Cadena de texto que contiene la fecha y número de versión de Allegro, en caso de que quiera enseñar estos datos en alguna parte.
|
extern char allegro_id[];
|
allegro_error
|
Cadena de texto usada por set_gfx_mode() e install_sound() para indicar
mensajes de error. Si éstas funciones fallan y quiere decirle al usuario porqué,
éste es el lugar en el que se encuentra una descripción del problema.
|
extern char allegro_error[ALLEGRO_ERROR_SIZE];
|
os_type
|
Variable ajustada por allegro_init() a uno de los siguientes valores:
· OSTYPE_UNKNOWN - desconocido, o MSDOS normal
· OSTYPE_WIN3 - Windows 3.1 o versiones anteriores
· OSTYPE_WIN95 - Windows 95
· OSTYPE_WIN98 - Windows 98 OSTYPE_WINME – Windows ME OSTYPE_WINNT - Windows NT
· OSTYPE_WIN2000 - Windows 2000 OSTYPE_WINXP - Windows XP OSTYPE_OS2 - OS/2 OSTYPE_WARP –
· OS/2 Warp 3 OSTYPE_DOSEMU - Linux DOSEMU
· OSTYPE_OPENDOS - Caldera OpenDOS
· OSTYPE_LINUX - Linux OSTYPE_FREEBSD - FreeBSD
· OSTYPE_UNIX - variante Unix desconocida
· OSTYPE_BEOS - BeOS OSTYPE_QNX – QNX
· OSTYPE_MACOS - MacOS
|
extern int os_type;
|
os_version
|
La versión mayor y menor del Sistema Operativo usado. Ajustado por allegro_init(). Si Allegro por alguna razón no es capaz de obtener la versión de su Sistema Operativo, os_version y os_revision valdrán -1. Por ejemplo: bajo Win98 SE (v4.10.2222) os_version valdrá 4 y os_revision valdrá 10.
|
extern int os_version;
extern int os_revision;
|
os_multitasking
|
Ajustado por allegro_init() a TRUE o FALSE dependiendo de si su Sistema Operativo es multitarea o nó.
|
extern int os_multitasking;
|
allegro_message
|
Muestra un mensaje usando una cadena con formato printf(). Esta función sólo debe ser utilizada cuando no esté en un modo gráfico, es decir, antes de llamar a set_gfx_mode() o después de llamar a set_gfx_mode(GFX_TEXT).
|
void allegro_message(char *msg, ...);
|
set_window_title
|
En las plataformas que sean capaces de ello, esta rutina cambia el título de la ventana utilizada para su programa. Tenga en cuenta que Allegro no es capaz de modificar el título de la ventana cuando ejecute una ventana DOS en Windows.
|
void set_window_title(const char *name);
|
set_window_close_button
|
En las plataformas que sean capaces de ello, esta rutina activa o desactiva el botón de cerrar ventana de su programa Allegro. Si lo desea, puede llamar esta rutina antes de que la ventana sea creada. Si el botón de cerrar ventana es desactivado con éxito, esta función devolverá cero.
|
int set_window_close_button(int enable);
|
set_window_close_hook
|
En las plataformas que tengan botón de cierre, esta rutina instala una función de enganche en el evento de cierre. En otras palabras, cuando el usuario pinche en el botón que cerraría la ventana de su programa, se llamará a la función que especifique aquí. Puede usar esta función para mostrar un diálogo ofreciendo salvar los datos o verificar que el usuario realmente desea salir, o puede usarla para salvar los datos, liberar memoria y salir.
|
void set_window_close_hook(void (*proc)());
|
desktop_color_depth
|
En plataformas que pueden ejecutar programas de Allegro en una ventana de un escritorio existente, devuelve la profundidad de color usada por el escritorio en ese momento (su programa posiblemente correrá más si usa la misma profundidad de color. En plataformas donde esta información no es disponible o no tiene sentido, devuelve cero.
|
int desktop_color_depth();
|
get_desktop_resolution
|
En plataformas que pueden ejecutar programas de Allegro en una ventana de un escritorio existente, permite obtener la resolución actual usada por el escritorio (ej: le itneresará llamar a esta función antes de crear una gran ventana, porque en algunos drivers de modo ventana, ésta no puede ser creada si es mayor que el escritorio). Devuelve cero si hubo éxito, o un número negativo si la información no está disponible o no es aplicable a su situación, en cuyo caso los valores almacenados en width y heigth serán indefinidos.
|
int get_desktop_resolution(int *width, int *height);
|
yield_timeslice
|
En los sistemas que lo soportan, libera el resto de la "rebanada temporal" (timeslice) que la CPU le había asignado.
|
void yield_timeslice();
|
check_cpu
|
Detecta el tipo de CPU, asignando valores a las siguientes variables globales. Normalmente no necesita llamar a esta función, ya que allegro_init() lo hará por usted.
|
void check_cpu();
|
cpu_vendor
|
Contiene el nombre del proveedor de la CPU si éste es conocido. En
plataformas no-Intel, contiene una cadena vacía.
|
extern char cpu_vendor[];
|
cpu_family
|
Contiene el tipo de CPU Intel, en las CPUs donde sea aplicable: 3=386, 4=486, 5=Pentium, 6=PPro, etc.
|
extern int cpu_family;
|
cpu_model
|
Contiene el submodelo de una CPU Intel, en las CPUs donde sea aplicable. En un 486 (cpu_family=4), cero o uno indica un chip DX, 2 un SX, 3 indica la presencia de un coprocesador matemático (486 SX + 487 ó 486 DX), 4 un SL, 5 un SX2, 7 un DX2 write-back enhanced, 8 un DX4 o un overdrive DX4, 14 un Cyrix y 15 desconocido. En un chip Pentium (cpu_family=5), 1 indica un Pentium (510\66, 567\66), 2 un Pentium P54C, 3 un procesador Pentium overdrive, 5 un Pentium overdrive para IntelDX4, 14 un Cyrix y 15 desconocido.
|
extern int cpu_model;
|
cpu_capabilities
|
Contiene bits de la CPU que indican qué características están disponibles. Los bits pueden ser una combinación de:
· CPU_ID - Indica que la instrucción "cpuid" está disponible. Si este bit está activo, entonces todas las variables CPU de Allegro son fiables al 100%, en caso contrario podría haber fallos.
· CPU_FPU -Hay disponible una FPU x87. CPU_MMX -Conjunto de instrucciones Intel MMX disponible.
· CPU_MMXPLUS -Conjunto de instrucciones Intel MMX+ disponible.
· CPU_SSE -Conjunto de instrucciones Intel SSE disponible. CPU_SSE2 -Conjunto de instrucciones Intel SSE2 disponible. CPU_3DNOW -Conjunto de instrucciones AMD 3DNow! disponible.
· CPU_ENH3DNOW -Conjunto de instrucciones AMD Enhanced 3DNow! disponible.
· CPU_CMOV -Instrucción "cmov" del Pentium Pro disponible
|
|
set_uformat
|
Establece el formato de codificación de texto a utilizar. Esta operación afectará a todos las funciónes de Allegro que devuelvan un puntero a carácter (char *) o acepten un puntero a carácter como parámetro.
El parámetro type debe ser uno de los siguientes:
· U_ASCII -carácteres ASCII de 8 bits de tamaño fijo
· U_ASCII_CP -página de códigos alternativa de 8 bits (ver set_ucodepage())
· U_UNICODE -carácteres Unicode de 16 bits de tamaño fijo
· U_UTF8 -carácteres Unicode UTF-8 de tamaño variable
|
|
get_uformat
|
Devuelve el formato de codificación de texto actualmente seleccionado.
|
int get_uformat(void);
|
register_uformat
|
Instala un conjunto de funciones para el manejo de un nuevo formato de codificación de carácteres. El parámetro type identifica el nuevo formato, que debería ser una cadena de 4 carácteres como las producidas por la macro AL_ID().
|
void register_uformat(int type, int (*u_getc)(const char *s), int (*u_getx)(char **s), int (*u_setc)(char *s, int c), int (*u_width)(const char *s), int (*u_cwidth)(int c), int (*u_isok)(int c));
|
set_ucodepage
|
Cuando se selecciona el modo U_ASCII_CP, los carácteres de 8 bits son convertidos a sus equivalentes en Unicode a través de un conjunto de tablas. Se puede usar esta función para especificar un conjunto de tablas personalizadas que permitan la utilización de páginas de códigos de 8 bits alternativas.
|
void set_ucodepage(const unsigned short *table, const unsigned short *extras);
|
need_uconvert
|
Dado un puntero a una cadena, el tipo de la cadena y el tipo al que se desea convertir, esta función indica si dicha conversión es necesaria.
|
int need_uconvert(const char *s, int type, int newtype);
|
uconvert_size
|
Devuelve el número de bytes que serán necesarios para almacenar la cadena especificada tras una conversión al nuevo tipo, incluyendo el carácter terminador nulo. Los parámetros type pueden usar el valor U_CURRENT para indicar el tipo actualmente seleccionado.
|
int uconvert_size(const char *s, int type, int newtype);
|
do_uconvert
|
Convierte la cadena especificada del tipo type al tipo newtype, guardando como mucho size bytes en el buffer buf. Los parámetros type pueden utilizar el valor U_CURRENT para indicar el tipo actualmente seleccionado.
|
void do_uconvert(const char *s, int type, char *buf, int newtype, int size);
|
uconvert
|
Esta es una función de alto nivel que sirve como ayuda para ejecutar do_uconvert(). Al igual que do_uconvert(), convierta la cadena especificada del tipo type al tipo newtype, guardando como mucho size bytes en el buffer buf.
|
char *uconvert(const char *s, int type, char *buf, int newtype, int size);
|
uconvert_ascii
|
Macro auxiliar para convertir cadenas desde ASCII al formato actual de codificación. Se expande a uconvert(s, U_ASCII, buf, U_CURRENT, sizeof(buf)).
|
char *uconvert_ascii(const char *s, char buf[]);
|
uconvert_toascii
|
Macro auxiliar para convertir cadenas desde el formato actual de codificación a ASCII. Se expande a uconvert(s, U_CURRENT, buf, U_ASCII, sizeof(buf)).
|
char *uconvert_toascii(const char *s, char buf[]);
|
empty_string
|
No se puede fiar de que "" sea una cadena vacía válida en todos los formatos de codificación. Este búffer global contiene un número de ceros consecutivos, así que siempre será una cadena vacía válida, sin tener importancia si el programa se está ejecutando en modo ASCII, Unicode o UTF-8.
|
extern char empty_string[];
|
ugetc
|
Función auxiliar de bajo nivel para leer datos de texto en Unicode. Dado un puntero a una cadena en el formato de codificación actual devuelve el siguiente caracter de la cadena.
|
int ugetc(const char *s);
|
ugetx
|
Función auxiliar de bajo nivel para leer datos de texto en Unicode. Dada la dirección de un puntero a un string en el formato de codificación actual devuelve el siguiente caracter de la cadena y avanza el puntero al siguiente caracter.
|
int ugetx(char **s); int ugetxc(const char **s);
|
usetc
|
Función auxiliar de bajo nivel para escribir datos de texto en Unicode. Escribe el caracter especificado en la dirección dada usando el formato de codificación actual y devuelve el número de bytes escritos.
|
int usetc(char *s, int c);
|
uwidth
|
Función auxiliar de bajo nivel para comprobar datos de texto en Unicode. Devuelve el número de bytes ocupados por el primer caracter de la cadena especificada en el formato de codificación actual.
|
int uwidth(const char *s);
|
ucwidth
|
Función auxiliar de bajo nivel para comprobar datos de texto en Unicode. Devuelve el número de bytes que ocuparía el caracter especificado en caso de codificarse en el formato actual.
|
int ucwidth(int c);
|
uisok
|
Función auxiliar de bajo nivel para comprobar datos de texto en Unicode. Comprueba que el valor especificado puede ser codificado correctamente en en el formato actual
|
int uisok(int c);
|
uoffset
|
Devuelve el desplazamiento en bytes desde el comienzo de la cadena hasta el caracter correspondiente al índice especificado. Si el índice es negativo, cuenta hacía atrás desde el final de la cadena, así que un índice de -1 devolverá un desplazamiento al último caracter.
|
int uoffset(const char *s, int index);
|
ugetat
|
Devuelve el valor del caracter de la cadena correspondiente al índice especificado. Un parámetro indice igual a 0 devolverá el primer caracter de la cadena. Si el índice es negativo, cuenta hacia atrás desde el final de la cadena. Así pues un índice de -1 devolverá el ultimo caracter de la cadena.
|
int ugetat(const char *s, int index);
|
usetat
|
Reemplaza el caracter del string con el índice especificado por el valor c, haciendo los ajustes necesarios debido a la anchura de la variable (ej: si c se codifica con una anchura diferente que el valor que había antes en esa posición). Devuelve el número de bytes que ha sido desplazada la parte derecha de la cadena. Si el índice es negativo cuenta hacia atrás desde el final de la cadena.
|
int usetat(char *s, int index, int c);
|
uinsert
|
Inserta el caracter c en la posición de la cadena especificada por index, desplazando el resto de los datos para hacer sitio. Devuelve el número de bytes que ha desplazado la parte derecha. Si el índice es negativo cuenta hacia atras desde el final de la cadena.
|
int uinsert(char *s, int index, int c);
|
uremove
|
Borra el caracter que hay en la posición index de la cadena, desplazando el resto de los datos para llenar la posición vacía. Devuelve el número de bytes que se ha tenido que desplazar la parte derecha de la cadena, si index es negativo empieza a contar desde el final de la cadena
|
int uremove(char *s, int index);
|
ustrsize
|
Devuelve el tamaño de la cadena especificada en bytes, sin incluir el caracter nulo finalizador de cadena.
|
int ustrsize(const char *s);
|
ustrsizez
|
Devuelve el tamaño de la cadena especificada en bytes, incluyendo el caracter nulo finalizador de cadena.
|
int ustrsizez(const char *s);
|
uwidth_max
|
Rutinas ayudantes de bajo nivel para trabajar con texto Unicode. Devuelven el mayor número de bytes que un carácter puede ocupar en el formato de codificación especificado. Pase U_CURRENT para indicar el formato de codificación actual.
|
int uwidth_max(int type);
|
utolower
|
Esta función devuelve c, convirtiéndola a minúsculas si estaba en mayúsculas.
|
int utolower(int c);
|
utoupper
|
Esta función devuelve c, convirtiéndola a mayúsculas si estaba en minúsculas.
|
int utoupper(int c);
|
uisspace
|
Devuelve distinto de cero si c es carácter de espaciado, es decir, un retorno de carro, una nueva línea, página, un tabulador, un tabulador vertical o un espacio.
|
int uisspace(int c);
|
uisdigit
|
Devuelve distinto de cero si c es un dígito.
|
int uisdigit(int c);
|