about summary refs log tree commit diff stats
path: root/src/tools
diff options
context:
space:
mode:
authorlizhuoheng <114734429+LiZhuoheng-coder@users.noreply.github.com>2023-04-23 16:52:30 +0800
committerGitHub <noreply@github.com>2023-04-23 10:52:30 +0200
commit531cb899437778732a2e5372268102acdbe28f51 (patch)
tree1c215ea1213f71037b94dae41cae1f1cc98fc3e0 /src/tools
parent24ead2f125464a8e1faef3248523f5d42e9898ef (diff)
downloadbox64-531cb899437778732a2e5372268102acdbe28f51.tar.gz
box64-531cb899437778732a2e5372268102acdbe28f51.zip
Added more gtk3 wrapped functions (#731)
Diffstat (limited to 'src/tools')
-rwxr-xr-xsrc/tools/gtkclass.c337
1 files changed, 330 insertions, 7 deletions
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
index ee22a59c..22474a2f 100755
--- a/src/tools/gtkclass.c
+++ b/src/tools/gtkclass.c
@@ -221,6 +221,39 @@ static void bridgeGInitiallyUnownedClass(my_GInitiallyUnownedClass_t* class)
 }
 #undef SUPERGO
 
+// ----- GamesScoresImporterClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GamesScoresImporter, importOldScores, void, (void *self, void* context, void* new_scores_dir, void *error), 4, self, context, new_scores_dir, error);
+
+#define SUPERGO() \
+    GO(importOldScores, vFpppp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGamesScoresImporterClass(my_GamesScoresImporterClass_t* class)
+{
+    wrapGObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GamesScoresImporter (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGamesScoresImporterClass(my_GamesScoresImporterClass_t* class)
+{
+    unwrapGObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GamesScoresImporter (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGamesScoresImporterClass(my_GamesScoresImporterClass_t* class)
+{
+    bridgeGObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GamesScoresImporter (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
+
 // ----- GApplicationClass ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(GApplication, startup, void, (void* application), 1, application);
@@ -876,13 +909,77 @@ static void bridgeGtkMisc2Class(my_GtkMisc2Class_t* class)
     bridgeGtkWidget2Class(&class->parent_class);
 }
 
+// ----- GtkMisc3Class ------
+// no wrapper x86 -> natives of callbacks
+
+#define SUPERGO()           \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkMisc3Class(my_GtkMisc3Class_t* class)
+{
+    wrapGtkWidget3Class(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkMisc3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkMisc3Class(my_GtkMisc3Class_t* class)
+{
+    unwrapGtkWidget3Class(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkMisc3 (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkMisc3Class(my_GtkMisc3Class_t* class)
+{
+    bridgeGtkWidget3Class(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkMisc3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkGtkMenuButtonClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkMenuButton, activate, void, (void* self), 1, self);
+
+#define SUPERGO() \
+    GO(activate, vFp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkMenuButtonClass(my_GtkMenuButtonClass_t* class)
+{
+    wrapGtkWidget3Class(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkMenuButton (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkMenuButtonClass(my_GtkMenuButtonClass_t* class)
+{
+    unwrapGtkWidget3Class(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkMenuButton (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkMenuButtonClass(my_GtkMenuButtonClass_t* class)
+{
+    bridgeGtkWidget3Class(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkMenuButton (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
 
 // ----- GtkLabel2Class ------
 // wrapper x86 -> natives of callbacks
-WRAPPER(GtkMisc2, move_cursor, void, (void* label, int step, int count, int extend_selection), 4, label, step, count, extend_selection);
-WRAPPER(GtkMisc2, copy_clipboard, void, (void* label), 1, label);
-WRAPPER(GtkMisc2, populate_popup, void, (void* label, void* menu), 2, label, menu);
-WRAPPER(GtkMisc2, activate_link, int, (void* label, void* uri), 2, label, uri);
+WRAPPER(GtkLabel2, move_cursor, void, (void* label, int step, int count, int extend_selection), 4, label, step, count, extend_selection);
+WRAPPER(GtkLabel2, copy_clipboard, void, (void* label), 1, label);
+WRAPPER(GtkLabel2, populate_popup, void, (void* label, void* menu), 2, label, menu);
+WRAPPER(GtkLabel2, activate_link, int, (void* label, void* uri), 2, label, uri);
 
 #define SUPERGO() \
     GO(move_cursor, vFpiii);    \
@@ -894,7 +991,7 @@ WRAPPER(GtkMisc2, activate_link, int, (void* label, void* uri), 2, label, uri);
 static void wrapGtkLabel2Class(my_GtkLabel2Class_t* class)
 {
     wrapGtkMisc2Class(&class->parent_class);
-    #define GO(A, W) class->A = reverse_##A##_GtkMisc2 (W, class->A)
+    #define GO(A, W) class->A = reverse_##A##_GtkLabel2 (W, class->A)
     SUPERGO()
     #undef GO
 }
@@ -902,7 +999,7 @@ static void wrapGtkLabel2Class(my_GtkLabel2Class_t* class)
 static void unwrapGtkLabel2Class(my_GtkLabel2Class_t* class)
 {   
     unwrapGtkMisc2Class(&class->parent_class);
-    #define GO(A, W)   class->A = find_##A##_GtkMisc2 (class->A)
+    #define GO(A, W)   class->A = find_##A##_GtkLabel2 (class->A)
     SUPERGO()
     #undef GO
 }
@@ -910,12 +1007,52 @@ static void unwrapGtkLabel2Class(my_GtkLabel2Class_t* class)
 static void bridgeGtkLabel2Class(my_GtkLabel2Class_t* class)
 {
     bridgeGtkMisc2Class(&class->parent_class);
-    #define GO(A, W) autobridge_##A##_GtkMisc2 (W, class->A)
+    #define GO(A, W) autobridge_##A##_GtkLabel2 (W, class->A)
     SUPERGO()
     #undef GO
 }
 #undef SUPERGO
 
+// ----- GtkLabel3Class ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkLabel3, move_cursor, void, (void* label, int step, int count, int extend_selection), 4, label, step, count, extend_selection);
+WRAPPER(GtkLabel3, copy_clipboard, void, (void* label), 1, label);
+WRAPPER(GtkLabel3, populate_popup, void, (void* label, void* menu), 2, label, menu);
+WRAPPER(GtkLabel3, activate_link, int, (void* label, void* uri), 2, label, uri);
+
+#define SUPERGO() \
+    GO(move_cursor, vFpiii);    \
+    GO(copy_clipboard, vFp);    \
+    GO(populate_popup, vFpp);   \
+    GO(activate_link, iFpp);    \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkLabel3Class(my_GtkLabel3Class_t* class)
+{
+    wrapGtkMisc3Class(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkLabel3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkLabel3Class(my_GtkLabel3Class_t* class)
+{
+    unwrapGtkMisc3Class(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkLabel3 (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkLabel3Class(my_GtkLabel3Class_t* class)
+{
+    bridgeGtkMisc3Class(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkLabel3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
 // ----- GtkTreeView2Class ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(GtkTreeView2, set_scroll_adjustments, void, (void* tree_view, void* hadjustment, void* vadjustment), 3, tree_view, hadjustment, vadjustment);
@@ -1336,6 +1473,51 @@ static void bridgeGtkButton2Class(my_GtkButton2Class_t* class)
 
 #undef SUPERGO
 
+// ----- GtkButton3Class ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkButton3, pressed, void,  (void* button), 1, button);
+WRAPPER(GtkButton3, released, void, (void* button), 1, button);
+WRAPPER(GtkButton3, clicked, void,  (void* button), 1, button);
+WRAPPER(GtkButton3, enter, void,    (void* button), 1, button);
+WRAPPER(GtkButton3, leave, void,    (void* button), 1, button);
+WRAPPER(GtkButton3, activate, void, (void* button), 1, button);
+
+#define SUPERGO()               \
+    GO(pressed, vFp);           \
+    GO(released, vFp);          \
+    GO(clicked, vFp);           \
+    GO(enter, vFp);             \
+    GO(leave, vFp);             \
+    GO(activate, vFp);          \
+
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkButton3Class(my_GtkButton3Class_t* class)
+{
+    wrapGtkBin3Class(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkButton3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkButton3Class(my_GtkButton3Class_t* class)
+{
+    unwrapGtkBin3Class(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkButton3 (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkButton3Class(my_GtkButton3Class_t* class)
+{
+    bridgeGtkBin3Class(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkButton3 (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
 // ----- GtkComboBox2Class ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(GtkComboBox2, changed, void, (void* combo_box), 1, combo_box);
@@ -1875,6 +2057,147 @@ static void bridgeGtkGrid3Class(my_GtkGrid3Class_t* class)
 
 #undef SUPERGO
 
+// ----- GtkEventControllerClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkEventController, set_widget, void, (void* controller, void* widget), 2, controller, widget);
+WRAPPER(GtkEventController, unset_widget, void, (void* controller), 1, controller);
+WRAPPER(GtkEventController, handle_event, int, (void *controller, void *event, double x, double y), 4, controller, event, x, y);
+WRAPPER(GtkEventController, reset, void, (void* controller), 1, controller);
+WRAPPER(GtkEventController, handle_crossing, void, (void *controller, void *crossing, double x, double y), 4, controller, crossing, x, y);
+WRAPPER(GtkEventController, filter_event, void, (void *controller, void *event), 2, controller, event);
+
+#define SUPERGO()               \
+    GO(set_widget, vFpp);       \
+    GO(unset_widget, vFp);      \
+    GO(handle_event, iFppdd);   \
+    GO(reset, vFp);             \
+    GO(handle_crossing, vFppdd);\
+    GO(filter_event, vFpp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkEventControllerClass(my_GtkEventControllerClass_t* class)
+{
+    wrapGObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkEventController(W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkEventControllerClass(my_GtkEventControllerClass_t* class)
+{
+    unwrapGObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkEventController (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkEventControllerClass(my_GtkEventControllerClass_t* class)
+{
+    bridgeGObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkEventController (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkGestureClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkGesture, check, void, (void* gesture), 1, gesture);
+WRAPPER(GtkGesture, begin, void, (void *gesture, void *sequence), 2, gesture, sequence);
+WRAPPER(GtkGesture, update, void, (void *gesture, void *sequence), 2, gesture, sequence);
+WRAPPER(GtkGesture, end, void, (void *gesture, void *sequence), 2, gesture, sequence);
+WRAPPER(GtkGesture, cancel, void, (void *gesture, void *sequence), 2, gesture, sequence);
+WRAPPER(GtkGesture, sequence_state_changed, void, (void *gesture, void *sequence, int state), 3, gesture, sequence, state);
+
+#define SUPERGO()              \
+    GO(check, vFp);            \
+    GO(begin, vFpp);           \
+    GO(update, vFpp);          \
+    GO(end, vFpp);             \
+    GO(cancel, vFpp);          \
+    GO(sequence_state_changed, vFppi);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkGestureClass(my_GtkGestureClass_t* class)
+{
+    wrapGtkEventControllerClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkGesture(W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkGestureClass(my_GtkGestureClass_t* class)
+{
+    unwrapGtkEventControllerClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkGesture (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkGestureClass(my_GtkGestureClass_t* class)
+{
+    bridgeGtkEventControllerClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkGesture (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkGestureSingleClass ------
+// wrap (so bridge all calls, just in case)
+static void wrapGtkGestureSingleClass(my_GtkGestureSingleClass_t* class)
+{
+    wrapGtkGestureClass(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkGestureSingleClass(my_GtkGestureSingleClass_t* class)
+{
+    unwrapGtkGestureClass(&class->parent_class);
+}
+// autobridge
+static void bridgeGtkGestureSingleClass(my_GtkGestureSingleClass_t* class)
+{
+    bridgeGtkGestureClass(&class->parent_class);
+}
+
+// ----- GtkGestureClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GtkGestureLongPress, pressed, void, (void *gesture, double x, double y), 3, gesture, x, y);
+WRAPPER(GtkGestureLongPress, cancelled, void, (void *cancelled), 1, cancelled);
+
+#define SUPERGO()              \
+    GO(pressed, vFpdd);          \
+    GO(cancelled, vFp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkGestureLongPressClass(my_GtkGestureLongPressClass_t* class)
+{
+    wrapGtkGestureSingleClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkGestureLongPress(W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkGestureLongPressClass(my_GtkGestureLongPressClass_t* class)
+{
+    unwrapGtkGestureSingleClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkGestureLongPress (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkGestureLongPressClass(my_GtkGestureLongPressClass_t* class)
+{
+    bridgeGtkGestureSingleClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkGestureLongPress (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
 // ----- AtkObjectClass ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(AtkObject, get_name, void*, (void* accessible), 1, accessible);