FGX.Assets.TfgAsset: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
(не показана 1 промежуточная версия этого же участника)
Строка 9: Строка 9:
  
 
Прямые наследники:
 
Прямые наследники:
[[FGX.Assets.BitmapSet.TfgAssetBitmapSet|TfgAssetBitmapSet]], [[FGX.Assets.Color.TfgAssetColor|TfgAssetColor]], [[FGX.Assets.CustomFile.TfgAssetFile|TfgAssetFile]], [[FGX.Assets.Font.TfgAssetFont|TfgAssetFont]]
+
[[FGX.Assets.BitmapSet.TfgAssetBitmapSet|TfgAssetBitmapSet]], [[FGX.Assets.Color.TfgAssetColor|TfgAssetColor]], [[FGX.Assets.CustomFile.TfgAssetFile|TfgAssetFile]], [[FGX.Assets.Font.TfgAssetFont|TfgAssetFont]], [[FGX.Assets.LottieAnimation.TfgAssetLottieAnimation|TfgAssetLottieAnimation]], [[FGX.Assets.Style.TfgAssetStyle|TfgAssetStyle]]
  
 
== Описание ==
 
== Описание ==
Строка 45: Строка 45:
  
 
<p>Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.</p><div class="info">Если данный ресурс используется в компоненте ( <i>IsUsed</i> ), то вызов метода может закончиться повторной загрузкой в память.</div>
 
<p>Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.</p><div class="info">Если данный ресурс используется в компоненте ( <i>IsUsed</i> ), то вызов метода может закончиться повторной загрузкой в память.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Change()</code>
 +
<p>Уведомляет всех клиентов, что ресурс изменился. Это позволяет клиентам обновить исопльзование ресурса.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">Clone(const ANewName: [[TfgAssetName|TfgAssetName]]): [[FGX.Assets.TfgAsset|TfgAsset]]</code>
 +
<p>Возвращает копию текущего ресурса с новым именем <i>ANewName</i> .</p>
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Assign(const AAsset: [[FGX.Assets.TfgAsset|TfgAsset]])</code>
 
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Assign(const AAsset: [[FGX.Assets.TfgAsset|TfgAsset]])</code>
 
<p>Копирование данных ресурса <i>AAsset</i> .</p>
 
<p>Копирование данных ресурса <i>AAsset</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsEmpty(): [[Boolean]]</code>
 +
<p>Есть ли содержимое внутри ресурса или нет. Например, ресурс может существовать, но без изображения.</p>
 
|}
 
|}
  

Текущая версия на 17:12, 23 декабря 2022

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

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