DDSURFACEDESC

Windows Mobile SupportedWindows Embedded CE Supported

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