summaryrefslogtreecommitdiffstats
path: root/src/extension/internal
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2008-08-05 14:33:46 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2008-08-05 14:33:46 +0000
commit0651eb9e41d0e6680126456d6b7b665154ab7660 (patch)
tree794a0b30225009643ef882d51010bce5c8ae9cf8 /src/extension/internal
parentmore mockup on svgfonts dialog (diff)
downloadinkscape-0651eb9e41d0e6680126456d6b7b665154ab7660.tar.gz
inkscape-0651eb9e41d0e6680126456d6b7b665154ab7660.zip
Use is_straight_curve() instead of three separate dynamic casts
(bzr r6564)
Diffstat (limited to 'src/extension/internal')
-rw-r--r--src/extension/internal/javafx-out.cpp5
-rw-r--r--src/extension/internal/latex-pstricks.cpp5
-rw-r--r--src/extension/internal/odf.cpp5
-rw-r--r--src/extension/internal/pov-out.cpp5
-rw-r--r--src/extension/internal/ps.cpp5
5 files changed, 10 insertions, 15 deletions
diff --git a/src/extension/internal/javafx-out.cpp b/src/extension/internal/javafx-out.cpp
index 2e0f2d59f..29c2bdab0 100644
--- a/src/extension/internal/javafx-out.cpp
+++ b/src/extension/internal/javafx-out.cpp
@@ -30,6 +30,7 @@
#include <2geom/bezier-curve.h>
#include <2geom/hvlinesegment.h>
#include "helper/geom.h"
+#include "helper/geom-curves.h"
#include <io/sys.h>
@@ -473,9 +474,7 @@ bool JavaFXOutput::doCurve(SPItem *item, const String &id)
for (Geom::Path::const_iterator cit = pit->begin(); cit != pit->end_closed(); ++cit)
{
//### LINE
- if( dynamic_cast<Geom::LineSegment const *> (&*cit) ||
- dynamic_cast<Geom::HLineSegment const *>(&*cit) ||
- dynamic_cast<Geom::VLineSegment const *>(&*cit) )
+ if( is_straight_curve(*cit) )
{
Geom::Point p = cit->finalPoint();
out(" LineTo {\n");
diff --git a/src/extension/internal/latex-pstricks.cpp b/src/extension/internal/latex-pstricks.cpp
index 9909d7436..c1dcec361 100644
--- a/src/extension/internal/latex-pstricks.cpp
+++ b/src/extension/internal/latex-pstricks.cpp
@@ -31,6 +31,7 @@
#include <2geom/sbasis-to-bezier.h>
#include <2geom/bezier-curve.h>
#include <2geom/hvlinesegment.h>
+#include "helper/geom-curves.h"
#include "sp-item.h"
@@ -305,9 +306,7 @@ PrintLatex::print_2geomcurve(SVGOStringStream &os, Geom::Curve const & c )
using Geom::X;
using Geom::Y;
- if( dynamic_cast<Geom::LineSegment const*>(&c) ||
- dynamic_cast<Geom::HLineSegment const*>(&c) ||
- dynamic_cast<Geom::VLineSegment const*>(&c) )
+ if( is_straight_curve(c) )
{
os << "\\lineto(" << c.finalPoint()[X] << "," << c.finalPoint()[Y] << ")\n";
}
diff --git a/src/extension/internal/odf.cpp b/src/extension/internal/odf.cpp
index 2a71eabca..02c3626bf 100644
--- a/src/extension/internal/odf.cpp
+++ b/src/extension/internal/odf.cpp
@@ -56,6 +56,7 @@
#include <2geom/hvlinesegment.h>
#include <2geom/transforms.h>
#include <helper/geom.h>
+#include "helper/geom-curves.h"
#include "extension/system.h"
#include "xml/repr.h"
@@ -1504,9 +1505,7 @@ writePath(Writer &outs, Geom::PathVector const &pathv,
for (Geom::Path::const_iterator cit = pit->begin(); cit != pit->end_closed(); ++cit) {
- if( dynamic_cast<Geom::LineSegment const *> (&*cit) ||
- dynamic_cast<Geom::HLineSegment const *>(&*cit) ||
- dynamic_cast<Geom::VLineSegment const *>(&*cit) )
+ if( is_straight_curve(*cit) )
{
double destx = cit->finalPoint()[X];
double desty = cit->finalPoint()[Y];
diff --git a/src/extension/internal/pov-out.cpp b/src/extension/internal/pov-out.cpp
index 01b8e64b5..ea746eae7 100644
--- a/src/extension/internal/pov-out.cpp
+++ b/src/extension/internal/pov-out.cpp
@@ -32,6 +32,7 @@
#include <2geom/bezier-curve.h>
#include <2geom/hvlinesegment.h>
#include "helper/geom.h"
+#include "helper/geom-curves.h"
#include <io/sys.h>
#include <string>
@@ -352,9 +353,7 @@ bool PovOutput::doCurve(SPItem *item, const String &id)
for (Geom::Path::const_iterator cit = pit->begin(); cit != pit->end_closed(); ++cit)
{
- if( dynamic_cast<Geom::LineSegment const *> (&*cit) ||
- dynamic_cast<Geom::HLineSegment const *>(&*cit) ||
- dynamic_cast<Geom::VLineSegment const *>(&*cit) )
+ if( is_straight_curve(*cit) )
{
Geom::Point p0 = cit->initialPoint();
Geom::Point p1 = cit->finalPoint();
diff --git a/src/extension/internal/ps.cpp b/src/extension/internal/ps.cpp
index cad576975..6f1405de2 100644
--- a/src/extension/internal/ps.cpp
+++ b/src/extension/internal/ps.cpp
@@ -78,6 +78,7 @@
#include <2geom/sbasis-to-bezier.h>
#include <2geom/bezier-curve.h>
#include <2geom/hvlinesegment.h>
+#include "helper/geom-curves.h"
/*
using std::atof;
@@ -1465,9 +1466,7 @@ PrintPS::print_2geomcurve(SVGOStringStream &os, Geom::Curve const & c )
using Geom::X;
using Geom::Y;
- if( dynamic_cast<Geom::LineSegment const*>(&c) ||
- dynamic_cast<Geom::HLineSegment const*>(&c) ||
- dynamic_cast<Geom::VLineSegment const*>(&c) )
+ if( is_straight_curve(c) )
{
os << c.finalPoint()[X] << " " << c.finalPoint()[Y] << " lineto\n";
}