Move emulator-base native code into its own non-Gradle directory.
[SquirrelJME.git] / emulators / emulator-base-native / c / mle_form.c
blob893fd9beeeb7179c679ade0aa3bbcd8dcde8accd
1 /* -*- Mode: C++; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // SquirrelJME
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the Mozilla Public License Version 2.0.
7 // See license.mkd for licensing and copyright information.
8 // -------------------------------------------------------------------------*/
10 #include "squirreljme.h"
11 #include "cc_squirreljme_jvm_mle_UIFormShelf.h"
13 // The class to forward to
14 #define SWINGUIFORM_CLASSNAME "cc/squirreljme/emulator/uiform/SwingFormShelf"
16 // Descriptors for calls
17 #define SWINGUIFORM_CALLBACK_DISPLAY_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;Lcc/squirreljme/jvm/mle/callbacks/UIDisplayCallback;)V"
18 #define SWINGUIFORM_CALLBACK_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;Lcc/squirreljme/jvm/mle/callbacks/UIFormCallback;)V"
19 #define SWINGUIFORM_DISPLAYS_DESC "()[Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;"
20 #define SWINGUIFORM_DISPLAYCURRENT_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;)Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;"
21 #define SWINGUIFORM_DISPLAYSHOWZ_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;Z)V"
22 #define SWINGUIFORM_DISPLAYSHOW_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;)V"
23 #define SWINGUIFORM_EQUALSDISPLAY_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;)Z"
24 #define SWINGUIFORM_EQUALSDRAWABLE_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDrawableBracket;Lcc/squirreljme/jvm/mle/brackets/UIDrawableBracket;)Z"
25 #define SWINGUIFORM_EQUALSFORM_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;)Z"
26 #define SWINGUIFORM_EQUALSITEM_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;)Z"
27 #define SWINGUIFORM_EQUALSWIDGET_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;)Z"
28 #define SWINGUIFORM_FLUSHEVENTS_DESC "()V"
29 #define SWINGUIFORM_FORMDELETE_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;)V"
30 #define SWINGUIFORM_FORMITEMATPOSITION_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;I)Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;"
31 #define SWINGUIFORM_FORMITEMCOUNT_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;)I"
32 #define SWINGUIFORM_FORMITEMPOSITIONGET_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;)I"
33 #define SWINGUIFORM_FORMITEMPOSITIONSET_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;I)V"
34 #define SWINGUIFORM_FORMITEMREMOVE_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;I)Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;"
35 #define SWINGUIFORM_FORMNEW_DESC "()Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;"
36 #define SWINGUIFORM_INJECTOR_DESC "()Lcc/squirreljme/jvm/mle/callbacks/UIFormCallback;"
37 #define SWINGUIFORM_ITEMDELETE_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;)V"
38 #define SWINGUIFORM_ITEMFORM_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;)Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;"
39 #define SWINGUIFORM_ITEMNEW_DESC "(I)Lcc/squirreljme/jvm/mle/brackets/UIItemBracket;"
40 #define SWINGUIFORM_FORMREFRESH_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIFormBracket;)V"
41 #define SWINGUIFORM_LATER_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;I)V"
42 #define SWINGUIFORM_METRIC_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIDisplayBracket;I)I"
43 #define SWINGUIFORM_WIDGETPROPERTY_INT_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;III)V"
44 #define SWINGUIFORM_WIDGETPROPERTY_STR_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;IILjava/lang/String;)V"
45 #define SWINGUIFORM_WIDGETPROPERTY_GET_INT_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;II)I"
46 #define SWINGUIFORM_WIDGETPROPERTY_GET_STR_DESC "(Lcc/squirreljme/jvm/mle/brackets/UIWidgetBracket;II)Ljava/lang/String;"
48 JNIEXPORT void JNICALL Impl_mle_FormShelf_callbackDisplay(JNIEnv* env,
49 jclass classy, jobject display, jobject callback)
51 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
52 "callback", SWINGUIFORM_CALLBACK_DISPLAY_DESC, display, callback);
55 JNIEXPORT void JNICALL Impl_mle_FormShelf_callback(JNIEnv* env,
56 jclass classy, jobject form, jobject callback)
58 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
59 "callback", SWINGUIFORM_CALLBACK_DESC, form, callback);
62 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_displays(JNIEnv* env,
63 jclass classy)
65 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
66 "displays", SWINGUIFORM_DISPLAYS_DESC);
69 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_displayCurrent(JNIEnv* env,
70 jclass classy, jobject display)
72 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
73 "displayCurrent", SWINGUIFORM_DISPLAYCURRENT_DESC,
74 display);
77 JNIEXPORT void JNICALL Impl_mle_FormShelf_displayShowZ(JNIEnv* env,
78 jclass classy, jobject display, jboolean shown)
80 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
81 "displayShow", SWINGUIFORM_DISPLAYSHOWZ_DESC,
82 display, shown);
85 JNIEXPORT void JNICALL Impl_mle_FormShelf_displayShow(JNIEnv* env,
86 jclass classy, jobject display, jobject form)
88 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
89 "displayShow", SWINGUIFORM_DISPLAYSHOW_DESC,
90 display, form);
93 JNIEXPORT jboolean JNICALL Impl_mle_FormShelf_equalsDisplay(JNIEnv* env,
94 jclass classy, jobject a, jobject b)
96 return forwardCallStaticBoolean(env,SWINGUIFORM_CLASSNAME,
97 "equals", SWINGUIFORM_EQUALSDISPLAY_DESC,
98 a, b);
101 JNIEXPORT jboolean JNICALL Impl_mle_FormShelf_equalsDrawable(JNIEnv* env,
102 jclass classy, jobject a, jobject b)
104 return forwardCallStaticBoolean(env,SWINGUIFORM_CLASSNAME,
105 "equals", SWINGUIFORM_EQUALSDRAWABLE_DESC,
106 a, b);
109 JNIEXPORT jboolean JNICALL Impl_mle_FormShelf_equalsForm(JNIEnv* env,
110 jclass classy, jobject a, jobject b)
112 return forwardCallStaticBoolean(env,SWINGUIFORM_CLASSNAME,
113 "equals", SWINGUIFORM_EQUALSFORM_DESC,
114 a, b);
117 JNIEXPORT jboolean JNICALL Impl_mle_FormShelf_equalsItem(JNIEnv* env,
118 jclass classy, jobject a, jobject b)
120 return forwardCallStaticBoolean(env,SWINGUIFORM_CLASSNAME,
121 "equals", SWINGUIFORM_EQUALSITEM_DESC,
122 a, b);
125 JNIEXPORT jboolean JNICALL Impl_mle_FormShelf_equalsWidget(JNIEnv* env,
126 jclass classy, jobject a, jobject b)
128 return forwardCallStaticBoolean(env,SWINGUIFORM_CLASSNAME,
129 "equals", SWINGUIFORM_EQUALSWIDGET_DESC,
130 a, b);
133 JNIEXPORT void JNICALL Impl_mle_FormShelf_flushEvents(JNIEnv* env,
134 jclass classy)
136 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
137 "flushEvents", SWINGUIFORM_FLUSHEVENTS_DESC);
140 JNIEXPORT void JNICALL Impl_mle_FormShelf_formDelete(JNIEnv* env,
141 jclass classy, jobject form)
143 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
144 "formDelete", SWINGUIFORM_FORMDELETE_DESC,
145 form);
148 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_formItemAtPosition(JNIEnv* env,
149 jclass classy, jobject form, jint position)
151 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
152 "formItemAtPosition", SWINGUIFORM_FORMITEMATPOSITION_DESC,
153 form, position);
156 JNIEXPORT jint JNICALL Impl_mle_FormShelf_formItemCount(JNIEnv* env,
157 jclass classy, jobject form)
159 return forwardCallStaticInteger(env, SWINGUIFORM_CLASSNAME,
160 "formItemCount", SWINGUIFORM_FORMITEMCOUNT_DESC,
161 form);
164 JNIEXPORT jint JNICALL Impl_mle_FormShelf_formItemPositionGet(JNIEnv* env,
165 jclass classy, jobject form, jobject item)
167 return forwardCallStaticInteger(env, SWINGUIFORM_CLASSNAME,
168 "formItemPosition", SWINGUIFORM_FORMITEMPOSITIONGET_DESC,
169 form, item);
172 JNIEXPORT void JNICALL Impl_mle_FormShelf_formItemPositionSet(JNIEnv* env,
173 jclass classy, jobject form, jobject item, jint position)
175 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
176 "formItemPosition", SWINGUIFORM_FORMITEMPOSITIONSET_DESC,
177 form, item, position);
180 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_formItemRemove(JNIEnv* env,
181 jclass classy, jobject form, jint position)
183 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
184 "formItemRemove", SWINGUIFORM_FORMITEMREMOVE_DESC,
185 form, position);
188 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_formNew(JNIEnv* env,
189 jclass classy)
191 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
192 "formNew", SWINGUIFORM_FORMNEW_DESC);
195 JNIEXPORT void JNICALL Impl_mle_FormShelf_formRefresh(JNIEnv* env,
196 jclass classy, jobject form)
198 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
199 "formRefresh", SWINGUIFORM_FORMREFRESH_DESC, form);
202 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_injector(JNIEnv* env,
203 jclass classy)
205 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
206 "injector", SWINGUIFORM_INJECTOR_DESC);
209 JNIEXPORT void JNICALL Impl_mle_FormShelf_itemDelete(JNIEnv* env,
210 jclass classy, jobject form)
212 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
213 "itemDelete", SWINGUIFORM_ITEMDELETE_DESC,
214 form);
217 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_itemForm(JNIEnv* env,
218 jclass classy, jobject item)
220 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
221 "itemForm", SWINGUIFORM_ITEMFORM_DESC,
222 item);
225 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_itemNew(JNIEnv* env,
226 jclass classy, jint type)
228 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
229 "itemNew", SWINGUIFORM_ITEMNEW_DESC,
230 type);
233 JNIEXPORT void JNICALL Impl_mle_FormShelf_later(JNIEnv* env, jclass classy,
234 jobject displayKey, jint serialKey)
236 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
237 "later", SWINGUIFORM_LATER_DESC,
238 displayKey, serialKey);
241 JNIEXPORT jint JNICALL Impl_mle_FormShelf_metric(JNIEnv* env, jclass classy,
242 jobject display, jint metricId)
244 return forwardCallStaticInteger(env, SWINGUIFORM_CLASSNAME,
245 "metric", SWINGUIFORM_METRIC_DESC,
246 display, metricId);
249 JNIEXPORT void JNICALL Impl_mle_FormShelf_widgetPropertyInt(JNIEnv* env,
250 jclass classy, jobject item, jint property, jint sub, jint newValue)
252 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
253 "widgetProperty", SWINGUIFORM_WIDGETPROPERTY_INT_DESC,
254 item, property, sub, newValue);
257 JNIEXPORT void JNICALL Impl_mle_FormShelf_widgetPropertyStr(JNIEnv* env,
258 jclass classy, jobject item, jint property, jint sub, jobject newValue)
260 forwardCallStaticVoid(env, SWINGUIFORM_CLASSNAME,
261 "widgetProperty", SWINGUIFORM_WIDGETPROPERTY_STR_DESC,
262 item, property, sub, newValue);
265 JNIEXPORT jint JNICALL Impl_mle_FormShelf_widgetPropertyGetInt(JNIEnv* env,
266 jclass classy, jobject item, jint property, jint sub)
268 return forwardCallStaticInteger(env, SWINGUIFORM_CLASSNAME,
269 "widgetPropertyInt", SWINGUIFORM_WIDGETPROPERTY_GET_INT_DESC,
270 item, property, sub);
273 JNIEXPORT jobject JNICALL Impl_mle_FormShelf_widgetPropertyGetStr(JNIEnv* env,
274 jclass classy, jobject item, jint property, jint sub)
276 return forwardCallStaticObject(env, SWINGUIFORM_CLASSNAME,
277 "widgetPropertyStr", SWINGUIFORM_WIDGETPROPERTY_GET_STR_DESC,
278 item, property, sub);
281 static const JNINativeMethod mleFormMethods[] =
283 {"callback", SWINGUIFORM_CALLBACK_DISPLAY_DESC, (void*)Impl_mle_FormShelf_callbackDisplay},
284 {"callback", SWINGUIFORM_CALLBACK_DESC, (void*)Impl_mle_FormShelf_callback},
285 {"displays", SWINGUIFORM_DISPLAYS_DESC, (void*)Impl_mle_FormShelf_displays},
286 {"displayCurrent", SWINGUIFORM_DISPLAYCURRENT_DESC, (void*)Impl_mle_FormShelf_displayCurrent},
287 {"displayShow", SWINGUIFORM_DISPLAYSHOWZ_DESC, (void*)Impl_mle_FormShelf_displayShowZ},
288 {"displayShow", SWINGUIFORM_DISPLAYSHOW_DESC, (void*)Impl_mle_FormShelf_displayShow},
289 {"equals", SWINGUIFORM_EQUALSDISPLAY_DESC, (void*)Impl_mle_FormShelf_equalsDisplay},
290 {"equals", SWINGUIFORM_EQUALSDRAWABLE_DESC, (void*)Impl_mle_FormShelf_equalsDrawable},
291 {"equals", SWINGUIFORM_EQUALSFORM_DESC, (void*)Impl_mle_FormShelf_equalsForm},
292 {"equals", SWINGUIFORM_EQUALSITEM_DESC, (void*)Impl_mle_FormShelf_equalsItem},
293 {"equals", SWINGUIFORM_EQUALSWIDGET_DESC, (void*)Impl_mle_FormShelf_equalsWidget},
294 {"flushEvents", SWINGUIFORM_FLUSHEVENTS_DESC, (void*)Impl_mle_FormShelf_flushEvents},
295 {"formDelete", SWINGUIFORM_FORMDELETE_DESC, (void*)Impl_mle_FormShelf_formDelete},
296 {"formItemAtPosition", SWINGUIFORM_FORMITEMATPOSITION_DESC, (void*)Impl_mle_FormShelf_formItemAtPosition},
297 {"formItemCount", SWINGUIFORM_FORMITEMCOUNT_DESC, (void*)Impl_mle_FormShelf_formItemCount},
298 {"formItemPosition", SWINGUIFORM_FORMITEMPOSITIONGET_DESC, (void*)Impl_mle_FormShelf_formItemPositionGet},
299 {"formItemPosition", SWINGUIFORM_FORMITEMPOSITIONSET_DESC, (void*)Impl_mle_FormShelf_formItemPositionSet},
300 {"formItemRemove", SWINGUIFORM_FORMITEMREMOVE_DESC, (void*)Impl_mle_FormShelf_formItemRemove},
301 {"formNew", SWINGUIFORM_FORMNEW_DESC, (void*)Impl_mle_FormShelf_formNew},
302 {"formRefresh", SWINGUIFORM_FORMREFRESH_DESC, (void*)Impl_mle_FormShelf_formRefresh},
303 {"injector", SWINGUIFORM_INJECTOR_DESC, (void*)Impl_mle_FormShelf_injector},
304 {"itemDelete", SWINGUIFORM_ITEMDELETE_DESC, (void*)Impl_mle_FormShelf_itemDelete},
305 {"itemForm", SWINGUIFORM_ITEMFORM_DESC, (void*)Impl_mle_FormShelf_itemForm},
306 {"itemNew", SWINGUIFORM_ITEMNEW_DESC, (void*)Impl_mle_FormShelf_itemNew},
307 {"later", SWINGUIFORM_LATER_DESC, (void*)Impl_mle_FormShelf_later},
308 {"metric", SWINGUIFORM_METRIC_DESC, (void*)Impl_mle_FormShelf_metric},
309 {"widgetProperty", SWINGUIFORM_WIDGETPROPERTY_INT_DESC, (void*)Impl_mle_FormShelf_widgetPropertyInt},
310 {"widgetProperty", SWINGUIFORM_WIDGETPROPERTY_STR_DESC, (void*)Impl_mle_FormShelf_widgetPropertyStr},
311 {"widgetPropertyInt", SWINGUIFORM_WIDGETPROPERTY_GET_INT_DESC, (void*)Impl_mle_FormShelf_widgetPropertyGetInt},
312 {"widgetPropertyStr", SWINGUIFORM_WIDGETPROPERTY_GET_STR_DESC, (void*)Impl_mle_FormShelf_widgetPropertyGetStr},
315 jint JNICALL mleFormInit(JNIEnv* env, jclass classy)
317 return (*env)->RegisterNatives(env,
318 (*env)->FindClass(env, "cc/squirreljme/jvm/mle/UIFormShelf"),
319 mleFormMethods, sizeof(mleFormMethods) / sizeof(JNINativeMethod));