[goffice] Fix blur in zoomed charts.



commit 35acddf0542e07faf968f3fab63e556183c1dd99
Author: Jean Brefort <jean brefort normalesup org>
Date:   Wed Aug 11 15:20:34 2010 +0200

    Fix blur in zoomed charts.

 ChangeLog                  |    7 ++++++-
 NEWS                       |    1 +
 goffice/canvas/goc-graph.c |    6 +++---
 3 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9dc28f9..d1448f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
+2010-08-11  Jean Brefort  <jean brefort normalesup org>
+
+	* goffice/canvas/goc-graph.c (goc_graph_draw): fix blur in zoomed charts.
+	[see #626404]
+
 2010-08-07  Jean Brefort  <jean brefort normalesup org>
 
 	* goffice/graph/gog-object.c (gog_object_add_by_role): do not try to
-	instantiate an object uising an abstract class. [#626305]
+	instantiate an object using an abstract class. [#626305]
 
 2010-08-07  Jean Brefort  <jean brefort normalesup org>
 
diff --git a/NEWS b/NEWS
index a6eb3e2..675d4dd 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ goffice 0.8.9:
 
 Jean:
 	* Don't crash when loading a corrupted chart. [#626206, #626263, #626305]
+	* Fix blur in zoomed charts.
 
 --------------------------------------------------------------------------
 goffice 0.8.8:
diff --git a/goffice/canvas/goc-graph.c b/goffice/canvas/goc-graph.c
index 2cb12c0..ed84eb6 100644
--- a/goffice/canvas/goc-graph.c
+++ b/goffice/canvas/goc-graph.c
@@ -196,15 +196,15 @@ goc_graph_draw (GocItem const *item, cairo_t *cr)
 	} else {
 		x0 = item->x0;
 		goc_group_adjust_coords (item->parent, &x0, &y0);
-		x0 = (int) (x0 - canvas->scroll_x1) * canvas->pixels_per_unit;
+		x0 = go_fake_round ((x0 - canvas->scroll_x1) * canvas->pixels_per_unit);
 	}
 	cairo_save (cr);
 	cairo_translate (cr, x0,
 	                 (int) (y0 - canvas->scroll_y1) * canvas->pixels_per_unit);
 	/* scaling only there gives a better rendering, and allows for caching */
 	gog_renderer_update (graph->renderer,
-				      (int) (graph->w * canvas->pixels_per_unit),
-				      (int) (graph->h * canvas->pixels_per_unit));
+				      go_fake_round (graph->w * canvas->pixels_per_unit),
+				      go_fake_round (graph->h * canvas->pixels_per_unit));
 	surf = gog_renderer_get_cairo_surface (graph->renderer);
 	cairo_set_source_surface (cr, surf, 0., 0.);
 	cairo_paint (cr);



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