+static gboolean
+draw_cb_focus (GtkWidget *widget, cairo_t *cr)
+{
+ GtkStyleContext *context;
+
+ context = gtk_widget_get_style_context (widget);
+
+ gtk_style_context_save (context);
+
+ gtk_render_focus (context, cr, 12, 12, 50, 50);
+
+ gtk_style_context_restore (context);
+
+ return TRUE;
+}
+
+static gboolean
+draw_cb_extension (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, "notebook");
+ gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, 0);
+
+ gtk_style_context_set_state (context, 0);
+ gtk_render_extension (context, cr, 26, 12, 24, 12, GTK_POS_BOTTOM);
+ gtk_render_extension (context, cr, 12, 26, 12, 24, GTK_POS_RIGHT);
+ gtk_render_extension (context, cr, 26, 52, 24, 12, GTK_POS_TOP);
+ gtk_render_extension (context, cr, 52, 26, 12, 24, GTK_POS_LEFT);
+
+ gtk_style_context_restore (context);
+
+ return TRUE;
+}
+
+static gboolean
+draw_cb_frame_gap (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, "frame");
+ gtk_style_context_set_junction_sides (context, 0);
+ gtk_render_frame_gap (context, cr, 12, 12, 50, 50, GTK_POS_TOP, 15, 35);
+ gtk_style_context_remove_class (context, "frame");
+
+ gtk_style_context_restore (context);
+
+ return TRUE;
+}
+
+static gboolean
+draw_cb_handles (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, "paned");
+ gtk_render_handle (context, cr, 12, 22, 20, 10);
+ gtk_render_handle (context, cr, 44, 12, 10, 20);
+ gtk_style_context_remove_class (context, "paned");