summaryrefslogtreecommitdiff
path: root/svtools/source
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source')
-rw-r--r--svtools/source/config/optionsdrawinglayer.cxx38
1 files changed, 36 insertions, 2 deletions
diff --git a/svtools/source/config/optionsdrawinglayer.cxx b/svtools/source/config/optionsdrawinglayer.cxx
index 54efe4a66326..2fee81139800 100644
--- a/svtools/source/config/optionsdrawinglayer.cxx
+++ b/svtools/source/config/optionsdrawinglayer.cxx
@@ -22,6 +22,7 @@
#include <vcl/outdev.hxx>
#include <vcl/settings.hxx>
#include <officecfg/Office/Common.hxx>
+#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <mutex>
// #i73602#
@@ -124,6 +125,12 @@ static bool gbAntiAliasing = false;
static bool gbAllowAAInit = false;
static bool gbAllowAA = false;
+static bool gbAntiAliasingForwardInitial(false);
+static bool gbAntiAliasingForwardLast(true);
+
+static bool gbPixelSnapHairlineForwardInitial(false);
+static bool gbPixelSnapHairlineForwardLast(true);
+
bool IsAAPossibleOnThisSystem()
{
std::scoped_lock aGuard(gaAntiAliasMutex);
@@ -148,7 +155,18 @@ bool IsAntiAliasing()
}
bAntiAliasing = gbAntiAliasing;
}
- return bAntiAliasing && IsAAPossibleOnThisSystem();
+
+ bAntiAliasing = bAntiAliasing && IsAAPossibleOnThisSystem();
+
+ //
+ if (!gbAntiAliasingForwardInitial || gbAntiAliasingForwardLast != bAntiAliasing)
+ {
+ gbAntiAliasingForwardInitial = true;
+ gbAntiAliasingForwardLast = bAntiAliasing;
+ drawinglayer::geometry::ViewInformation2D::forwardAntiAliasing(bAntiAliasing);
+ }
+
+ return bAntiAliasing;
}
/**
@@ -165,6 +183,13 @@ void SetAntiAliasing( bool bOn, bool bTemporary )
comphelper::ConfigurationChanges::create();
officecfg::Office::Common::Drawinglayer::AntiAliasing::set(bOn, batch);
batch->commit();
+
+ if(!gbAntiAliasingForwardInitial || gbAntiAliasingForwardLast != bOn)
+ {
+ gbAntiAliasingForwardInitial = true;
+ gbAntiAliasingForwardLast = bOn;
+ drawinglayer::geometry::ViewInformation2D::forwardAntiAliasing(bOn);
+ }
}
gbAntiAliasing = bOn;
}
@@ -172,7 +197,16 @@ void SetAntiAliasing( bool bOn, bool bTemporary )
bool IsSnapHorVerLinesToDiscrete()
{
- return IsAntiAliasing() && officecfg::Office::Common::Drawinglayer::SnapHorVerLinesToDiscrete::get();
+ const bool bRetval(IsAntiAliasing() && officecfg::Office::Common::Drawinglayer::SnapHorVerLinesToDiscrete::get());
+
+ if (!gbPixelSnapHairlineForwardInitial || gbPixelSnapHairlineForwardLast != bRetval)
+ {
+ gbPixelSnapHairlineForwardInitial = true;
+ gbPixelSnapHairlineForwardLast = bRetval;
+ drawinglayer::geometry::ViewInformation2D::forwardPixelSnapHairline(bRetval);
+ }
+
+ return bRetval;
}
bool IsSolidDragCreate()