Compartilhar via


Função DrvTextOut (winddi.h)

A função DrvTextOut é o ponto de entrada da GDI que chama o driver para renderizar um conjunto de glifos em posições especificadas.

Sintaxe

BOOL DrvTextOut(
  SURFOBJ  *pso,
  STROBJ   *pstro,
  FONTOBJ  *pfo,
  CLIPOBJ  *pco,
  RECTL    *prclExtra,
  RECTL    *prclOpaque,
  BRUSHOBJ *pboFore,
  BRUSHOBJ *pboOpaque,
  POINTL   *pptlOrg,
  MIX      mix
);

Parâmetros

pso

Ponteiro para uma estrutura SURFOBJ que descreve a superfície na qual gravar.

pstro

Ponteiro para uma estrutura STROBJ que define os glifos a serem renderizados e as posições nas quais colocá-los.

pfo

Ponteiro para uma estrutura FONTOBJ da qual recuperar informações sobre a fonte e seus glifos.

pco

Ponteiro para uma estrutura CLIPOBJ que define a região de clipe por meio da qual toda a renderização deve ser feita. O driver não pode afetar nenhum pixel fora da região de clipe.

prclExtra

Ponteiro para uma estrutura RECTL. A GDI sempre define esse parâmetro como NULL em chamadas para essa função. Ele deve ser ignorado pelo motorista.

prclOpaque

Ponteiro para uma estrutura RECTL que representa um único retângulo opaco. Esse retângulo é exclusivo da parte inferior direita. Pixels dentro desse retângulo (aqueles que não estão em primeiro plano e não são recortados) devem ser renderizados com o pincel opaco. Esse retângulo sempre vincula o texto a ser desenhado. Se esse parâmetro for NULL, nenhum pixel opaco será renderizado.

pboFore

Ponteiro para uma estrutura BRUSHOBJ que representa o objeto de pincel a ser usado para os pixels de primeiro plano. Esse pincel sempre será um pincel de cor sólida.

pboOpaque

Ponteiro para uma estrutura BRUSHOBJ que representa os pixels opacos. Os modos de combinação em primeiro plano e segundo plano para esse pincel são considerados R2_COPYPEN. A menos que o driver defina o bit GCAPS_ARBRUSHOPAQUE funcionalidades no membro flGraphicsCaps da estrutura DEVINFO , ele sempre será chamado com um pincel de cor sólida.

pptlOrg

Ponteiro para uma estrutura POINTL que define a origem do pincel para ambos os pincéis.

mix

O modo de combinação que define as operações de raster em primeiro plano e plano de fundo a serem usadas para o pincel para o qual pboFore aponta. Para obter mais informações sobre o modo de combinação, consulte Comentários.

Valor retornado

O valor retornado será TRUE se a função for bem-sucedida; caso contrário, será FALSE.

Comentários

Os parâmetros de entrada para DrvTextOut definem dois conjuntos de pixels: primeiro plano e opaco. O driver deve renderizar a superfície para que o resultado seja idêntico a um processo em que os pixels opacos são renderizados primeiro com o pincel opaco e, em seguida, os pixels de primeiro plano são renderizados com o pincel de primeiro plano. Cada uma dessas operações é limitada por recorte.

Os pixels opacos e de primeiro plano são considerados como uma tela por meio da qual a cor é escovada na superfície. Os glifos da fonte não têm cor em si mesmos.

Os parâmetros de entrada para DrvTextOut definem o conjunto de pixels de glifo, o conjunto de retângulos extras, o retângulo opaco e a região do clipe. É responsabilidade do driver calcular e renderizar o conjunto de pixels opacos e em primeiro plano.

A GDI garante que DrvTextOut e DrvDestroyFont nunca se sobreponham; consequentemente, o driver pode contar com informações armazenadas em cache durante o processamento de uma chamada drvTextOut .

O modo de combinação define como o padrão de entrada deve ser misturado com os dados que já estão na superfície do dispositivo. O tipo de dados MIX consiste em dois valores roP2 (operação de varredura binária) empacotados em um único ULONG. O byte de ordem mais baixa define a operação de varredura em primeiro plano; o próximo byte define a operação de varredura em segundo plano. Para obter mais informações sobre códigos de operação de varredura, consulte a documentação do SDK do Microsoft Windows.

Essa é uma função condicionalmente necessária.

Requisitos

   
Plataforma de Destino Área de Trabalho
Cabeçalho winddi.h (inclua Winddi.h)

Confira também

CLIPOBJ

DEVINFO

DrvDestroyFont

FONTOBJ

STROBJ

SURFOBJ