[gnumeric] Fix text wrap in paths and other shaoes when printing.
- From: Jean Bréfort <jbrefort src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Fix text wrap in paths and other shaoes when printing.
- Date: Fri, 19 Jul 2013 08:29:07 +0000 (UTC)
commit 47c82349553f68ed9202b53dc9d6948a0b8a98c6
Author: Jean Brefort <jean brefort normalesup org>
Date: Fri Jul 19 10:27:08 2013 +0200
Fix text wrap in paths and other shaoes when printing.
ChangeLog | 6 ++++++
src/gnm-so-filled.c | 12 ++++++------
src/gnm-so-path.c | 10 ++++++----
3 files changed, 18 insertions(+), 10 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 23bd596..6c2ade4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-07-19 Jean Brefort <jean brefort normalesup org>
+
+ * src/gnm-so-filled.c (gnm_so_filled_draw_cairo): fix text wrap when
+ printing.
+ * src/gnm-so-path.c (gnm_so_path_draw_cairo): ditto.
+
2013-07-18 Andreas J. Guelzow <aguelzow pyrshep ca>
* src/gnm-so-path.c (gnm_so_path_class_init): add new property
diff --git a/src/gnm-so-filled.c b/src/gnm-so-filled.c
index a0f9e76..3cbca10 100644
--- a/src/gnm-so-filled.c
+++ b/src/gnm-so-filled.c
@@ -206,10 +206,8 @@ cb_gnm_so_filled_changed (GnmSOFilled const *sof,
h -= (sof->margin_pts.top + sof->margin_pts.bottom)
/ scale;
h = MAX (h, DBL_MIN);
-printf("w=%g h=%g\n",w,h);
if (group->text == NULL) {
if (sof->is_oval) {
-puts("oval");
group->text = goc_item_new (GOC_GROUP (group), GOC_TYPE_TEXT,
"anchor", GO_ANCHOR_CENTER,
"clip", TRUE,
@@ -295,14 +293,16 @@ gnm_so_filled_draw_cairo (SheetObject const *so, cairo_t *cr,
/* Draw the text. */
if (sof->text != NULL && *(sof->text) != '\0') {
PangoLayout *pl = pango_cairo_create_layout (cr);
+ double const scale_h = 72. / gnm_app_display_dpi_get (TRUE);
+ double const scale_v = 72. / gnm_app_display_dpi_get (FALSE);
double pl_height = (height - sof->margin_pts.top
- - sof->margin_pts.bottom) * PANGO_SCALE;
+ - sof->margin_pts.bottom) * PANGO_SCALE
+ / scale_v;
double pl_width = (width - sof->margin_pts.left
- - sof->margin_pts.right) * PANGO_SCALE;
+ - sof->margin_pts.right) * PANGO_SCALE
+ / scale_h;
/* set a font, a very bad solution, but will do until we move to GOString */
PangoFontDescription *desc = pango_font_description_from_string ("Sans 10");
- double const scale_h = 72. / gnm_app_display_dpi_get (TRUE);
- double const scale_v = 72. / gnm_app_display_dpi_get (FALSE);
pango_layout_set_font_description (pl, desc);
pango_layout_set_text (pl, sof->text, -1);
pango_layout_set_attributes (pl, sof->markup);
diff --git a/src/gnm-so-path.c b/src/gnm-so-path.c
index a683fda..543aca3 100644
--- a/src/gnm-so-path.c
+++ b/src/gnm-so-path.c
@@ -329,14 +329,16 @@ gnm_so_path_draw_cairo (SheetObject const *so, cairo_t *cr,
/* Draw the text. */
if (sop->text != NULL && *(sop->text) != '\0') {
PangoLayout *pl = pango_cairo_create_layout (cr);
+ double const scale_h = 72. / gnm_app_display_dpi_get (TRUE);
+ double const scale_v = 72. / gnm_app_display_dpi_get (FALSE);
double pl_height = (height - sop->margin_pts.top
- - sop->margin_pts.bottom) * PANGO_SCALE;
+ - sop->margin_pts.bottom) * PANGO_SCALE
+ / scale_v;
double pl_width = (width - sop->margin_pts.left
- - sop->margin_pts.right) * PANGO_SCALE;
+ - sop->margin_pts.right) * PANGO_SCALE
+ / scale_h;
/* set a font, a very bad solution, but will do until we move to GOString */
PangoFontDescription *desc = pango_font_description_from_string ("Sans 10");
- double const scale_h = 72. / gnm_app_display_dpi_get (TRUE);
- double const scale_v = 72. / gnm_app_display_dpi_get (FALSE);
PangoRectangle r;
pango_layout_set_font_description (pl, desc);
pango_layout_set_text (pl, sop->text, -1);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]