summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-31 23:11:41 +0000
committerKarl Berry <karl@freefriends.org>2018-08-31 23:11:41 +0000
commit8ba2cf02688200d56e4fe0839a451ef832ce15b6 (patch)
treefcec1a50903a6e5b939859a1f92e15342636f290 /Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
parent5d0960aa5419651a9c9b6503e44be2f098831ef1 (diff)
dvisvgm 2.5, including potrace now bundled with dvisvgm instead of under libs/
git-svn-id: svn://tug.org/texlive/trunk@48527 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
index a9424af38fb..5ff9e407bae 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/ImageToSVG.hpp
@@ -24,6 +24,7 @@
#include <istream>
#include <memory>
#include <string>
+#include "PsSpecialHandler.hpp"
#include "SpecialActions.hpp"
#include "SVGTree.hpp"
@@ -33,12 +34,19 @@ class ImageToSVG : protected SpecialActions {
public:
ImageToSVG (const std::string &fname, SVGOutputBase &out) : _fname(fname), _out(out) {}
virtual ~ImageToSVG () =default;
- void convert ();
- void setTransformation (const Matrix &m);
- void setPageSize (const std::string &name);
+ void convert (int pageno);
+ void convert (int firstPage, int lastPage, std::pair<int,int> *pageinfo);
+ void convert (const std::string &rangestr, std::pair<int,int> *pageinfo);
+ void setPageTransformation (const std::string &transCmds) {_transCmds = transCmds;}
+// void setPageSize (const std::string &name);
std::string filename () const {return _fname;}
+ PSInterpreter& psInterpreter () {return _psHandler.psInterpreter();}
+ virtual bool isSinglePageFormat () const =0;
+ virtual int totalPageCount () =0;
protected:
+ void checkGSAndFileFormat ();
+ Matrix getUserMatrix (const BoundingBox &bbox) const;
virtual std::string imageFormat () const =0;
virtual bool imageIsValid () const =0;
virtual BoundingBox imageBBox () const =0;
@@ -53,7 +61,6 @@ class ImageToSVG : protected SpecialActions {
Color getColor () const override {return _svg.getColor();}
void setMatrix (const Matrix &m) override {_svg.setMatrix(m);}
const Matrix& getMatrix () const override {return _svg.getMatrix();}
- void getPageTransform (Matrix &matrix) const override {}
void setBgColor (const Color &color) override {}
void appendToPage(std::unique_ptr<XMLNode> &&node) override {_svg.appendToPage(std::move(node));}
void appendToDefs(std::unique_ptr<XMLNode> &&node) override {_svg.appendToDefs(std::move(node));}
@@ -75,6 +82,9 @@ class ImageToSVG : protected SpecialActions {
SVGOutputBase &_out;
double _x=0, _y=0;
BoundingBox _bbox;
+ PsSpecialHandler _psHandler;
+ bool _haveGS=false; ///< true if Ghostscript is available
+ std::string _transCmds; ///< transformation commands
};
#endif