FGX.Assets.TfgAsset
Delphi
TfgAsset = class (TObject)
Прямые наследники: TfgAssetBitmapSet, TfgAssetColor, TfgAssetFile, TfgAssetFont, TfgAssetLottieAnimation, TfgAssetStyle
Содержание
Описание
Базовый класс именованного ресурса.
Конструкторы
constructor
|
Create(const AName: TfgAssetName; const APlatform: TfgPlatform; const ADeviceClass: TfgDeviceClass)
Описание отсутствует. |
Методы
procedure
|
BeforeDestruction()
Описание отсутствует. |
class function
|
GenerateId(const AName: TfgAssetName; const APlatform: TfgPlatform; const ADeviceClass: TfgDeviceClass): string
Генерирует уникальный идентификатор ресурса на основе имени ресурса, платформы и класса устройства. |
procedure
|
Acquire()
Помечает ресурс, что он используется и не должен быть выгружен из памяти (см. ReleaseFromMemory ). Основан на счетчике. Можно вызывать сколько угодно раз, но каждому вызову должен в будущем соответствовать вызов Release .
|
function
|
Release(): Boolean
Возвращает ресурс обратно. Возвращает True - если больше никто не использует ресурс, в противном случае False . По результатам возвращения и настройки TfgAssetsManager.Options может быть выгружен из памяти для экономии системных ресурсов (см. ReleaseFromMemory ). |
function
|
IsUsed(): Boolean
Используется ли сейчас ресурс или нет? |
procedure
|
ReleaseFromMemory()
Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода. Если данный ресурс используется в компоненте ( IsUsed ), то вызов метода может закончиться повторной загрузкой в память.
|
procedure
|
Change()
Уведомляет всех клиентов, что ресурс изменился. Это позволяет клиентам обновить исопльзование ресурса. |
function
|
Clone(const ANewName: TfgAssetName): TfgAsset
Возвращает копию текущего ресурса с новым именем ANewName . |
procedure
|
Assign(const AAsset: TfgAsset)
Копирование данных ресурса AAsset . |
function
|
IsEmpty(): Boolean
Есть ли содержимое внутри ресурса или нет. Например, ресурс может существовать, но без изображения. |
Свойства
property
|
Owner: TfgAssetsManager
Менеджер ресурсов, которому принадлежит этот ресурс. |
property
|
UniqueId: string
Уникальный идентификатор ресурса. Пример: "Theme\Primary\Text-universal-large-tablet"
|
property
|
Name: TfgAssetName
Имя ресурса. Пример: "Theme\Primary\Text"
|
property
|
ShortName: string
Возвращает укороченное имя ресурса без учета относительного пути. Пример: "Text-universal-large-tablet"
|
property
|
TargetDeviceDisplayName: string
Возвращает название целевого устройства, на который расчитан данный ресурс. Пример: "Universal L-Tablet"
|
property
|
TargetDeviceId: string
Составной идентификатор класса целевого устройства и платформы. Пример: "universal-large-tablet"
|
property
|
RelativePath: string
Относительный путь к ресурсу. Используется для дизайнера, чтобы организовать вложенность ресурсов.
|
property
|
DeviceClass: TfgDeviceClass
Класс устройств, для которой расчитан ресурс. |
property
|
Platform: TfgPlatform
Тип платформы, для которой расчитан ресурс. |
property
|
Type: TfgAssetType
Возвращает строковое представление типа. Используется для серилизацияя/десерилизации. Должно быть уникальным среди всех других видов ресурсов. Каждый наследник обязан реализовать абстрактный метод GetType .
|
Константы
const
|
FolderSeparator: Char
Описание отсутствует. |
const
|
DefaultPlatform: TfgPlatform
Описание отсутствует. |
const
|
DefaultDeviceClass: TfgDeviceClass
Описание отсутствует. |