Compartilhar via


DrvAnyBlt

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Esta função executa um bit-transferir bloco com alongamento ou transparência.

Syntax

BOOL DrvAnyBlt(
  SURFOBJ* psoDst,
  SURFOBJ* psoSrc,
  SURFOBJ* psoMask,
  CLIPOBJ* pco,
  XLATEOBJ* pxlo,
  POINTL* pptlHTOrg,
  RECTL* prclDst,
  POINTL* pptlSrc,
  POINTL* pptlMask,
  BRUSHOBJ* pbo,
  POINTL* pptlBrush,
  ROP4 rop4,
  ULONG iMode,
  ULONG bltFlags
);

Parameters

  • psoDst
    [no] Ponteiro para um SURFOBJ estrutura que descreve a superfície na qual desenhar.
  • psoSrc
    [no] Ponteiro para um SURFOBJ estrutura que descreve a origem para o bit-operação transferir bloco, se exigido pelo rop4 parâmetro.
  • psoMask
    [no] Ponteiro para um SURFOBJ estrutura que descreve uma superfície a ser usado como uma máscara para o rop4 parâmetro. A máscara é um bitmap com 1 bit por pixel. Normalmente, uma máscara é usada para limite a área a ser modificada na superfície de destino. Mascaramento está selecionado por configuração de rop4 parâmetro para o valor 0xAACC. A superfície destino não é afetada se a máscara é 0x0000.

    A máscara é grande o suficiente para rosto retângulo de destino.

    Se este parâmetro é NULL e uma máscara é exigido pela rop4 parâmetro, a máscara implícito no pincel é usado.

  • pco
    [no] Ponteiro para um CLIPOBJ estrutura que limita a área a ser modificada. Funções GDI, CLIPOBJ_XXX, enumerar a região juntar como um conjunto de retângulos. Sempre que possível, GDI simplifica o recorte envolvido; Por exemplo, essa função é nunca chamado com um único retângulo de recorte. GDI clipes retângulo de destino antes chamado essa função, tornando desnecessário recorte adicional.
  • pxlo
    [no] Ponteiro para um XLATEOBJ estrutura que especifica como índices cor devem ser convertidos entre as superfícies origem e destino. Se pxlo é NULL, nenhuma conversão é necessária.

    Se a superfície origem é paleta-gerenciado, suas cores são representados pelos índices em um tabela de pesquisa de RGB valores. O XLATEOBJ estrutura pode ser consultada para um vetor de conversão que permitirá que o driver de dispositivo para converter qualquer índice origem em um índice cor para o destino.

    A situação é mais complicado quando, de exemplo, a origem for RGB, mas o destino é paleta-gerenciado. Neste maiúsculas e minúsculas, a correspondência mais próxima a cada valor RGB origem deve ser encontrada na paleta de destino. O driver pode chamar o XLATEOBJ_iXlate função para executar esta operação.

    Opcionalmente, o driver de dispositivo pode combinar cores quando paleta de destino estiver na paleta dispositivo usar como padrão.

  • pptlHTOrg
    [no] Não usado, defina como NULL.
  • prclDst
    [no] Ponteiro para um RECTL estrutura que define a área a ser modificada. Essa estrutura usa o sistema de coordenadas da superfície de destino. Inferior direito e bordas desse retângulo não fazem parte de bit-transferir bloco, o retângulo é inferior direito exclusivo.

    DrvBitBlt Nunca é chamado com um vazio retângulo destino. Os dois pontos que definem o retângulo sempre também são ordenados. No entanto, em múltiplo sistemas monitor o retângulo pode definir uma região maior do que a superfície destino. Drivers devem se cruzam esse retângulo com seu superfície.

  • pptlSrc
    [no] Ponteiro para um POINTL estrutura que define o canto superior esquerdo do retângulo de origem, se existir uma origem. Este parâmetro é ignorado se nenhuma origem existe.
  • pptlMask
    [no] Ponteiro para um POINTL estrutura que define qual pixel na máscara corresponde ao canto superior esquerdo do retângulo de origem, se existir uma origem. Este parâmetro é ignorado se o psoMask parâmetro é NULL.
  • pbo
    [no] Ponteiro para o objeto pincel que define o padrão para o bit-transferir bloco. Do GDI BRUSHOBJ_pvGetRbrush função pode ser usada para recuperar realização do dispositivo do pincel. Este parâmetro é ignorado se o rop4 parâmetro não requer um padrão.
  • pptlBrush
    [no] Ponteiro para um POINTL estrutura que define a origem do pincel na superfície de destino. O pixel esquerdo superior do pincel é alinhado neste apontar e repete o pincel de acordo com suas dimensões. Este parâmetro é ignorado se o rop4 parâmetro não requer um padrão.
  • rop4
    [no] Operação de varredura que define como os pixels máscara, padrão, origem e destino são combinados para gravar a superfície destino.

    Este é um operação de varredura quaternários, que é uma extensão da operação Rop3 Ternário. Um Rop4 tem 16 bits relevantes, que são semelhantes de 8 bits de um Rop3 definindo. A maneira mais simples para implementar um Rop4 é considerar seus 2 bytes separadamente. O byte baixa especifica um Rop3 que deve ser calculado se a máscara é 1 e o byte alta especifica um Rop3 que podem ser calculados e aplicadas se a máscara é zero.

  • iMode
    [no] Não usado, defina como NULL.
  • bltFlags
    [no] BLT_STRETCH para indicar um estender blit cores precisa ser executada, caso contrário definido como zero.

Return Value

DrvAnyBlt Retorna TRUE se o bit-operação transferir bloco é bem-sucedido. Caso contrário, a função retorna FALSE e um código de erro estiver conectado.

Remarks

GDI chama essa função quando ele precisa executar um StretchDIBits Ou StretchBlt operação.

Do GDI CLIPOBJ_XXX funções permitem que o recorte seja reduzido a uma série de retângulos recorte. Um vetor de translação ajuda na cor índice tradução para as paletas.

Fazer não ponteiros parâmetro excluir a referência, a menos que o ROP indica que forem necessários. De exemplo, desnecessariamente referência pbo — > iSolidColor Para um ROP como BLACKNESS pode causar um violação de acesso. Essa regra também se aplica a qualquer função que inclui um mixar parâmetro.

Requirements

Header winddi.h
Library Ddi_ati_lib.lib, Ddi_flat_lib.lib, Ddi_gx_lib.lib, Ddi_mq200_lib.lib, Ddi_nop_lib.lib, Ddi_rflat_lib.lib, Ddi_rgx_lib.lib, Ddi_tvia5_lib.lib
Windows Embedded CE Windows CE 1.0 and later

See Also

Reference

DrvBitBlt
XLATEOBJ

Other Resources

Display Drivers
RECTL
StretchBlt
StretchDIBits