gtk/gtkcheckbutton.c gtk/gtkdnd.c gtk/gtkentry.c gtk/gtkmenu.c

2007-01-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcheckbutton.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkmenu.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c: pass more clip rectangles to gtk_paint_foo()
	functions. Based on a patch from maemo-gtk (bug #398023).


svn path=/trunk/; revision=17183
This commit is contained in:
Michael Natterer
2007-01-18 17:30:10 +00:00
committed by Michael Natterer
parent 0ca6367b93
commit 42debff10d
7 changed files with 29 additions and 17 deletions

View File

@ -159,7 +159,8 @@ static void gtk_entry_size_request (GtkWidget *widget,
GtkRequisition *requisition);
static void gtk_entry_size_allocate (GtkWidget *widget,
GtkAllocation *allocation);
static void gtk_entry_draw_frame (GtkWidget *widget);
static void gtk_entry_draw_frame (GtkWidget *widget,
GdkRectangle *area);
static gint gtk_entry_expose (GtkWidget *widget,
GdkEventExpose *event);
static gint gtk_entry_button_press (GtkWidget *widget,
@ -1505,7 +1506,8 @@ gtk_entry_size_allocate (GtkWidget *widget,
}
static void
gtk_entry_draw_frame (GtkWidget *widget)
gtk_entry_draw_frame (GtkWidget *widget,
GdkRectangle *area)
{
gint x = 0, y = 0;
gint width, height;
@ -1529,7 +1531,7 @@ gtk_entry_draw_frame (GtkWidget *widget)
gtk_paint_shadow (widget->style, widget->window,
GTK_STATE_NORMAL, GTK_SHADOW_IN,
NULL, widget, "entry",
area, widget, "entry",
x, y, width, height);
if (GTK_WIDGET_HAS_FOCUS (widget) && !interior_focus)
@ -1540,7 +1542,7 @@ gtk_entry_draw_frame (GtkWidget *widget)
height += 2 * focus_width;
gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
NULL, widget, "entry",
area, widget, "entry",
0, 0, width, height);
}
}
@ -1552,7 +1554,7 @@ gtk_entry_expose (GtkWidget *widget,
GtkEntry *entry = GTK_ENTRY (widget);
if (widget->window == event->window)
gtk_entry_draw_frame (widget);
gtk_entry_draw_frame (widget, &event->area);
else if (entry->text_area == event->window)
{
gint area_width, area_height;
@ -1561,7 +1563,7 @@ gtk_entry_expose (GtkWidget *widget,
gtk_paint_flat_box (widget->style, entry->text_area,
GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE,
NULL, widget, "entry_bg",
&event->area, widget, "entry_bg",
0, 0, area_width, area_height);
if ((entry->visible || entry->invisible_char != 0) &&