Interfaz IDirectDrawSurface7 (ddraw.h)
Las aplicaciones usan los métodos de la interfaz IDirectDrawSurface7 para crear objetos DirectDrawSurface y trabajar con variables de nivel de sistema. Esta sección es una referencia a los métodos de esta interfaz.
Herencia
La interfaz IDirectDrawSurface7 hereda de la interfaz IUnknown . IDirectDrawSurface7 también tiene estos tipos de miembros:
Métodos
La interfaz IDirectDrawSurface7 tiene estos métodos.
IDirectDrawSurface7::AddAttachedSurface Adjunta la superficie z-buffer especificada a esta superficie. |
IDirectDrawSurface7::AddOverlayDirtyRect El método IDirectDrawSurface7::AddOverlayDirtyRect no está implementado actualmente. |
IDirectDrawSurface7::Blt Realiza una transferencia de bloques de bits (bitblt). Este método no admite el almacenamiento en búfer z ni la combinación alfa durante las operaciones bitblt. |
IDirectDrawSurface7::BltBatch El método IDirectDrawSurface7::BltBatch no está implementado actualmente. |
IDirectDrawSurface7::BltFast Realiza una copia de origen bitblt o bitblt transparente mediante una clave de color de origen o una clave de color de destino. |
IDirectDrawSurface7::ChangeUniquenessValue Actualiza manualmente el valor de unicidad de esta superficie. |
IDirectDrawSurface7::D eleteAttachedSurface Desasocia una o varias superficies adjuntas. |
IDirectDrawSurface7::EnumAttachedSurfaces Enumera todas las superficies que están conectadas a esta superficie. |
IDirectDrawSurface7::EnumOverlayZOrders Enumera las superficies de superposición en el destino especificado. Puede enumerar las superposiciones en orden de front-to-back o back-to-front. |
IDirectDrawSurface7::Flip Hace que la memoria de superficie asociada a la superficie DDSCAPS_BACKBUFFER se asote a la superficie del búfer frontal. |
IDirectDrawSurface7::FreePrivateData Libera los datos privados especificados asociados a esta superficie. |
IDirectDrawSurface7::GetAttachedSurface Obtiene la superficie adjunta que tiene las funcionalidades especificadas e incrementa el recuento de referencias de la interfaz recuperada. |
IDirectDrawSurface7::GetBltStatus Obtiene el estado de una operación de transferencia de bloques de bits (bitblt). |
IDirectDrawSurface7::GetCaps Recupera las funcionalidades de esta superficie. Estas funcionalidades no están necesariamente relacionadas con las funcionalidades del dispositivo de visualización. |
IDirectDrawSurface7::GetClipper Recupera el objeto DirectDrawClipper asociado a esta superficie e incrementa el recuento de referencias del clipper devuelto. |
IDirectDrawSurface7::GetColorKey Recupera el valor de clave de color de esta superficie. |
IDirectDrawSurface7::GetDC Crea un identificador compatible con GDI de un contexto de dispositivo para esta superficie. |
IDirectDrawSurface7::GetDDInterface Recupera una interfaz para el objeto DirectDraw que se usó para crear esta superficie. |
IDirectDrawSurface7::GetFlipStatus Recupera el estado sobre si esta superficie ha terminado su proceso de volteo. |
IDirectDrawSurface7::GetLOD Recupera el nivel máximo de detalle (LOD) establecido actualmente para una superficie de mapa mip administrado. Este método solo se realiza correctamente en texturas administradas. |
IDirectDrawSurface7::GetOverlayPosition Recupera las coordenadas de visualización de esta superficie. Este método se usa en una superficie de superposición visible y activa (es decir, una superficie que tiene establecida la marca DDSCAPS_OVERLAY). |
IDirectDrawSurface7::GetPalette Recupera el objeto DirectDrawPalette asociado a esta superficie e incrementa el recuento de referencias de la paleta devuelta. |
IDirectDrawSurface7::GetPixelFormat Recupera el formato de color y píxel de esta superficie. |
IDirectDrawSurface7::GetPriority Recupera la prioridad de administración de texturas para esta textura. Este método solo se realiza correctamente en texturas administradas. |
IDirectDrawSurface7::GetPrivateData Copia los datos privados asociados a esta superficie en un búfer proporcionado. |
IDirectDrawSurface7::GetSurfaceDesc Recupera una descripción de esta superficie en su condición actual. |
IDirectDrawSurface7::GetUniquenessValue Recupera el valor de unicidad actual para esta superficie. |
IDirectDrawSurface7::Initialize Inicializa un objeto DirectDrawSurface. |
IDirectDrawSurface7::IsLost Determina si se ha liberado la memoria expuesta asociada a un objeto DirectDrawSurface. |
IDirectDrawSurface7::Lock Obtiene un puntero a la memoria expuesta. |
IDirectDrawSurface7::P ageLock Impide que una superficie de memoria del sistema se pagina mientras una operación de transferencia de bloques de bits (bitblt) que usa transferencias de acceso directo a memoria (DMA) hacia o desde la memoria del sistema está en curso. |
IDirectDrawSurface7::P ageUnlock Desbloquea una superficie de memoria del sistema, que luego permite paginarlo. |
IDirectDrawSurface7::ReleaseDC Libera el identificador de un contexto de dispositivo que se obtuvo anteriormente mediante el método IDirectDrawSurface7::GetDC. |
IDirectDrawSurface7::Restore Restaura una superficie que se ha perdido. Esto ocurre cuando se libera la memoria expuesta asociada al objeto DirectDrawSurface. |
IDirectDrawSurface7::SetClipper Adjunta un objeto clipper a, o elimina uno de esta superficie. |
IDirectDrawSurface7::SetColorKey Establece el valor de clave de color del objeto DirectDrawSurface si el hardware admite claves de color por superficie. |
IDirectDrawSurface7::SetLOD Establece el nivel máximo de detalle (LOD) para una superficie de mapa mip administrado. Este método solo se realiza correctamente en texturas administradas. |
IDirectDrawSurface7::SetOverlayPosition Cambia las coordenadas de visualización de una superficie superpuesta. |
IDirectDrawSurface7::SetPalette Adjunta un objeto de paleta a (o desasocia uno de) una superficie. La superficie usa esta paleta para todas las operaciones posteriores. El cambio de paleta tiene lugar inmediatamente, sin tener en cuenta el tiempo de actualización. |
IDirectDrawSurface7::SetPriority Asigna la prioridad de administración de texturas para esta textura. Este método solo se realiza correctamente en texturas administradas. |
IDirectDrawSurface7::SetPrivateData Asocia datos a la superficie que está pensada para su uso por la aplicación, no por DirectDraw. Los datos se pasan por valor y se pueden asociar varios conjuntos de datos a una sola superficie. |
IDirectDrawSurface7::SetSurfaceDesc Establece las características de una superficie existente. |
IDirectDrawSurface7::Unlock Notifica a DirectDraw que las manipulaciones de superficie directa están completas. |
IDirectDrawSurface7::UpdateOverlay Cambia la posición o modifica los atributos visuales de una superficie superpuesta. Estas superficies deben tener establecida la marca DDSCAPS_OVERLAY. |
IDirectDrawSurface7::UpdateOverlayDisplay El método IDirectDrawSurface7::UpdateOverlayDisplay no está implementado actualmente. |
IDirectDrawSurface7::UpdateOverlayZOrder Establece el orden z de una superposición. |
Comentarios
Los métodos de la interfaz IDirectDrawSurface7 se pueden organizar en los siguientes grupos:
Grupo | Métodos |
---|---|
Asignar memoria | Inicializar, IsLost y Restaurar |
Adjuntar superficies | AddAttachedSurface, DeleteAttachedSurface, EnumAttachedSurfaces y GetAttachedSurface |
BitBltting | Blt, BltBatch, BltFast y GetBltStatus |
Keying de color | GetColorKey y SetColorKey |
Contextos de dispositivo | GetDC y ReleaseDC |
Voltear | Flip y GetFlipStatus |
Superficies de bloqueo | Bloquear, PageLock, PageUnlock y Desbloquear |
Varios | GetDDInterface |
Superposiciones | AddOverlayDirtyRect, EnumOverlayZOrders, GetOverlayPosition, SetOverlayPosition, UpdateOverlay, UpdateOverlayDisplay y UpdateOverlayZOrder |
Datos de superficie privada | FreePrivateData, GetPrivateData y SetPrivateData |
Funcionalidades de Surface | GetCaps |
Clipper de Surface | GetClipper y SetClipper |
Características de superficie | ChangeUniquenessValue, GetPixelFormat, GetSurfaceDesc, GetUniquenessValue y SetSurfaceDesc |
Paletas de Superficie | GetPalette y SetPalette |
Texturas | GetLOD, GetPriority, SetLOD y SetPriority |
La interfaz IDirectDrawSurface7 amplía las características de las versiones anteriores de la interfaz ofreciendo métodos que ofrecen una mejor administración de superficies y facilidad de uso. Muchos métodos de esta interfaz aceptan parámetros ligeramente diferentes que sus homólogos en versiones anteriores de la interfaz. Siempre que un método de interfaz IDirectDrawSurface3 pueda aceptar una estructura DDSURFACEDESC o una interfaz IDirectDrawSurface3 , los métodos de IDirectDrawSurface7 aceptan una estructura DDSURFACEDESC2 o una interfaz IDirectDrawSurface7 , en su lugar.
Utilice el tipo de datos LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 o LPDIRECTDRAWSURFACE7 para declarar una variable que apunte a varias interfaces de objeto DirectDrawSurface. El archivo de encabezado Ddraw.h declara estos tipos de datos con el código siguiente:
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;
Requisitos
Plataforma de destino | Windows |
Encabezado | ddraw.h |