nautilus r14507 - in trunk: . libnautilus-private



Author: cneumair
Date: Wed Aug 20 17:16:33 2008
New Revision: 14507
URL: http://svn.gnome.org/viewvc/nautilus?rev=14507&view=rev

Log:
2008-08-20  Christian Neumair  <cneumair gnome org>

	* libnautilus-private/nautilus-icon-canvas-item.c
	(draw_or_measure_label_text):
	Clear underlying items if text overlaps them when displaying full
	PangoLayout.


Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-icon-canvas-item.c

Modified: trunk/libnautilus-private/nautilus-icon-canvas-item.c
==============================================================================
--- trunk/libnautilus-private/nautilus-icon-canvas-item.c	(original)
+++ trunk/libnautilus-private/nautilus-icon-canvas-item.c	Wed Aug 20 17:16:33 2008
@@ -1041,6 +1041,7 @@
 	GdkGC *gc;
 	EelIRect text_rect;
 	int text_back_padding_x, text_back_padding_y;
+	int height;
 	
 	icon_width = 0;
 	gc = NULL;
@@ -1177,6 +1178,16 @@
 			    text_rect.y0,
 			    is_rtl_label_beside ? text_rect.x1 - text_rect.x0 - item->details->text_dx : text_rect.x1 - text_rect.x0,
 			    text_rect.y1 - text_rect.y0);
+	} else if (!needs_highlight && !details->is_renaming &&
+		   details->text_height_for_layout != details->text_height &&
+		   details->text_width > 0 && details->text_height > 0) {
+		/* clear the underlying icons, where the text overlaps them. */
+		height = details->text_height - details->text_height_for_layout;
+		gdk_window_clear_area (EEL_CANVAS (container)->layout.bin_window,
+				       text_rect.x0,
+				       text_rect.y1 - height,
+				       text_rect.x1 - text_rect.x0,
+				       height);
 	}
 
 	if (container->details->label_position == NAUTILUS_ICON_LABEL_POSITION_BESIDE) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]