Partager via


Structure PATHOBJ (winddi.h)

La structure PATHOBJ est utilisée pour décrire un ensemble de lignes et de courbes de Bézier qui doivent être tracées ou remplies.

Syntaxe

typedef struct _PATHOBJ {
  FLONG fl;
  ULONG cCurves;
} PATHOBJ;

Membres

fl

Ensemble d’indicateurs qui décrivent le chemin d’accès. Ce membre est un OR au niveau du bit (avec certaines restrictions) des valeurs suivantes :

Indicateur Description
PO_ALL_INTEGERS Les sommets du chemin ont des coordonnées entières sans parties fractionnaires. Cet indicateur est principalement conçu comme un accélérateur afin que les pilotes puissent utiliser un chemin d’accès rapide tout entier plus simple.

En outre, lorsque GDI définit cet indicateur, le pilote est autorisé à s’écarter légèrement de la convention GDI Grid Intersection Quantization (GIQ) du système d’exploitation NT standard qui dicte les règles de rastérisation pour les lignes. Plus précisément, lorsque PO_ALL_INTEGERS est défini, le pilote peut choisir ses propres règles pour lesquelles le pixel doit être allumé dans le cas du disjoncteur où une ligne se situe logiquement entre deux pixels. En règle générale, cet indicateur permet aux pilotes d’utiliser des fonctionnalités matérielles de dessin de ligne point à point, même lorsque le matériel a une règle de disjoncteur différente de celle de GIQ.

GDI définit cet indicateur uniquement pour les lignes pleines d’un pixel de large. En outre, GDI définit cet indicateur uniquement si le mode graphique du contexte de l’appareil est défini sur GM_COMPATIBLE. Pour plus d’informations sur la définition du mode graphique, consultez SetGraphicsMode dans la documentation du Kit de développement logiciel (SDK) Microsoft Window.

PO_BEZIERS Le chemin contient des courbes de Béziers. GDI ne définit qu’un seul des PO_BEZIERS ou PO_ELLIPSE dans le membre fl .
PO_ELLIPSE Le chemin se compose d’une seule ellipse inscrite dans le rectangle englobant du chemin. GDI ne définit qu’un seul des PO_BEZIERS ou PO_ELLIPSE dans le membre fl .
PO_ENUM_AS_INTEGERS Le pilote peut demander que les sommets retournés par PATHOBJ_bEnum être exprimés dans un format entier 32 bits plutôt que dans le format 28.4 standard. Le pilote effectue cette demande en ORing PO_ENUM_AS_INTEGERS dans le membre fl du PATHOBJ donné avant d’appeler PATHOBJ_bEnum.

Le pilote ne peut définir PO_ENUM_AS_INTEGERS que lorsque GDI a défini l’indicateur PO_ALL_INTEGERS. Autrement dit, le chemin d’accès doit être connu pour contenir uniquement des coordonnées entières. Notez que PO_ENUM_AS_INTEGERS est le seul indicateur que le pilote est autorisé à modifier.

Lorsque cet indicateur est défini, le pilote est autorisé à s’écarter légèrement de la convention GIQ standard qui dicte les règles de rastérisation pour les lignes. Plus précisément, lorsque PO_ENUM_ALL_INTEGERS est défini, le pilote peut choisir ses propres règles pour lesquelles le pixel doit être allumé dans le cas du disjoncteur où une ligne se situe logiquement entre deux pixels. En règle générale, cet indicateur permet aux pilotes d’utiliser des fonctionnalités matérielles de dessin de ligne point à point, même lorsque le matériel a une règle de disjoncteur différente de celle de GIQ.

cCurves

Nombre de lignes et de courbes de Bézier qui composent le chemin.

Remarques

Les fonctions associées à cette structure permettent d’énumérer les lignes et les courbes pour le pilote.

Les routines de service GDI suivantes sont fournies pour les objets PATHOBJ :

PATHOBJ_bCloseFigure
PATHOBJ_bEnum
PATHOBJ_bEnumClipLines
PATHOBJ_bMoveTo
PATHOBJ_bPolyBezierTo
PATHOBJ_bPolyLineTo
PATHOBJ_vEnumStart
PATHOBJ_vEnumStartClipLines
PATHOBJ_vGetBounds

Configuration requise

Condition requise Valeur
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvFillPath

DrvStrokeAndFillPath

DrvStrokePath

EngCreatePath

EngDeletePath