static void _gtk_widget_set_simple_clip (GtkWidget *widget, GtkAllocation *content_clip) { GtkStyleContext *context; GtkAllocation clip, allocation; GtkBorder extents; context = gtk_widget_get_style_context (widget); _style_get_borders(context, &extents); gtk_widget_get_allocation (widget, &allocation); clip = allocation; clip.x -= extents.left; clip.y -= extents.top; clip.width += extents.left + extents.right; clip.height += extents.top + extents.bottom; /*gtk_container_forall (GTK_CONTAINER (widget), union_with_clip, &clip);*/ // HACK: leave space for shadow clip.x -= 10; clip.y -= 10; clip.width += 20; clip.height += 20; gtk_widget_set_clip (widget, &clip); }
static void gtk_switch_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv; GtkAllocation clip; gtk_widget_set_allocation (widget, allocation); gtk_css_gadget_allocate (priv->gadget, allocation, gtk_widget_get_allocated_baseline (widget), &clip); gtk_widget_set_clip (widget, &clip); }
static void gtk_level_bar_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkAllocation clip; GTK_WIDGET_CLASS (gtk_level_bar_parent_class)->size_allocate (widget, allocation); gtk_css_gadget_allocate (GTK_LEVEL_BAR (widget)->priv->trough_gadget, allocation, gtk_widget_get_allocated_baseline (widget), &clip); gtk_widget_set_clip (widget, &clip); }
static void gtk_button_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkButton *button = GTK_BUTTON (widget); GtkButtonPrivate *priv = button->priv; GtkAllocation clip; gtk_widget_set_allocation (widget, allocation); gtk_css_gadget_allocate (priv->gadget, allocation, gtk_widget_get_allocated_baseline (widget), &clip); gtk_widget_set_clip (widget, &clip); }
static void swatch_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget); GtkAllocation clip; gtk_widget_set_allocation (widget, allocation); if (gtk_widget_get_realized (widget)) gdk_window_move_resize (swatch->priv->event_window, allocation->x, allocation->y, allocation->width, allocation->height); gtk_css_gadget_allocate (swatch->priv->gadget, allocation, gtk_widget_get_allocated_baseline (widget), &clip); gtk_widget_set_clip (widget, &clip); }