Le clipper

 


L'objet IDirectDrawClipper va permettre de surveiller les changements de taille et de position de la fenêtre, ainsi que les éventuels chevauchements des autres fenêtres.

IDirectDraw::CreateClipper()
HRESULT CreateClipper( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR
*lplpDDClipper, IUnknow FAR *pUnkOuter);

Retourne DD_OK si succès.

dwFlags non utilisé doit être à 0.
lplpDDClipper Adresse d'une variable destinée à recevoir un pointeur
vers une pointeur IDirectDrawClipper.

pUnkOuter à NULL car réservé...

Il faut créer le clipper après la définition du niveau coopératif, mais avant la création de la surface. Il sera ensuite possible d'attacher le clipper sur la surface primaire via SetClipper() de IDirectDrawSurface.

Exemple : lpDDSPrimary->SetClipper(lpClip);

 

Image non trouvée !La méthode de blitting bltfast() devient inutilisable si la surface primaire possède un clipper.