From 360b347ad7654f46e605ef0c7f6f317117278e26 Mon Sep 17 00:00:00 2001 From: nabijaczleweli Date: Wed, 25 Mar 2020 21:40:14 +0100 Subject: [PATCH] Export backgrounds in vector files VectorFileWriter::Background() is an empty impl, except that it writes * a rectangle the size of the output for EPS and PDF, and * a \r\n"); } +void SvgFileWriter::Background(RgbaColor color) { + fprintf(f, +"\r\n", + color.red, color.green, color.blue); +} + void SvgFileWriter::StartPath(RgbaColor strokeRgb, double lineWidth, bool filled, RgbaColor fillRgb, hStyle hs) { @@ -1146,6 +1212,9 @@ void HpglFileWriter::StartFile() { fprintf(f, "SP1;\r\n"); } +void HpglFileWriter::Background(RgbaColor color) { +} + void HpglFileWriter::StartPath(RgbaColor strokeRgb, double lineWidth, bool filled, RgbaColor fillRgb, hStyle hs) { @@ -1187,6 +1256,8 @@ void GCodeFileWriter::StartPath(RgbaColor strokeRgb, double lineWidth, bool filled, RgbaColor fillRgb, hStyle hs) { } +void GCodeFileWriter::Background(RgbaColor color) { +} void GCodeFileWriter::FinishPath(RgbaColor strokeRgb, double lineWidth, bool filled, RgbaColor fillRgb, hStyle hs) { @@ -1248,6 +1319,9 @@ void Step2dFileWriter::StartFile() { sfw.WriteHeader(); } +void Step2dFileWriter::Background(RgbaColor color) { +} + void Step2dFileWriter::Triangle(STriangle *tr) { } diff --git a/src/solvespace.h b/src/solvespace.h index f98a53f..425e4c8 100644 --- a/src/solvespace.h +++ b/src/solvespace.h @@ -339,6 +339,7 @@ public: virtual void Bezier(SBezier *sb) = 0; virtual void Triangle(STriangle *tr) = 0; virtual bool OutputConstraints(IdList *) { return false; } + virtual void Background(RgbaColor color) = 0; virtual void StartFile() = 0; virtual void FinishAndCloseFile() = 0; virtual bool HasCanvasSize() const = 0; @@ -363,6 +364,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return false; } @@ -380,6 +382,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return true; } @@ -398,6 +401,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return true; } @@ -414,6 +418,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return true; } @@ -428,6 +433,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return false; } @@ -441,6 +447,7 @@ class Step2dFileWriter : public VectorFileWriter { bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return false; } @@ -455,6 +462,7 @@ public: bool filled, RgbaColor fillRgb, hStyle hs) override; void Triangle(STriangle *tr) override; void Bezier(SBezier *sb) override; + void Background(RgbaColor color) override; void StartFile() override; void FinishAndCloseFile() override; bool HasCanvasSize() const override { return false; }