25 #include "common/scummsys.h" 26 #include "common/str.h" 27 #include "common/keyboard.h" 29 #include "gui/object.h" 30 #include "gui/ThemeEngine.h" 44 kCloseWithResultCmd =
'clsr',
51 friend class EventRecorder;
65 bool _handlingMouseWheel;
68 Dialog(
int x,
int y,
int w,
int h,
bool scale =
false);
71 virtual int runModal();
73 bool isVisible()
const override {
return _visible; }
75 void releaseFocus()
override;
76 void setFocusWidget(
Widget *widget);
77 Widget *getFocusWidget() {
return _focusedWidget; }
79 bool isDragging()
const {
return _dragWidget !=
nullptr; }
81 void reflowLayout()
override;
82 virtual void lostFocus();
83 virtual void receivedFocus(
int x = -1,
int y = -1) {
if (x >= 0 && y >= 0) handleMouseMoved(x, y, 0); }
88 Widget *findWidget(uint32 type);
92 void markWidgetsAsDirty();
98 virtual void drawDialog(DrawLayer layerToDraw,
bool resetClipping =
true);
102 virtual void handleTickle();
103 virtual void handleMouseDown(
int x,
int y,
int button,
int clickCount);
104 virtual void handleMouseUp(
int x,
int y,
int button,
int clickCount);
105 virtual void handleMouseWheel(
int x,
int y,
int direction)
override;
108 virtual void handleMouseMoved(
int x,
int y,
int button);
109 virtual void handleMouseLeft(
int button) {}
111 void handleCommand(
CommandSender *sender, uint32 cmd, uint32 data)
override;
113 Widget *findWidget(
int x,
int y);
114 Widget *findWidget(
const char *name);
115 void removeWidget(
Widget *widget)
override;
117 void setDefaultFocusedWidget();
119 void registerTickleWidget(
Widget *widget)
override;
120 void unregisterTickleWidget(
Widget *widget)
override;
122 void setResult(
int result) { _result = result; }
123 int getResult()
const {
return _result; }
Definition: gui-manager.h:85
Definition: printman.h:30
DialogBackground
Dialog background type.
Definition: ThemeEngine.h:239
Definition: algorithm.h:29
Definition: keyboard.h:294