ddd.element_infopaneli
Модуль, определяющий класс ЭлементИнфопанели, который позволяет добавлять текстуру и другие элементы на существующую Инфопанель.
-
enum JSON_TYPE[string]
ЭлементИнфопанели_JSON
;Элемент инфопанели в json-файле:
- имя (строковый) - имя инфопанели в программе
- контейнер (bool) - является ли этот элемент контейнером для других элементов
- координаты (массив из 4-х значений типа float) - координаты элемента относительно расположения и размеров всей инфопанели или родительского контейнера: [ координата x левой границы, координата y нижней границы, ширина, высота]
- текстура (строковый) - название ресурса текстуры, т.е. имя файла текстуры без расширения
- координаты_текстуры (массив из 4-х значений типа float) - текстурные координаты
- элементы - массив объектов ЭлементИнфопанели
-
class
ЭлементИнфопанели
;Класс, позволяющий добавлять текстуру и другие элементы на существующую Инфопанель.
В отличие от Инфопанели, координаты объектов этого класса, передаваемые в конструкторе, всегда относительные.
-
@property ЭлементИнфопанели
родитель
();Возвращает элемент инфопанели, являющийся родительским к этому элементу.
-
@property void
родитель
(ЭлементИнфопанелиродитель0
);Присваивает родительский элемент этому элементу.
-
this(string
имя0
, boolбудет_контейнером
);Конструктор, принимающий минимальное количество параметров.
Элемент, созданный этим конструктором, будет занимать всю площадь инфопанели или родительского контейнера.
Параметры:
string
имя0
Имя создаваемого элемента.
bool
будет_контейнером
Возможно ли вставлять в этот элемент другие элементы.
-
this(string
имя0
, boolбудет_контейнером
, floatx0
, floaty0
, floatширина0
, floatвысота0
);Конструктор, учитывающий координаты в относительных единицах.
Отрицательные координаты
x0
и/илиy0
задают положение от конца инфопанели или родительского контейнера (x0
от правого края,y0
от верхнего).
Параметры:
string
имя0
Имя создаваемого элемента.
bool
будет_контейнером
Возможно ли вставлять в этот элемент другие элементы.
float
x0
Координата x левой границы элемента.
float
y0
Координата y нижней границы элемента.
float
ширина0
Ширина элемента.
float
высота0
Высота элемента.
-
void
задать_координаты
(floatx0
, floaty0
, floatширина0
, floatвысота0
);Функция, задающая координаты элемента в относительных единицах.
Отрицательные координаты
x0
и/илиy0
задают положение от конца инфопанели или родительского контейнера (x0
от правого края,y0
от верхнего).
Параметры:
float
x0
Координата x левой границы элемента.
float
y0
Координата y нижней границы элемента.
float
ширина0
Ширина элемента.
float
высота0
Высота элемента.
-
void
рассчитать_абсолютные_координаты
(intширина_родителя
, intвысота_родителя
);Функция, вычисляющая абсолютные координаты элемента в пикселях.
Параметры:
int
ширина_родителя
Ширина родительского элемента-контейнера в пикселях.
int
высота_родителя
Высота родительского элемента-контейнера в пикселях.
-
void
рассчитать_абсолютные_координаты
(Координаты2D!intширина_и_высота
);Функция, вычисляющая абсолютные координаты элемента в пикселях.
Параметры:
Координаты2D!int
ширина_и_высота
Ширина и высота родительского элемента-контейнера в формате Координаты2D.
-
@property Координаты2D!int
абсолютные_размеры
();Функция, возвращающая абсолютные размеры элемента в пикселях в фомате Координаты2D.
-
void
задать_абсолютные_размеры
(intширина0
, intвысота0
);Функция, позволяющая задать абсолютные размеры элемента в пикселях.
Полученные размеры в случае необходимости будут обрезаны, чтобы не выйти за пределы инфопанели или родительского элемента.
Параметры:
int
ширина0
Ширина элемента в пикселях.
int
высота0
Высота элемента в пикселях.
-
void
задать_координаты_текстуры
(floatx1
, floaty1
, floatx2
, floaty2
);Функция, задающая текстурные координаты для текстуры этого элемента.
Параметры:
float
x1
Текстурная координата x левого нижнего угла части текстуры.
float
y1
Текстурная координата y левого нижнего угла части текстуры.
float
x2
Текстурная координата x правого верхнего угла части текстуры.
float
y2
Текстурная координата y правого верхнего угла части текстуры.
-
void
задать_координаты_текстуры
(float[4]координаты_текстуры0
);Функция, задающая текстурные координаты для текстуры этого элемента.
Параметры:
float[4]
координаты_текстуры0
Текстурные координаты в виде массива из 4-х элементов [x1, y1, x2, y2].
-
void
задать_видимость
(boolвключено0
);Функция, позволяющая включить или выключить видимость этого элемента инфопанели.
-
@property bool
получить_видимость
();Функция, возвращающая значение видимости этого элемента инфопанели.
-
void
поменять_видимость
();Функция, позволяющая переключить видимость этого элемента инфопанели.
-
@property string
получить_имя
();Функция, возвращающая значение имени этого элемента инфопанели.
-
void
задать_текстуру
(Текстуратекстура0
);Функция, назначающая текстуру этому элементу инфопанели.
-
void
рисовать
();Вывод этого элемента инфопанели на экран. Также выводятся все дочерние элементы, если они присутствуют, и если этот элемент является контейнером. Если видимость отключена, то функция не выполняет никаких действий.
-
@property bool
является_контейнером
();Функция, возвращающая возможность для этого элемента содержать дочерние элементы.
-
void
присоединить_элемент
(ЭлементИнфопанелиэлемент
);Присоединение переданного элемента в контейнер этого элемента.
Если этот
элемент
не является контейнером, или у переданного элемента уже есть родитель, то функция не выполняет никаких действий.Параметры:
ЭлементИнфопанели
элемент
Элемент, который требуется добавить в контейнер этого элемента.
-
ЭлементИнфопанели
отсоединить_элемент
(ЭлементИнфопанелиэлемент
);Отсоединение дочернего элемента от этого элемента инфопанели.
Параметры:
ЭлементИнфопанели
элемент
отсоединяемый
элемент
Возвращаемое значение:
Отсоединённый
элемент
, если он присуствовал в этом элементе,null
, если нет. -
ЭлементИнфопанели
отсоединить_элемент
(stringимя_элемента
);Отсоединение дочернего элемента по его имени от этого элемента инфопанели.
Параметры:
string
имя_элемента
имя отсоединяемого элемента
Возвращаемое значение:
Отсоединённый элемент, если он присуствовал в этом элементе,
null
, если нет. -
ЭлементИнфопанели
получить_элемент
(stringимя_элемента
);Получение ссылки на дочерний элемент по его имени.
Параметры:
string
имя_элемента
имя искомого элемента
Возвращаемое значение:
Искомый элемент, если он присуствовал в этом элементе,
null
, если нет. -
static ЭлементИнфопанели
из_JSON
(JSONValuejson_значение0
, DDDМенеджерменеджер0
);Функция генерации нового элемента инфопанели (возможно, с присоединёнными элементами) из JSON-объекта.
Параметры:
JSONValue
json_значение0
JSON-объект с информацией об элементе (см. ЭлементИнфопанели_JSON).
DDDМенеджер
менеджер0
менеджер программы, объект класса DDDМенеджер
Возвращаемое значение:
Созданный элемент инфопанели, если генерация прошла успешно,
null
в противном случае.
-