ddd.infopanel
Модуль, определяющий класс Инфопанель, который позволяет добавлять на экран двумерные перекрывающие сцену панели, на них можно размещать какую-либо информацию, например, картинки, текст или анимацию.
Также определён класс ресурсов ЗагруженныеИнфопанели, позволяющий получать объекты Инфопанель из файлов-ресурсов json-формата с расширением ".ip". Экземпляр этого класса присутствует в объекте DDDМенеджер. Рекомендуется получать объекты класса Инфопанель, созданные из json-файлов, через него.
-
enum
ТипКоординат
: int;Типы координат местоположения инфопанели:
- Абсолютно - координаты в пикселях
- Относительно - x относительно ширины окна, y относительно высоты окна
- ОтносительноX - x,y относительно ширины окна
- ОтносительноY - x,y относительно высоты окна
-
enum JSON_TYPE[string]
Инфопанель_JSON
;Инфопанель в json-файле:
- имя (строковый) - имя инфопанели в программе
- тип_координат (строковый) - как именно задаются координаты расположения инфопанели, см. ТипКоординат
- координаты (массив из 4-х значений типа float) - координаты инфопанели: [ координата x левой границы, координата y нижней границы, ширина, высота ]
- элементы - массив объектов ЭлементИнфопанели
-
class
Инфопанель
;Класс, позволяющий добавлять на экран двумерные перекрывающие сцену панели (изначально прозрачные), на них можно размещать какую-либо информацию, например, картинки, текст или анимацию.
В инфопанель добавляются объекты класса ЭлементИнфопанели или его подклассов. В контейнере инфопанели они содержатся в виде ассоциативного массива, т.е. имена добавленных элементов должны быть уникальны в пределах всей инфопанели.
Во все конструкторы необходимо передавать ссылку на менеджер программы, т.к. он требуется для создания и визуализации текста.-
this(string
имя0
, DDDМенеджерменеджер0
);Конструктор, принимающий имя и ссылку на DDDМенеджер этой программы.
Параметры:
string
имя0
имя новой инфопанели
DDDМенеджер
менеджер0
менеджер программы, объект класса DDDМенеджер
-
this(string
имя0
, DDDМенеджерменеджер0
, ТипКоординаттип0
, floatx0
, floaty0
, floatширина0
, floatвысота0
);Конструктор, принимающий имя, ссылку на DDDМенеджер этой программы и координаты расположения.
Отрицательные координаты
x0
и/илиy0
задают положение от конца экрана (x0
от правого края,y0
от верхнего).
Параметры:
string
имя0
имя новой инфопанели
DDDМенеджер
менеджер0
менеджер программы, объект класса DDDМенеджер
ТипКоординат
тип0
тип передаваемых координат, см. ТипКоординат
float
x0
координата x левой границы инфопанели
float
y0
координата y нижней границы инфопанели
float
ширина0
ширина инфопанели
float
высота0
высота инфопанели
-
void
задать_координаты
(ТипКоординаттип0
, floatx0
, floaty0
, floatширина0
, floatвысота0
);Функция, задающая координаты расположения этой инфопанели.
Отрицательные координаты
x0
и/илиy0
задают положение от конца экрана (x0
от правого края,y0
от верхнего).
Параметры:
ТипКоординат
тип0
тип передаваемых координат, см. ТипКоординат
float
x0
координата x левой границы инфопанели
float
y0
координата y нижней границы инфопанели
float
ширина0
ширина инфопанели
float
высота0
высота инфопанели
-
string
toString
();Вывод этой инфопанели в строковое представление.
-
void
задать_видимость
(boolвключено0
);Функция, позволяющая включить или выключить видимость этой инфопанели.
-
@property bool
получить_видимость
();Функция, возвращающая значение видимости этой инфопанели.
-
void
поменять_видимость
();Функция, позволяющая переключить видимость этой инфопанели.
-
@property string
получить_имя
();Функция, возвращающая значение имени этой инфопанели.
-
void
присоединить_элемент
(ЭлементИнфопанелиэлемент
);Присоединение элемента к этой инфопанели.
Параметры:
ЭлементИнфопанели
элемент
присоединяемый
элемент
-
ЭлементИнфопанели
отсоединить_элемент
(ЭлементИнфопанелиэлемент
);Отсоединение элемента от этой инфопанели.
Параметры:
ЭлементИнфопанели
элемент
отсоединяемый
элемент
Возвращаемое значение:
Отсоединённый
элемент
, если он присуствовал в этой инфопанели,null
, если нет. -
ЭлементИнфопанели
отсоединить_элемент
(stringимя_элемента
);Отсоединение элемента от этой инфопанели по его имени.
Параметры:
string
имя_элемента
имя отсоединяемого элемента
Возвращаемое значение:
Отсоединённый элемент, если он присуствовал в этой инфопанели,
null
, если нет. -
ЭлементИнфопанели
получить_элемент
(stringимя_элемента
);Получение ссылки на элемент этой инфопанели по его имени.
Параметры:
string
имя_элемента
имя искомого элемента
Возвращаемое значение:
Искомый элемент, если он присуствовал в этой инфопанели,
null
, если нет. -
void
рисовать
();Вывод этой инфопанели на экран. Если видимость отключена, то функция не выполняет никаких действий.
-
static Инфопанель
из_JSON
(JSONValuejson_значение0
, DDDМенеджерменеджер0
);Функция генерации новой инфопанели (со всеми присоединёнными элементами) из JSON-объекта.
Параметры:
JSONValue
json_значение0
JSON-объект с информацией об инфопанели (см. Инфопанель_JSON).
DDDМенеджер
менеджер0
менеджер программы, объект класса DDDМенеджер
Возвращаемое значение:
Созданная инфопанель, если генерация прошла успешно,
null
в противном случае.
-
-
class
ЗагруженныеИнфопанели
: ddd.resources.ЗагруженныеРесурсы!(Инфопанель).ЗагруженныеРесурсы;Класс-контейнер ресурсов объектов класса Инфопанель.
Экземпляр этого класса присутствует в объекте DDDМенеджер. Рекомендуется получать объекты класса Инфопанель, созданные из json-файлов, через него.
-
this(ИменаРесурсов
имена_ресурсов0
, DDDМенеджерменеджер0
);Конструктор, принимающий ссылку на объект типа ИменаРесурсов, в котором уже должны храниться имена всех доступных файлов ресурсов, и на менеджер программы.
Параметры:
ИменаРесурсов
имена_ресурсов0
объект типа ИменаРесурсов, в котором уже должны храниться имена всех доступных файлов ресурсов
DDDМенеджер
менеджер0
менеджер программы, объект класса DDDМенеджер
-
protected bool
загрузить_один
(stringимя
);Функция загрузки в контейнер одного файла с ресурсом.
Возвращаемое значение:
true
, если файл удачно загрузился,false
в противном случае.
-