22#ifndef BURIED_WINDOW_H
23#define BURIED_WINDOW_H
25#include "common/events.h"
26#include "common/rect.h"
27#include "common/list.h"
44 virtual bool onEraseBackground() {
return false; }
48 virtual void onTimer(uint timer) {}
49 virtual void onKillFocus(
Window *newWindow) {}
50 virtual void onSetFocus(
Window *oldWindow) {}
51 virtual void onPaint() {}
52 virtual void onLButtonUp(
const Common::Point &point, uint flags) {}
53 virtual void onLButtonDown(
const Common::Point &point, uint flags) {}
54 virtual void onMouseMove(
const Common::Point &point, uint flags) {}
55 virtual void onMButtonUp(
const Common::Point &point, uint flags) {}
56 virtual void onRButtonUp(
const Common::Point &point, uint flags) {}
57 virtual void onRButtonDown(
const Common::Point &point, uint flags) {}
58 virtual bool onSetCursor(uint message);
59 virtual void onEnable(
bool enable) {}
61 void invalidateRect(
const Common::Rect &rect,
bool erase =
true);
62 void invalidateWindow(
bool erase =
true) { invalidateRect(_rect, erase); }
63 Window *getParent()
const {
return _parent; }
68 void enableWindow(
bool enable);
69 bool isWindowEnabled()
const;
70 void setWindowPos(
const Window *insertAfter,
int x,
int y,
int width,
int height, uint flags);
79 void showWindow(WindowShowMode showMode);
80 bool isWindowVisible()
const {
return _visible; }
84 kWindowPosNoFlags = 0,
86 kWindowPosNoSize = (1 << 0),
87 kWindowPosNoZOrder = (1 << 1),
88 kWindowPosHideWindow = (1 << 2),
89 kWindowPosShowWindow = (1 << 3),
90 kWindowPosNoMove = (1 << 4),
91 kWindowPosNoActivate = (1 << 5)
97 void sendMessage(
Message *message);
98 void postMessage(
Message *message);
113 uint setTimer(uint elapse);
114 bool killTimer(uint timer);
119 bool _enabled, _visible;
127extern const Window *kWindowPosTop;
128extern const Window *kWindowPosTopMost;
uint32 CustomEventType
Definition: events.h:212
Definition: algorithm.h:29
Definition: keyboard.h:294