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.LibraryInstance | Instância TPDFlib associada através da qual o fragmento deve desenhar |
|---|---|
Context.PageNumber | Número da página de destino, embora a biblioteca selecione uma página temporária isolada enquanto o callback corre |
Context.CompositionIndex | Número de base 1 que o fragmento recebe quando consolida |
Context.DestinationLeft, Context.DestinationTop | Posição do espaço de destino transmitida da chamada de composição |
Context.AvailableWidth, Context.AvailableHeight | Tamanho natural da tela do Form XObject envolvente |
Registo de resultado
HasContent | True quando o fragmento desenhou conteúdo visível |
|---|---|
HasMoreContent | True quando o componente pode produzir outro fragmento |
UsedWidth, UsedHeight | Retâ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
1 | O resultado do fragmento é oferecido para validação e colocação |
|---|---|
0 | A tentativa é rejeitada e nenhum estado de componente ou destino muda |
Consulte também
TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent