Estructura PATHOBJ (winddi.h)
La estructura PATHOBJ se usa para describir un conjunto de líneas y curvas Bezier que se van a trazar o rellenar.
Sintaxis
typedef struct _PATHOBJ {
FLONG fl;
ULONG cCurves;
} PATHOBJ;
Miembros
fl
Conjunto de marcas de sugerencia que describen la ruta de acceso. Este miembro es un OR bit a bit (con ciertas restricciones) de los siguientes valores:
Marca | Descripción |
---|---|
PO_ALL_INTEGERS |
Los vértices de la ruta de acceso tienen coordenadas enteras sin partes fraccionarios. Esta marca está pensada principalmente como un acelerador para que los controladores puedan usar una ruta de acceso rápida todo-entero más sencilla.
Además, cuando GDI establece esta marca, el controlador puede desviarse ligeramente de la convención estándar GDI Grid Intersection Quantization (GIQ) del sistema operativo basado en NT que dicta las reglas de rasterización de las líneas. En concreto, cuando PO_ALL_INTEGERS se establece, el controlador puede elegir sus propias reglas para las que se debe iluminar el píxel en el caso del desempate en el que una línea cae lógicamente exactamente entre dos píxeles. Normalmente, esta marca permite a los controladores usar funcionalidades de dibujo de punto a punto de hardware incluso cuando el hardware tiene una regla de desempate diferente de la de GIQ. GDI establece esta marca solo para líneas sólidas que tienen un píxel ancho. Además, GDI establece esta marca solo si el modo gráfico del contexto del dispositivo está establecido en GM_COMPATIBLE. Para obtener más información sobre cómo establecer el modo gráfico, vea SetGraphicsMode en la documentación del SDK de Microsoft Window. |
PO_BEZIERS | La ruta de acceso contiene curvas Bezier. GDI establece solo uno de PO_BEZIERS o PO_ELLIPSE en el miembro fl . |
PO_ELLIPSE | La ruta de acceso consta de una sola elipse descrita en el rectángulo delimitador de la ruta de acceso. GDI establece solo uno de PO_BEZIERS o PO_ELLIPSE en el miembro fl . |
PO_ENUM_AS_INTEGERS |
El controlador puede solicitar que los vértices devueltos de PATHOBJ_bEnum expresarse en un formato entero de 32 bits en lugar del formato estándar 28.4. El controlador realiza esta solicitud mediante ORing PO_ENUM_AS_INTEGERS en el miembro fl del PATHOBJ especificado antes de llamar a PATHOBJ_bEnum.
El controlador solo puede establecer PO_ENUM_AS_INTEGERS cuando GDI ha establecido la marca PO_ALL_INTEGERS. Es decir, la ruta de acceso debe conocerse para contener solo coordenadas enteras. Tenga en cuenta que PO_ENUM_AS_INTEGERS es la única marca que el controlador puede modificar. Cuando se establece esta marca, el controlador puede desviarse ligeramente de la convención GIQ estándar que dicta las reglas de rasterización para las líneas. En concreto, cuando PO_ENUM_ALL_INTEGERS se establece, el controlador puede elegir sus propias reglas para las que se debe iluminar el píxel en el caso del desempate en el que una línea cae lógicamente entre dos píxeles. Normalmente, esta marca permite a los controladores usar funcionalidades de dibujo de punto a punto de hardware incluso cuando el hardware tiene una regla de desempate diferente de la de GIQ. |
cCurves
Número de líneas y curvas Bezier que componen el trazado.
Comentarios
Las funciones asociadas a esta estructura permiten enumerar las líneas y curvas para el controlador.
Se proporcionan las siguientes rutinas de servicio GDI para objetos PATHOBJ:
- PATHOBJ_bCloseFigure
- PATHOBJ_bEnum
- PATHOBJ_bEnumClipLines
- PATHOBJ_bMoveTo
- PATHOBJ_bPolyBezierTo
- PATHOBJ_bPolyLineTo
- PATHOBJ_vEnumStart
- PATHOBJ_vEnumStartClipLines
- PATHOBJ_vGetBounds
Requisitos
Requisito | Valor |
---|---|
Header | winddi.h (incluya Winddi.h) |