ScummVM API documentation
QDEngine::qdInterfaceElement Class Referenceabstract

Базовый класс для элементов GUI. More...

#include <qd_interface_element.h>

Inheritance diagram for QDEngine::qdInterfaceElement:
QDEngine::qdInterfaceObjectBase QDEngine::qdNamedObjectBase QDEngine::qdInterfaceBackground QDEngine::qdInterfaceButton QDEngine::qdInterfaceCounter QDEngine::qdInterfaceSave QDEngine::qdInterfaceSlider QDEngine::qdInterfaceTextWindow

Public Types

enum  option_ID_t {
  OPTION_NONE = 0, OPTION_SOUND, OPTION_SOUND_VOLUME, OPTION_MUSIC,
  OPTION_MUSIC_VOLUME, OPTION_ACTIVE_PERSONAGE
}
 Идентификаторы настроек игры. More...
 
enum  element_type {
  EL_BACKGROUND, EL_BUTTON, EL_SLIDER, EL_SAVE,
  EL_TEXT_WINDOW, EL_COUNTER
}
 Типы элементов интерфейса. More...
 
enum  state_status_t { STATE_INACTIVE, STATE_ACTIVE, STATE_DONE }
 Статус состояния. More...
 

Public Member Functions

 qdInterfaceElement (const qdInterfaceElement &el)
 
qdInterfaceElementoperator= (const qdInterfaceElement &el)
 
virtual element_type get_element_type () const =0
 Возвращает тип элемента.
 
option_ID_t option_ID () const
 Возвращает идентификатор настройки игры, связанной с элементом.
 
void set_option_ID (option_ID_t id)
 Устанавливает идентификатор настройки игры, связанной с элементом.
 
bool linked_to_option () const
 Возвращает true, если с элементом связана настройка игры.
 
virtual int option_value () const
 Возвращает значение настройки игры, связанной с элементом.
 
virtual bool set_option_value (int value)
 Устанавливает значение настройки игры, связанной с элементом.
 
virtual const Vect2i r () const
 Возвращает экранные координаты центра элемента.
 
void set_r (const Vect2i &v)
 Устанавливает экранные координаты центра элемента.
 
virtual int size_x () const
 Возвращает размер элемента по горизонтали в пикселах.
 
virtual int size_y () const
 Возвращает размер элемента по вертикали в пикселах.
 
virtual grScreenRegion screen_region () const
 
const grScreenRegionlast_screen_region () const
 
void set_screen_depth (int v)
 Устанавливает экранную глубину элемента.
 
int screen_depth () const
 Возвращает экранную глубину эелмента.
 
bool save_script (Common::WriteStream &fh, int indent=0) const
 Запись данных в скрипт.
 
bool load_script (const xml::tag *p)
 Загрузка данных из скрипта.
 
virtual bool redraw () const
 Отрисовка элемента.
 
virtual bool need_redraw () const
 
virtual bool post_redraw ()
 
virtual bool mouse_handler (int x, int y, mouseDispatcher::mouseEvent ev)=0
 Обработчик событий мыши.
 
virtual bool keyboard_handler (Common::KeyCode vkey)=0
 Обработчик ввода с клавиатуры.
 
virtual bool char_input_handler (int vkey)
 Обработчик ввода символов с клавиатуры.
 
virtual void hover_clear ()
 
virtual bool init (bool is_game_active=true)=0
 Инициализация элемента. More...
 
virtual bool quant (float dt)
 Обсчет логики, параметр - время в секундах.
 
const qdAnimationanimation () const
 
bool set_animation (const qdAnimation *anm, int anm_flags=0)
 Устанавливает анимацию для элемента.
 
bool set_state (const qdInterfaceElementState *p)
 Включает состояние элемента.
 
qdResourceadd_resource (const Common::Path file_name, const qdInterfaceElementState *res_owner)
 Добавляет ресурс file_name с владельцем owner.
 
bool remove_resource (const Common::Path file_name, const qdInterfaceElementState *res_owner)
 Удаляет ресурс file_name с владельцем owner.
 
virtual bool hit_test (int x, int y) const
 Возвращает true, если точка с экранными координатами (x,у) попадает в элемент.
 
state_status_t state_status (const qdInterfaceElementState *p) const
 Возвращает статус состояния.
 
void hide ()
 Прячет элемент.
 
void show ()
 Показывает элемент.
 
bool is_visible () const
 Возвращает true, если элемент не спрятан.
 
bool is_locked () const
 Возвращает true, если элемент заблокирован.
 
void set_lock (bool state)
 Блокировка/разблокировка элемента.
 
- Public Member Functions inherited from QDEngine::qdInterfaceObjectBase
 qdInterfaceObjectBase (const qdInterfaceObjectBase &obj)
 
void set_owner (qdInterfaceObjectBase *p)
 Устанавливает владельца объекта.
 
qdInterfaceObjectBaseowner () const
 Возвращает указатель на владельца объекта.
 
- Public Member Functions inherited from QDEngine::qdNamedObjectBase
 qdNamedObjectBase (const qdNamedObjectBase &obj)
 
qdNamedObjectBaseoperator= (const qdNamedObjectBase &obj)
 
const char * name () const
 Возвращает имя объекта.
 
void set_name (const char *p)
 Устанавливает имя объекта.
 

Static Public Member Functions

static qdInterfaceElementcreate_element (element_type tp)
 Создание элемента интерфейса заданного типа.
 
static void destroy_element (qdInterfaceElement *p)
 Уничтожение элемента интерфейса.
 

Protected Member Functions

virtual bool save_script_body (Common::WriteStream &fh, int indent=0) const =0
 Запись данных в скрипт.
 
virtual bool load_script_body (const xml::tag *p)=0
 Загрузка данных из скрипта.
 
void clear_screen_region ()
 
- Protected Member Functions inherited from QDEngine::qdInterfaceObjectBase
qdInterfaceObjectBaseoperator= (const qdInterfaceObjectBase &obj)
 

Detailed Description

Базовый класс для элементов GUI.

Member Enumeration Documentation

◆ option_ID_t

Идентификаторы настроек игры.

Enumerator
OPTION_SOUND 

звук вкл/выкл, 1/0.

OPTION_SOUND_VOLUME 

громкость звука, [0, 255].

OPTION_MUSIC 

музыка вкл/выкл, 1/0.

OPTION_MUSIC_VOLUME 

громкость музыки, [0, 255].

OPTION_ACTIVE_PERSONAGE 

определенный персонаж персонаж активен/неактивен, 1/0.

◆ element_type

Типы элементов интерфейса.

Enumerator
EL_BACKGROUND 

фон

EL_BUTTON 

кнопка

EL_SLIDER 

слайдер

EL_SAVE 

сэйв

EL_TEXT_WINDOW 

окно с текстами

EL_COUNTER 

счётчик

◆ state_status_t

Статус состояния.

Enumerator
STATE_INACTIVE 

состояние неактивно

STATE_ACTIVE 

состояние активно

STATE_DONE 

работа состояния закончилась

Member Function Documentation

◆ init()

virtual bool QDEngine::qdInterfaceElement::init ( bool  is_game_active = true)
pure virtual

Инициализация элемента.

Вызывается каждый раз при заходе на экран, которому принадлежит элемент.

Implemented in QDEngine::qdInterfaceButton, QDEngine::qdInterfaceTextWindow, QDEngine::qdInterfaceSlider, QDEngine::qdInterfaceCounter, QDEngine::qdInterfaceSave, and QDEngine::qdInterfaceBackground.


The documentation for this class was generated from the following file: