Clé de couleur
Structure DDCOLORKEY
La structure DDCOLORKEY va permettre de définir la clé de la couleur source ou destination.
typedef struct _DDCOLORKEY{
DWORD dwColorSpaceLowValue;
DWORD dwColorSpaceHighValue;
} DDCOLORKEY,FAR* LPDDCOLORKEY;
Créer une clef de couleur sur une surface
Cette structure pourra être renseigné par
IDirectDrawSurface7::SetColorKey qui va permettre d'indiquer la valeur de la clé de la couleur à utiliser sur un objet DirectDrawSurface.
HRESULT SetColorKey(
DWORD dwFlags,
LPDDCOLORKEY lpDDColorKey
);
En entrée:
dwFlags pour indiquer:
Valeur | Désignation |
DDCKEY_COLORSPACE | La structure contient color space |
DDCKEY_DESTBLT | Color key ou color space à utiliser comme clé de couleur en destination pour une opération de blitting (Non supporté sur toutes les cartes) |
DDCKEY_DESTOVERLAY | Color key ou color space à utiliser comme clé de couleur en destination pour une opération overlay (Non supporté sur toutes les cartes) |
DDCKEY_SRCBLT | Color key ou color space à utiliser comme clé de couleur en source pour une opération de blitting |
DDCKEY_SRCOVERLAY | Color key ou color space à utiliser comme clé de couleur en source pour une opération overlay |
lpDDColorKey Adresse d'une structure de type DDCOLORKEY. Cette valeur pourra
être à NULL pour retirer une définition précédente.
En sortie:DD_OK. si tout est OK, sinon un des codes erreurs:
DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDSURFACETYPE
DDERR_NOOVERLAYHW
DDERR_NOTAOVERLAYSURFACE
DDERR_SURFACELOST
DDERR_UNSUPPORTED
DDERR_WASSTILLDRAWING
Lecture de la clef de couleur
IDirectDrawSurface7::GetColorKey Pour lire la valeur de la clé de couleur.
HRESULT GetColorKey(
DWORD dwFlags,
LPDDCOLORKEY lpDDColorKey
);
En entrée:
dwFlags
Valeur | Désignation |
DDCKEY_DESTBLT | Color key ou color space à utiliser comme clé de couleur en destination pour une opération de blitting (Non supporté sur toutes les cartes) |
DDCKEY_DESTOVERLAY | Color key ou color space à utiliser comme clé de couleur en destination pour une opération overlay (Non supporté sur toutes les cartes) |
DDCKEY_SRCBLT | Color key ou color space à utiliser comme clé de couleur en source pour une opération de blitting |
DDCKEY_SRCOVERLAY | Color key ou color space à utiliser comme clé de couleur en source pour une opération overlay |
lpDDColorKey Adresse d'une structure de type DDCOLORKEY. Cette valeur pourra
être à NULL pour retirer une définition précédente.
En sortie:DD_OK. si tout est OK, sinon un des codes erreurs:
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOCOLORKEY
DDERR_NOCOLORKEYHW
DDERR_SURFACELOST
DDERR_UNSUPPORTED