diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2008-06-12 20:38:23 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2008-06-12 20:38:23 +0000 |
| commit | d7aa714a794de9e8f3893fe42b179a9f6d1cbfc7 (patch) | |
| tree | 2074d31ea6dcf86583eab6876ebb4bc3f8a77b41 /src | |
| parent | add commentary to some methods about 2geom replacements (diff) | |
| download | inkscape-d7aa714a794de9e8f3893fe42b179a9f6d1cbfc7.tar.gz inkscape-d7aa714a794de9e8f3893fe42b179a9f6d1cbfc7.zip | |
add svg_write and read methods for Geom::Matrix
(bzr r5917)
Diffstat (limited to 'src')
| -rw-r--r-- | src/svg/svg-affine.cpp | 28 | ||||
| -rw-r--r-- | src/svg/svg.h | 3 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/svg/svg-affine.cpp b/src/svg/svg-affine.cpp index d33947447..0ad54accd 100644 --- a/src/svg/svg-affine.cpp +++ b/src/svg/svg-affine.cpp @@ -30,6 +30,7 @@ #include <libnr/nr-scale-matrix-ops.h> #include <libnr/nr-translate-matrix-ops.h> #include <libnr/nr-translate-rotate-ops.h> +#include <libnr/nr-convert2geom.h> #include "svg.h" #include "prefs-utils.h" @@ -38,6 +39,18 @@ #endif bool +sp_svg_transform_read(gchar const *str, Geom::Matrix *transform) +{ + NR::Matrix mat; + if (sp_svg_transform_read(str, &mat)) { + *transform = to_2geom(mat); + return true; + } else { + return false; + } +} + +bool sp_svg_transform_read(gchar const *str, NR::Matrix *transform) { int idx; @@ -162,6 +175,21 @@ sp_svg_transform_read(gchar const *str, NR::Matrix *transform) #define EQ(a,b) (fabs ((a) - (b)) < 1e-9) gchar * +sp_svg_transform_write(Geom::Matrix const &transform) +{ + Geom::Matrix const t(transform); + return sp_svg_transform_write(&t); +} + + +gchar * +sp_svg_transform_write(Geom::Matrix const *transform) +{ + NR::Matrix const t(from_2geom(*transform)); + return sp_svg_transform_write(&t); +} + +gchar * sp_svg_transform_write(NR::Matrix const &transform) { NR::Matrix const t(transform); diff --git a/src/svg/svg.h b/src/svg/svg.h index 0e5b4d5d5..a273ceddc 100644 --- a/src/svg/svg.h +++ b/src/svg/svg.h @@ -54,8 +54,11 @@ unsigned int sp_svg_length_read_ldd (const gchar *str, SVGLength::Unit *unit, do std::string sp_svg_length_write_with_units(SVGLength const &length); +bool sp_svg_transform_read(gchar const *str, Geom::Matrix *transform); bool sp_svg_transform_read(gchar const *str, NR::Matrix *transform); +gchar *sp_svg_transform_write(Geom::Matrix const &transform); +gchar *sp_svg_transform_write(Geom::Matrix const *transform); gchar *sp_svg_transform_write(NR::Matrix const &transform); gchar *sp_svg_transform_write(NR::Matrix const *transform); |
