Commit 83b8bcb6 authored by Matthias Clasen's avatar Matthias Clasen

switch: Unclip the slider shadow

This commit arranges things so the shadow of the slider can
extend outside the widget, even if the switch itself has no
parent c0e3b6ce
......@@ -52,6 +52,8 @@
#include "a11y/gtkswitchaccessible.h"
#include "gtkactionhelper.h"
#include "gtkwidgetprivate.h"
#include "gtkcssshadowsvalueprivate.h"
#include "gtkstylecontextprivate.h"
#include "fallback-c89.c"
......@@ -447,6 +449,9 @@ gtk_switch_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
GtkStyleContext *context;
GtkBorder extents;
GtkAllocation clip;
gtk_widget_set_allocation (widget, allocation);
......@@ -457,7 +462,26 @@ gtk_switch_size_allocate (GtkWidget *widget,
_gtk_widget_set_simple_clip (widget, NULL);
context = gtk_widget_get_style_context (widget);
gtk_style_context_save (context);
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_TROUGH);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SLIDER);
_gtk_css_shadows_value_get_extents (_gtk_style_context_peek_property (context,
gtk_style_context_restore (context);
clip = *allocation;
clip.x -= extents.left;
clip.y -=;
clip.width += extents.left + extents.right;
clip.height += + extents.bottom;
_gtk_widget_set_simple_clip (widget, &clip);
static void
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment