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 |
Запись результата
HasContent | True, если фрагмент нарисовал видимое содержимое |
|---|---|
HasMoreContent | True, если компонент может выработать еще один фрагмент |
UsedWidth, UsedHeight | Используемый прямоугольник, начинающийся в локальном нуле координат и охватывающий все видимое содержимое компонента |
Примечания
Результаты с содержимым требуют конечных положительных значений UsedWidth и UsedHeight в пределах AvailableWidth и AvailableHeight
Результат без содержимого допустим, только когда
Результат без содержимого допустим, только когда HasMoreContent равно False, а обе использованные размерности равны нулю
Callback может использовать API рисования и содержимого, но не должен менять документы, страницы или вложенные контейнеры рисования
Сессия проверяет ComposeResult через ValidComposeResult до принятия какого-либо решения о размещении
Возврат нуля отклоняет попытку, не фиксируя состояние компонента или назначения; выброшенные исключения распространяются после того, как сессия уберет переходное состояние
Возвращаемые значения
1 | Результат фрагмента передается на проверку и размещение |
|---|---|
0 | Попытка отклоняется, и состояние компонента или назначения не меняется |
См. также
TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent