diff options
| author | lizhuoheng <114734429+LiZhuoheng-coder@users.noreply.github.com> | 2023-04-23 16:52:30 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-23 10:52:30 +0200 |
| commit | 531cb899437778732a2e5372268102acdbe28f51 (patch) | |
| tree | 1c215ea1213f71037b94dae41cae1f1cc98fc3e0 /src/tools | |
| parent | 24ead2f125464a8e1faef3248523f5d42e9898ef (diff) | |
| download | box64-531cb899437778732a2e5372268102acdbe28f51.tar.gz box64-531cb899437778732a2e5372268102acdbe28f51.zip | |
Added more gtk3 wrapped functions (#731)
Diffstat (limited to 'src/tools')
| -rwxr-xr-x | src/tools/gtkclass.c | 337 |
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); |