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 #include "ags/plugins/core/button.h"
24 #include "ags/engine/ac/button.h"
25 
26 namespace AGS3 {
27 namespace Plugins {
28 namespace Core {
29 
AGS_EngineStartup(IAGSEngine * engine)30 void Button::AGS_EngineStartup(IAGSEngine *engine) {
31 	ScriptContainer::AGS_EngineStartup(engine);
32 
33 	SCRIPT_METHOD(Button::Animate^4, Button::Animate);
34 	SCRIPT_METHOD(Button::GetText^1, Button::GetText);
35 	SCRIPT_METHOD(Button::SetText^1, Button::SetText);
36 	SCRIPT_METHOD(Button::get_ClipImage, Button::GetClipImage);
37 	SCRIPT_METHOD(Button::set_ClipImage, Button::SetClipImage);
38 	SCRIPT_METHOD(Button::get_Font, Button::GetFont);
39 	SCRIPT_METHOD(Button::set_Font, Button::SetFont);
40 	SCRIPT_METHOD(Button::get_Graphic, Button::GetGraphic);
41 	SCRIPT_METHOD(Button::get_MouseOverGraphic, Button::GetMouseOverGraphic);
42 	SCRIPT_METHOD(Button::set_MouseOverGraphic, Button::SetMouseOverGraphic);
43 	SCRIPT_METHOD(Button::get_NormalGraphic, Button::GetNormalGraphic);
44 	SCRIPT_METHOD(Button::set_NormalGraphic, Button::SetNormalGraphic);
45 	SCRIPT_METHOD(Button::get_PushedGraphic, Button::GetPushedGraphic);
46 	SCRIPT_METHOD(Button::set_PushedGraphic, Button::SetPushedGraphic);
47 	SCRIPT_METHOD(Button::get_Text, Button::GetText_New);
48 	SCRIPT_METHOD(Button::set_Text, Button::SetText);
49 	SCRIPT_METHOD(Button::get_TextColor, Button::GetTextColor);
50 	SCRIPT_METHOD(Button::set_TextColor, Button::SetTextColor);
51 }
52 
Animate(ScriptMethodParams & params)53 void Button::Animate(ScriptMethodParams &params) {
54 	PARAMS5(GUIButton *, butt, int, view, int, loop, int, speed, int, repeat);
55 	AGS3::Button_Animate(butt, view, loop, speed, repeat);
56 }
57 
GetText(ScriptMethodParams & params)58 void Button::GetText(ScriptMethodParams &params) {
59 	PARAMS2(GUIButton *, butt, char *, buffer);
60 	AGS3::Button_GetText(butt, buffer);
61 }
62 
SetText(ScriptMethodParams & params)63 void Button::SetText(ScriptMethodParams &params) {
64 	PARAMS2(GUIButton *, butt, const char *, newtx);
65 	AGS3::Button_SetText(butt, newtx);
66 }
67 
GetClipImage(ScriptMethodParams & params)68 void Button::GetClipImage(ScriptMethodParams &params) {
69 	PARAMS1(GUIButton *, butt);
70 	params._result = AGS3::Button_GetClipImage(butt);
71 }
72 
SetClipImage(ScriptMethodParams & params)73 void Button::SetClipImage(ScriptMethodParams &params) {
74 	PARAMS2(GUIButton *, butt, int, newval);
75 	AGS3::Button_SetClipImage(butt, newval);
76 }
77 
GetFont(ScriptMethodParams & params)78 void Button::GetFont(ScriptMethodParams &params) {
79 	PARAMS1(GUIButton *, butt);
80 	params._result = AGS3::Button_GetFont(butt);
81 }
82 
SetFont(ScriptMethodParams & params)83 void Button::SetFont(ScriptMethodParams &params) {
84 	PARAMS2(GUIButton *, butt, int, newFont);
85 	AGS3::Button_SetFont(butt, newFont);
86 }
87 
GetGraphic(ScriptMethodParams & params)88 void Button::GetGraphic(ScriptMethodParams &params) {
89 	PARAMS1(GUIButton *, butt);
90 	params._result = AGS3::Button_GetGraphic(butt);
91 }
92 
GetMouseOverGraphic(ScriptMethodParams & params)93 void Button::GetMouseOverGraphic(ScriptMethodParams &params) {
94 	PARAMS1(GUIButton *, butt);
95 	params._result = AGS3::Button_GetMouseOverGraphic(butt);
96 }
97 
SetMouseOverGraphic(ScriptMethodParams & params)98 void Button::SetMouseOverGraphic(ScriptMethodParams &params) {
99 	PARAMS2(GUIButton *, guil, int, slotn);
100 	AGS3::Button_SetMouseOverGraphic(guil, slotn);
101 }
102 
GetNormalGraphic(ScriptMethodParams & params)103 void Button::GetNormalGraphic(ScriptMethodParams &params) {
104 	PARAMS1(GUIButton *, butt);
105 	params._result = AGS3::Button_GetNormalGraphic(butt);
106 }
107 
SetNormalGraphic(ScriptMethodParams & params)108 void Button::SetNormalGraphic(ScriptMethodParams &params) {
109 	PARAMS2(GUIButton *, guil, int, slotn);
110 	AGS3::Button_SetNormalGraphic(guil, slotn);
111 }
112 
GetPushedGraphic(ScriptMethodParams & params)113 void Button::GetPushedGraphic(ScriptMethodParams &params) {
114 	PARAMS1(GUIButton *, butt);
115 	params._result = AGS3::Button_GetPushedGraphic(butt);
116 }
117 
SetPushedGraphic(ScriptMethodParams & params)118 void Button::SetPushedGraphic(ScriptMethodParams &params) {
119 	PARAMS2(GUIButton *, guil, int, slotn);
120 	AGS3::Button_SetPushedGraphic(guil, slotn);
121 }
122 
GetText_New(ScriptMethodParams & params)123 void Button::GetText_New(ScriptMethodParams &params) {
124 	PARAMS1(GUIButton *, butt);
125 	params._result = AGS3::Button_GetText_New(butt);
126 }
127 
GetTextColor(ScriptMethodParams & params)128 void Button::GetTextColor(ScriptMethodParams &params) {
129 	PARAMS1(GUIButton *, butt);
130 	params._result = AGS3::Button_GetTextColor(butt);
131 }
132 
SetTextColor(ScriptMethodParams & params)133 void Button::SetTextColor(ScriptMethodParams &params) {
134 	PARAMS2(GUIButton *, butt, int, newcol);
135 	AGS3::Button_SetTextColor(butt, newcol);
136 }
137 
138 } // namespace Core
139 } // namespace Plugins
140 } // namespace AGS3
141