Compose

Esquema de página, paginação, Form XObjects

Descrição

Método abstrato de TPDFlibDynamicComponent que desenha um fragmento do componente em coordenadas locais e comunica os respetivos 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 associada através da qual o fragmento deve desenhar
Context.PageNumberNúmero da página de destino, embora a biblioteca selecione uma página temporária isolada enquanto o callback corre
Context.CompositionIndexNúmero de base 1 que o fragmento recebe quando consolida
Context.DestinationLeft, Context.DestinationTopPosição do espaço de destino transmitida da chamada de composição
Context.AvailableWidth, Context.AvailableHeightTamanho natural da tela do Form XObject envolvente

Registo 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

Os resultados com 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

A chamada de retorno pode utilizar as APIs de desenho e de conteúdo, mas não deve alterar documentos, páginas nem contentores de desenho aninhados

A sessão valida ComposeResult através de ValidComposeResult antes de qualquer decisão de colocação

Devolver zero recusa a tentativa sem consolidar o estado do componente nem do destino; as exceções lançadas propagam-se depois de a sessão ter limpo o estado transitório

Valores devolvidos

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

Consulte também

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent