24#include <com/sun/star/beans/PropertyValue.hpp>
25#include <com/sun/star/drawing/XDrawPage.hpp>
26#include <com/sun/star/geometry/AffineMatrix2D.hpp>
27#include <com/sun/star/geometry/RealRectangle2D.hpp>
29#include <officecfg/Office/Common.hxx>
41constexpr OUStringLiteral g_PropertyName_ObjectTransformation =
u"ObjectTransformation";
42constexpr OUStringLiteral g_PropertyName_ViewTransformation =
u"ViewTransformation";
43constexpr OUStringLiteral g_PropertyName_Viewport =
u"Viewport";
44constexpr OUStringLiteral g_PropertyName_Time =
u"Time";
45constexpr OUStringLiteral g_PropertyName_VisualizedPage =
u"VisualizedPage";
46constexpr OUStringLiteral g_PropertyName_ReducedDisplayQuality =
u"ReducedDisplayQuality";
47constexpr OUStringLiteral g_PropertyName_UseAntiAliasing =
u"UseAntiAliasing";
48constexpr OUStringLiteral g_PropertyName_PixelSnapHairline =
u"PixelSnapHairline";
53bool bForwardsAreInitialized(
false);
54bool bForwardPixelSnapHairline(
true);
62 friend class ::drawinglayer::geometry::ViewInformation2D;
170 aInverseObjectToView.
invert();
172 = aInverseObjectToView;
225 : mpViewInformation2D(theGlobalDefault())
227 if (!bForwardsAreInitialized)
229 bForwardsAreInitialized =
true;
232 bForwardPixelSnapHairline
233 = officecfg::Office::Common::Drawinglayer::SnapHorVerLinesToDiscrete::get();
358 static std::atomic<bool> g_GlobalAntiAliasing
360 || officecfg::Office::Common::Drawinglayer::AntiAliasing::get();
361 return g_GlobalAntiAliasing;
375 officecfg::Office::Common::Drawinglayer::AntiAliasing::set(bAntiAliasing, batch);
383 bForwardPixelSnapHairline = bPixelSnapHairline;
389 if (!rViewParameters.hasElements())
394 for (
auto const& rPropertyValue : rViewParameters)
396 if (rPropertyValue.Name == g_PropertyName_ReducedDisplayQuality)
399 rPropertyValue.Value >>= bNew;
402 else if (rPropertyValue.Name == g_PropertyName_PixelSnapHairline)
406 rPropertyValue.Value >>= bNew;
409 else if (rPropertyValue.Name == g_PropertyName_UseAntiAliasing)
412 rPropertyValue.Value >>= bNew;
415 else if (rPropertyValue.Name == g_PropertyName_ObjectTransformation)
417 css::geometry::AffineMatrix2D aAffineMatrix2D;
418 rPropertyValue.Value >>= aAffineMatrix2D;
423 else if (rPropertyValue.Name == g_PropertyName_ViewTransformation)
425 css::geometry::AffineMatrix2D aAffineMatrix2D;
426 rPropertyValue.Value >>= aAffineMatrix2D;
431 else if (rPropertyValue.Name == g_PropertyName_Viewport)
433 css::geometry::RealRectangle2D aUnoViewport;
434 rPropertyValue.Value >>= aUnoViewport;
439 else if (rPropertyValue.Name == g_PropertyName_Time)
441 double fViewTime(0.0);
442 rPropertyValue.Value >>= fViewTime;
445 else if (rPropertyValue.Name == g_PropertyName_VisualizedPage)
447 css::uno::Reference<css::drawing::XDrawPage> xVisualizedPage;
448 rPropertyValue.Value >>= xVisualizedPage;
BASEGFX_DLLPUBLIC void transform(const B2DHomMatrix &rMatrix)
static std::shared_ptr< ConfigurationChanges > create()
static std::atomic< bool > & globalAntiAliasing()
ViewInformation2D createViewInformation2D(const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters)
constexpr T & temporary(T &&x)