summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp68
1 files changed, 0 insertions, 68 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
deleted file mode 100644
index acf2c40a80f..00000000000
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BgColorSpecialHandler.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*************************************************************************
-** BgColorSpecialHandler.cpp **
-** **
-** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2021 Martin Gieseking <martin.gieseking@uos.de> **
-** **
-** This program is free software; you can redistribute it and/or **
-** modify it under the terms of the GNU General Public License as **
-** published by the Free Software Foundation; either version 3 of **
-** the License, or (at your option) any later version. **
-** **
-** This program is distributed in the hope that it will be useful, but **
-** WITHOUT ANY WARRANTY; without even the implied warranty of **
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the **
-** GNU General Public License for more details. **
-** **
-** You should have received a copy of the GNU General Public License **
-** along with this program; if not, see <http://www.gnu.org/licenses/>. **
-*************************************************************************/
-
-#include <algorithm>
-#include "BgColorSpecialHandler.hpp"
-#include "ColorSpecialHandler.hpp"
-#include "SpecialActions.hpp"
-
-using namespace std;
-
-
-/** Collect all background color changes while preprocessing the DVI file.
- * We need them in order to apply the correct background colors even if
- * not all but only selected DVI pages are converted. */
-void BgColorSpecialHandler::preprocess (const string&, std::istream &is, SpecialActions &actions) {
- Color color = ColorSpecialHandler::readColor(is);
- unsigned pageno = actions.getCurrentPageNumber();
- if (_pageColors.empty() || _pageColors.back().second != color) {
- if (!_pageColors.empty() && _pageColors.back().first == pageno)
- _pageColors.back().second = color;
- else
- _pageColors.emplace_back(PageColor(pageno, color));
- }
-}
-
-
-bool BgColorSpecialHandler::process (const string&, istream&, SpecialActions&) {
- return true;
-}
-
-
-void BgColorSpecialHandler::dviBeginPage (unsigned pageno, SpecialActions &actions) {
- // Ensure that the background color of the preceeding page is set as the
- // default background color of the current page because this special affects
- // the current and all subsequent pages until the next change.
- // See the documentation of the color package, section 3.5.
- if (_pageColors.empty())
- return;
- // find number of page with bg color change not lower than the current one
- auto it = lower_bound(_pageColors.begin(), _pageColors.end(), PageColor(pageno, Color::BLACK));
- if (it != _pageColors.end() && it->first == pageno)
- actions.setBgColor(it->second);
- else if (it != _pageColors.begin())
- actions.setBgColor((--it)->second);
-}
-
-
-vector<const char*> BgColorSpecialHandler::prefixes() const {
- vector<const char*> pfx {"background"};
- return pfx;
-}