FGX.Assets.TfgAsset

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску

Delphi

TfgAsset = class (TObject)

TObject -> TfgAsset

Прямые наследники: 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

Описание отсутствует.