poppler/SplashOutputDev.cc | 1 + splash/SplashClip.cc | 16 ++++++++++++++++ splash/SplashClip.h | 22 +++------------------- 3 files changed, 20 insertions(+), 19 deletions(-)
New commits: commit 194e57f21e6a7fe2a5eb3cf687599978b09e03f9 Author: Stefan Brüns <stefan.bru...@rwth-aachen.de> Date: Mon Oct 7 20:46:33 2019 +0200 Move the non-trivial part of the clip test to the implementation file This allows to only have a SplashXPathScanner forward declaration in the header file. diff --git a/splash/SplashClip.cc b/splash/SplashClip.cc index a58fd29e..a4c2e73e 100644 --- a/splash/SplashClip.cc +++ b/splash/SplashClip.cc @@ -406,3 +406,18 @@ void SplashClip::clipAALine(SplashBitmap *aaBuf, int *x0, int *x1, int y, bool a } } } + +bool SplashClip::testClipPaths(int x, int y) { + if (antialias) { + x *= splashAASize; + y *= splashAASize; + } + + for (int i = 0; i < length; ++i) { + if (!scanners[i]->test(x, y)) { + return false; + } + } + + return true; +} diff --git a/splash/SplashClip.h b/splash/SplashClip.h index a6ab1870..77b5e6c3 100644 --- a/splash/SplashClip.h +++ b/splash/SplashClip.h @@ -23,10 +23,10 @@ #define SPLASHCLIP_H #include "SplashTypes.h" -#include "SplashXPathScanner.h" class SplashPath; class SplashXPath; +class SplashXPathScanner; class SplashBitmap; //------------------------------------------------------------------------ @@ -72,29 +72,13 @@ public: // Returns true if (<x>,<y>) is inside the clip. bool test(int x, int y) { - int i; - // check the rectangle if (x < xMinI || x > xMaxI || y < yMinI || y > yMaxI) { return false; } // check the paths - if (antialias) { - for (i = 0; i < length; ++i) { - if (!scanners[i]->test(x * splashAASize, y * splashAASize)) { - return false; - } - } - } else { - for (i = 0; i < length; ++i) { - if (!scanners[i]->test(x, y)) { - return false; - } - } - } - - return true; + return testClipPaths(x, y); } // Tests a rectangle against the clipping region. Returns one of: @@ -137,6 +121,7 @@ protected: SplashClip(SplashClip *clip); void grow(int nPaths); + bool testClipPaths(int x, int y); bool antialias; SplashCoord xMin, yMin, xMax, yMax; commit 9d875adabdc94f50de78d72528d373b46a8ed280 Author: Stefan Brüns <stefan.bru...@rwth-aachen.de> Date: Mon Oct 7 19:57:32 2019 +0200 Include SplashMath.h only where needed diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc index 440ee307..214302a7 100644 --- a/poppler/SplashOutputDev.cc +++ b/poppler/SplashOutputDev.cc @@ -74,6 +74,7 @@ #include "splash/SplashFont.h" #include "splash/SplashFontFile.h" #include "splash/SplashFontFileID.h" +#include "splash/SplashMath.h" #include "splash/Splash.h" #include "SplashOutputDev.h" #include <algorithm> diff --git a/splash/SplashClip.cc b/splash/SplashClip.cc index 8a07f24f..a58fd29e 100644 --- a/splash/SplashClip.cc +++ b/splash/SplashClip.cc @@ -25,6 +25,7 @@ #include <string.h> #include "goo/gmem.h" #include "SplashErrorCodes.h" +#include "SplashMath.h" #include "SplashPath.h" #include "SplashXPath.h" #include "SplashXPathScanner.h" diff --git a/splash/SplashClip.h b/splash/SplashClip.h index ddc48974..a6ab1870 100644 --- a/splash/SplashClip.h +++ b/splash/SplashClip.h @@ -23,7 +23,6 @@ #define SPLASHCLIP_H #include "SplashTypes.h" -#include "SplashMath.h" #include "SplashXPathScanner.h" class SplashPath; _______________________________________________ poppler mailing list poppler@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/poppler