Interface IDirectDrawSurface7 (ddraw.h)
Les applications utilisent les méthodes de l’interface IDirectDrawSurface7 pour créer des objets DirectDrawSurface et utiliser des variables au niveau du système. Cette section est une référence aux méthodes de cette interface.
Héritage
L’interface IDirectDrawSurface7 hérite de l’interface IUnknown. IDirectDrawSurface7 a également les types de membres suivants :
Méthodes
L’interface IDirectDrawSurface7 utilise ces méthodes.
IDirectDrawSurface7::AddAttachedSurface Attache la surface z-buffer spécifiée à cette surface. |
IDirectDrawSurface7::AddOverlayDirtyRect La méthode IDirectDrawSurface7::AddOverlayDirtyRect n’est actuellement pas implémentée. |
IDirectDrawSurface7::Blt Effectue un transfert de bloc de bits (bitblt). Cette méthode ne prend pas en charge la mise en mémoire tampon z ou la fusion alpha pendant les opérations bitblt. |
IDirectDrawSurface7::BltBatch La méthode IDirectDrawSurface7::BltBatch n’est actuellement pas implémentée. |
IDirectDrawSurface7::BltFast Effectue un bitblt de copie source ou un bitblt transparent à l’aide d’une clé de couleur source ou d’une clé de couleur de destination. |
IDirectDrawSurface7::ChangeUniquenessValue Met à jour manuellement la valeur d’unicité pour cette surface. |
IDirectDrawSurface7::D eleteAttachedSurface Détache une ou plusieurs surfaces attachées. |
IDirectDrawSurface7::EnumAttachedSurfaces Énumère toutes les surfaces qui sont attachées à cette surface. |
IDirectDrawSurface7::EnumOverlayZOrders Énumère les surfaces de superposition sur la destination spécifiée. Vous pouvez énumérer les superpositions dans l’ordre de l’avant vers l’arrière ou de l’arrière-plan. |
IDirectDrawSurface7::Flip Rend la mémoire de surface associée à l’DDSCAPS_BACKBUFFER surface est associée à la surface tampon avant. |
IDirectDrawSurface7::FreePrivateData Libère les données privées spécifiées qui sont associées à cette surface. |
IDirectDrawSurface7::GetAttachedSurface Obtient la surface attachée qui a les fonctionnalités spécifiées et incrémente le nombre de références de l’interface récupérée. |
IDirectDrawSurface7::GetBltStatus Obtient l’état d’une opération de transfert de bloc de bits (bitblt). |
IDirectDrawSurface7::GetCaps Récupère les fonctionnalités de cette surface. Ces fonctionnalités ne sont pas nécessairement liées aux fonctionnalités de l’appareil d’affichage. |
IDirectDrawSurface7::GetClipper Récupère l’objet DirectDrawClipper associé à cette surface et incrémente le nombre de références du clipper retourné. |
IDirectDrawSurface7::GetColorKey Récupère la valeur de la clé de couleur pour cette surface. |
IDirectDrawSurface7::GetDC Crée un handle compatible GDI d’un contexte d’appareil pour cette surface. |
IDirectDrawSurface7::GetDDInterface Récupère une interface vers l’objet DirectDraw utilisé pour créer cette surface. |
IDirectDrawSurface7::GetFlipStatus Récupère l’état indiquant si cette surface a terminé son processus de retournement. |
IDirectDrawSurface7::GetLOD Récupère le niveau maximal de détail (LOD) actuellement défini pour une surface mipmap managée. Cette méthode réussit uniquement sur les textures managées. |
IDirectDrawSurface7::GetOverlayPosition Récupère les coordonnées d’affichage de cette surface. Cette méthode est utilisée sur une surface de superposition visible et active (c’est-à-dire une surface sur laquelle l’indicateur DDSCAPS_OVERLAY est défini). |
IDirectDrawSurface7::GetPalette Récupère l’objet DirectDrawPalette associé à cette surface et incrémente le nombre de références de la palette retournée. |
IDirectDrawSurface7::GetPixelFormat Récupère la couleur et le format de pixel de cette surface. |
IDirectDrawSurface7::GetPriority Récupère la priorité de gestion des textures pour cette texture. Cette méthode réussit uniquement sur les textures managées. |
IDirectDrawSurface7::GetPrivateData Copie les données privées associées à cette surface dans une mémoire tampon fournie. |
IDirectDrawSurface7::GetSurfaceDesc Récupère une description de cette surface dans son état actuel. |
IDirectDrawSurface7::GetUniquenessValue Récupère la valeur d’unicité actuelle pour cette surface. |
IDirectDrawSurface7::Initialize Initialise un objet DirectDrawSurface. |
IDirectDrawSurface7::IsLost Détermine si la mémoire de surface associée à un objet DirectDrawSurface a été libérée. |
IDirectDrawSurface7::Lock Obtient un pointeur vers la mémoire de surface. |
IDirectDrawSurface7::P ageLock Empêche le paginage d’une surface de mémoire système pendant qu’une opération de transfert de bloc de bits (bitblt) qui utilise des transferts d’accès direct à la mémoire (DMA) vers ou depuis la mémoire système est en cours. |
IDirectDrawSurface7::P ageUnlock Déverrouille une surface de mémoire système, ce qui lui permet d’être paginée. |
IDirectDrawSurface7::ReleaseDC Libère le handle d’un contexte d’appareil précédemment obtenu à l’aide de la méthode IDirectDrawSurface7::GetDC. |
IDirectDrawSurface7::Restore Restaure une surface qui a été perdue. Cela se produit lorsque la mémoire de surface associée à l’objet DirectDrawSurface a été libérée. |
IDirectDrawSurface7::SetClipper Attache un objet clipper à cette surface ou en supprime un. |
IDirectDrawSurface7::SetColorKey Définit la valeur de clé de couleur de l’objet DirectDrawSurface si le matériel prend en charge les clés de couleur par surface. |
IDirectDrawSurface7::SetLOD Définit le niveau maximal de détail (LOD) pour une surface mipmap managée. Cette méthode réussit uniquement sur les textures managées. |
IDirectDrawSurface7::SetOverlayPosition Modifie les coordonnées d’affichage d’une surface de superposition. |
IDirectDrawSurface7::SetPalette Attache un objet de palette à une surface (ou en détache un). La surface utilise cette palette pour toutes les opérations suivantes. Le changement de palette a lieu immédiatement, sans tenir compte du moment de l’actualisation. |
IDirectDrawSurface7::SetPriority Affecte la priorité de gestion des textures pour cette texture. Cette méthode réussit uniquement sur les textures managées. |
IDirectDrawSurface7::SetPrivateData Associe des données à la surface destinée à être utilisées par l’application, et non par DirectDraw. Les données sont transmises par valeur et plusieurs jeux de données peuvent être associés à une surface unique. |
IDirectDrawSurface7::SetSurfaceDesc Définit les caractéristiques d’une surface existante. |
IDirectDrawSurface7::Unlock Avertit DirectDraw que les manipulations de surface directe sont terminées. |
IDirectDrawSurface7::UpdateOverlay Repositionne ou modifie les attributs visuels d’une surface de superposition. L’indicateur DDSCAPS_OVERLAY doit être défini sur ces surfaces. |
IDirectDrawSurface7::UpdateOverlayDisplay La méthode IDirectDrawSurface7::UpdateOverlayDisplay n’est actuellement pas implémentée. |
IDirectDrawSurface7::UpdateOverlayZOrder Définit l’ordre z d’une superposition. |
Notes
Les méthodes de l’interface IDirectDrawSurface7 peuvent être organisées dans les groupes suivants :
Groupe | Méthodes |
---|---|
Allocation de mémoire | Initialiser, IsLost et Restaurer |
Attachement de surfaces | AddAttachedSurface, DeleteAttachedSurface, EnumAttachedSurfaces et GetAttachedSurface |
BitBltting | Blt, BltBatch, BltFast et GetBltStatus |
Touche de couleur | GetColorKey et SetColorKey |
Contextes de périphérique | GetDC et ReleaseDC |
Renversant | Flip et GetFlipStatus |
Verrouillage des surfaces | Verrouiller, PageLock, PageUnlock et Déverrouiller |
Divers | GetDDInterface |
Superpositions | AddOverlayDirtyRect, EnumOverlayZOrders, GetOverlayPosition, SetOverlayPosition, UpdateOverlayDisplay et UpdateOverlayZOrder |
Données de surface privée | FreePrivateData, GetPrivateData et SetPrivateData |
Fonctionnalités de Surface | GetCaps |
Clipper Surface | GetClipper et SetClipper |
Caractéristiques de surface | ChangeUniquenessValue, GetPixelFormat, GetSurfaceDesc, GetUniquenessValue et SetSurfaceDesc |
Palettes Surface | GetPalette et SetPalette |
Textures | GetLOD, GetPriority, SetLOD et SetPriority |
L’interface IDirectDrawSurface7 étend les fonctionnalités des versions précédentes de l’interface en proposant des méthodes qui offrent une meilleure gestion des surfaces et une meilleure facilité d’utilisation. De nombreuses méthodes de cette interface acceptent des paramètres légèrement différents de leurs équivalents dans les anciennes versions de l’interface. Partout où une méthode d’interface IDirectDrawSurface3 peut accepter une structure DDSURFACEDESC ou une interface IDirectDrawSurface3 , les méthodes dans IDirectDrawSurface7 acceptent une structure DDSURFACEDESC2 ou une interface IDirectDrawSurface7 , à la place.
Utilisez le type de données LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 ou LPDIRECTDRAWSURFACE7 pour déclarer une variable qui pointe vers différentes interfaces d’objet DirectDrawSurface. Le fichier d’en-tête Ddraw.h déclare ces types de données avec le code suivant :
typedef struct IDirectDrawSurface FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2 FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3 FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4 FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7 FAR *LPDIRECTDRAWSURFACE7;
Spécifications
Plateforme cible | Windows |
En-tête | ddraw.h |