Share via


Función DrvFillPath (winddi.h)

La función DrvFillPath es un punto de entrada opcional para controlar el relleno de rutas de acceso cerradas.

Sintaxis

BOOL DrvFillPath(
  [in, out] SURFOBJ  *pso,
  [in]      PATHOBJ  *ppo,
  [in]      CLIPOBJ  *pco,
  [in]      BRUSHOBJ *pbo,
  [in]      POINTL   *pptlBrushOrg,
  [in]      MIX      mix,
  [in]      FLONG    flOptions
);

Parámetros

[in, out] pso

Puntero a una estructura SURFOBJ que define la superficie en la que se va a dibujar.

[in] ppo

Puntero a una estructura PATHOBJ que define la ruta de acceso que se va a rellenar. Las rutinas de servicio PATHOBJ_Xxx se proporcionan para enumerar las líneas, las curvas Bezier y otros datos que componen la ruta de acceso.

[in] pco

Puntero a una estructura CLIPOBJ . Las rutinas de servicio CLIPOBJ_Xxx se proporcionan para enumerar la región del clip como un conjunto de rectángulos.

[in] pbo

Puntero a una estructura BRUSHOBJ que define el patrón y los colores usados para rellenar la ruta de acceso cerrada. Este parámetro solo se debe desreferenciar si la operación de relleno especificada en la combinación requiere el uso de un pincel. Por ejemplo, si mix se establece en BLACKNESS, pbo no está definido y no debe desreferenciarse.

[in] pptlBrushOrg

Puntero a una estructura POINTL que define el origen del pincel, que se usa para alinear el patrón de pincel en el dispositivo.

[in] mix

Modo de combinación que define las operaciones de trama en primer plano y en segundo plano que se van a usar para el pincel. Para obtener más información sobre el modo de combinación, vea Comentarios.

[in] flOptions

Especifica FP_WINDINGMODE, lo que indica que se debe realizar un relleno en modo de devanado o FP_ALTERNATEMODE, lo que indica que se debe realizar un relleno en modo alterna. Se deben omitir todas las demás marcas. Para obtener más información sobre estos modos, vea Modos de relleno de ruta de acceso.

Valor devuelto

El valor devuelto es TRUE si el controlador puede rellenar la ruta de acceso. Si la ruta de acceso o el recorte es demasiado compleja para controlarla el controlador y se debe controlar mediante GDI, el valor devuelto es FALSE y no se registra un código de error. Si el controlador encuentra un error inesperado, como no poder realizar el pincel, se DDI_ERROR el valor devuelto y se registra un código de error.

Comentarios

GDI puede llamar a DrvFillPath para rellenar una ruta de acceso en una superficie administrada por el dispositivo. Al decidir si se debe llamar a esta función, GDI compara los requisitos de relleno con las marcas siguientes en el miembro flGraphicsCaps de la estructura DEVINFO : GCAPS_BEZIERS, GCAPS_ALTERNATEFILL y GCAPS_WINDINGFILL.

El modo de combinación define cómo se debe mezclar el patrón entrante con los datos que ya están en la superficie del dispositivo. El tipo de datos MIX consta de dos valores de operación de ráster binario (ROP2) empaquetados en un único ULONG. El byte de orden más bajo define la operación de trama en primer plano; el byte siguiente define la operación de trama en segundo plano. Para obtener más información sobre los códigos de operación de trama, consulte la documentación de Microsoft Windows SDK.

Requisitos

   
Plataforma de destino Escritorio
Encabezado winddi.h (incluya Winddi.h)

Consulte también

BRUSHOBJ

CLIPOBJ

DEVINFO

DrvStrokeAndFillPath

PATHOBJ

SURFOBJ