summaryrefslogtreecommitdiffstats
path: root/src/svg
diff options
context:
space:
mode:
authorJasper van de Gronde <jasper.vandegronde@gmail.com>2008-03-21 19:53:10 +0000
committerjaspervdg <jaspervdg@users.sourceforge.net>2008-03-21 19:53:10 +0000
commit40a243a7a5e67d4f09a82bfbee5babe40ec924b7 (patch)
tree5f43830b59a1c448f880a39cd2d23b8cc1058d97 /src/svg
parentStart working toward multiple inheritance (diff)
downloadinkscape-40a243a7a5e67d4f09a82bfbee5babe40ec924b7.tar.gz
inkscape-40a243a7a5e67d4f09a82bfbee5babe40ec924b7.zip
No more NRMatrix or NRPoint.
(bzr r5149)
Diffstat (limited to 'src/svg')
-rw-r--r--src/svg/svg-affine.cpp48
-rw-r--r--src/svg/svg.h9
2 files changed, 26 insertions, 31 deletions
diff --git a/src/svg/svg-affine.cpp b/src/svg/svg-affine.cpp
index 98a6cbf3b..d33947447 100644
--- a/src/svg/svg-affine.cpp
+++ b/src/svg/svg-affine.cpp
@@ -108,7 +108,7 @@ sp_svg_transform_read(gchar const *str, NR::Matrix *transform)
/* ok, have parsed keyword and args, now modify the transform */
if (!strcmp (keyword, "matrix")) {
if (n_args != 6) return false;
- a = NR_MATRIX_D_FROM_DOUBLE(args) * a;
+ a = (*NR_MATRIX_D_FROM_DOUBLE(args)) * a;
} else if (!strcmp (keyword, "translate")) {
if (n_args == 1) {
args[1] = 0;
@@ -164,12 +164,12 @@ sp_svg_transform_read(gchar const *str, NR::Matrix *transform)
gchar *
sp_svg_transform_write(NR::Matrix const &transform)
{
- NRMatrix const t(transform);
+ NR::Matrix const t(transform);
return sp_svg_transform_write(&t);
}
gchar *
-sp_svg_transform_write(NRMatrix const *transform)
+sp_svg_transform_write(NR::Matrix const *transform)
{
double e;
@@ -177,14 +177,14 @@ sp_svg_transform_write(NRMatrix const *transform)
return NULL;
}
- e = 0.000001 * NR_MATRIX_DF_EXPANSION (transform);
+ e = 0.000001 * NR::expansion(*transform);
int prec = prefs_get_int_attribute("options.svgoutput", "numericprecision", 8);
int min_exp = prefs_get_int_attribute("options.svgoutput", "minimumexponent", -8);
/* fixme: We could use t1 * t1 + t2 * t2 here instead */
- if (NR_DF_TEST_CLOSE (transform->c[1], 0.0, e) && NR_DF_TEST_CLOSE (transform->c[2], 0.0, e)) {
- if (NR_DF_TEST_CLOSE (transform->c[4], 0.0, e) && NR_DF_TEST_CLOSE (transform->c[5], 0.0, e)) {
- if (NR_DF_TEST_CLOSE (transform->c[0], 1.0, e) && NR_DF_TEST_CLOSE (transform->c[3], 1.0, e)) {
+ if (NR_DF_TEST_CLOSE ((*transform)[1], 0.0, e) && NR_DF_TEST_CLOSE ((*transform)[2], 0.0, e)) {
+ if (NR_DF_TEST_CLOSE ((*transform)[4], 0.0, e) && NR_DF_TEST_CLOSE ((*transform)[5], 0.0, e)) {
+ if (NR_DF_TEST_CLOSE ((*transform)[0], 1.0, e) && NR_DF_TEST_CLOSE ((*transform)[3], 1.0, e)) {
/* We are more or less identity */
return NULL;
} else {
@@ -193,24 +193,24 @@ sp_svg_transform_write(NRMatrix const *transform)
unsigned p = 0;
strcpy (c + p, "scale(");
p += 6;
- p += sp_svg_number_write_de (c + p, transform->c[0], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[0], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[3], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[3], prec, min_exp, FALSE);
c[p++] = ')';
c[p] = '\000';
g_assert( p <= sizeof(c) );
return g_strdup(c);
}
} else {
- if (NR_DF_TEST_CLOSE (transform->c[0], 1.0, e) && NR_DF_TEST_CLOSE (transform->c[3], 1.0, e)) {
+ if (NR_DF_TEST_CLOSE ((*transform)[0], 1.0, e) && NR_DF_TEST_CLOSE ((*transform)[3], 1.0, e)) {
/* We are more or less translate */
gchar c[256];
unsigned p = 0;
strcpy (c + p, "translate(");
p += 10;
- p += sp_svg_number_write_de (c + p, transform->c[4], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[4], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[5], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[5], prec, min_exp, FALSE);
c[p++] = ')';
c[p] = '\000';
g_assert( p <= sizeof(c) );
@@ -220,17 +220,17 @@ sp_svg_transform_write(NRMatrix const *transform)
unsigned p = 0;
strcpy (c + p, "matrix(");
p += 7;
- p += sp_svg_number_write_de (c + p, transform->c[0], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[0], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[1], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[1], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[2], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[2], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[3], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[3], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[4], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[4], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[5], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[5], prec, min_exp, FALSE);
c[p++] = ')';
c[p] = '\000';
g_assert( p <= sizeof(c) );
@@ -242,17 +242,17 @@ sp_svg_transform_write(NRMatrix const *transform)
unsigned p = 0;
strcpy (c + p, "matrix(");
p += 7;
- p += sp_svg_number_write_de (c + p, transform->c[0], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[0], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[1], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[1], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[2], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[2], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[3], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[3], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[4], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[4], prec, min_exp, FALSE);
c[p++] = ',';
- p += sp_svg_number_write_de (c + p, transform->c[5], prec, min_exp, FALSE);
+ p += sp_svg_number_write_de (c + p, (*transform)[5], prec, min_exp, FALSE);
c[p++] = ')';
c[p] = '\000';
g_assert( p <= sizeof(c) );
diff --git a/src/svg/svg.h b/src/svg/svg.h
index 4adacef7a..4b2dea994 100644
--- a/src/svg/svg.h
+++ b/src/svg/svg.h
@@ -17,12 +17,7 @@
#include <string>
#include "svg/svg-length.h"
-
-struct NArtBpath;
-struct NRMatrix;
-namespace NR {
- class Matrix;
-}
+#include "libnr/nr-forward.h"
/* Generic */
@@ -61,7 +56,7 @@ std::string sp_svg_length_write_with_units(SVGLength const &length);
bool sp_svg_transform_read(gchar const *str, NR::Matrix *transform);
gchar *sp_svg_transform_write(NR::Matrix const &transform);
-gchar *sp_svg_transform_write(NRMatrix const *transform);
+gchar *sp_svg_transform_write(NR::Matrix const *transform);
double sp_svg_read_percentage (const char * str, double def);