diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 23194b77aa..42d23fc1c1 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -351,6 +351,7 @@ HTML_IMAGES = \ $(srcdir)/images/frame-gap.png \ $(srcdir)/images/sliders.png \ $(srcdir)/images/focus.png \ + $(srcdir)/images/handles.png \ $(srcdir)/images/extensions.png # Extra options to supply to gtkdoc-fixref diff --git a/docs/reference/gtk/images/handles.png b/docs/reference/gtk/images/handles.png new file mode 100644 index 0000000000..24151b559b Binary files /dev/null and b/docs/reference/gtk/images/handles.png differ diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 9c59552314..2c863fa422 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3421,6 +3421,11 @@ gtk_render_extension (GtkStyleContext *context, * #GtkWindow's resize grip), in the rectangle * determined by @x, @y, @width, @height. * + * + * Handles rendered for the paned and grip classes + * + * + * * Since: 3.0 **/ void diff --git a/tests/styleexamples.c b/tests/styleexamples.c index b20c7e4eea..75350ddd2d 100644 --- a/tests/styleexamples.c +++ b/tests/styleexamples.c @@ -297,6 +297,31 @@ draw_cb_frame_gap (GtkWidget *widget, cairo_t *cr) 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"); + + gtk_style_context_add_class (context, "grip"); + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_CORNER_BOTTOMLEFT); + gtk_render_handle (context, cr, 12, 48, 12, 12); + + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_CORNER_BOTTOMRIGHT); + gtk_render_handle (context, cr, 40, 48, 12, 12); + + gtk_style_context_restore (context); + + return TRUE; +} + static char *what; static gboolean @@ -324,6 +349,8 @@ draw_cb (GtkWidget *widget, cairo_t *cr) return draw_cb_extension (widget, cr); else if (strcmp (what, "frame-gap") == 0) return draw_cb_frame_gap (widget, cr); + else if (strcmp (what, "handle") == 0) + return draw_cb_handles (widget, cr); return FALSE; }