25#include "common/array.h"
26#include "common/stack.h"
27#include "got/gfx/gfx_surface.h"
28#include "got/messages.h"
29#include "graphics/screen.h"
34#define FRAME_DELAY (1000 / FRAME_RATE)
62 void setBorderSize(
size_t borderSize);
63 size_t borderSize()
const {
67 return _bounds.
width();
69 int16 height()
const {
88 bool _needsRedraw =
true;
99 return _timeoutCtr != 0;
119 virtual void drawElements();
233#define MESSAGE(NAME) \
235 virtual bool msg##NAME(const NAME##Message &e) { \
236 for (Common::Array<UIElement *>::iterator it = _children.begin(); \
237 it != _children.end(); ++it) { \
238 if ((*it)->msg##NAME(e)) \
245 bool send(const Common::String &viewName, const NAME##Message &msg) { \
246 UIElement *view = UIElement::findViewGlobally(viewName); \
248 return view->msg##NAME(msg); \
250 bool send(const NAME##Message &msg) { \
251 return msg##NAME(msg); \
283 int actionToKeyFlag(
int action)
const;
284 void rotatePalette();
294 void processDemoEvent(
byte ev);
305#define MESSAGE(NAME) \
306 bool msg##NAME(const NAME##Message &e) override { \
307 return !_views.empty() ? focusedView()->msg##NAME(e) : false; \
323 virtual bool isDemo()
const = 0;
356 return _views.empty() ? nullptr : _views.top();
363 return _views.size() < 2 ? nullptr : _views[_views.size() - 2];
370 return _views.empty() ? nullptr : _views[0];
418extern Events *g_events;
UIElement * firstView() const
Definition: events.h:369
UIElement * priorView() const
Definition: events.h:362
void drawElements() override
UIElement * focusedView() const
Definition: events.h:355
bool isInCombat() const
Definition: events.h:382
void replaceView(UIElement *ui, bool replaceAllViews=false, bool fadeOutIn=false) override
Graphics::Screen * getScreen() const
Definition: events.h:389
void close() override
Definition: events.h:413
bool tick() override
Definition: events.h:406
bool isPresent(const Common::String &name) const
void addView(UIElement *ui) override
void draw() override
Definition: events.h:401
virtual bool shouldQuit() const =0
Definition: gfx_surface.h:30
Gfx::GfxSurface getSurface(bool innerBounds=false) const
bool needsRedraw() const
Definition: events.h:134
virtual void replaceView(UIElement *ui, bool replaceAllViews=false, bool fadeOutIn=false)
const Common::String & getName() const
Definition: events.h:188
virtual UIElement * findView(const Common::String &name)
bool isDelayActive() const
Definition: events.h:98
virtual void setBounds(const Common::Rect &r)
Definition: events.h:174
virtual bool msgMouseMove(const MouseMoveMessage &msg)
Definition: events.h:217
void cancelDelay()
Definition: events.h:105
Common::Rect getBounds() const
Definition: events.h:181
int getRandomNumber(int minNumber, int maxNumber)
virtual void addView(UIElement *ui)
T height() const
Definition: rect.h:218
T width() const
Definition: rect.h:217
Definition: messages.h:49