Estrutura PATHOBJ (winddi.h)
A estrutura PATHOBJ é usada para descrever um conjunto de linhas e curvas de Bézier que devem ser traçadas ou preenchidas.
Sintaxe
typedef struct _PATHOBJ {
FLONG fl;
ULONG cCurves;
} PATHOBJ;
Membros
fl
Um conjunto de sinalizadores de dica que descrevem o caminho. Esse membro é um OR bit a bit (com determinadas restrições) dos seguintes valores:
Sinalizador | Descrição |
---|---|
PO_ALL_INTEGERS |
Os vértices do caminho têm coordenadas de inteiro sem partes fracionárias. Esse sinalizador destina-se principalmente como um acelerador para que os drivers possam usar um caminho rápido inteiro mais simples.
Além disso, quando o GDI define esse sinalizador, o driver tem permissão para se desviar ligeiramente da convenção GIQ (GIQ) do sistema operacional baseado em NT padrão que determina as regras de rasterização das linhas. Especificamente, quando PO_ALL_INTEGERS é definido, o driver pode escolher suas próprias regras para as quais o pixel deve ser aceso no caso de desempate em que uma linha logicamente fica exatamente entre dois pixels. Normalmente, esse sinalizador permite que os drivers usem recursos de desenho de linha ponto a ponto de hardware mesmo quando o hardware tem uma regra de desempate diferente da do GIQ. A GDI define esse sinalizador apenas para linhas sólidas com um pixel de largura. Além disso, a GDI define esse sinalizador somente se o modo gráfico do contexto do dispositivo estiver definido como GM_COMPATIBLE. Para obter mais informações sobre como definir o modo gráfico, consulte SetGraphicsMode na documentação do SDK do Microsoft Window. |
PO_BEZIERS | O caminho contém curvas de Bézier. A GDI define apenas um dos PO_BEZIERS ou PO_ELLIPSE no membro fl . |
PO_ELLIPSE | O caminho consiste em uma única elipse inscrita no retângulo delimitador do caminho. A GDI define apenas um dos PO_BEZIERS ou PO_ELLIPSE no membro fl . |
PO_ENUM_AS_INTEGERS |
O driver pode solicitar que os vértices retornados de PATHOBJ_bEnum sejam expressos em um formato inteiro de 32 bits em vez do formato padrão 28.4. O driver faz essa solicitação por ORing PO_ENUM_AS_INTEGERS no membro fl do PATHOBJ fornecido antes de chamar PATHOBJ_bEnum.
O driver pode definir PO_ENUM_AS_INTEGERS somente quando a GDI tiver definido o sinalizador PO_ALL_INTEGERS. Ou seja, o caminho deve ser conhecido por conter apenas coordenadas de inteiro. Observe que PO_ENUM_AS_INTEGERS é o único sinalizador que o driver tem permissão para modificar. Quando esse sinalizador é definido, o driver tem permissão para se desviar ligeiramente da convenção GIQ padrão que determina as regras de rasterização das linhas. Especificamente, quando PO_ENUM_ALL_INTEGERS é definido, o driver pode escolher suas próprias regras para as quais o pixel deve ser aceso no caso de desempate em que uma linha logicamente fica exatamente entre dois pixels. Normalmente, esse sinalizador permite que os drivers usem recursos de desenho de linha ponto a ponto de hardware mesmo quando o hardware tem uma regra de desempate diferente da do GIQ. |
cCurves
O número de linhas e curvas de Bézier que compõem o caminho.
Comentários
As funções associadas a essa estrutura permitem que as linhas e curvas sejam enumeradas para o driver.
As seguintes rotinas de serviço GDI são fornecidas para objetos PATHOBJ:
- PATHOBJ_bCloseFigure
- PATHOBJ_bEnum
- PATHOBJ_bEnumClipLines
- PATHOBJ_bMoveTo
- PATHOBJ_bPolyBezierTo
- PATHOBJ_bPolyLineTo
- PATHOBJ_vEnumStart
- PATHOBJ_vEnumStartClipLines
- PATHOBJ_vGetBounds
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | winddi.h (inclua Winddi.h) |