about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/include/gtkclass.h22
-rw-r--r--src/tools/gtkclass.c39
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrappedgtk3types.h1
-rw-r--r--src/wrapped/wrappedgdk3_private.h10
-rw-r--r--src/wrapped/wrappedgtk3.c22
-rw-r--r--src/wrapped/wrappedgtk3_private.h31
7 files changed, 110 insertions, 16 deletions
diff --git a/src/include/gtkclass.h b/src/include/gtkclass.h
index 974aa0a3..2252c94b 100644
--- a/src/include/gtkclass.h
+++ b/src/include/gtkclass.h
@@ -438,6 +438,21 @@ typedef struct my_GtkMisc3Class_s
   void (*_gtk_reserved4) (void);
 } my_GtkMisc3Class_t;
 
+typedef struct my_GtkImage3_s
+{
+  my_GtkMisc3_t parent;
+  void*         priv;
+} my_GtkImage3_t;
+
+typedef struct my_GtkImageClass_s
+{
+  my_GtkMisc3Class_t parent_class;
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkImage3Class_t;
+
 typedef struct my_GtkLabel2_s
 {
   my_GtkMisc2_t misc;
@@ -1243,13 +1258,13 @@ typedef struct my_GtkFixed2Class_s
 
 typedef struct my_GtkFixed3_s
 {
-  my_GtkWidget3_t     parent;
+  my_GtkContainer3_t      parent;
 } my_GtkFixed3_t;
 
 typedef struct my_GtkFixed3Class_s
 {
-  my_GtkWidget3Class_t  parent_class;
-  void*                 padding[8];
+  my_GtkContainer3Class_t parent_class;
+  void*                   padding[8];
 } my_GtkFixed3Class_t;
 
 typedef struct my_GDBusObjectManagerClient_s
@@ -2162,6 +2177,7 @@ GTKCLASS(GtkLabel2)                 \
 GTKCLASS(GtkLabel3)                 \
 GTKCLASS(GtkMisc2)                  \
 GTKCLASS(GtkMisc3)                  \
+GTKCLASS(GtkImage3)                 \
 GTKCLASS(GtkTreeView2)              \
 GTKCLASS(GtkBin2)                   \
 GTKCLASS(GtkBin3)                   \
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
index 97eac80d..569f346c 100644
--- a/src/tools/gtkclass.c
+++ b/src/tools/gtkclass.c
@@ -1149,6 +1149,35 @@ static void bridgeGtkMisc3Instance(my_GtkMisc3_t* class)
     bridgeGtkWidget3Instance(&class->parent);
 }
 
+// ----- GtkImage3Class ------
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkImage3Class(my_GtkImage3Class_t* class)
+{
+    wrapGtkMisc3Class(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkImage3Class(my_GtkImage3Class_t* class)
+{
+    unwrapGtkMisc3Class(&class->parent_class);
+}
+// autobridge
+static void bridgeGtkImage3Class(my_GtkImage3Class_t* class)
+{
+    bridgeGtkMisc3Class(&class->parent_class);
+}
+
+static void unwrapGtkImage3Instance(my_GtkImage3_t* class)
+{
+    unwrapGtkMisc3Instance(&class->parent);
+}
+// autobridge
+static void bridgeGtkImage3Instance(my_GtkImage3_t* class)
+{
+    bridgeGtkMisc3Instance(&class->parent);
+}
+
+
 // ----- GtkLabel2Class ------
 // wrapper x86 -> natives of callbacks
 WRAPPER(GtkLabel2, move_cursor, void, (void* label, int step, int count, int extend_selection), "piii", label, step, count, extend_selection);
@@ -1670,27 +1699,27 @@ static void bridgeGtkFixed2Instance(my_GtkFixed2_t* class)
 // wrap (so bridge all calls, just in case)
 static void wrapGtkFixed3Class(my_GtkFixed3Class_t* class)
 {
-    wrapGtkWidget3Class(&class->parent_class);
+    wrapGtkContainer3Class(&class->parent_class);
 }
 // unwrap (and use callback if not a native call anymore)
 static void unwrapGtkFixed3Class(my_GtkFixed3Class_t* class)
 {
-    unwrapGtkWidget3Class(&class->parent_class);
+    unwrapGtkContainer3Class(&class->parent_class);
 }
 // autobridge
 static void bridgeGtkFixed3Class(my_GtkFixed3Class_t* class)
 {
-    bridgeGtkWidget3Class(&class->parent_class);
+    bridgeGtkContainer3Class(&class->parent_class);
 }
 
 static void unwrapGtkFixed3Instance(my_GtkFixed3_t* class)
 {
-    unwrapGtkWidget3Instance(&class->parent);
+    unwrapGtkContainer3Instance(&class->parent);
 }
 // autobridge
 static void bridgeGtkFixed3Instance(my_GtkFixed3_t* class)
 {
-    bridgeGtkWidget3Instance(&class->parent);
+    bridgeGtkContainer3Instance(&class->parent);
 }
 
 // ----- MetaFrames2Class ------
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 6c4acab3..2ef24f1b 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -3757,6 +3757,7 @@ wrappedgtk3:
   - gtk_message_dialog_format_secondary_markup
   - gtk_message_dialog_format_secondary_text
   - gtk_style_context_get
+  - gtk_widget_style_get
 - uFupp:
   - gtk_timeout_add
 - vFpppi:
diff --git a/src/wrapped/generated/wrappedgtk3types.h b/src/wrapped/generated/wrappedgtk3types.h
index ce86636a..bfc7871d 100644
--- a/src/wrapped/generated/wrappedgtk3types.h
+++ b/src/wrapped/generated/wrappedgtk3types.h
@@ -54,6 +54,7 @@ typedef void* (*pFpipppppppi_t)(void*, int32_t, void*, void*, void*, void*, void
 	GO(gtk_message_dialog_format_secondary_markup, vFppV_t) \
 	GO(gtk_message_dialog_format_secondary_text, vFppV_t) \
 	GO(gtk_style_context_get, vFppV_t) \
+	GO(gtk_widget_style_get, vFppV_t) \
 	GO(gtk_timeout_add, uFupp_t) \
 	GO(gtk_enumerate_printers, vFpppi_t) \
 	GO(gtk_object_set_data_full, vFpppp_t) \
diff --git a/src/wrapped/wrappedgdk3_private.h b/src/wrapped/wrappedgdk3_private.h
index e763cc8e..21a39f08 100644
--- a/src/wrapped/wrappedgdk3_private.h
+++ b/src/wrapped/wrappedgdk3_private.h
@@ -89,15 +89,18 @@ GO(gdk_device_get_mode, uFp)
 GO(gdk_device_get_name, pFp)
 GO(gdk_device_get_n_axes, iFp)
 GO(gdk_device_get_n_keys, iFp)
+GO(gdk_device_get_position, vFpppp)
 GO(gdk_device_get_source, uFp)
 GO(gdk_device_get_state, vFpppp)
 GO(gdk_device_get_type, iFv)
 GO(gdk_device_set_axis_use, vFpuu)
+GO(gdk_device_manager_get_client_pointer, pFp)
 GO(gdk_device_manager_get_type, lFv)
 GO(gdk_device_set_key, vFpuuu)
 GO(gdk_device_set_mode, iFpu)
 GO(gdk_device_set_source, vFpi)
 GO(gdk_devices_list, pFv)
+GO(gdk_device_ungrab, vFpu)
 //GOM(gdk_display_add_client_message_filter, vFEpppp)
 GO(gdk_display_beep, vFp)
 GO(gdk_display_close, vFp)
@@ -108,6 +111,7 @@ GO(gdk_display_get_default_cursor_size, uFp)
 GO(gdk_display_get_default_group, pFp)
 GO(gdk_display_get_default_screen, pFp)
 GO(gdk_display_get_default_seat, pFp)
+GO(gdk_display_get_device_manager, pFp)
 GO(gdk_display_get_event, pFp)
 GO(gdk_display_get_maximal_cursor_size, vFppp)
 GO(gdk_display_get_name, pFp)
@@ -476,7 +480,9 @@ GO(gdk_region_union, vFpp)
 GO(gdk_region_union_with_rect, vFpp)
 GO(gdk_region_xor, vFpp)
 GO(gdk_rgba_free, vFp)
-GO(gdk_rgba_get_type, lFv)
+GO(gdk_rgba_get_type, LFv)
+GO(gdk_rgba_parse, iFpp)
+GO(gdk_rgba_to_string, pFp)
 GO(gdk_rgb_cmap_free, vFp)
 GO(gdk_rgb_cmap_new, pFpi)
 GO(gdk_rgb_colormap_ditherable, iFp)
@@ -506,6 +512,7 @@ GO(gdk_screen_get_monitor_geometry, vFpip)
 GO(gdk_screen_get_monitor_height_mm, iFpi)
 GO(gdk_screen_get_monitor_plug_name, pFpi)
 GO(gdk_screen_get_monitor_width_mm, iFpi)
+GO(gdk_screen_get_monitor_workarea, vFpip)
 GO(gdk_screen_get_n_monitors, iFp)
 GO(gdk_screen_get_number, iFp)
 GO(gdk_screen_get_primary_monitor, iFp)
@@ -616,6 +623,7 @@ GO(gdk_visual_get_type, LFv)
 GO(gdk_visual_get_visual_type, uFp)
 GO(gdk_visual_type_get_type, iFv)
 GO(gdk_wayland_toplevel_set_transient_for_exported, iFpp)
+GO(gdk_wayland_window_get_type, LFv)
 GO(gdk_wayland_window_set_transient_for_exported, iFpp)
 //GO(gdk_wcstombs, 
 GOM(gdk_window_add_filter, vFEppp)
diff --git a/src/wrapped/wrappedgtk3.c b/src/wrapped/wrappedgtk3.c
index 35cea840..2f812afb 100644
--- a/src/wrapped/wrappedgtk3.c
+++ b/src/wrapped/wrappedgtk3.c
@@ -38,6 +38,8 @@ typedef void*         (*pFpu_t)(void*, uint32_t);
 typedef void*         (*pFppi_t)(void*, void*, int);
 typedef void*         (*pFppp_t)(void*, void*, void*);
 typedef int           (*iFppp_t)(void*, void*, void*);
+typedef void          (*vFppp_t)(void*, void*, void*);
+typedef void          (*vFppA_t)(void*, void*, va_list);
 typedef void          (*vFpipV_t)(void*, int, void*, ...);
 
 #define ADDED_FUNCTIONS()                   \
@@ -52,6 +54,7 @@ GO(gtk_container_get_type, LFv_t)           \
 GO(gtk_misc_get_type, LFv_t)                \
 GO(gtk_label_get_type, LFv_t)               \
 GO(gtk_list_box_get_type, LFv_t)            \
+GO(gtk_image_get_type, LFv_t)               \
 GO(gtk_list_box_row_get_type, LFv_t)        \
 GO(gtk_tree_view_get_type, LFv_t)           \
 GO(gtk_window_get_type, LFv_t)              \
@@ -83,6 +86,8 @@ GO(g_log, vFpipV_t)                         \
 GO(g_module_open, pFpu_t)                   \
 GO(g_module_close, vFp_t)                   \
 GO(gtk_tree_store_newv, pFup_t)             \
+GO(gtk_widget_style_get_valist, vFppA_t)    \
+GO(gtk_widget_style_get_property, vFppp_t)  \
 
 #include "generated/wrappedgtk3types.h"
 
@@ -764,6 +769,22 @@ EXPORT void my3_gtk_style_context_get(x64emu_t* emu, void* context, uint32_t fla
     my->gtk_style_context_get_valist(context, flags, VARARGS);
 }
 
+EXPORT void my3_gtk_widget_style_get(x64emu_t* emu, void* widget, void* first, uintptr_t* b)
+{
+    #ifdef PREFER_CONVERT_VAARG
+    CREATE_VALIST_FROM_VAARG(b, emu->scratch, 2);
+    my->gtk_widget_style_get_valist(widget, first, VARARGS);
+    #else
+    void* prop = first;
+    int i=0;
+    do {
+        void* val = (void*)getVArgs(emu, 2, b, i++);
+        my->gtk_widget_style_get_property(widget, prop, val);
+        prop = (void*)getVArgs(emu, 2, b, i++);
+    } while (prop);
+    #endif
+}
+
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
@@ -787,6 +808,7 @@ EXPORT void my3_gtk_style_context_get(x64emu_t* emu, void* context, uint32_t fla
     SetGtkGrid3ID(my->gtk_grid_get_type());                     \
     SetGtkMisc3ID(my->gtk_misc_get_type());                     \
     SetGtkLabel3ID(my->gtk_label_get_type());                   \
+    SetGtkImage3ID(my->gtk_image_get_type());                   \
     SetGtkEventControllerID(my->gtk_event_controller_get_type());\
     SetGtkGestureID(my->gtk_gesture_get_type());                \
     SetGtkGestureSingleID(my->gtk_gesture_single_get_type());   \
diff --git a/src/wrapped/wrappedgtk3_private.h b/src/wrapped/wrappedgtk3_private.h
index 524be4e4..277ee68f 100644
--- a/src/wrapped/wrappedgtk3_private.h
+++ b/src/wrapped/wrappedgtk3_private.h
@@ -330,6 +330,7 @@ GO(gtk_button_new_with_mnemonic, pFp)
 GO(gtk_button_pressed, vFp)
 GO(gtk_button_released, vFp)
 GO(gtk_button_set_alignment, vFpff)
+GO(gtk_button_set_always_show_image, vFpi)
 GO(gtk_button_set_focus_on_click, vFpi)
 GO(gtk_button_set_image, vFpp)
 GO(gtk_button_set_image_position, vFpu)
@@ -338,6 +339,7 @@ GO(gtk_button_set_relief, vFpu)
 GO(gtk_button_set_use_stock, vFpi)
 GO(gtk_button_set_use_underline, vFpi)
 GO(gtk_buttons_type_get_type, LFv)
+GO(gtk_cairo_should_draw_window, iFpp)
 //GO(gtk_calendar_clear_marks, 
 //GO(gtk_calendar_display_options, 
 GO(gtk_calendar_display_options_get_type, LFv)
@@ -556,8 +558,10 @@ GO(gtk_color_button_get_type, LFv)
 GO(gtk_color_button_get_use_alpha, iFp)
 GO(gtk_color_button_new, pFv)
 GO(gtk_color_button_new_with_color, pFp)
+GO(gtk_color_button_new_with_rgba, pFp)
 GO(gtk_color_button_set_alpha, vFpW)
 GO(gtk_color_button_set_color, vFpp)
+GO(gtk_color_button_set_rgba, vFpp)
 GO(gtk_color_button_set_title, vFpp)
 GO(gtk_color_button_set_use_alpha, vFpi)
 GO(gtk_color_chooser_dialog_get_type, LFv)
@@ -690,6 +694,7 @@ GO(gtk_container_unset_focus_chain, vFp)
 GO(gtk_corner_type_get_type, LFv)
 GO(gtk_css_provider_get_default, pFv)
 GO(gtk_css_provider_get_named, pFpp)
+GO(gtk_css_provider_get_type, LFv)
 GO(gtk_css_provider_load_from_data, iFpplp)
 GO(gtk_css_provider_load_from_file, iFppp)
 GO(gtk_css_provider_load_from_path, iFppp)
@@ -1008,6 +1013,7 @@ GO(gtk_event_box_get_visible_window, iFp)
 GO(gtk_event_box_new, pFv)
 GO(gtk_event_box_set_above_child, vFpi)
 GO(gtk_event_box_set_visible_window, vFpi)
+GO(gtk_event_controller_set_propagation_phase, vFpi)
 GO(gtk_events_pending, iFv)
 GO(gtk_exit, vFi)
 GO(gtk_expander_get_expanded, iFp)
@@ -1196,6 +1202,7 @@ GO(gtk_gamma_curve_new, pFv)
 GO(gtk_gc_get, pFippu)
 GO(gtk_gc_release, vFp)
 GO(gtk_gesture_long_press_new, pFv)
+GO(gtk_gesture_pan_new, pFpi)
 GO(gtk_get_current_event, pFv)
 GO(gtk_get_current_event_state, iFp)
 GO(gtk_get_current_event_time, uFv)
@@ -1212,6 +1219,7 @@ GO(gtk_grab_get_current, pFv)
 GO(gtk_grab_remove, vFp)
 GO(gtk_grid_attach, vFppiiii)
 GO(gtk_grid_get_type, LFv)
+GO(gtk_grid_new, pFv)
 GO(gtk_grid_set_column_homogeneous, vFpi)
 GO(gtk_grid_set_column_spacing, vFpu)
 GO(gtk_grid_set_row_homogeneous, vFpi)
@@ -1490,7 +1498,7 @@ GO(gtk_info_bar_add_button, pFppi)
 GO(gtk_info_bar_get_content_area, pFp)
 GO(gtk_info_bar_get_message_type, uFp)
 GO(gtk_info_bar_get_type, LFv)
-//GO(gtk_info_bar_new, 
+GO(gtk_info_bar_new, pFv)
 //GO(gtk_info_bar_new_with_buttons, 
 GO(gtk_info_bar_response, vFpi)
 //GO(gtk_info_bar_set_default_response, 
@@ -1608,8 +1616,8 @@ GO(gtk_license_get_type, LFv)
 GO(gtk_link_button_get_type, LFv)
 GO(gtk_link_button_get_uri, pFp)
 GO(gtk_link_button_get_visited, iFp)
-//GO(gtk_link_button_new, 
-//GO(gtk_link_button_new_with_label, 
+GO(gtk_link_button_new, pFp)
+GO(gtk_link_button_new_with_label, pFpp)
 GO(gtk_link_button_set_uri, vFpp)
 //GO(gtk_link_button_set_uri_hook, 
 GO(gtk_link_button_set_visited, vFpi)
@@ -1982,6 +1990,7 @@ GO(gtk_paned_get_child2, pFp)
 GO(gtk_paned_get_handle_window, pFp)
 GO(gtk_paned_get_position, iFp)
 GO(gtk_paned_get_type, LFv)
+GO(gtk_paned_new, pFi)
 GO(gtk_paned_pack1, vFppii)
 GO(gtk_paned_pack2, vFppii)
 GO(gtk_paned_set_position, vFpi)
@@ -2581,16 +2590,18 @@ GO(gtk_scale_button_set_icons, vFpp)
 GO(gtk_scale_button_set_value, vFpd)
 //GO(gtk_scale_clear_marks, 
 GO(gtk_scale_get_digits, iFp)
-//GO(gtk_scale_get_draw_value, 
+GO(gtk_scale_get_draw_value, iFp)
 GO(gtk_scale_get_layout, pFp)
 GO(gtk_scale_get_layout_offsets, vFppp)
 GO(gtk_scale_get_type, LFv)
 GO(gtk_scale_get_value_pos, uFp)
+GO(gtk_scale_new, pFip)
 GO(gtk_scale_set_digits, vFpi)
-//GO(gtk_scale_set_draw_value, 
+GO(gtk_scale_set_draw_value, vFpi)
 GO(gtk_scale_set_value_pos, vFpu)
 GO(gtk_scrollable_get_type, LFv)
 GO(gtk_scrollbar_get_type, LFv)
+GO(gtk_scrollbar_new, pFip)
 GO(gtk_scrolled_window_add_with_viewport, vFpp)
 GO(gtk_scrolled_window_get_hadjustment, pFp)
 GO(gtk_scrolled_window_get_hscrollbar, pFp)
@@ -3621,6 +3632,7 @@ GO(gtk_tree_view_column_clear_attributes, vFpp)
 GO(gtk_tree_view_column_clicked, vFp)
 GO(gtk_tree_view_column_focus_cell, vFpp)
 GO(gtk_tree_view_column_get_alignment, fFp)
+GO(gtk_tree_view_column_get_button, pFp)
 GO(gtk_tree_view_column_get_cell_renderers, pFp)
 GO(gtk_tree_view_column_get_clickable, iFp)
 GO(gtk_tree_view_column_get_expand, iFp)
@@ -3860,12 +3872,13 @@ GO(gtk_widget_get_action, pFp)
 GO(gtk_widget_get_allocation, vFpp)
 GO(gtk_widget_get_allocated_width, iFp)
 GO(gtk_widget_get_allocated_height, iFp)
-GO(gtk_widget_get_ancestor, pFpi)
+GO(gtk_widget_get_ancestor, pFpL)
 GO(gtk_widget_get_app_paintable, iFp)
 GO(gtk_widget_get_can_default, iFp)
 GO(gtk_widget_get_can_focus, iFp)
 GO(gtk_widget_get_child_requisition, vFpp)
 GO(gtk_widget_get_child_visible, iFp)
+GO(gtk_widget_get_clip, vFpp)
 GO(gtk_widget_get_clipboard, pFpp)
 GO(gtk_widget_get_colormap, pFp)
 GO(gtk_widget_get_composite_name, pFp)
@@ -4034,6 +4047,7 @@ GO(gtk_widget_set_app_paintable, vFpi)
 GO(gtk_widget_set_can_default, vFpi)
 GO(gtk_widget_set_can_focus, vFpi)
 GO(gtk_widget_set_child_visible, vFpi)
+GO(gtk_widget_set_clip, vFpp)
 GO(gtk_widget_set_colormap, vFpp)
 GO(gtk_widget_set_composite_name, vFpp)
 GO(gtk_widget_set_css_classes, vFpp)
@@ -4088,7 +4102,7 @@ GO(gtk_widget_show_now, vFp)
 GO(gtk_widget_size_allocate, vFpppuii)
 GO(gtk_widget_size_request, vFpp)
 GO(gtk_widget_style_attach, vFp)
-//GO2(gtk_widget_style_get, vFppV, gtk_widget_style_get_valist)
+GOM(gtk_widget_style_get, vFEppV)
 GO(gtk_widget_style_get_property, vFppp)
 //GO(gtk_widget_style_get_valist, vFppp)
 GO(gtk_widget_thaw_child_notify, vFp)
@@ -4111,6 +4125,7 @@ GO(gtk_window_deiconify, vFp)
 GO(gtk_window_destroy, vFp)
 GO(gtk_window_fullscreen, vFp)
 GO(gtk_window_get_accept_focus, iFp)
+GO(gdk_window_get_clip_region, pFp)
 GO(gtk_window_get_decorated, iFp)
 GO(gtk_window_get_default_icon_list, pFv)
 GO(gtk_window_get_default_icon_name, pFv)
@@ -4124,6 +4139,7 @@ GO(gtk_window_get_frame_dimensions, vFppppp)
 GO(gtk_window_get_gravity, uFp)
 GO(gtk_window_get_group, pFp)
 GO(gtk_window_get_has_frame, iFp)
+GO(gtk_window_get_has_resize_grip, iFp)
 GO(gtk_window_get_icon, pFp)
 GO(gtk_window_get_icon_list, pFp)
 GO(gtk_window_get_icon_name, pFp)
@@ -4134,6 +4150,7 @@ GO(gtk_window_get_opacity, dFp)
 GO(gtk_window_get_position, vFppp)
 GO(gtk_window_get_resizable, iFp)
 GO(gtk_window_get_role, pFp)
+GO(gdk_window_get_scale_factor, iFp)
 GO(gtk_window_get_screen, pFp)
 GO(gtk_window_get_size, vFppp)
 GO(gtk_window_get_skip_pager_hint, iFp)