summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Hertzfeld <andy@src.gnome.org>2001-04-10 07:17:50 +0000
committerAndy Hertzfeld <andy@src.gnome.org>2001-04-10 07:17:50 +0000
commitc14b9f008801b7d15062b512ea29064ca744cb7d (patch)
tree3eb7759a36facc6d3f574bcf9a6c2146697939e8
parent41f6825d1c4d40ed87c96487ed08cb72b4d5c036 (diff)
downloadnautilus-c14b9f008801b7d15062b512ea29064ca744cb7d.tar.gz
tweaked note sizing
* libnautilus-extensions/nautilus-canvas-note-item.c: (nautilus_canvas_note_item_set_note_text), (nautilus_canvas_note_item_update): tweaked note sizing * libnautilus-extensions/nautilus-icon-canvas-item.c: (create_annotation), (get_emblem_rectangle): made the annotation be positioned properly by using world coordinates instead of canvas coordinates
-rw-r--r--ChangeLog12
-rw-r--r--libnautilus-extensions/nautilus-canvas-note-item.c6
-rw-r--r--libnautilus-extensions/nautilus-icon-canvas-item.c25
-rw-r--r--libnautilus-private/nautilus-canvas-note-item.c6
-rw-r--r--libnautilus-private/nautilus-icon-canvas-item.c25
5 files changed, 50 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index f0daa4797..f5935db78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2001-04-10 Andy Hertzfeld <andy@eazel.com>
+
+ * libnautilus-extensions/nautilus-canvas-note-item.c:
+ (nautilus_canvas_note_item_set_note_text),
+ (nautilus_canvas_note_item_update):
+ tweaked note sizing
+
+ * libnautilus-extensions/nautilus-icon-canvas-item.c:
+ (create_annotation), (get_emblem_rectangle):
+ made the annotation be positioned properly by using world coordinates
+ instead of canvas coordinates
+
2001-04-09 Andy Hertzfeld <andy@eazel.com>
removed some unneeded generality from the note item
diff --git a/libnautilus-extensions/nautilus-canvas-note-item.c b/libnautilus-extensions/nautilus-canvas-note-item.c
index 985884b99..2fb752696 100644
--- a/libnautilus-extensions/nautilus-canvas-note-item.c
+++ b/libnautilus-extensions/nautilus-canvas-note-item.c
@@ -345,8 +345,8 @@ nautilus_canvas_note_item_set_note_text (NautilusCanvasNoteItem *note_item, cons
width = (total_width < ANNOTATION_WIDTH) ? total_width : ANNOTATION_WIDTH;
/* add some vertical slop for descenders and incorporate scale factor */
- note_item->x2 = note_item->x1 + (width / item->canvas->pixels_per_unit);
- note_item->y2 = note_item->y1 + 4.0 + (height / item->canvas->pixels_per_unit);
+ note_item->x2 = floor (note_item->x1 + (width / item->canvas->pixels_per_unit) + .5);
+ note_item->y2 = floor (note_item->y1 + 4.0 + (height / item->canvas->pixels_per_unit) + .5);
update_item_bounding_box (note_item);
@@ -890,7 +890,7 @@ nautilus_canvas_note_item_update (GnomeCanvasItem *item, double affine[6], ArtSV
x1 = note_item->x2;
y1 = note_item->y2;
- round_off_amount = item->canvas->pixels_per_unit;
+ round_off_amount = item->canvas->pixels_per_unit / 2;
gnome_canvas_item_reset_bounds (item);
midpoint = (x1 + x0) / 2;
diff --git a/libnautilus-extensions/nautilus-icon-canvas-item.c b/libnautilus-extensions/nautilus-icon-canvas-item.c
index 423f4066a..c1d500e15 100644
--- a/libnautilus-extensions/nautilus-icon-canvas-item.c
+++ b/libnautilus-extensions/nautilus-icon-canvas-item.c
@@ -228,10 +228,10 @@ static void get_icon_canvas_rectangle (NautilusIconCanvasIt
static void emblem_layout_reset (EmblemLayout *layout,
NautilusIconCanvasItem *icon_item,
const ArtIRect *icon_rect);
-static gboolean emblem_layout_next (EmblemLayout *layout,
+static gboolean emblem_layout_next (EmblemLayout *layout,
GdkPixbuf **emblem_pixbuf,
ArtIRect *emblem_rect);
-static void get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
+static void get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
int which_emblem,
ArtIRect *rect);
@@ -1876,9 +1876,11 @@ create_annotation (NautilusIconCanvasItem *icon_item, int emblem_index)
{
uint fill_color, outline_color;
double top, left;
- double delta_x, delta_y;
+ double right, bottom;
ArtDRect icon_rect;
ArtIRect emblem_rect;
+ int emblem_x, emblem_y;
+ double world_emblem_x, world_emblem_y;
int annotation_width;
char *note_text;
GnomeCanvas *canvas;
@@ -1914,12 +1916,17 @@ create_annotation (NautilusIconCanvasItem *icon_item, int emblem_index)
if (canvas->aa) {
get_emblem_rectangle (icon_item, emblem_index, &emblem_rect);
annotation_width = icon_item->details->annotation->x2 - icon_item->details->annotation->x1;
- left = ((emblem_rect.x1 + emblem_rect.x0) / 2) - (annotation_width / 2.0 );
- top = (emblem_rect.y1 + emblem_rect.y0) / 2;
+
+ emblem_x = (emblem_rect.x0 + emblem_rect.x1) / 2;
+ emblem_y = (emblem_rect.y0 + emblem_rect.y1) / 2;
+ gnome_canvas_c2w (canvas, emblem_x, emblem_y, &world_emblem_x, &world_emblem_y);
- delta_x = left - icon_item->details->annotation->x1;
- delta_y = top - icon_item->details->annotation->y1;
- gnome_canvas_item_move (icon_item->details->annotation, delta_x, delta_y);
+ left = world_emblem_x - (annotation_width / 2.0 );
+ top = world_emblem_y;
+ right = left + annotation_width;
+ bottom = top + icon_item->details->annotation->y2 - icon_item->details->annotation->y1;
+
+ gnome_canvas_item_set (icon_item->details->annotation, "x1", left, "y1", top, "x2", right, "y2", bottom, NULL);
}
gnome_canvas_item_raise_to_top (icon_item->details->annotation);
@@ -2304,7 +2311,7 @@ get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
EmblemLayout emblem_layout;
GdkPixbuf *pixbuf;
int emblem_index;
-
+
emblem_layout_reset (&emblem_layout, icon_item, &icon_item->details->canvas_rect);
emblem_index = 0;
diff --git a/libnautilus-private/nautilus-canvas-note-item.c b/libnautilus-private/nautilus-canvas-note-item.c
index 985884b99..2fb752696 100644
--- a/libnautilus-private/nautilus-canvas-note-item.c
+++ b/libnautilus-private/nautilus-canvas-note-item.c
@@ -345,8 +345,8 @@ nautilus_canvas_note_item_set_note_text (NautilusCanvasNoteItem *note_item, cons
width = (total_width < ANNOTATION_WIDTH) ? total_width : ANNOTATION_WIDTH;
/* add some vertical slop for descenders and incorporate scale factor */
- note_item->x2 = note_item->x1 + (width / item->canvas->pixels_per_unit);
- note_item->y2 = note_item->y1 + 4.0 + (height / item->canvas->pixels_per_unit);
+ note_item->x2 = floor (note_item->x1 + (width / item->canvas->pixels_per_unit) + .5);
+ note_item->y2 = floor (note_item->y1 + 4.0 + (height / item->canvas->pixels_per_unit) + .5);
update_item_bounding_box (note_item);
@@ -890,7 +890,7 @@ nautilus_canvas_note_item_update (GnomeCanvasItem *item, double affine[6], ArtSV
x1 = note_item->x2;
y1 = note_item->y2;
- round_off_amount = item->canvas->pixels_per_unit;
+ round_off_amount = item->canvas->pixels_per_unit / 2;
gnome_canvas_item_reset_bounds (item);
midpoint = (x1 + x0) / 2;
diff --git a/libnautilus-private/nautilus-icon-canvas-item.c b/libnautilus-private/nautilus-icon-canvas-item.c
index 423f4066a..c1d500e15 100644
--- a/libnautilus-private/nautilus-icon-canvas-item.c
+++ b/libnautilus-private/nautilus-icon-canvas-item.c
@@ -228,10 +228,10 @@ static void get_icon_canvas_rectangle (NautilusIconCanvasIt
static void emblem_layout_reset (EmblemLayout *layout,
NautilusIconCanvasItem *icon_item,
const ArtIRect *icon_rect);
-static gboolean emblem_layout_next (EmblemLayout *layout,
+static gboolean emblem_layout_next (EmblemLayout *layout,
GdkPixbuf **emblem_pixbuf,
ArtIRect *emblem_rect);
-static void get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
+static void get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
int which_emblem,
ArtIRect *rect);
@@ -1876,9 +1876,11 @@ create_annotation (NautilusIconCanvasItem *icon_item, int emblem_index)
{
uint fill_color, outline_color;
double top, left;
- double delta_x, delta_y;
+ double right, bottom;
ArtDRect icon_rect;
ArtIRect emblem_rect;
+ int emblem_x, emblem_y;
+ double world_emblem_x, world_emblem_y;
int annotation_width;
char *note_text;
GnomeCanvas *canvas;
@@ -1914,12 +1916,17 @@ create_annotation (NautilusIconCanvasItem *icon_item, int emblem_index)
if (canvas->aa) {
get_emblem_rectangle (icon_item, emblem_index, &emblem_rect);
annotation_width = icon_item->details->annotation->x2 - icon_item->details->annotation->x1;
- left = ((emblem_rect.x1 + emblem_rect.x0) / 2) - (annotation_width / 2.0 );
- top = (emblem_rect.y1 + emblem_rect.y0) / 2;
+
+ emblem_x = (emblem_rect.x0 + emblem_rect.x1) / 2;
+ emblem_y = (emblem_rect.y0 + emblem_rect.y1) / 2;
+ gnome_canvas_c2w (canvas, emblem_x, emblem_y, &world_emblem_x, &world_emblem_y);
- delta_x = left - icon_item->details->annotation->x1;
- delta_y = top - icon_item->details->annotation->y1;
- gnome_canvas_item_move (icon_item->details->annotation, delta_x, delta_y);
+ left = world_emblem_x - (annotation_width / 2.0 );
+ top = world_emblem_y;
+ right = left + annotation_width;
+ bottom = top + icon_item->details->annotation->y2 - icon_item->details->annotation->y1;
+
+ gnome_canvas_item_set (icon_item->details->annotation, "x1", left, "y1", top, "x2", right, "y2", bottom, NULL);
}
gnome_canvas_item_raise_to_top (icon_item->details->annotation);
@@ -2304,7 +2311,7 @@ get_emblem_rectangle (NautilusIconCanvasItem *icon_item,
EmblemLayout emblem_layout;
GdkPixbuf *pixbuf;
int emblem_index;
-
+
emblem_layout_reset (&emblem_layout, icon_item, &icon_item->details->canvas_rect);
emblem_index = 0;