[gnumeric] fixed line printing for objects
- From: Jean Bréfort <jbrefort src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnumeric] fixed line printing for objects
- Date: Fri, 25 Sep 2009 17:20:38 +0000 (UTC)
commit 5b243f4b893a2d987889f82ae4dc9c3c7655d98a
Author: Jean Brefort <jean brefort normalesup org>
Date: Fri Sep 25 19:20:13 2009 +0200
fixed line printing for objects
ChangeLog | 5 +++++
src/gnm-so-filled.c | 8 +++++---
src/gnm-so-line.c | 15 ++++++++-------
3 files changed, 18 insertions(+), 10 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index cc3ce1a..9f0697d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-25 Jean Brefort <jean brefort normalesup org>
+
+ * src/gnm-so-filled.c (gnm_so_filled_draw_cairo): fixed line setting.
+ * src/gnm-so-line.c (gnm_so_line_draw_cairo): ditto.
+
2009-09-25 Morten Welinder <terra gnome org>
* src/gnm-so-line.c (gnm_so_line_draw_cairo,
diff --git a/src/gnm-so-filled.c b/src/gnm-so-filled.c
index fe35104..8fc84b6 100644
--- a/src/gnm-so-filled.c
+++ b/src/gnm-so-filled.c
@@ -273,9 +273,10 @@ gnm_so_filled_draw_cairo (SheetObject const *so, cairo_t *cr,
cairo_pattern_destroy (pat);
}
/* Draw the line */
- cairo_set_line_width (cr, (style->line.width)? style->line.width: 1.);
- cairo_set_source_rgba (cr, GO_COLOR_TO_CAIRO (style->line.color));
- cairo_stroke (cr);
+ if (go_style_set_cairo_line (style, cr))
+ cairo_stroke (cr);
+ else
+ cairo_new_path (cr);
/* Draw the text. */
if (sof->text != NULL && *(sof->text) != '\0') {
PangoLayout *pl = pango_cairo_create_layout (cr);
@@ -303,6 +304,7 @@ gnm_so_filled_draw_cairo (SheetObject const *so, cairo_t *cr,
cairo_move_to (cr, sof->margin_pts.left,
sof->margin_pts.top);
cairo_scale (cr, scale_h, scale_v);
+ cairo_set_source_rgba (cr, GO_COLOR_TO_CAIRO (style->font.color));
pango_cairo_show_layout (cr, pl);
cairo_new_path (cr);
cairo_restore (cr);
diff --git a/src/gnm-so-line.c b/src/gnm-so-line.c
index a2b95b1..05ababd 100644
--- a/src/gnm-so-line.c
+++ b/src/gnm-so-line.c
@@ -185,10 +185,10 @@ gnm_so_line_draw_cairo (SheetObject const *so, cairo_t *cr,
double width, double height)
{
GnmSOLine *sol = GNM_SO_LINE (so);
- GOStyleLine const *style = &sol->style->line;
+ GOStyle const *style = sol->style;
double x1, y1, x2, y2;
- if (style->color == 0 || style->width < 0 || style->dash_type == GO_LINE_NONE)
+ if (style->line.color == 0 || style->line.width < 0 || style->line.dash_type == GO_LINE_NONE)
return;
switch (so->anchor.base.direction) {
@@ -223,8 +223,8 @@ gnm_so_line_draw_cairo (SheetObject const *so, cairo_t *cr,
return;
}
- cairo_set_source_rgba (cr, GO_COLOR_TO_CAIRO (style->color));
-
+ cairo_set_source_rgba (cr, GO_COLOR_TO_CAIRO (style->line.color));
+
if (sol->end_arrow.c > 0.) {
double phi;
@@ -249,11 +249,12 @@ gnm_so_line_draw_cairo (SheetObject const *so, cairo_t *cr,
y2 -= sol->end_arrow.a * cos (phi);
}
- cairo_set_line_width (cr, (style->width)? style->width: 1.);
- cairo_new_path (cr);
cairo_move_to (cr, x1, y1);
cairo_line_to (cr, x2, y2);
- cairo_stroke (cr);
+ if (go_style_set_cairo_line (style, cr))
+ cairo_stroke (cr);
+ else
+ cairo_new_path (cr);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]