Aspecto (3er argumento) | Valor (4o argumento) |
stylehint_Indentation |
Aquí debe ir un número que significa "mueve el siguiente trozo de
texto tantas unidades a la derecha" (un valor negativo lo mueve
hacia la izquierda). ¿Cuánto es una unidad? Depende del
intérprete. |
stylehint_ParaIndentation |
Esto es como el anterior, pero sólo afecta a la primera línea de
cada párrafo. |
stylehint_Justification |
Aquí puede ir una de las siguientes constantes:
stylehint_just_LeftFlush (justificación a la izquierda),
stylehint_just_RightFlush (justificación a la derecha),
stylehint_just_LeftRight (justificación completa) o
stylehint_just_Centered (centrada). |
stylehint_Size |
Aquí hay que poner un número, pero no un número absoluto, como el
tamaño en puntos, sino relativo. 0 significa "el tamaño por
defecto", los valores positivos incrementan el tamaño una cierta
cantidad, y los negativos lo decrementan. Los incrementos no son
necesariamente de la misma magnitud: si 0 es 12 puntos, y +1 es
14 puntos, +2 puede ser 18 puntos. |
stylehint_Weight |
0 =normal, 1 =negrita, -1 = ligera. |
stylehint_Oblique |
0 =no cursiva, 1 =cursiva. |
stylehint_Proportional |
0 =usar fuente de ancho fijo (tipo courier), 1 =fuente de ancho
proporcional |
stylehint_TextColor |
Este debe ser un número de 32 bits que representa el color
usado. Es mucho más fácil, con diferencia, si escribimos el número
en hexadecimal nota3.html, lo que se hace en la
forma siguiente. Primero, escribe el signo dolar (que indica a
Inform que lo que sigue es un número hexadecimal). Después escribe
un número hexadecimal de dos cifras, de 00 a FF , que representa
la cantidad de rojo presente en el color. Después viene otro número
de dos dígitos hexadecimales que representa la cantidad de verde, y
finalmente otro número de dos dígitos hexadecimales que representa
la cantidad de azul. Así, $000000 sería el negro, y $FFFFFF
sería el blanco, $FF0000 sería un rojo intenso, $FFC000 sería
un bonito dorado, $C0C0FF un azul bebé, etcétera. |
stylehint_BackColor |
Aquí va un número de 32 bits, exactamente como el anterior, sólo
que en esta ocasión estás seleccionando el color del "papel"
detrás del texto. Sin embargo, éste no es el color de fondo de la
ventana, y los resultados serán extremadamente horribles en algunos
intérpretes (screen.gif). Actualmente no hay sugerencia de estilo para cambiar
el color de fondo la ventana; con suerte, se le añadirá sin tardar
mucho. |
stylehint_Reverse |
0 =imprimir normalmente, 1 =imprimir el texto usando el color del
fondo, y viceversa. |
|
Así que, juntándolo todo, pongamos que quieres definir el estilo
"User1" como texto rojo sobre un fondo negro. Esto se lograría con
el código siguiente:
Sin embargo, las sugerencias de estilo sólo afectan a las ventanas que
se crean a partir de entonces. Esto significa que si quieres usarlas,
debes hacerlo antes de crear la ventana en la que quieres que se
usen. Y puesto que la ventana gg_mainwin
es creada por la libreria,
si quieres que las sugerencias de estilo tengan efecto sobre la
ventana principal del juego, ponerlas en Inicializar
sería demasiado
tarde - necesitas programar una rutina llamada
InitGlkWindow()
. Esta rutina es llamada desde la librería varias
veces, y le pasa diferentes valores cada vez. En este caso, tienes que
ejecutar tus sugerencias de estilo cuando el valor recibido sea igual
al valor "roca" de gg_mainwin
, así:
Una última observación antes de proseguir. Podría parecerte que un
código como este:
es poco manejable. Lo es. Por otro lado no es mucho peor que:
Por esto muchos programadores usan pequeñas rutinas para hacer todo
esto más amigable. No es necesario escribir style_Emphasized
un
ciento de veces; algo como esto, lo haría perfectamente:
Y una vez que has creado esa rutina, puedes escribir el ejemplo de
antes de esta otra forma: