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

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
Строка 17: Строка 17:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create()</code>
 
<span style="color:gray">Описание отсутствует.</span>
 
 
|-
 
|-
 
| <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>
<span style="color:gray">Описание отсутствует.</span>
+
<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)

TObject -> TfgAsset

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

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