Compartir a través de


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)

Consulte también

DrvFillPath

DrvStrokeAndFillPath

DrvStrokePath

EngCreatePath

EngDeletePath