Commit 88e35848 authored by Matthias Clasen's avatar Matthias Clasen Committed by Matthias Clasen

Make sure that cell boxes are always completely inside the item area.

2005-06-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
	Make sure that cell boxes are always completely inside
	the item area.
parent 94f4c71e
2005-06-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
Make sure that cell boxes are always completely inside
the item area.
2005-06-27 Matthias Clasen <mclasen@redhat.com> 2005-06-27 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/main.c (create_tree): Make the list of * demos/gtk-demo/main.c (create_tree): Make the list of
......
2005-06-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
Make sure that cell boxes are always completely inside
the item area.
2005-06-27 Matthias Clasen <mclasen@redhat.com> 2005-06-27 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/main.c (create_tree): Make the list of * demos/gtk-demo/main.c (create_tree): Make the list of
......
2005-06-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
Make sure that cell boxes are always completely inside
the item area.
2005-06-27 Matthias Clasen <mclasen@redhat.com> 2005-06-27 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/main.c (create_tree): Make the list of * demos/gtk-demo/main.c (create_tree): Make the list of
......
...@@ -2662,7 +2662,7 @@ gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view, ...@@ -2662,7 +2662,7 @@ gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view,
if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{ {
cell_area.width = item->box[i].width; cell_area.width = item->box[info->position].width;
cell_area.height = item->height; cell_area.height = item->height;
} }
else else
...@@ -2673,21 +2673,26 @@ gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view, ...@@ -2673,21 +2673,26 @@ gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view,
gtk_cell_renderer_get_size (info->cell, GTK_WIDGET (icon_view), gtk_cell_renderer_get_size (info->cell, GTK_WIDGET (icon_view),
&cell_area, &cell_area,
&item->box[i].x, &item->box[i].y, &item->box[info->position].x, &item->box[info->position].y,
&item->box[i].width, &item->box[i].height); &item->box[info->position].width, &item->box[info->position].height);
item->box[i].x += cell_area.x;
item->box[i].y += cell_area.y;
item->box[info->position].x += cell_area.x;
item->box[info->position].y += cell_area.y;
if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL) if (icon_view->priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{ {
item->before[i] = item->box[i].x - cell_area.x; item->before[info->position] = item->box[info->position].x - cell_area.x;
item->after[i] = cell_area.width - item->box[i].width - item->before[i]; item->after[info->position] = cell_area.width - item->box[info->position].width - item->before[info->position];
cell_area.x += cell_area.width + spacing; cell_area.x += cell_area.width + spacing;
} }
else else
{ {
item->before[i] = item->box[i].y - cell_area.y; if (item->box[info->position].width > item->width)
item->after[i] = cell_area.height - item->box[i].height - item->before[i]; {
item->width = item->box[info->position].width;
cell_area.width = item->width;
}
item->before[info->position] = item->box[info->position].y - cell_area.y;
item->after[info->position] = cell_area.height - item->box[info->position].height - item->before[info->position];
cell_area.y += cell_area.height + spacing; cell_area.y += cell_area.height + spacing;
} }
} }
...@@ -2814,7 +2819,7 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, ...@@ -2814,7 +2819,7 @@ gtk_icon_view_paint_item (GtkIconView *icon_view,
cell_area.width, cell_area.height); cell_area.width, cell_area.height);
gtk_icon_view_get_cell_box (icon_view, item, info, &box); gtk_icon_view_get_cell_box (icon_view, item, info, &box);
gdk_draw_rectangle (drawable, gdk_draw_rectangle (drawable,
GTK_WIDGET (icon_view)->style->black_gc, GTK_WIDGET (icon_view)->style->black_gc,
FALSE, FALSE,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment