Condividi tramite


Struttura PATHOBJ (winddi.h)

La struttura PATHOBJ viene usata per descrivere un set di linee e curve di Bezier che devono essere eseguite o riempite.

Sintassi

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

Members

fl

Set di flag di hint che descrivono il percorso. Questo membro è un OR bit per bit (con determinate restrizioni) dei valori seguenti:

Flag Descrizione
PO_ALL_INTEGERS I vertici del percorso hanno coordinate integer senza parti frazionarie. Questo flag è destinato principalmente come acceleratore in modo che i driver possano usare un percorso rapido all-integer più semplice.

Inoltre, quando GDI imposta questo flag, il driver può deviare leggermente dalla convenzione GDI grid quantiization (GIQ) del sistema operativo basato su NT standard che determina le regole di rasterizzazione per le linee. In particolare, quando PO_ALL_INTEGERS è impostato il driver può scegliere le proprie regole per cui il pixel deve essere acceso nel caso di tie-breaker in cui una riga cade in modo logico tra due pixel. In genere, questo flag consente ai driver di usare le funzionalità di disegno da punto a punto hardware anche quando l'hardware ha una regola di tie-breaker diversa da quella di GIQ.

GDI imposta questo flag solo per linee solide che sono un pixel wide. Inoltre, GDI imposta questo flag solo se la modalità grafica del contesto del dispositivo è impostata su GM_COMPATIBLE. Per altre informazioni sull'impostazione della modalità grafica, vedere SetGraphicsMode nella documentazione di Microsoft Window SDK.

PO_BEZIERS Il percorso contiene curve di Bezier. GDI imposta solo uno dei PO_BEZIERS o PO_ELLIPSE nel membro fl .
PO_ELLIPSE Il percorso è costituito da una singola ellisse inscritta nel rettangolo di delimitazione del percorso. GDI imposta solo uno dei PO_BEZIERS o PO_ELLIPSE nel membro fl .
PO_ENUM_AS_INTEGERS Il driver può richiedere che i vertici restituiti da PATHOBJ_bEnum siano espressi in un formato intero a 32 bit anziché nel formato standard 28.4. Il driver effettua questa richiesta da ORing PO_ENUM_AS_INTEGERS nel membro fl del determinato PATHOBJ prima di chiamare PATHOBJ_bEnum.

Il driver può impostare PO_ENUM_AS_INTEGERS solo quando GDI ha impostato il flag di PO_ALL_INTEGERS. Vale a dire, il percorso deve essere noto per contenere solo coordinate integer. Si noti che PO_ENUM_AS_INTEGERS è l'unico flag consentito per la modifica del driver.

Quando questo flag è impostato, il driver può deviare leggermente dalla convenzione GIQ standard che determina le regole di rasterizzazione per le righe. In particolare, quando PO_ENUM_ALL_INTEGERS è impostato il driver può scegliere le proprie regole per cui il pixel deve essere acceso nel caso di tie-breaker in cui una riga cade in modo logico esattamente tra due pixel. In genere, questo flag consente ai driver di usare le funzionalità di disegno da punto a punto hardware anche quando l'hardware ha una regola di tie-breaker diversa da quella di GIQ.

cCurves

Numero di linee e curve di Bezier che costituiscono il percorso.

Commenti

Le funzioni associate a questa struttura consentono l'enumerazione delle linee e delle curve per il driver.

Per gli oggetti PATHOBJ sono disponibili le routine di servizio GDI seguenti:

PATHOBJ_bCloseFigure
PATHOBJ_bEnum
PATHOBJ_bEnumClipLines
PATHOBJ_bMoveTo
PATHOBJ_bPolyBezierTo
PATHOBJ_bPolyLineTo
PATHOBJ_vEnumStart
PATHOBJ_vEnumStartClipLines
PATHOBJ_vGetBounds

Requisiti

Requisito Valore
Intestazione winddi.h (include Winddi.h)

Vedi anche

DrvFillPath

DrvStrokeAndFillPath

Drvstrokepath

EngCreatePath

EngDeletePath