22 #ifndef QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_H 23 #define QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_H 25 #include "common/keyboard.h" 27 #include "qdengine/system/sound/snd_sound.h" 28 #include "qdengine/system/input/mouse_input.h" 29 #include "qdengine/system/graphics/gr_screen_region.h" 30 #include "qdengine/qdcore/qd_animation.h" 31 #include "qdengine/qdcore/qd_interface_object_base.h" 32 #include "qdengine/qdcore/qd_sound_handle.h" 38 class qdInterfaceElementState;
107 return (_option_ID != OPTION_NONE);
120 return _r + g_engine->screen_offset();
129 return _animation.size_x();
133 return _animation.size_y();
138 return _last_screen_region;
147 return _screen_depth;
157 virtual bool redraw()
const;
158 virtual bool need_redraw()
const;
159 virtual bool post_redraw();
170 virtual void hover_clear() { }
176 virtual bool init(
bool is_game_active =
true) = 0;
179 virtual bool quant(
float dt);
196 virtual bool hit_test(
int x,
int y)
const;
231 void clear_screen_region() {
232 _last_screen_region = grScreenRegion_EMPTY;
266 #endif // QDENGINE_QDCORE_QD_INTERFACE_ELEMENT_H virtual const Vect2i r() const
Возвращает экранные координаты центра элемента.
Definition: qd_interface_element.h:119
счётчик
Definition: qd_interface_element.h:77
virtual bool redraw() const
Отрисовка элемента.
virtual element_type get_element_type() const =0
Возвращает тип элемента.
состояние неактивно
Definition: qd_interface_element.h:83
определенный персонаж персонаж активен/неактивен, 1/0.
Definition: qd_interface_element.h:61
состояние активно
Definition: qd_interface_element.h:85
Кадр анимации.
Definition: qd_animation_frame.h:31
static void destroy_element(qdInterfaceElement *p)
Уничтожение элемента интерфейса.
Класс для управления звуками.
Definition: qd_sound_handle.h:31
кнопка
Definition: qd_interface_element.h:69
bool is_locked() const
Возвращает true, если элемент заблокирован.
Definition: qd_interface_element.h:215
option_ID_t option_ID() const
Возвращает идентификатор настройки игры, связанной с элементом.
Definition: qd_interface_element.h:98
звук вкл/выкл, 1/0.
Definition: qd_interface_element.h:53
virtual bool load_script_body(const xml::tag *p)=0
Загрузка данных из скрипта.
virtual bool hit_test(int x, int y) const
Возвращает true, если точка с экранными координатами (x,у) попадает в элемент.
virtual int size_x() const
Возвращает размер элемента по горизонтали в пикселах.
Definition: qd_interface_element.h:128
Состояние элемента интерфейса.
Definition: qd_interface_element_state.h:156
Definition: qd_resource.h:34
virtual bool quant(float dt)
Обсчет логики, параметр - время в секундах.
bool set_state(const qdInterfaceElementState *p)
Включает состояние элемента.
слайдер
Definition: qd_interface_element.h:71
сэйв
Definition: qd_interface_element.h:73
virtual bool char_input_handler(int vkey)
Обработчик ввода символов с клавиатуры.
Definition: qd_interface_element.h:166
окно с текстами
Definition: qd_interface_element.h:75
Базовый класс для элементов GUI.
Definition: qd_interface_element.h:41
громкость музыки, [0, 255].
Definition: qd_interface_element.h:59
qdResource * add_resource(const Common::Path file_name, const qdInterfaceElementState *res_owner)
Добавляет ресурс file_name с владельцем owner.
virtual bool save_script_body(Common::WriteStream &fh, int indent=0) const =0
Запись данных в скрипт.
void show()
Показывает элемент.
Definition: qd_interface_element.h:206
void set_lock(bool state)
Блокировка/разблокировка элемента.
Definition: qd_interface_element.h:219
static qdInterfaceElement * create_element(element_type tp)
Создание элемента интерфейса заданного типа.
XML тег.
Definition: xml_tag.h:33
void set_screen_depth(int v)
Устанавливает экранную глубину элемента.
Definition: qd_interface_element.h:142
virtual bool init(bool is_game_active=true)=0
Инициализация элемента.
Базовый класс для игровых ресурсов.
Definition: console.h:28
Базовый класс для всех интерфейсных объектов.
Definition: qd_interface_object_base.h:32
void set_option_ID(option_ID_t id)
Устанавливает идентификатор настройки игры, связанной с элементом.
Definition: qd_interface_element.h:102
Анимация.
Definition: qd_animation.h:57
bool set_animation(const qdAnimation *anm, int anm_flags=0)
Устанавливает анимацию для элемента.
virtual int size_y() const
Возвращает размер элемента по вертикали в пикселах.
Definition: qd_interface_element.h:132
фон
Definition: qd_interface_element.h:67
громкость звука, [0, 255].
Definition: qd_interface_element.h:55
virtual bool mouse_handler(int x, int y, mouseDispatcher::mouseEvent ev)=0
Обработчик событий мыши.
state_status_t
Статус состояния.
Definition: qd_interface_element.h:81
bool remove_resource(const Common::Path file_name, const qdInterfaceElementState *res_owner)
Удаляет ресурс file_name с владельцем owner.
element_type
Типы элементов интерфейса.
Definition: qd_interface_element.h:65
bool save_script(Common::WriteStream &fh, int indent=0) const
Запись данных в скрипт.
void hide()
Прячет элемент.
Definition: qd_interface_element.h:202
mouseEvent
События.
Definition: mouse_input.h:41
virtual int option_value() const
Возвращает значение настройки игры, связанной с элементом.
Definition: qd_interface_element.h:110
bool load_script(const xml::tag *p)
Загрузка данных из скрипта.
virtual bool set_option_value(int value)
Устанавливает значение настройки игры, связанной с элементом.
Definition: qd_interface_element.h:114
Прямоугольная область на экране.
Definition: gr_screen_region.h:31
bool is_visible() const
Возвращает true, если элемент не спрятан.
Definition: qd_interface_element.h:210
музыка вкл/выкл, 1/0.
Definition: qd_interface_element.h:57
option_ID_t
Идентификаторы настроек игры.
Definition: qd_interface_element.h:50
virtual bool keyboard_handler(Common::KeyCode vkey)=0
Обработчик ввода с клавиатуры.
void set_r(const Vect2i &v)
Устанавливает экранные координаты центра элемента.
Definition: qd_interface_element.h:123
int screen_depth() const
Возвращает экранную глубину эелмента.
Definition: qd_interface_element.h:146
bool linked_to_option() const
Возвращает true, если с элементом связана настройка игры.
Definition: qd_interface_element.h:106
state_status_t state_status(const qdInterfaceElementState *p) const
Возвращает статус состояния.
работа состояния закончилась
Definition: qd_interface_element.h:87