Estructura STROBJ (winddi.h)
La clase STROBJ, o el objeto de cadena de texto, contiene una enumeración de identificadores de glifo y posiciones para el controlador del dispositivo.
Sintaxis
typedef struct _STROBJ {
ULONG cGlyphs;
FLONG flAccel;
ULONG ulCharInc;
RECTL rclBkGround;
GLYPHPOS *pgp;
LPWSTR pwszOrg;
} STROBJ;
Miembros
cGlyphs
Especifica el número de glifos en el STROBJ.
flAccel
Marcas de aceleración. Este miembro puede ser cualquiera de los siguientes valores:
SO_BREAK_EXTRA
El espaciado de ancho fijo se agrega a cada carácter de salto.
SO_CHARACTER_EXTRA
El espaciado de ancho fijo se agrega entre cada par de glifos consecutivos.
SO_CHAR_INC_EQUAL_BM_BASE
El espaciado viene determinado por tamaños de mapa de bits. En este contexto, la base de mapa de bits se define como cx para mayúsculas y minúsculas horizontales, cy para mayúsculas y minúsculas verticales. Este bit se establece significa que cada glifo de una fuente que el mapa de bits (proporcionado en la estructura GLYPHBITS por GDI) tendrá una base igual al ancho avanzado de ese glifo. Esto no significa que se trata de una fuente de inclinación fija. (No se usa para PATHOBJs).
SO_DO_NOT_SUBSTITUTE_DEVICE_FONT
Un controlador de impresora no debe sustituir una de sus fuentes de impresora para la elección de fuente de GDI.
SO_DXDY
Los glifos se van a representar en posiciones aleatorias.
SO_ESC_NOT_ORIENT
La orientación de un glifo es diferente de la dirección de escape. El escape es el ángulo que hace la dirección del texto con la horizontal. La orientación es el ángulo entre la línea base del glifo y la dirección de escape.
SO_FLAG_DEFAULT_PLACEMENT
Los vectores de incremento predeterminados se usan para colocar los caracteres.
SO_GLYPHINDEX_TEXTOUT
pwszOrg apunta a una matriz de índices de glifo, en lugar de a una matriz Unicode.
SO_HORIZONTAL
El texto es horizontal; de izquierda a derecha o de derecha a izquierda, según SO_REVERSED. La coordenada y solo se proporciona para el primer glifo de la cadena.
SO_MAXEXT_EQUAL_BM_SIDE
Los mapas de bits tienen los mismos anchos. En este contexto, el lado del mapa de bits se define como cy para mayúsculas y minúsculas horizontales y cx para mayúsculas y minúsculas verticales. Esta marca garantiza que todos los glifos de la fuente tendrán el mismo lado igual a la suma de ascendentes y descendientes. Sin embargo, este bit indica más que un lado constante. En el caso horizontal, este bit también indica que la distancia vertical entre la parte superior del mapa de bits del glifo y su origen de caracteres es igual al ascendente para todos los glifos. En el caso vertical, este bit indica que la distancia horizontal entre el origen del glifo y la "parte superior" del mapa de bits del glifo (que es realmente derecho o izquierdo, dependiendo de si está escribiendo en la dirección del eje positivo o negativo y) es igual al ascendente. En cualquier caso, las partes superiores e inferiores de todos los mapas de bits de glifo se ponen en la misma línea en la dirección de escritura. (No se usa para PATHOBJs).
SO_REVERSED
Establezca si horizontal es de derecha a izquierda o vertical está de abajo a arriba.
SO_VERTICAL
El texto es vertical; de arriba a abajo o inferior a arriba, según SO_REVERSED. La coordenada x solo se proporciona para el primer glifo de la cadena.
SO_ZERO_BEARINGS
Todos los glifos tienen un espaciado A y cero C. Este bit garantiza que los cuadros negros del glifo no se superpongan.
ulCharInc
Especifica si la fuente es una fuente de tono fijo (monoespacio). Si es así, este miembro es igual al ancho avanzado de glifos en pels; de lo contrario, es cero. Cuando este miembro es distinto de cero, GDI proporciona una coordenada válida solo para el primer carácter de la cadena. El controlador debe generar todas las demás posiciones de caracteres agregando sucesivamente el valor de este miembro a lo largo de la dirección de escritura.
rclBkGround
Especifica una estructura RECTL que describe el rectángulo delimitador de la cadena.
pgp
Puntero a la matriz GLYPHPOS para toda la cadena. Puede ser NULL (consulte la siguiente sección Comentarios ).
pwszOrg
Puntero a la cadena Unicode original o caracteres cGlyphs . Al contrario que su nombre, esta cadena no suele terminar en null. Además, esta cadena no siempre es válida, como en el registro en diario con fuentes de impresora, en cuyo caso este parámetro será NULL.
Comentarios
Un controlador puede llamar a STROBJ_vEnumStart y STROBJ_bEnum para obtener identidades y posiciones de glifos en la cadena. Si pgp no es NULL, apunta a una matriz GLYPHPOS que describe toda la cadena y solo se requiere una sola llamada a STROBJ_bEnum . Si pgp es NULL, STROBJ_bEnum tendrá que llamarse repetidamente en un bucle para obtener todas las posiciones del glifo de la cadena.
Requisitos
Requisito | Valor |
---|---|
Header | winddi.h (incluya Winddi.h) |