FGX.Assets.TfgAsset: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
Строка 17: | Строка 17: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
− | |||
− | |||
− | |||
|- | |- | ||
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(const AName: [[TfgAssetName|TfgAssetName]]; const APlatform: [[FGX.Assets.Types.TfgPlatform|TfgPlatform]]; const ADeviceClass: [[FGX.Assets.Types.TfgDeviceClass|TfgDeviceClass]])</code> | | <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(const AName: [[TfgAssetName|TfgAssetName]]; const APlatform: [[FGX.Assets.Types.TfgPlatform|TfgPlatform]]; const ADeviceClass: [[FGX.Assets.Types.TfgDeviceClass|TfgDeviceClass]])</code> | ||
Строка 34: | Строка 31: | ||
| <syntaxhighlight lang="Delphi">class function</syntaxhighlight> || <code lang="Delphi">GenerateId(const AName: [[TfgAssetName|TfgAssetName]]; const APlatform: [[FGX.Assets.Types.TfgPlatform|TfgPlatform]]; const ADeviceClass: [[FGX.Assets.Types.TfgDeviceClass|TfgDeviceClass]]): [[string]]</code> | | <syntaxhighlight lang="Delphi">class function</syntaxhighlight> || <code lang="Delphi">GenerateId(const AName: [[TfgAssetName|TfgAssetName]]; const APlatform: [[FGX.Assets.Types.TfgPlatform|TfgPlatform]]; const ADeviceClass: [[FGX.Assets.Types.TfgDeviceClass|TfgDeviceClass]]): [[string]]</code> | ||
<p>Генерирует уникальный идентификатор ресурса на основе имени ресурса, платформы и класса устройства.</p> | <p>Генерирует уникальный идентификатор ресурса на основе имени ресурса, платформы и класса устройства.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Acquire()</code> | ||
+ | |||
+ | <p>Помечает ресурс, что он используется и не должен быть выгружен из памяти (см. <i>ReleaseFromMemory</i> ).</p><div class="info">Основан на счетчике. Можно вызывать сколько угодно раз, но каждому вызову должен в будущем соответствовать вызов <i>Release</i> .</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">Release(): [[Boolean]]</code> | ||
+ | <p>Возвращает ресурс обратно. Возвращает <i>True</i> - если больше никто не использует ресурс, в противном случаи <i>False</i> . По результатам возвращения и настройки <i>TfgAssetsManager.Options</i> может быть выгружен из памяти для экономии системных ресурсов (см. <i>ReleaseFromMemory</i> ).</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsUsed(): [[Boolean]]</code> | ||
+ | <p>Используется ли сейчас ресурс или нет?</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ReleaseFromMemory()</code> | ||
+ | |||
+ | <p>Ресурс может содержать большие данные, которые по ходу использования ресурса могут быть загружены в оперативную память. Например, изображения, шрифты и тд. Если ресурс больше никем не используется, то можно выгрузить из памяти связанные данные при помощи этого метода.</p><div class="info">Если данный ресурс используется в компоненте ( <i>IsUsed</i> ), то вызов метода может закончиться повторной загрузкой в память.</div> | ||
|- | |- | ||
| <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> |
|} | |} | ||
Строка 42: | Строка 53: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Owner: [[FGX.Assets.TfgAssetsManager|TfgAssetsManager]]</code> | ||
+ | <p>Менеджер ресурсов, которому принадлежит этот ресурс.</p> | ||
|- | |- | ||
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>UniqueId: [[string]]</code> | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>UniqueId: [[string]]</code> |
Версия 01:21, 16 мая 2020
Delphi
TfgAsset = class (TObject)
Прямые наследники: TfgAssetBitmapSet, TfgAssetColor, TfgAssetFile, TfgAssetFont
Содержание
Описание
Базовый класс именованного ресурса.
Конструкторы
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
|
Assign(const AAsset: TfgAsset)
Копирование данных ресурса AAsset . |
Свойства
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
Описание отсутствует. |