23 #ifndef QDENGINE_QDCORE_QD_INTERFACE_SCREEN_H 24 #define QDENGINE_QDCORE_QD_INTERFACE_SCREEN_H 26 #include "common/keyboard.h" 28 #include "qdengine/parser/xml_fwd.h" 29 #include "qdengine/xmath.h" 30 #include "qdengine/qdcore/qd_interface_object_base.h" 31 #include "qdengine/qdcore/qd_object_list_container.h" 32 #include "qdengine/qdcore/qd_resource_dispatcher.h" 33 #include "qdengine/qdcore/qd_music_track.h" 34 #include "qdengine/system/graphics/gr_screen_region.h" 35 #include "qdengine/system/input/mouse_input.h" 40 class qdInterfaceElement;
41 class qdInterfaceElementState;
55 bool redraw(
int dx = 0,
int dy = 0)
const;
57 bool pre_redraw(
bool force_full_redraw =
false);
77 return _elements.get_list();
84 bool char_input_handler(
int vkey);
96 bool hide_element(
const char *element_name,
bool temporary_hide =
true);
105 bool init(
bool is_game_active =
true);
126 void update_personage_buttons();
128 float autohide_time()
const {
129 return _autohide_time;
131 void set_autohide_time(
float time) {
132 _autohide_time = time;
135 const Vect2i &autohide_offset()
const {
136 return _autohide_offset;
138 void set_autohide_offset(
const Vect2i &offset) {
139 _autohide_offset = offset;
148 _music_track = track;
152 return _music_track.has_file_name();
155 void set_autohide_phase(
float ph) {
156 _autohide_phase = ph;
161 return _modal_caller;
164 _modal_caller = caller;
177 sorted_element_list_t _sorted_elements;
180 bool sort_elements();
186 float _autohide_time;
191 float _autohide_phase;
202 #endif // QDENGINE_QDCORE_QD_INTERFACE_SCREEN_H bool keyboard_handler(Common::KeyCode vkey)
Обработчик ввода с клавиатуры.
bool load_script(const xml::tag *p)
Загрузка данных из скрипта.
bool mouse_handler(int x, int y, mouseDispatcher::mouseEvent ev)
Обработчик событий мыши.
bool has_references(const qdResource *p) const
Возвращает true, если на ресурс есть ссылки.
Definition: qd_interface_screen.h:91
const qdMusicTrack & music_track() const
Фоновая музыка.
Definition: qd_interface_screen.h:143
Поименованный объект.
Definition: qd_named_object.h:70
void set_music_track(const qdMusicTrack &track)
Устанавливает фоновую музыку.
Definition: qd_interface_screen.h:147
bool is_registered(const qdResource *res, const T *res_owner=NULL) const
Возвращает true, если ресурс res (опционально - с владельцем res_owner) есть в списке.
Definition: qd_resource_dispatcher.h:62
const char * name() const
Возвращает имя объекта.
Definition: qd_named_object_base.h:40
qdInterfaceElement * get_element(const char *el_name)
Поиск элемента по имени.
bool rename_element(qdInterfaceElement *p, const char *name)
Изменение имени элемента.
bool save_script(Common::WriteStream &fh, int indent=0) const
Запись данных в скрипт.
qdResource * add_resource(const Common::Path file_name, const qdInterfaceElementState *res_owner)
Добавляет ресурс file_name с владельцем owner.
Состояние элемента интерфейса.
Definition: qd_interface_element_state.h:156
Definition: qd_object_list_container.h:32
Definition: qd_resource.h:34
bool hide_element(const char *element_name, bool temporary_hide=true)
Прячет элемент.
bool init(bool is_game_active=true)
Инициализация экрана при заходе на него.
bool build_visible_elements_list()
Строит сортированный список видимых элементов.
bool remove_element(qdInterfaceElement *p)
Удаление элемента из списка.
bool has_music_track() const
Возвращает true, если экрану задана фоновая музыка.
Definition: qd_interface_screen.h:151
Базовый класс для элементов GUI.
Definition: qd_interface_element.h:41
Definition: qd_music_track.h:43
void lock_resources()
Устанавливает, что ресурсы экрана не надо выгружать при выходе с него.
Definition: qd_interface_screen.h:111
XML тег.
Definition: xml_tag.h:33
void unlock_resources()
Устанавливает, что ресурсы экрана надо выгружать при выходе с него.
Definition: qd_interface_screen.h:115
Базовый класс для игровых ресурсов.
Definition: console.h:28
Базовый класс для всех интерфейсных объектов.
Definition: qd_interface_object_base.h:32
bool quant(float dt)
Обсчет логики, параметр - время в секундах.
bool is_element_in_list(const qdInterfaceElement *el) const
Возвращает true, если элемент есть в списке.
const element_list_t & element_list() const
Возвращает список элементов экрана.
Definition: qd_interface_screen.h:76
Интерфейсный экран.
Definition: qd_interface_screen.h:44
mouseEvent
События.
Definition: mouse_input.h:41
bool show_element(const char *element_name)
Показывает элемент.
void activate_personage_buttons(const qdNamedObject *p)
Включает кнопки, связанные с персонажем p, выключает кнопки остальных персонажей. ...
bool remove_resource(const Common::Path file_name, const qdInterfaceElementState *res_owner)
Удаляет ресурс file_name с владельцем owner.
bool add_element(qdInterfaceElement *p)
Добавление элемента.
bool is_locked() const
Возвращает true, если ресурсы экрана не надо выгружать при выходе с него.
Definition: qd_interface_screen.h:119
bool redraw(int dx=0, int dy=0) const
Отрисовка экрана.