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, float x0, float y0, 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, float x0, float y0, 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(JSONValue json_значение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 в противном случае.