DrvAnyBlt
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 |