Hello,
I am working on some application, where we draw widgets like "RadioButton", "CheckButton" etc. by calling "gtk_render_option", "gtk_render_check" and so forth. Our application works fine on gtk 3.18, but on gtk 3.22, the widgets are not drawn correctly. I have gone through the changes made in theme handling on 3.20 and tried to make some changes in my application, but I am not able to understand what I need to do exactly. I have created a small demo where I draw "RadioButton" using the gtk_render_option API. This works fine for me in gtk-3.18, but the causes issue in gtk 3.22. I am attaching images and Demo.c for reference. It would be great if someone here can guide me on "How can I make this small demo work on gtk 3.22". I should be able to take care of the rest myself. I can provide any further information required. Note: I have tried both "radio" and "radiobutton" in gtk_style_context_add_class API. Both don't work for me. Thanks, Pankaj
#include <string.h> #include <gtk/gtk.h> static gboolean draw_cb_options (GtkWidget *widget, cairo_t *cr) { GtkStyleContext *context; context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); gtk_style_context_add_class (context, "radio"); gtk_style_context_set_state (context, 0); gtk_render_option (context, cr, 10, 50, 40, 40); gtk_style_context_set_state (context, GTK_STATE_FLAG_CHECKED); gtk_render_option (context, cr, 70, 50, 40, 40); gtk_style_context_set_state (context, GTK_STATE_FLAG_INCONSISTENT); gtk_render_option (context, cr, 120, 50, 40, 40); gtk_style_context_set_state (context, GTK_STATE_FLAG_INSENSITIVE); gtk_render_option (context, cr, 170, 50, 40, 40); gtk_style_context_restore (context); return TRUE; } int main (int argc, char *argv[]) { GtkWidget *window; GtkStyleContext *context; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "draw", G_CALLBACK (draw_cb_options), NULL); gtk_widget_show_all (window); gtk_main (); return 0; }
_______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list