1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef AGS_ENGINE_AC_GUICONTROL_H
24 #define AGS_ENGINE_AC_GUICONTROL_H
25 
26 #include "ags/shared/gui/gui_object.h"
27 #include "ags/shared/gui/gui_button.h"
28 #include "ags/shared/gui/gui_inv.h"
29 #include "ags/shared/gui/gui_label.h"
30 #include "ags/shared/gui/gui_listbox.h"
31 #include "ags/shared/gui/gui_slider.h"
32 #include "ags/shared/gui/gui_textbox.h"
33 #include "ags/engine/ac/dynobj/script_gui.h"
34 
35 namespace AGS3 {
36 
37 using AGS::Shared::GUIObject;
38 using AGS::Shared::GUIButton;
39 using AGS::Shared::GUIInvWindow;
40 using AGS::Shared::GUILabel;
41 using AGS::Shared::GUIListBox;
42 using AGS::Shared::GUISlider;
43 using AGS::Shared::GUITextBox;
44 
45 GUIObject *GetGUIControlAtLocation(int xx, int yy);
46 int         GUIControl_GetVisible(GUIObject *guio);
47 void        GUIControl_SetVisible(GUIObject *guio, int visible);
48 int         GUIControl_GetClickable(GUIObject *guio);
49 void        GUIControl_SetClickable(GUIObject *guio, int enabled);
50 int         GUIControl_GetEnabled(GUIObject *guio);
51 void        GUIControl_SetEnabled(GUIObject *guio, int enabled);
52 int         GUIControl_GetID(GUIObject *guio);
53 ScriptGUI *GUIControl_GetOwningGUI(GUIObject *guio);
54 GUIButton *GUIControl_GetAsButton(GUIObject *guio);
55 GUIInvWindow *GUIControl_GetAsInvWindow(GUIObject *guio);
56 GUILabel *GUIControl_GetAsLabel(GUIObject *guio);
57 GUIListBox *GUIControl_GetAsListBox(GUIObject *guio);
58 GUISlider *GUIControl_GetAsSlider(GUIObject *guio);
59 GUITextBox *GUIControl_GetAsTextBox(GUIObject *guio);
60 int         GUIControl_GetX(GUIObject *guio);
61 void        GUIControl_SetX(GUIObject *guio, int xx);
62 int         GUIControl_GetY(GUIObject *guio);
63 void        GUIControl_SetY(GUIObject *guio, int yy);
64 int         GUIControl_GetZOrder(GUIObject *guio);
65 void        GUIControl_SetZOrder(GUIObject *guio, int zorder);
66 void        GUIControl_SetPosition(GUIObject *guio, int xx, int yy);
67 int         GUIControl_GetWidth(GUIObject *guio);
68 void        GUIControl_SetWidth(GUIObject *guio, int newwid);
69 int         GUIControl_GetHeight(GUIObject *guio);
70 void        GUIControl_SetHeight(GUIObject *guio, int newhit);
71 void        GUIControl_SetSize(GUIObject *guio, int newwid, int newhit);
72 void        GUIControl_SendToBack(GUIObject *guio);
73 void        GUIControl_BringToFront(GUIObject *guio);
74 
75 } // namespace AGS3
76 
77 #endif
78