ScummVM API documentation
gui_univ.h
1 
2 /* ScummVM - Graphic Adventure Engine
3  *
4  * ScummVM is the legal property of its developers, whose names
5  * are too numerous to list here. Please refer to the COPYRIGHT
6  * file distributed with this source distribution.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef M4_GUI_GUI_UNIV_H
24 #define M4_GUI_GUI_UNIV_H
25 
26 #include "m4/m4_types.h"
27 #include "m4/gui/gui.h"
28 #include "m4/graphics/gr_font.h"
29 #include "m4/graphics/gr_buff.h"
30 
31 namespace M4 {
32 
33 typedef void (*RefreshFunc)(void *myScreen, void *theRectList, void *destBuffer, int32 destX, int32 destY);
34 typedef void (*HotkeyCB)(void *myParam, void *myContent);
35 typedef bool (*EventHandler)(void *scrnContent, int32 eventType,
36  int32 parm1, int32 parm2, int32 parm3, bool *currScreen);
37 
38 struct Hotkey {
39  Hotkey *next;
40  int32 myKey;
41  HotkeyCB callback;
42 };
43 
47 struct ScreenContext {
48  ScreenContext *infront;
49  ScreenContext *behind;
50  int32 x1, y1, x2, y2;
51  int32 scrnType;
52  uint32 scrnFlags;
53  void *scrnContent;
54  RefreshFunc redraw;
55  EventHandler evtHandler;
56  Hotkey *scrnHotkeys;
57 };
58 
59 struct ButtonDrawRec {
60  void *dialog;
61  Buffer *scrBuf;
62  M4sprite *sprite;
63  int32 x1, y1, x2, y2;
64  int16 el_type;
65  bool fillMe, pressed;
66 };
67 
68 } // End of namespace M4
69 
70 #endif
Definition: gui_univ.h:59
Definition: m4_types.h:67
Definition: gui_univ.h:47
Definition: database.h:28
Definition: gui.h:31
Definition: gui_univ.h:38