Partager via


Fonction DrvRealizeBrush (winddi.h)

La fonction DrvRealizeBrush demande au pilote de réaliser un pinceau spécifié pour une surface spécifiée.

Syntaxe

BOOL DrvRealizeBrush(
  [in]           BRUSHOBJ *pbo,
  [in, out]      SURFOBJ  *psoTarget,
  [in]           SURFOBJ  *psoPattern,
  [in, optional] SURFOBJ  *psoMask,
  [in]           XLATEOBJ *pxlo,
  [in]           ULONG    iHatch
);

Paramètres

[in] pbo

Pointeur vers la structure BRUSHOBJ à réaliser. Tous les autres paramètres, à l’exception de psoTarget, peuvent être interrogés à partir de cet objet. Les spécifications de paramètres sont fournies en tant qu’optimisation. Il est préférable d’utiliser ce paramètre uniquement comme paramètre pour BRUSHOBJ_pvAllocRbrush, qui alloue la mémoire pour le pinceau réalisé.

[in, out] psoTarget

Pointeur vers la structure SURFOBJ pour laquelle le pinceau doit être réalisé. Cette surface peut être la surface physique de l’appareil, une image bitmap au format d’appareil ou une image bitmap de format standard.

[in] psoPattern

Pointeur vers la structure SURFOBJ qui décrit le modèle du pinceau. Pour un appareil raster, il s’agit d’une bitmap. Pour un appareil vectoriel, il s’agit de l’une des surfaces de modèle fournies par DrvEnablePDEV.

[in, optional] psoMask

Pointeur vers une structure SURFOBJ qui décrit un masque de transparence pour le pinceau. Il s’agit d’une bitmap de 1 bit par pixel qui a la même étendue que le modèle. Un masque de zéro signifie que le pixel est considéré comme un pixel d’arrière-plan pour le pinceau. (En mode arrière-plan transparent, les pixels d’arrière-plan ne sont pas affectés dans un remplissage.) Les traceurs peuvent ignorer ce paramètre, car ils ne dessinent jamais d’informations d’arrière-plan.

[in] pxlo

Pointeur vers une structure XLATEOBJ qui définit l’interprétation des couleurs dans le modèle. Si pxlo a la valeur NULL, aucune traduction n’est nécessaire. Une routine de service XLATEOBJ_Xxx peut être appelée pour traduire les couleurs en index de couleur d’appareil. Les appareils vectoriels doivent traduire la couleur zéro par le biais du XLATEOBJ pour obtenir la couleur de premier plan du pinceau.

[in] iHatch

Spécifie si psoPattern est l’une des brosses à hachures retournées par DrvEnablePDEV. Cela est vrai si la valeur de ce paramètre est inférieure à HS_DDI_MAX, ce qui est défini dans winddi.h.

Valeur retournée

La valeur de retour est TRUE si le pinceau a été réalisé avec succès. Sinon, il est FALSE et un code d’erreur est journalisé.

Remarques

Pour réaliser un pinceau, le pilote convertit un pinceau GDI en un formulaire qui peut être utilisé en interne. Un pinceau réalisé contient des informations spécifiques à l’appareil dont l’appareil a besoin pour accélérer le dessin à l’aide du pinceau.

La réalisation d’un pinceau par le pilote est écrite dans la mémoire tampon allouée par un appel à BRUSHOBJ_pvAllocRbrush.

DrvRealizeBrush est requis pour un pilote qui effectue n’importe quel dessin sur n’importe quelle surface.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winddi.h (inclure Winddi.h)

Voir aussi

BRUSHOBJ

BRUSHOBJ_pvAllocRbrush

DrvEnablePDEV

XLATEOBJ