PDFium Delphi Component Docs

Запись TTileKey и класс TPdfTileCache

Модуль: PDFium

TTileKey

TTileKey.Create объединяет DocumentRevision, PageNumber, Zoom, Rotation, RenderOptions, TileLeft, TileTop, TileWidth и TileHeight в стабильный ключ фрагмента рендеринга

Equals сравнивает все поля ключа и допускает расхождения масштаба меньше микроуровня

TPdfTileCache methods

MethodDescription
Create(Capacity: Integer = 64)Создаёт ограниченный кэш с минимальной ёмкостью в один фрагмент
Create(Capacity: Integer; Governor: TPdfCacheGovernor)Создаёт кэш, который дополнительно конкурирует за общий бюджет байтов
DestroyОчищает кэш и освобождает каждый принадлежащий ему битмап
Get(const Key: TTileKey): TBitmapВозвращает кэшированный битмап без передачи владения и обновляет локальную и общую давность использования
Put(const Key: TTileKey; Bitmap: TBitmap)Передаёт владение битмапом кэшу и удерживает его только когда позволяют и ёмкость записей, и общий бюджет байтов
InvalidatePage(PageNumber: Integer)Удаляет все фрагменты одной страницы
InvalidateRevision(DocumentRevision: Int64)Оставляет только фрагменты, принадлежащие указанной редакции документа
ClearОсвобождает все кэшированные битмапы и токены губернатора

Properties

PropertyTypeDescription
CapacityIntegerМаксимальное число фрагментов
CountIntegerТекущее число фрагментов
StoredBytesInt64Текущий учёт битмапов: ширина умножить на высоту умножить на четыре байта
CacheGovernorTPdfCacheGovernorНеобязательный общий губернатор; назначение сперва очищает существующие записи

Governor lifetime

Кэш никогда не владеет CacheGovernor

Губернатор должен переживать кэш, либо свойство нужно сбросить в nil до освобождения губернатора

See Also

FPdfCache, TPdf cache governor, RenderTile