Función DrvStrokeAndFillPath (winddi.h)
La función DrvStrokeAndFillPath trazos (contornos) y rellena una ruta de acceso simultáneamente.
Sintaxis
BOOL DrvStrokeAndFillPath(
[in, out] SURFOBJ *pso,
[in, out] PATHOBJ *ppo,
[in] CLIPOBJ *pco,
[in, optional] XFORMOBJ *pxo,
[in] BRUSHOBJ *pboStroke,
[in] LINEATTRS *plineattrs,
[in] BRUSHOBJ *pboFill,
[in] POINTL *pptlBrushOrg,
[in] MIX mixFill,
[in] FLONG flOptions
);
Parámetros
[in, out] pso
Puntero a una estructura SURFOBJ que describe la superficie en la que se va a dibujar.
[in, out] ppo
Puntero a una estructura PATHOBJ que describe 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, optional] pxo
Puntero a una estructura XFORMOBJ necesaria cuando se dibuja una línea ancha geométrica. Especifica la transformación que toma coordenadas del mundo a las coordenadas del dispositivo. Esto es necesario porque la ruta de acceso se proporciona en coordenadas del dispositivo, pero una línea ancha geométrica se amplía realmente en coordenadas del mundo. Se puede consultar XFORMOBJ para averiguar cuál es la transformación.
[in] pboStroke
Puntero a una estructura BRUSHOBJ que especifica el pincel que se va a usar al hacer una pulsación en la ruta de acceso.
[in] plineattrs
Puntero a la estructura LINEATTRS que describe los atributos de la línea que se van a dibujar.
[in] pboFill
Puntero a una estructura BRUSHOBJ que especifica el pincel que se va a usar al rellenar la ruta de acceso.
[in] pptlBrushOrg
Puntero a una estructura POINTL que especifica el origen del pincel para ambos pinceles.
[in] mixFill
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 significa que se debe realizar un relleno en modo de desenlate o FP_ALTERNATEMODE, lo que significa que se debe realizar un relleno en modo de alternancia. 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. De lo contrario, si GDI debe rellenar la ruta de acceso, el valor devuelto es FALSE. Si se produce un error, se DDI_ERROR el valor devuelto y se registra un código de error.
Comentarios
Si se utiliza una línea ancha para el estrobote, el área rellena debe reducirse para compensar.
El controlador puede devolver FALSE si la ruta de acceso o el recorte es demasiado complejo para que el dispositivo lo controle; en ese caso, GDI se convierte en una llamada más sencilla. Por ejemplo, si el controlador de dispositivo ha establecido la marca GCAPS_BEZIERS en el miembro flGraphicsCaps de la estructura DEVINFO y, a continuación, recibe una ruta de acceso con curvas Bezier, puede devolver FALSE; GDI convertirá las curvas Bezier en líneas y llamará a DrvStrokeAndFillPath de nuevo. Si el controlador de dispositivo devuelve FALSE de nuevo, GDI simplificará aún más la llamada, realizará llamadas a DrvStrokePath y DrvFillPath, o a DrvBitBlt, en función de la combinación y el ancho de las líneas que componen la ruta de acceso.
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) |