Compose

Layout da página, paginação, Form XObjects

Descrição

Método abstrato de TPDFlibDynamicComponent que desenha um fragmento do componente em coordenadas locais e informa seus limites usados e estado de continuação

Sintaxe

Function TPDFlibDynamicComponent.Compose(
  Const Context: TPDFlibDynamicPageContext;
  Out ComposeResult: TPDFlibDynamicPageResult): Integer;
  Virtual; Abstract;

Parâmetros

Context.LibraryInstanceInstância TPDFlib anexada pela qual o fragmento deve desenhar
Context.PageNumberNúmero da página de destino, mesmo que a biblioteca selecione uma página temporária isolada enquanto o callback é executado
Context.CompositionIndexNúmero com base em um que o fragmento recebe ao ser confirmado
Context.DestinationLeft, Context.DestinationTopPosição do slot de destino repassada da chamada de composição
Context.AvailableWidth, Context.AvailableHeightTamanho natural da tela do Form XObject circundante

Registro de resultado

HasContentTrue quando o fragmento desenhou conteúdo visível
HasMoreContentTrue quando o componente pode produzir outro fragmento
UsedWidth, UsedHeightRetângulo usado que começa na coordenada local zero e deve delimitar todo o conteúdo visível do componente

Observações

Resultados de conteúdo exigem valores finitos e positivos de UsedWidth e UsedHeight dentro de AvailableWidth e AvailableHeight

Um resultado sem conteúdo só é válido quando HasMoreContent é False e ambas as dimensões usadas são zero

O callback pode usar APIs de desenho e de conteúdo, mas não deve mudar documentos, páginas ou contêineres de desenho aninhados

A sessão valida ComposeResult por meio de ValidComposeResult antes de qualquer decisão de colocação

Retornar zero rejeita a tentativa sem confirmar o estado do componente ou do destino; exceções lançadas se propagam depois que a sessão limpa o estado temporário

Valores retornados

1O resultado do fragmento é oferecido para validação e posicionamento
0A tentativa é rejeitada e nenhum estado de componente ou destino muda

Veja também

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent