Compose

Верстка страниц, разбивка на страницы, Form XObjects

Описание

Абстрактный метод TPDFlibDynamicComponent, рисующий один фрагмент компонента в локальных координатах и сообщающий его используемые границы и состояние продолжения

Синтаксис

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

Параметры

Context.LibraryInstanceПодключенный экземпляр TPDFlib, через который фрагмент должен рисовать
Context.PageNumberНомер целевой страницы, хотя библиотека выбирает изолированную временную страницу, пока выполняется колбэк
Context.CompositionIndexПорядковый номер, начиная с 1, который фрагмент получает при фиксации
Context.DestinationLeft, Context.DestinationTopПозиция целевого слота, передаваемая из вызова композиции
Context.AvailableWidth, Context.AvailableHeightРазмер естественного холста окружающего Form XObject

Запись результата

HasContentTrue, если фрагмент нарисовал видимое содержимое
HasMoreContentTrue, если компонент может выработать еще один фрагмент
UsedWidth, UsedHeightИспользуемый прямоугольник, начинающийся в локальном нуле координат и охватывающий все видимое содержимое компонента

Примечания

Результаты с содержимым требуют конечных положительных значений UsedWidth и UsedHeight в пределах AvailableWidth и AvailableHeight Результат без содержимого допустим, только когда

Результат без содержимого допустим, только когда HasMoreContent равно False, а обе использованные размерности равны нулю

Callback может использовать API рисования и содержимого, но не должен менять документы, страницы или вложенные контейнеры рисования

Сессия проверяет ComposeResult через ValidComposeResult до принятия какого-либо решения о размещении

Возврат нуля отклоняет попытку, не фиксируя состояние компонента или назначения; выброшенные исключения распространяются после того, как сессия уберет переходное состояние

Возвращаемые значения

1Результат фрагмента передается на проверку и размещение
0Попытка отклоняется, и состояние компонента или назначения не меняется

См. также

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent