From: johanengelen Date: Sun, 25 Jan 2009 00:24:16 +0000 (+0000) Subject: fix percentage coordinates for rect and line. (svgtestsuite-1.1/coords-units-02-b... X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=48cec9fa9e9545b81fe0ad6faef269202c8db224;p=inkscape.git fix percentage coordinates for rect and line. (svgtestsuite-1.1/coords-units-02-b.svg) --- diff --git a/src/sp-line.cpp b/src/sp-line.cpp index a3964b171..946d5d0e6 100644 --- a/src/sp-line.cpp +++ b/src/sp-line.cpp @@ -142,13 +142,15 @@ sp_line_update (SPObject *object, SPCtx *ctx, guint flags) SPLine *line = SP_LINE (object); SPStyle const *style = object->style; - double const d = 1.0 / NR::expansion(((SPItemCtx const *) ctx)->i2vp); + SPItemCtx const *ictx = (SPItemCtx const *) ctx; + double const w = (ictx->vp.x1 - ictx->vp.x0); + double const h = (ictx->vp.y1 - ictx->vp.y0); double const em = style->font_size.computed; double const ex = em * 0.5; // fixme: get from pango or libnrtype. - line->x1.update(em, ex, d); - line->x2.update(em, ex, d); - line->y1.update(em, ex, d); - line->y2.update(em, ex, d); + line->x1.update(em, ex, w); + line->x2.update(em, ex, w); + line->y1.update(em, ex, h); + line->y2.update(em, ex, h); sp_shape_set_shape ((SPShape *) object); } diff --git a/src/sp-rect.cpp b/src/sp-rect.cpp index c2fe527b6..c88b9eb38 100644 --- a/src/sp-rect.cpp +++ b/src/sp-rect.cpp @@ -174,9 +174,8 @@ sp_rect_update(SPObject *object, SPCtx *ctx, guint flags) SPRect *rect = (SPRect *) object; SPStyle *style = object->style; SPItemCtx const *ictx = (SPItemCtx const *) ctx; - double const d = ictx->i2vp.descrim(); - double const w = (ictx->vp.x1 - ictx->vp.x0) / d; - double const h = (ictx->vp.y1 - ictx->vp.y0) / d; + double const w = (ictx->vp.x1 - ictx->vp.x0); + double const h = (ictx->vp.y1 - ictx->vp.y0); double const em = style->font_size.computed; double const ex = 0.5 * em; // fixme: get x height from pango or libnrtype. rect->x.update(em, ex, w);