Compose

Layout di pagina, paginazione, Form XObject

Descrizione

Metodo astratto di TPDFlibDynamicComponent che disegna un frammento del componente in coordinate locali e riporta i suoi limiti usati e lo stato di continuazione

Sintassi

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

Parametri

Context.LibraryInstanceIstanza TPDFlib collegata attraverso cui il frammento deve disegnare
Context.PageNumberNumero della pagina di destinazione, anche se la libreria seleziona una pagina temporanea isolata mentre il callback è in esecuzione
Context.CompositionIndexNumero con base 1 che il frammento riceve quando viene confermato
Context.DestinationLeft, Context.DestinationTopPosizione dello slot di destinazione passata attraverso dalla chiamata di composizione
Context.AvailableWidth, Context.AvailableHeightDimensione della tela naturale del Form XObject circostante

Record del risultato

HasContentTrue quando il frammento ha disegnato contenuto visibile
HasMoreContentTrue quando il componente può produrre un altro frammento
UsedWidth, UsedHeightRettangolo usato che inizia alla coordinata locale zero e deve delimitare tutto il contenuto visibile del componente

Note

I risultati con contenuto richiedono valori UsedWidth e UsedHeight finiti e positivi entro AvailableWidth e AvailableHeight Un risultato senza contenuto è valido solo quando

Un risultato senza contenuto è valido solo quando HasMoreContent è False ed entrambe le dimensioni usate sono zero

Il callback può usare le API di disegno e contenuto ma non deve cambiare documenti, pagine o contenitori di disegno annidati

La sessione valida ComposeResult tramite ValidComposeResult prima di qualsiasi decisione di collocamento

Restituire zero rifiuta il tentativo senza confermare lo stato del componente né della destinazione; le eccezioni sollevate si propagano dopo che la sessione ha pulito lo stato temporaneo

Valori restituiti

1Il risultato del frammento viene offerto per la validazione e il posizionamento
0Il tentativo viene respinto e nessuno stato del componente o della destinazione cambia

Vedere anche

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent