forked from AuroraMiddleware/gtk
switch: Take gadget clip into account
Now that we've switched the on and off states to gadgets, we need to ensure that the widget's clip take into account the clip of every gadget. Fixes #1631
This commit is contained in:
parent
a0129f556b
commit
0a9aa768d8
@ -449,7 +449,8 @@ gtk_switch_allocate_contents (GtkCssGadget *gadget,
|
||||
GtkSwitch *self = GTK_SWITCH (gtk_css_gadget_get_owner (gadget));
|
||||
GtkSwitchPrivate *priv = self->priv;
|
||||
GtkAllocation child_alloc;
|
||||
|
||||
GtkAllocation on_clip, off_clip;
|
||||
|
||||
child_alloc.x = allocation->x + round (priv->handle_pos * (allocation->width - allocation->width / 2));
|
||||
child_alloc.y = allocation->y;
|
||||
child_alloc.width = allocation->width / 2;
|
||||
@ -465,13 +466,17 @@ gtk_switch_allocate_contents (GtkCssGadget *gadget,
|
||||
gtk_css_gadget_allocate (priv->on_gadget,
|
||||
&child_alloc,
|
||||
baseline,
|
||||
out_clip);
|
||||
&on_clip);
|
||||
|
||||
gdk_rectangle_union (out_clip, &on_clip, out_clip);
|
||||
|
||||
child_alloc.x = allocation->x + allocation->width - child_alloc.width;
|
||||
gtk_css_gadget_allocate (priv->off_gadget,
|
||||
&child_alloc,
|
||||
baseline,
|
||||
out_clip);
|
||||
&off_clip);
|
||||
|
||||
gdk_rectangle_union (out_clip, &off_clip, out_clip);
|
||||
|
||||
if (gtk_widget_get_realized (GTK_WIDGET (self)))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user