DDSURFACEDESC
9/8/2008
Essa estrutura contém uma descrição de uma superfície.
Essa estrutura é usada para transmitir parâmetros de superfície para o IDirectDraw::CreateSurface método.
Ele também é usado para recuperar informações sobre uma superfície em chamadas para IDirectDrawSurface::LOCK e IDirectDrawSurface::GetSurfaceDesc.
Os membros relevantes são diferentes para cada tipo potencial de superfície.
Syntax
typedef struct _DDSURFACEDESC {
DWORD dwSize;
DWORD dwFlags;
DWORD dwHeight;
DWORD dwWidth;
LONG lPitch;
LONG lXPitch;
DWORD dwBackBufferCount;
DWORD dwRefreshRate;
LPVOID lpSurface;
DDCOLORKEY ddckCKDestOverlay;
DDCOLORKEY ddckCKDestBlt;
DDCOLORKEY ddckCKSrcOverlay;
DDCOLORKEY ddckCKSrcBlt;
DDPIXELFORMAT ddpfPixelFormat;
DDSCAPS ddsCaps;
DWORD dwSurfaceSize;
} DDSURFACEDESC, FAR* LPDDSURFACEDESC;
Os membros
dwSize
Tamanho da estrutura em bytes.Este membro deve ser inicializado antes de estrutura é usada.
dwFlags
Sinalizadores controle opcional.A seguinte tabela mostra os sinalizadores possíveis.
Sinalizador Descrição DDSD_BACKBUFFERCOUNT
Indica que o dwBackBufferCount membro é válido.
DDSD_CAPS
Indica que o ddsCaps membro é válido.
DDSD_CKDESTBLT
Indica que o ddckCKDestBlt membro é válido.
DDSD_CKDESTOVERLAY
Indica que o ddckCKDestOverlay membro é válido.
DDSD_CKSRCBLT
Indica que o ddckCKSrcBlt membro é válido.
DDSD_CKSRCOVERLAY
Indica que o ddckCKSrcOverlay membro é válido.
DDSD_HEIGHT
Indica que o dwHeight membro é válido.
DDSD_LPSURFACE
Indica que o lpSurface membro é válido.
DDSD_PITCH
Indica que o lPitch membro é válido.
DDSD_PIXELFORMAT
Indica que o ddpfPixelFormat membro é válido.
DDSD_REFRESHRATE
Indica que o dwRefreshRate membro é válido.
DDSD_SURFACESIZE
Indica que o dwSurfaceSize membro é válido.
DDSD_WIDTH
Indica que o dwWidth membro é válido.
DDSD_XPITCH
Indica que o lXpitch membro é válido.
- dwHeighte dwWidth
Dimensões, em pixels, da superfície a ser criado.
lPitch
Distância, em bytes, para a iniciar do próximo linha.Quando usado com o IDirectDrawSurface::GetSurfaceDesc método, este é um valor de retorno.
Consulte comentários para obter mais informações.
- lXPitch
Distância, em bytes, para próximo pixel para o direito.
- dwBackBufferCount
Número de voltar buffers.
dwRefreshRate
Atualize taxa (usada quando o modo de exibição é descrito).O valor de zero indica que o adaptador está usando sua taxa atualizar usar como padrão.
Não é possível atualizar da um adaptador taxa em Windows Embedded CE, portanto alteração dwRefreshRate Sempre será 0.
lpSurface
Endereço de memória Superfície de associado.Quando chamado IDirectDrawSurface::LOCK, esse membro é um válido ponteiro para memória de superfície.
Consulte comentários para obter mais informações.
- ddckCKDestOverlay
DDCOLORKEY estrutura que descreve a chave cor destino a ser usado para uma superfície sobreposição.
- ddckCKDestBlt
DDCOLORKEY estrutura que descreve a chave cor destino para as operações blit de cores.
- ddckCKSrcOverlay
DDCOLORKEY estrutura que descreve a chave cor origem a ser usado para uma superfície sobreposição.
- ddckCKSrcBlt
DDCOLORKEY estrutura que descreve a chave cor origem para as operações blit de cores.
- ddpfPixelFormat
DDPIXELFORMAT estrutura que descreve pixel formato a superfície.
- ddsCaps
DDSCAPS estrutura contendo recursos a superfície.
- dwSurfaceSize
Tamanho de superfície, em bytes.
Remarks
O lPitch e lXPitch Os membros são usados para indicar o número de bytes entre um pixel a pixel diretamente abaixo dela na tela e o pixel diretamente para o direito de na tela. Eles irão variar depending on o atual rotação de superfície e qualquer valor pode ser negativa. Por exemplo:
Em uma superfície 16bpp 240x320 que não é girada, lPitch Geralmente será 480 e lXPitch Será 2, e lpSurface irá apontar para o primeiro byte na memória da superfície.
Girada para 90 graus, lPitch Torna-se 2 e lXPitch Torna-se-480.
Girada para 180 graus, lPitch becomes -480 and lXPitch becomes -2.
Girada para 270 graus,-2 se torna lPitch e lXPitch se torna 480.
lpSurface sempre aponta para a memória para o pixel no (0,0), que quando girado não será o primeiro byte na memória da superfície.
O lPitch e lpSurface Os membros são saída Valores quando chamado a IDirectDrawSurface::GetSurfaceDesc método.
Quando a criação superfícies de memória existente, ou atualizando características de superfície, esses membros são entrada valores que descrevem a densidade e localidade da memória alocada pelo aplicativo chamado para uso do DirectDraw.
O DirectDraw não tenta gerenciar ou livre memória alocada pelo aplicativo.
Requirements
Header | ddraw.h |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
Windows Mobile | Pocket PC for Windows Mobile Version 5.0 and later, Smartphone for Windows Mobile Version 5.0 and later |