summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/src/DVIToSVGActions.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/dvisvgm/src/DVIToSVGActions.hpp')
-rw-r--r--dviware/dvisvgm/src/DVIToSVGActions.hpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/dviware/dvisvgm/src/DVIToSVGActions.hpp b/dviware/dvisvgm/src/DVIToSVGActions.hpp
index 88fa6028ee..e9adc63e38 100644
--- a/dviware/dvisvgm/src/DVIToSVGActions.hpp
+++ b/dviware/dvisvgm/src/DVIToSVGActions.hpp
@@ -42,7 +42,7 @@ class DVIToSVGActions : public DVIActions, public SpecialActions {
using BoxMap = std::unordered_map<std::string,BoundingBox>;
public:
- DVIToSVGActions (DVIToSVG &dvisvg, SVGTree &svg);
+ DVIToSVGActions (DVIToSVG &dvisvg, SVGTree &svg) : _svg(svg), _dvireader(&dvisvg) {}
void reset () override;
void setChar (double x, double y, unsigned c, bool vertical, const Font &f) override;
void setRule (double x, double y, double height, double width) override;
@@ -68,6 +68,9 @@ class DVIToSVGActions : public DVIActions, public SpecialActions {
void setX (double x) override {_dvireader->translateToX(x); _svg.setX(x);}
void setY (double y) override {_dvireader->translateToY(y); _svg.setY(y);}
void finishLine () override {_dvireader->finishLine();}
+ void lockOutput () override {_outputLocked = true;}
+ void unlockOutput () override {_outputLocked = false;}
+ bool outputLocked () const override {return _outputLocked;}
const SVGTree& svgTree () const override {return _svg;}
BoundingBox& bbox () override {return _bbox;}
BoundingBox& bbox (const std::string &name, bool reset=false) override;
@@ -83,12 +86,13 @@ class DVIToSVGActions : public DVIActions, public SpecialActions {
SVGTree &_svg;
BasicDVIReader *_dvireader;
BoundingBox _bbox;
- int _pageCount;
- int _currentFontNum;
+ int _pageCount=0;
+ int _currentFontNum=-1;
mutable CharMap _usedChars;
FontSet _usedFonts;
- Color _bgcolor;
+ Color _bgcolor=Color::TRANSPARENT;
BoxMap _boxes;
+ bool _outputLocked=false;
};