summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-04-17 11:43:39 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-04-17 13:07:42 +0200
commitf569507f3f0da7f69a2e808165612cbef4c15410 (patch)
tree7aad2540b2d5eaadd074d679f05fdc9ad524042d
parent9a3b47afab1750eba0451d59a8bac53302d85b2f (diff)
Revert "[API CHANGE] remove some primitives rendering settings"
This reverts commit c71656f51a09e88ecae4f3423c96fee84778647d. Reason for revert: I give up Change-Id: I2a09c36c1f0d731f4d3f7d809364de7efa8d8a58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92426 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--drawinglayer/source/primitive2d/controlprimitive2d.cxx3
-rw-r--r--drawinglayer/source/primitive2d/sceneprimitive2d.cxx2
-rw-r--r--drawinglayer/source/processor2d/vclpixelprocessor2d.cxx20
-rw-r--r--drawinglayer/source/processor2d/vclprocessor2d.cxx2
-rw-r--r--drawinglayer/source/processor3d/zbufferprocessor3d.cxx2
-rw-r--r--include/svtools/optionsdrawinglayer.hxx23
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs64
-rw-r--r--svtools/source/config/optionsdrawinglayer.cxx153
-rw-r--r--svx/source/svdraw/svddrgv.cxx7
9 files changed, 245 insertions, 31 deletions
diff --git a/drawinglayer/source/primitive2d/controlprimitive2d.cxx b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
index 65ec1ab9214a..600bb4be8a3f 100644
--- a/drawinglayer/source/primitive2d/controlprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/controlprimitive2d.cxx
@@ -96,7 +96,8 @@ namespace drawinglayer::primitive2d
basegfx::B2DVector aDiscreteSize(rViewInformation.getObjectToViewTransformation() * aScale);
// limit to a maximum square size, e.g. 300x150 pixels (45000)
- const double fDiscreteMax(SvtOptionsDrawinglayer::GetQuadraticFormControlRenderLimit());
+ const SvtOptionsDrawinglayer aDrawinglayerOpt;
+ const double fDiscreteMax(aDrawinglayerOpt.GetQuadraticFormControlRenderLimit());
const double fDiscreteQuadratic(aDiscreteSize.getX() * aDiscreteSize.getY());
const bool bScaleUsed(fDiscreteQuadratic > fDiscreteMax);
double fFactor(1.0);
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index b225d62537a9..c0c0fec7d41a 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -243,7 +243,7 @@ namespace drawinglayer::primitive2d
double fViewSizeY(aVisibleDiscreteRange.getHeight());
const double fViewVisibleArea(fViewSizeX * fViewSizeY);
const SvtOptionsDrawinglayer aDrawinglayerOpt;
- const double fMaximumVisibleArea(SvtOptionsDrawinglayer::GetQuadratic3DRenderLimit());
+ const double fMaximumVisibleArea(aDrawinglayerOpt.GetQuadratic3DRenderLimit());
double fReduceFactor(1.0);
if(fViewVisibleArea > fMaximumVisibleArea)
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index f09776f50710..e94637a9a7fe 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -389,7 +389,14 @@ namespace drawinglayer::processor2d
const DrawModeFlags nOriginalDrawMode(mpOutputDevice->GetDrawMode());
adaptTextToFillDrawMode();
- RenderTextSimpleOrDecoratedPortionPrimitive2D(rCandidate);
+ if(getOptionsDrawinglayer().IsRenderSimpleTextDirect())
+ {
+ RenderTextSimpleOrDecoratedPortionPrimitive2D(rCandidate);
+ }
+ else
+ {
+ process(rCandidate);
+ }
// restore DrawMode
mpOutputDevice->SetDrawMode(nOriginalDrawMode);
@@ -401,7 +408,14 @@ namespace drawinglayer::processor2d
const DrawModeFlags nOriginalDrawMode(mpOutputDevice->GetDrawMode());
adaptTextToFillDrawMode();
- RenderTextSimpleOrDecoratedPortionPrimitive2D(rCandidate);
+ if(getOptionsDrawinglayer().IsRenderDecoratedTextDirect())
+ {
+ RenderTextSimpleOrDecoratedPortionPrimitive2D(rCandidate);
+ }
+ else
+ {
+ process(rCandidate);
+ }
// restore DrawMode
mpOutputDevice->SetDrawMode(nOriginalDrawMode);
@@ -815,7 +829,7 @@ namespace drawinglayer::processor2d
void VclPixelProcessor2D::processMetaFilePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate)
{
// #i98289#
- const bool bForceLineSnap(getOptionsDrawinglayer().IsAntiAliasing());
+ const bool bForceLineSnap(getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete());
const AntialiasingFlags nOldAntiAliase(mpOutputDevice->GetAntialiasing());
if(bForceLineSnap)
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index b7537708af20..34ff2992934f 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -332,7 +332,7 @@ namespace drawinglayer::processor2d
basegfx::B2DPolygon aLocalPolygon(rPolygonCandidate.getB2DPolygon());
aLocalPolygon.transform(maCurrentTransformation);
- if(bPixelBased && getOptionsDrawinglayer().IsAntiAliasing())
+ if(bPixelBased && getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete())
{
// #i98289#
// when a Hairline is painted and AntiAliasing is on the option SnapHorVerLinesToDiscrete
diff --git a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
index c36e2bbfc558..3c5945af41b7 100644
--- a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
@@ -444,7 +444,7 @@ namespace drawinglayer::processor3d
if(mnAntiAlialize > 1)
{
- const bool bForceLineSnap(getOptionsDrawinglayer().IsAntiAliasing());
+ const bool bForceLineSnap(getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete());
if(bForceLineSnap)
{
diff --git a/include/svtools/optionsdrawinglayer.hxx b/include/svtools/optionsdrawinglayer.hxx
index b156dd5741f2..762b2545e1af 100644
--- a/include/svtools/optionsdrawinglayer.hxx
+++ b/include/svtools/optionsdrawinglayer.hxx
@@ -101,23 +101,12 @@ class SVT_DLLPUBLIC SvtOptionsDrawinglayer
// primitives
bool IsAntiAliasing() const;
- /**
- Defines a Limitation for the default raster conversion from
- 3D Scenes to Bitmaps. The number is the maximum number of pixels to
- use, e.g. 1000x1000 Pixels is allowed as default. When Scenes would
- need more Pixels than this, the Bitmap will be limited and scaled to
- the needed pixel size at paint time.
- */
- static sal_uInt32 GetQuadratic3DRenderLimit() { return 1000000; }
- /**
- Defines a Limitation for the default raster conversion of
- FormControls in edit mode. These have the ability to be displayed
- using this fallback to Bitmaps. The number is the maximum number of
- pixels to use, e.g. 300x150 Pixels is allowed as default. When
- FormControls would need more Pixels than this, the Bitmap will be
- limited and scaled to the needed pixel size at paint time.
- */
- static sal_uInt32 GetQuadraticFormControlRenderLimit() { return 45000; }
+ bool IsSnapHorVerLinesToDiscrete() const;
+ bool IsSolidDragCreate() const;
+ bool IsRenderDecoratedTextDirect() const;
+ bool IsRenderSimpleTextDirect() const;
+ sal_uInt32 GetQuadratic3DRenderLimit() const;
+ sal_uInt32 GetQuadraticFormControlRenderLimit() const;
void SetAntiAliasing( bool bState );
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index d7ae0e4d48b6..1307269765fb 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -1140,6 +1140,45 @@
</info>
<value>true</value>
</prop>
+ <prop oor:name="SnapHorVerLinesToDiscrete" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>This switch allows to enhance visualisation of graphics which
+ use Horizontal or Vertical Hairlines combined with AntiAliased mode
+ (e.g. in 2D charts). When not used, those lines will be AntiAliased as
+ everything else. Since this is not pleasing for the eye, this option
+ allows to force those lines to snap to discrete points (pixels) when
+ activated and thus avoids AntiAliasing of pure Horizontal or Vertical
+ Hairlines.</desc>
+ <label>Determines if Horizontal and Vertical HairLines in AntiAliased
+ mode are snapped to discrete pixels to enhance visualisation</label>
+ </info>
+ <value>true</value>
+ </prop>
+ <prop oor:name="RenderDecoratedTextDirect" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>This switch determines if the decorations of decorated text
+ portions (e.g. underline, strike through) are rendered using VCL
+ direct rendering or if the primitive is decomposed into simple text
+ and the corresponding geometrical representations of the decorations.
+ Default is true since VCL's usage of the diverse System's hinting
+ possibilities for decorations is useful.</desc>
+ <label>Determines if decorated texts are decomposed at render time or
+ directly rendered using VCL</label>
+ </info>
+ <value>true</value>
+ </prop>
+ <prop oor:name="RenderSimpleTextDirect" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>This switch determines if simple text is directly rendered using
+ VCL or not. If not, the simple text is decomposed into PolyPolygons
+ which will be painted then. Default is true, since VCL will use the
+ hinting for font rendering on the diverse supported systems, which
+ gives better quality than rendering the text as Polygons.</desc>
+ <label>Determines if simple texts are decomposed at render time or
+ directly rendered using VCL</label>
+ </info>
+ <value>true</value>
+ </prop>
<prop oor:name="SolidDragCreate" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>This switch decides if Interactions in the DrawingLayer are
@@ -1155,6 +1194,31 @@
</info>
<value>true</value>
</prop>
+ <prop oor:name="Quadratic3DRenderLimit" oor:type="xs:int" oor:nillable="false">
+ <info>
+ <desc>This defines a Limitation for the default raster conversion from
+ 3D Scenes to Bitmaps. The number is the maximum number of pixels to
+ use, e.g. 1000x1000 Pixels is allowed as default. When Scenes would
+ need more Pixels than this, the Bitmap will be limited and scaled to
+ the needed pixel size at paint time.</desc>
+ <label>A Pixel limitation for the creation of 3D Scenes with the
+ default renderer.</label>
+ </info>
+ <value>1000000</value>
+ </prop>
+ <prop oor:name="QuadraticFormControlRenderLimit" oor:type="xs:int" oor:nillable="false">
+ <info>
+ <desc>This defines a Limitation for the default raster conversion of
+ FormControls in edit mode. These have the ability to be displayed
+ using this fallback to Bitmaps. The number is the maximum number of
+ pixels to use, e.g. 300x150 Pixels is allowed as default. When
+ FormControls would need more Pixels than this, the Bitmap will be
+ limited and scaled to the needed pixel size at paint time.</desc>
+ <label>A Pixel limitation for the creation of FormControl fallback
+ display.</label>
+ </info>
+ <value>45000</value>
+ </prop>
<prop oor:name="TransparentSelection" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>This switch defines if the selections in the applications (text
diff --git a/svtools/source/config/optionsdrawinglayer.cxx b/svtools/source/config/optionsdrawinglayer.cxx
index d20f2a32be2c..18a2ab4a00a7 100644
--- a/svtools/source/config/optionsdrawinglayer.cxx
+++ b/svtools/source/config/optionsdrawinglayer.cxx
@@ -62,6 +62,12 @@ using namespace ::com::sun::star::uno ;
// primitives
#define DEFAULT_ANTIALIASING true
+#define DEFAULT_SNAPHORVERLINESTODISCRETE true
+#define DEFAULT_SOLIDDRAGCREATE true
+#define DEFAULT_RENDERDECORATEDTEXTDIRECT true
+#define DEFAULT_RENDERSIMPLETEXTDIRECT true
+#define DEFAULT_QUADRATIC3DRENDERLIMIT 1000000
+#define DEFAULT_QUADRATICFORMCONTROLRENDERLIMIT 45000
// #i97672# selection settings
#define DEFAULT_TRANSPARENTSELECTION true
@@ -94,6 +100,12 @@ using namespace ::com::sun::star::uno ;
// primitives
#define PROPERTYNAME_ANTIALIASING OUString("AntiAliasing")
+#define PROPERTYNAME_SNAPHORVERLINESTODISCRETE OUString("SnapHorVerLinesToDiscrete")
+#define PROPERTYNAME_SOLIDDRAGCREATE OUString("SolidDragCreate")
+#define PROPERTYNAME_RENDERDECORATEDTEXTDIRECT OUString("RenderDecoratedTextDirect")
+#define PROPERTYNAME_RENDERSIMPLETEXTDIRECT OUString("RenderSimpleTextDirect")
+#define PROPERTYNAME_QUADRATIC3DRENDERLIMIT OUString("Quadratic3DRenderLimit")
+#define PROPERTYNAME_QUADRATICFORMCONTROLRENDERLIMIT OUString("QuadraticFormControlRenderLimit")
// #i97672# selection settings
#define PROPERTYNAME_TRANSPARENTSELECTION OUString("TransparentSelection")
@@ -126,13 +138,19 @@ using namespace ::com::sun::star::uno ;
// primitives
#define PROPERTYHANDLE_ANTIALIASING 17
+#define PROPERTYHANDLE_SNAPHORVERLINESTODISCRETE 18
+#define PROPERTYHANDLE_SOLIDDRAGCREATE 19
+#define PROPERTYHANDLE_RENDERDECORATEDTEXTDIRECT 20
+#define PROPERTYHANDLE_RENDERSIMPLETEXTDIRECT 21
+#define PROPERTYHANDLE_QUADRATIC3DRENDERLIMIT 22
+#define PROPERTYHANDLE_QUADRATICFORMCONTROLRENDERLIMIT 23
// #i97672# selection settings
-#define PROPERTYHANDLE_TRANSPARENTSELECTION 18
-#define PROPERTYHANDLE_TRANSPARENTSELECTIONPERCENT 19
-#define PROPERTYHANDLE_SELECTIONMAXIMUMLUMINANCEPERCENT 20
+#define PROPERTYHANDLE_TRANSPARENTSELECTION 24
+#define PROPERTYHANDLE_TRANSPARENTSELECTIONPERCENT 25
+#define PROPERTYHANDLE_SELECTIONMAXIMUMLUMINANCEPERCENT 26
-#define PROPERTYCOUNT 21
+#define PROPERTYCOUNT 27
class SvtOptionsDrawinglayer_Impl : public ConfigItem
{
@@ -171,6 +189,12 @@ public:
// primitives
bool IsAntiAliasing() const { return m_bAntiAliasing;}
+ bool IsSnapHorVerLinesToDiscrete() const { return m_bSnapHorVerLinesToDiscrete;}
+ bool IsSolidDragCreate() const { return m_bSolidDragCreate;}
+ bool IsRenderDecoratedTextDirect() const { return m_bRenderDecoratedTextDirect;}
+ bool IsRenderSimpleTextDirect() const { return m_bRenderSimpleTextDirect;}
+ sal_uInt32 GetQuadratic3DRenderLimit() const { return m_nQuadratic3DRenderLimit;}
+ sal_uInt32 GetQuadraticFormControlRenderLimit() const { return m_nQuadraticFormControlRenderLimit;}
void SetAntiAliasing( bool bState );
@@ -216,6 +240,12 @@ private:
// primitives
bool m_bAntiAliasing;
+ bool m_bSnapHorVerLinesToDiscrete;
+ bool m_bSolidDragCreate;
+ bool m_bRenderDecoratedTextDirect;
+ bool m_bRenderSimpleTextDirect;
+ sal_uInt32 m_nQuadratic3DRenderLimit;
+ sal_uInt32 m_nQuadraticFormControlRenderLimit;
// #i97672# selection settings
sal_uInt16 m_nTransparentSelectionPercent;
@@ -255,6 +285,12 @@ SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl() :
// primitives
m_bAntiAliasing(DEFAULT_ANTIALIASING),
+ m_bSnapHorVerLinesToDiscrete(DEFAULT_SNAPHORVERLINESTODISCRETE),
+ m_bSolidDragCreate(DEFAULT_SOLIDDRAGCREATE),
+ m_bRenderDecoratedTextDirect(DEFAULT_RENDERDECORATEDTEXTDIRECT),
+ m_bRenderSimpleTextDirect(DEFAULT_RENDERSIMPLETEXTDIRECT),
+ m_nQuadratic3DRenderLimit(DEFAULT_QUADRATIC3DRENDERLIMIT),
+ m_nQuadraticFormControlRenderLimit(DEFAULT_QUADRATICFORMCONTROLRENDERLIMIT),
// #i97672# selection settings
m_nTransparentSelectionPercent(DEFAULT_TRANSPARENTSELECTIONPERCENT),
@@ -413,6 +449,49 @@ SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl() :
}
break;
+ // primitives
+ case PROPERTYHANDLE_SNAPHORVERLINESTODISCRETE:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\SnapHorVerLinesToDiscrete\"?" );
+ seqValues[nProperty] >>= m_bSnapHorVerLinesToDiscrete;
+ }
+ break;
+
+ case PROPERTYHANDLE_SOLIDDRAGCREATE:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\SolidDragCreate\"?" );
+ seqValues[nProperty] >>= m_bSolidDragCreate;
+ }
+ break;
+
+ case PROPERTYHANDLE_RENDERDECORATEDTEXTDIRECT:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\RenderDecoratedTextDirect\"?" );
+ seqValues[nProperty] >>= m_bRenderDecoratedTextDirect;
+ }
+ break;
+
+ case PROPERTYHANDLE_RENDERSIMPLETEXTDIRECT:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_BOOLEAN), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\RenderSimpleTextDirect\"?" );
+ seqValues[nProperty] >>= m_bRenderSimpleTextDirect;
+ }
+ break;
+
+ case PROPERTYHANDLE_QUADRATIC3DRENDERLIMIT:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_LONG), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\Quadratic3DRenderLimit\"?" );
+ seqValues[nProperty] >>= m_nQuadratic3DRenderLimit;
+ }
+ break;
+
+ case PROPERTYHANDLE_QUADRATICFORMCONTROLRENDERLIMIT:
+ {
+ DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_LONG), "SvtOptionsDrawinglayer_Impl::SvtOptionsDrawinglayer_Impl()\nWho has changed the value type of \"Office.Common\\Drawinglayer\\QuadraticFormControlRenderLimit\"?" );
+ seqValues[nProperty] >>= m_nQuadraticFormControlRenderLimit;
+ }
+ break;
+
// #i97672# selection settings
case PROPERTYHANDLE_TRANSPARENTSELECTION:
{
@@ -531,6 +610,30 @@ void SvtOptionsDrawinglayer_Impl::ImplCommit()
aSeqValues[nProperty] <<= m_bAntiAliasing;
break;
+ case PROPERTYHANDLE_SNAPHORVERLINESTODISCRETE:
+ aSeqValues[nProperty] <<= m_bSnapHorVerLinesToDiscrete;
+ break;
+
+ case PROPERTYHANDLE_SOLIDDRAGCREATE:
+ aSeqValues[nProperty] <<= m_bSolidDragCreate;
+ break;
+
+ case PROPERTYHANDLE_RENDERDECORATEDTEXTDIRECT:
+ aSeqValues[nProperty] <<= m_bRenderDecoratedTextDirect;
+ break;
+
+ case PROPERTYHANDLE_RENDERSIMPLETEXTDIRECT:
+ aSeqValues[nProperty] <<= m_bRenderSimpleTextDirect;
+ break;
+
+ case PROPERTYHANDLE_QUADRATIC3DRENDERLIMIT:
+ aSeqValues[nProperty] <<= m_nQuadratic3DRenderLimit;
+ break;
+
+ case PROPERTYHANDLE_QUADRATICFORMCONTROLRENDERLIMIT:
+ aSeqValues[nProperty] <<= m_nQuadraticFormControlRenderLimit;
+ break;
+
// #i97672# selection settings
case PROPERTYHANDLE_TRANSPARENTSELECTION:
aSeqValues[nProperty] <<= m_bTransparentSelection;
@@ -627,6 +730,12 @@ Sequence< OUString > SvtOptionsDrawinglayer_Impl::impl_GetPropertyNames()
// primitives
PROPERTYNAME_ANTIALIASING,
+ PROPERTYNAME_SNAPHORVERLINESTODISCRETE,
+ PROPERTYNAME_SOLIDDRAGCREATE,
+ PROPERTYNAME_RENDERDECORATEDTEXTDIRECT,
+ PROPERTYNAME_RENDERSIMPLETEXTDIRECT,
+ PROPERTYNAME_QUADRATIC3DRENDERLIMIT,
+ PROPERTYNAME_QUADRATICFORMCONTROLRENDERLIMIT,
// #i97672# selection settings
PROPERTYNAME_TRANSPARENTSELECTION,
@@ -793,6 +902,42 @@ bool SvtOptionsDrawinglayer::IsAntiAliasing() const
return m_pImpl->IsAntiAliasing() && IsAAPossibleOnThisSystem();
}
+bool SvtOptionsDrawinglayer::IsSnapHorVerLinesToDiscrete() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->IsAntiAliasing() && m_pImpl->IsSnapHorVerLinesToDiscrete();
+}
+
+bool SvtOptionsDrawinglayer::IsSolidDragCreate() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->IsSolidDragCreate();
+}
+
+bool SvtOptionsDrawinglayer::IsRenderDecoratedTextDirect() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->IsRenderDecoratedTextDirect();
+}
+
+bool SvtOptionsDrawinglayer::IsRenderSimpleTextDirect() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->IsRenderSimpleTextDirect();
+}
+
+sal_uInt32 SvtOptionsDrawinglayer::GetQuadratic3DRenderLimit() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->GetQuadratic3DRenderLimit();
+}
+
+sal_uInt32 SvtOptionsDrawinglayer::GetQuadraticFormControlRenderLimit() const
+{
+ MutexGuard aGuard( GetOwnStaticMutex() );
+ return m_pImpl->GetQuadraticFormControlRenderLimit();
+}
+
void SvtOptionsDrawinglayer::SetAntiAliasing( bool bState )
{
MutexGuard aGuard( GetOwnStaticMutex() );
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index 832ea61ca9de..7002f9447d0d 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -63,7 +63,7 @@ void SdrDragView::ImpClearVars()
mbCrookAtCenter=false;
// init using default
- mbSolidDragging = true;
+ mbSolidDragging = getOptionsDrawinglayer().IsSolidDragCreate();
}
SdrDragView::SdrDragView(
@@ -917,8 +917,9 @@ void SdrDragView::SetSolidDragging(bool bOn)
bool SdrDragView::IsSolidDragging() const
{
- // allow each user to disable by having a local setting
- return mbSolidDragging;
+ // allow each user to disable by having a local setting, but using AND for
+ // checking allowance
+ return mbSolidDragging && getOptionsDrawinglayer().IsSolidDragCreate();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */