#include #include 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; }