Struttura DDSURFACEDATA (dxmini.h)
La struttura DDSURFACEDATA viene usata da DirectDraw per rappresentare una superficie per il driver miniport in modalità kernel.
Sintassi
typedef struct _DDSURFACEDATA {
DWORD ddsCaps;
DWORD dwSurfaceOffset;
ULONG_PTR fpLockPtr;
DWORD dwWidth;
DWORD dwHeight;
LONG lPitch;
DWORD dwOverlayFlags;
DWORD dwOverlayOffset;
DWORD dwOverlaySrcWidth;
DWORD dwOverlaySrcHeight;
DWORD dwOverlayDestWidth;
DWORD dwOverlayDestHeight;
DWORD dwVideoPortId;
DWORD dwFormatFlags;
DWORD dwFormatFourCC;
DWORD dwFormatBitCount;
DWORD dwRBitMask;
DWORD dwGBitMask;
DWORD dwBBitMask;
ULONG dwDriverReserved1;
ULONG dwDriverReserved2;
ULONG dwDriverReserved3;
ULONG dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;
Members
ddsCaps
Punta a una struttura DDSCAPS che contiene le funzionalità di creazione usate per descrivere la superficie.
dwSurfaceOffset
Specifica l'offset di byte dall'inizio del buffer del frame all'inizio della superficie. Questo campo viene utilizzato solo dal driver miniport.
fpLockPtr
Punta all'inizio della superficie.
dwWidth
Specifica la larghezza della superficie, espressa in pixel.
dwHeight
Specifica l'altezza della superficie, in pixel.
lPitch
Specifica l'inclinazione della superficie, espressa in byte.
dwOverlayFlags
Indica un set di flag che specificano i flag correnti in modalità utente DDOVER_Xxx impostati da DdUpdateOverlay. Questo membro è un OR bit per bit di uno dei valori seguenti:
Flag | Significato |
---|---|
DDOVER_ADDDIRTYRECT | Aggiungere un rettangolo sporco a una superficie sovrapposta emulata. |
DDOVER_ALPHADEST | Usare le informazioni alfa in formato pixel o la superficie del canale alfa collegata alla superficie di destinazione come canale alfa per questa sovrimpressione. |
DDOVER_ALPHADESTCONSTOVERRIDE | Usare il membro dwAlphaDestConst della struttura DDOVERLAYFX come canale alfa di destinazione per questa sovrimpressione. La struttura DDOVERLAYFX è definita in ddraw.h. |
DDOVER_ALPHADESTNEG | La superficie di destinazione diventa più trasparente man mano che aumenta il valore alfa (0 è opaco). |
DDOVER_ALPHADESTSURFACEOVERRIDE | Usare il membro lpDDSAlphaDest della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come destinazione del canale alfa per questa sovrimpressione. |
DDOVER_ALPHAEDGEBLEND | Usare il membro dwAlphaEdgeBlend della struttura DDOVERLAYFX (definito nella documentazione di DirectDraw SDK) come canale alfa per i bordi dell'immagine che delimita i colori della chiave di colore. |
DDOVER_ALPHASRC | Usare le informazioni alfa in formato pixel o la superficie del canale alfa collegata alla superficie di origine come canale alfa di origine per questa sovrimpressione. |
DDOVER_ALPHASRCCONSTOVERRIDE | Usare il membro dwAlphaSrcConst della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come canale alfa di origine per questa sovrimpressione. |
DDOVER_ALPHASRCNEG | La superficie di origine diventa più trasparente man mano che aumenta il valore alfa (0 è opaco). |
DDOVER_ALPHASRCSURFACEOVERRIDE | Usare il membro lpDDSAlphaSrc della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come origine del canale alfa per questa sovrimpressione. |
DDOVER_AUTOFLIP | Capovolgere automaticamente alla superficie successiva nella catena di capovolgimento ogni volta che si verifica una porta video hardware VSYNC. |
DDOVER_BOB | Visualizzare singolarmente ogni campo del flusso video interlacciato senza causare alcun artefatto. |
DDOVER_BOBHARDWARE | Bob viene eseguito usando hardware anziché software o emulato. |
DDOVER_DDFX | Usare i flag FX di sovrimpressione per definire effetti di sovrimpressione speciali. |
DDOVER_HIDE | Disattivare questa sovrimpressione. |
DDOVER_INTERLEAVED | La memoria della superficie è costituita da campi interleaved. |
DDOVER_KEYDEST | Usare la chiave di colore associata alla superficie di destinazione. |
DDOVER_KEYDESTOVERRIDE | Usare il membro dckDestColorkey della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di destinazione. |
DDOVER_KEYSRC | Usare la chiave di colore associata alla superficie di origine. |
DDOVER_KEYSRCOVERRIDE | Usare il membro dckSrcColorkey della struttura DDOVERLAYFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di origine. |
DDOVER_OVERRIDEBOBWEAVE | Le decisioni di Bob e weave non devono essere sostituite da altre interfacce. Se questo flag è impostato, DirectDraw non consente a un driver in modalità kernel di usare la funzionalità di trasporto video in modalità kernel per passare l'hardware tra la modalità bob e weave. |
DDOVER_REFRESHALL | Ridisegnare l'intera superficie su una superficie emulata sovrapposta. |
DDOVER_REFRESHDIRTYRECTS | Ridisegnare tutti i rettangoli sporchi su una superficie emulata sovrapposta. |
DDOVER_SHOW | Attivare questa sovrimpressione. |
dwOverlayOffset
Specifica l'offset di byte dall'inizio del buffer del frame all'inizio della sovrimpressione. Questo campo viene utilizzato solo dal driver miniport.
dwOverlaySrcWidth
Specifica la larghezza dell'origine di sovrimpressione, espressa in pixel. Questo campo viene utilizzato solo dal driver miniport.
dwOverlaySrcHeight
Specifica l'altezza dell'origine di sovrimpressione, in pixel. Questo campo viene utilizzato solo dal driver miniport.
dwOverlayDestWidth
Specifica la larghezza di destinazione della sovrimpressione, espressa in pixel. Questo campo viene utilizzato solo dal driver miniport.
dwOverlayDestHeight
Specifica l'altezza di destinazione della sovrimpressione, in pixel. Questo campo viene utilizzato solo dal driver miniport.
dwVideoPortId
Se questa superficie viene inserita da un oggetto VPE (Video Port Extensions), questo campo indica l'ID dell'oggetto VPE, un numero intero nell'intervallo (0 - (numero massimo di porte video hardware -1 )); in caso contrario, questo campo è -1.
dwFormatFlags
Specifica un set di flag di controllo in formato pixel. Questo membro è un OR bit per bit di uno dei valori seguenti:
Flag | Significato |
---|---|
DDPF_ALPHA | Il formato pixel descrive una superficie solo alfa. |
DDPF_ALPHAPIXELS | La superficie contiene informazioni sul canale alfa nel formato pixel. |
DDPF_ALPHAPREMULT | I componenti di colore nel pixel sono premoltiplicati dal valore alfa nel pixel. Se questo flag è impostato, è necessario impostare anche il flag DDPF_ALPHAPIXELS. Se questo flag non è impostato, ma viene impostato il flag DDPF_ALPHAPIXELS, i componenti di colore nel formato pixel non vengono premoltiplicati da alpha. In questo caso, i componenti di colore devono essere moltiplicati per il valore alfa al momento in cui viene eseguita un'operazione di fusione alfa. |
DDPF_BUMPDUDV | I dati dUdV della mappa d'urto nel formato pixel sono validi. |
DDPF_BUMPLUMINANCE | I dati di luminanza in formato pixel sono validi. Questo flag viene usato quando si blocca la luminanza dalle superfici della mappa d'urto. La maschera di bit per la parte di dominanza del pixel viene quindi indicata dal membro dwBumpLuminanceBitCount della struttura DDPIXELFORMAT . |
DDPF_COMPRESSED | La superficie accetterà i dati pixel nel formato specificato e lo comprimerà durante l'operazione di scrittura. |
DDPF_FOURCC | Il codice FOURCC è valido. |
DDPF_LUMINANCE | I dati di luminanza nel formato pixel sono validi. Questo flag viene usato solo per la luminanza o la luminanza più superfici alfa; la profondità di bit viene quindi indicata dal membro dwLuminanceBitCount della struttura DDPIXELFORMAT . |
DDPF_PALETTEINDEXED1 | La superficie è indicizzata a 1 bit. |
DDPF_PALETTEINDEXED2 | La superficie è indicizzata a 2 bit. |
DDPF_PALETTEINDEXED4 | La superficie è indicizzata a 4 bit. |
DDPF_PALETTEINDEXED8 | La superficie è indicizzata a 8 bit. |
DDPF_PALETTEINDEXEDTO8 | La superficie è a 1,2 o a 4 bit indicizzata a una tavolozza a 8 bit. |
DDPF_RGB | I dati RGB nella struttura del formato pixel sono validi. |
DDPF_RGBTOYUV | L'area accetterà i dati RGB e la tradurrà durante l'operazione di scrittura nei dati YUV. Il formato dei dati da scrivere sarà contenuto nella struttura del formato pixel. Verrà impostato il flag DDPF_RGB. |
DDPF_STENCILBUFFER | La superficie contiene informazioni stencil insieme alle informazioni Z. |
DDPF_YUV | I dati YUV nella struttura del formato pixel sono validi. |
DDPF_ZBUFFER | Il formato pixel descrive una superficie solo z-buffer. |
DDPF_ZPIXELS | La superficie è in formato RGBZ. |
dwFormatFourCC
Specifica il codice FOURCC .
dwFormatBitCount
Specifica il numero di bit per pixel (4, 8, 16, 24 o 32).
dwRBitMask
Specifica la maschera di bit rossa.
dwGBitMask
Specifica la maschera a bit verde.
dwBBitMask
Specifica la maschera blu.
dwDriverReserved1
Riservato per HAL/Miniport
dwDriverReserved2
Riservato per HAL/Miniport
dwDriverReserved3
Riservato per HAL/Miniport
dwDriverReserved4
Riservato per l'uso da parte del driver miniport.
Requisiti
Intestazione | dxmini.h (include Dxmini.h) |