Remove GtkWidget::draw-border

This is a never-used style property that came out of some old
themeing experiments, and handling it has some performance
overhead. Bug 426924
This commit is contained in:
Matthias Clasen 2010-08-18 12:46:57 -04:00
parent ffa07ee21e
commit 501eeaff11
2 changed files with 4 additions and 91 deletions

View File

@ -903,11 +903,6 @@ _gtk_rc_init (void)
" text[PRELIGHT] = \"#ffffff\"\n"
"}\n"
"\n"
/* Work around clipping of accelerator underlines */
"style \"gtk-default-label-style\" {\n"
" GtkWidget::draw-border = {0,0,0,1}\n"
"}\n"
"\n"
"class \"GtkProgressBar\" style : gtk \"gtk-default-progress-bar-style\"\n"
"class \"GtkEntry\" style : gtk \"gtk-default-entry-style\"\n"
"widget \"gtk-tooltip*\" style : gtk \"gtk-default-tooltips-style\"\n"

View File

@ -360,8 +360,6 @@ static void gtk_widget_queue_tooltip_query (GtkWidget *widg
static void gtk_widget_set_usize_internal (GtkWidget *widget,
gint width,
gint height);
static void gtk_widget_get_draw_rectangle (GtkWidget *widget,
GdkRectangle *rect);
static void gtk_widget_add_events_internal (GtkWidget *widget,
GdkDevice *device,
@ -2497,21 +2495,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
FALSE,
GTK_PARAM_READWRITE));
/**
* GtkWidget:draw-border:
*
* The "draw-border" style property defines the size of areas outside
* the widget's allocation to draw.
*
* Since: 2.8
*/
gtk_widget_class_install_style_property (klass,
g_param_spec_boxed ("draw-border",
P_("Draw Border"),
P_("Size of areas outside the widget's allocation to draw"),
GTK_TYPE_BORDER,
GTK_PARAM_READABLE));
/**
* GtkWidget:link-color:
*
@ -3712,57 +3695,6 @@ gtk_widget_queue_draw_area (GtkWidget *widget,
gdk_window_invalidate_rect (widget->window, &invalid_rect, TRUE);
}
static void
widget_add_child_draw_rectangle (GtkWidget *widget,
GdkRectangle *rect)
{
GdkRectangle child_rect;
if (!gtk_widget_get_mapped (widget) ||
widget->window != widget->parent->window)
return;
gtk_widget_get_draw_rectangle (widget, &child_rect);
gdk_rectangle_union (rect, &child_rect, rect);
}
static void
gtk_widget_get_draw_rectangle (GtkWidget *widget,
GdkRectangle *rect)
{
if (!gtk_widget_get_has_window (widget))
{
GtkBorder *draw_border = NULL;
*rect = widget->allocation;
gtk_widget_style_get (widget,
"draw-border", &draw_border,
NULL);
if (draw_border)
{
rect->x -= draw_border->left;
rect->y -= draw_border->top;
rect->width += draw_border->left + draw_border->right;
rect->height += draw_border->top + draw_border->bottom;
gtk_border_free (draw_border);
}
if (GTK_IS_CONTAINER (widget))
gtk_container_forall (GTK_CONTAINER (widget),
(GtkCallback)widget_add_child_draw_rectangle,
rect);
}
else
{
rect->x = 0;
rect->y = 0;
rect->width = widget->allocation.width;
rect->height = widget->allocation.height;
}
}
/**
* gtk_widget_queue_draw:
* @widget: a #GtkWidget
@ -3777,7 +3709,7 @@ gtk_widget_queue_draw (GtkWidget *widget)
g_return_if_fail (GTK_IS_WIDGET (widget));
gtk_widget_get_draw_rectangle (widget, &rect);
gtk_widget_get_allocation (widget, &rect);
gtk_widget_queue_draw_area (widget,
rect.x, rect.y,
@ -3938,26 +3870,12 @@ gtk_widget_queue_shallow_draw (GtkWidget *widget)
{
GdkRectangle rect;
cairo_region_t *region;
if (!gtk_widget_get_realized (widget))
return;
gtk_widget_get_draw_rectangle (widget, &rect);
gtk_widget_get_allocation (widget, &rect);
/* get_draw_rectangle() gives us window coordinates, we
* need to convert to the coordinates that widget->allocation
* is in.
*/
if (gtk_widget_get_has_window (widget) && widget->parent)
{
int wx, wy;
gdk_window_get_position (widget->window, &wx, &wy);
rect.x += wx;
rect.y += wy;
}
region = cairo_region_create_rectangle (&rect);
gtk_widget_invalidate_widget_windows (widget, region);
cairo_region_destroy (region);
@ -5207,7 +5125,7 @@ gtk_widget_region_intersect (GtkWidget *widget,
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
g_return_val_if_fail (region != NULL, NULL);
gtk_widget_get_draw_rectangle (widget, &rect);
gtk_widget_get_allocation (widget, &rect);
dest = cairo_region_create_rectangle (&rect);