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);
La méthode
de blitting bltfast() devient inutilisable si la surface
primaire possède un clipper.