Estrutura DDSURFACEDATA (dxmini.h)
A estrutura DDSURFACEDATA é usada pelo DirectDraw para representar uma superfície para o driver de miniporto no modo kernel.
Sintaxe
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;
Membros
ddsCaps
Aponta para uma estrutura DDSCAPS que contém os recursos de criação usados para descrever a superfície.
dwSurfaceOffset
Especifica o deslocamento de bytes do início do buffer de quadros para o início da superfície. Esse campo é usado apenas pelo driver de miniporto.
fpLockPtr
Aponta para o início da superfície.
dwWidth
Especifica a largura da superfície, em pixels.
dwHeight
Especifica a altura da superfície, em pixels.
lPitch
Especifica o tom de superfície, em bytes.
dwOverlayFlags
Indica um conjunto de sinalizadores que especificam o modo de usuário atual DDOVER_ sinalizadoresXxx definidos por DdUpdateOverlay. Esse membro é um OR bit a bit de qualquer um dos seguintes valores:
Sinalizador | Significado |
---|---|
DDOVER_ADDDIRTYRECT | Adicione um retângulo sujo a uma superfície sobreposta emulada. |
DDOVER_ALPHADEST | Use as informações alfa no formato de pixel ou a superfície do canal alfa anexada à superfície de destino como o canal alfa para essa sobreposição. |
DDOVER_ALPHADESTCONSTOVERRIDE | Use o membro dwAlphaDestConst da estrutura DDOVERLAYFX como o canal alfa de destino para essa sobreposição. A estrutura DDOVERLAYFX é definida em ddraw.h. |
DDOVER_ALPHADESTNEG | A superfície de destino torna-se mais transparente à medida que o valor alfa aumenta (0 é opaco). |
DDOVER_ALPHADESTSURFACEOVERRIDE | Use o membro lpDDSAlphaDest da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como o destino do canal alfa para essa sobreposição. |
DDOVER_ALPHAEDGEBLEND | Use o membro dwAlphaEdgeBlend da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como o canal alfa para as bordas da imagem que fazem a borda das cores da chave de cor. |
DDOVER_ALPHASRC | Use as informações alfa no formato de pixel ou a superfície do canal alfa anexada à superfície de origem como o canal alfa de origem para essa sobreposição. |
DDOVER_ALPHASRCCONSTOVERRIDE | Use o membro dwAlphaSrcConst da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como o canal alfa de origem para essa sobreposição. |
DDOVER_ALPHASRCNEG | A superfície de origem torna-se mais transparente à medida que o valor alfa aumenta (0 é opaco). |
DDOVER_ALPHASRCSURFACEOVERRIDE | Use o membro lpDDSAlphaSrc da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como a origem do canal alfa para essa sobreposição. |
DDOVER_AUTOFLIP | Inverte automaticamente para a próxima superfície na cadeia de inversão sempre que ocorrer uma porta de vídeo de hardware VSYNC. |
DDOVER_BOB | Exiba cada campo do fluxo de vídeo entrelaçado individualmente sem causar artefatos. |
DDOVER_BOBHARDWARE | Bob é executado usando hardware em vez de software ou sendo emulado. |
DDOVER_DDFX | Use os sinalizadores FX de sobreposição para definir efeitos especiais de sobreposição. |
DDOVER_HIDE | Desative essa sobreposição. |
DDOVER_INTERLEAVED | A memória da superfície é composta de campos intercalados. |
DDOVER_KEYDEST | Use a chave de cor associada à superfície de destino. |
DDOVER_KEYDESTOVERRIDE | Use o membro dckDestColorkey da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como a chave de cor da superfície de destino. |
DDOVER_KEYSRC | Use a chave de cor associada à superfície de origem. |
DDOVER_KEYSRCOVERRIDE | Use o membro dckSrcColorkey da estrutura DDOVERLAYFX (definido na documentação do SDK do DirectDraw) como a chave de cor da superfície de origem. |
DDOVER_OVERRIDEBOBWEAVE | As decisões bob e weave não devem ser substituídas por outras interfaces. Se esse sinalizador estiver definido, o DirectDraw não permitirá que um driver no modo kernel use a funcionalidade de transporte de vídeo no modo kernel para alternar o hardware entre o modo bob e weave. |
DDOVER_REFRESHALL | Redesenhe toda a superfície em uma superfície sobreposta emulada. |
DDOVER_REFRESHDIRTYRECTS | Redesenhe todos os retângulos sujo em uma superfície sobreposta emulada. |
DDOVER_SHOW | Ative essa sobreposição. |
dwOverlayOffset
Especifica o deslocamento de bytes do início do buffer de quadros para o início da sobreposição. Esse campo é usado apenas pelo driver de miniporto.
dwOverlaySrcWidth
Especifica a largura da origem da sobreposição, em pixels. Esse campo é usado apenas pelo driver de miniporto.
dwOverlaySrcHeight
Especifica a altura da origem da sobreposição, em pixels. Esse campo é usado apenas pelo driver de miniporto.
dwOverlayDestWidth
Especifica a largura de destino da sobreposição, em pixels. Esse campo é usado apenas pelo driver de miniporto.
dwOverlayDestHeight
Especifica a altura de destino da sobreposição, em pixels. Esse campo é usado apenas pelo driver de miniporto.
dwVideoPortId
Se essa superfície estiver sendo alimentada por um objeto VPE (extensões de porta de vídeo ), esse campo indicará a ID do objeto VPE, um inteiro no intervalo (0 - (número máximo de portas de vídeo de hardware -1 )); caso contrário, esse campo será -1.
dwFormatFlags
Especifica um conjunto de sinalizadores de controle de formato de pixel. Esse membro é um OR bit a bit de qualquer um dos seguintes valores:
Sinalizador | Significado |
---|---|
DDPF_ALPHA | O formato de pixel descreve uma superfície somente alfa. |
DDPF_ALPHAPIXELS | A superfície tem informações de canal alfa no formato de pixel. |
DDPF_ALPHAPREMULT | Os componentes de cor no pixel são pré-multiplicados pelo valor alfa no pixel. Se esse sinalizador estiver definido, o sinalizador DDPF_ALPHAPIXELS também deverá ser definido. Se esse sinalizador não estiver definido, mas o sinalizador DDPF_ALPHAPIXELS estiver definido, os componentes de cor no formato de pixel não serão pré-multiplicados por alfa. Nesse caso, os componentes de cor devem ser multiplicados pelo valor alfa no momento em que uma operação de mistura alfa é executada. |
DDPF_BUMPDUDV | Os dados dUdV do mapa de colisão no formato de pixel são válidos. |
DDPF_BUMPLUMINANCE | Os dados de luminância no formato de pixel são válidos. Esse sinalizador é usado ao pendurar a luminância em superfícies de bumpmap. A máscara de bits para a parte de luminância do pixel é indicada pelo membro dwBumpLuminanceBitCount da estrutura DDPIXELFORMAT . |
DDPF_COMPRESSED | A superfície aceitará dados de pixel no formato especificado e os compactará durante a operação de gravação. |
DDPF_FOURCC | O código FOURCC é válido. |
DDPF_LUMINANCE | Os dados de luminância no formato de pixel são válidos. Esse sinalizador é usado apenas para luminância ou luminância mais superfícies alfa; a profundidade do bit é indicada pelo membro dwLuminanceBitCount da estrutura DDPIXELFORMAT . |
DDPF_PALETTEINDEXED1 | A superfície é indexada por cor de 1 bit. |
DDPF_PALETTEINDEXED2 | A superfície é indexada por cor de 2 bits. |
DDPF_PALETTEINDEXED4 | A superfície é indexada por cor de 4 bits. |
DDPF_PALETTEINDEXED8 | A superfície é indexada por cores de 8 bits. |
DDPF_PALETTEINDEXEDTO8 | A superfície é uma cor de 1, 2 ou 4 bits indexada a uma paleta de 8 bits. |
DDPF_RGB | Os dados RGB na estrutura de formato de pixel são válidos. |
DDPF_RGBTOYUV | A superfície aceitará dados RGB e os traduzirá durante a operação de gravação para dados YUV. O formato dos dados a serem gravados estará contido na estrutura de formato de pixel. O sinalizador DDPF_RGB será definido. |
DDPF_STENCILBUFFER | A superfície contém informações de estêncil junto com informações de Z. |
DDPF_YUV | Os dados YUV na estrutura de formato de pixel são válidos. |
DDPF_ZBUFFER | O formato de pixel descreve uma superfície somente de buffer z. |
DDPF_ZPIXELS | A superfície está no formato RGBZ. |
dwFormatFourCC
Especifica o código FOURCC .
dwFormatBitCount
Especifica o número de bits por pixel (4, 8, 16, 24 ou 32).
dwRBitMask
Especifica a máscara de bits vermelha.
dwGBitMask
Especifica a máscara de bits verde.
dwBBitMask
Especifica a máscara de bits azul.
dwDriverReserved1
Reservado para o HAL/Miniport
dwDriverReserved2
Reservado para o HAL/Miniport
dwDriverReserved3
Reservado para o HAL/Miniport
dwDriverReserved4
São reservados para uso pelo driver de miniporta.
Requisitos
Cabeçalho | dxmini.h (inclua Dxmini.h) |