drawinglayer/source/geometry/viewinformation2d.cxx | 705 +++++++++----------- include/drawinglayer/geometry/viewinformation2d.hxx | 289 ++++---- solenv/clang-format/blacklist | 2 3 files changed, 490 insertions(+), 506 deletions(-)
New commits: commit 9d1f294bb889c7fe4a3bd1771509dd8d7f4dfc11 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Sat Mar 7 10:37:36 2020 +0100 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Sat Mar 7 14:40:01 2020 +0100 remove viewinformation2d.{cxx,hxx} from clang-format blacklist Change-Id: I48db10a10157db11cc4de6b9ec4b66e6d3e3c444 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90148 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <[email protected]> diff --git a/drawinglayer/source/geometry/viewinformation2d.cxx b/drawinglayer/source/geometry/viewinformation2d.cxx index acc076c4e846..d06e9d596f2d 100644 --- a/drawinglayer/source/geometry/viewinformation2d.cxx +++ b/drawinglayer/source/geometry/viewinformation2d.cxx @@ -28,452 +28,423 @@ #include <rtl/instance.hxx> #include <com/sun/star/uno/Sequence.hxx> - using namespace com::sun::star; - namespace drawinglayer::geometry { - namespace { - constexpr OUStringLiteral g_PropertyName_ObjectTransformation ="ObjectTransformation"; - constexpr OUStringLiteral g_PropertyName_ViewTransformation ="ViewTransformation"; - constexpr OUStringLiteral g_PropertyName_Viewport ="Viewport"; - constexpr OUStringLiteral g_PropertyName_Time ="Time"; - constexpr OUStringLiteral g_PropertyName_VisualizedPage = "VisualizedPage"; - constexpr OUStringLiteral g_PropertyName_ReducedDisplayQuality = "ReducedDisplayQuality"; +constexpr OUStringLiteral g_PropertyName_ObjectTransformation = "ObjectTransformation"; +constexpr OUStringLiteral g_PropertyName_ViewTransformation = "ViewTransformation"; +constexpr OUStringLiteral g_PropertyName_Viewport = "Viewport"; +constexpr OUStringLiteral g_PropertyName_Time = "Time"; +constexpr OUStringLiteral g_PropertyName_VisualizedPage = "VisualizedPage"; +constexpr OUStringLiteral g_PropertyName_ReducedDisplayQuality = "ReducedDisplayQuality"; } - class ImpViewInformation2D - { - private: - // ViewInformation2D implementation can change refcount, so we have only - // two memory regions for pairs of ViewInformation2D/ImpViewInformation2D - friend class ::drawinglayer::geometry::ViewInformation2D; +class ImpViewInformation2D +{ +private: + // ViewInformation2D implementation can change refcount, so we have only + // two memory regions for pairs of ViewInformation2D/ImpViewInformation2D + friend class ::drawinglayer::geometry::ViewInformation2D; - protected: - // the object transformation - basegfx::B2DHomMatrix maObjectTransformation; +protected: + // the object transformation + basegfx::B2DHomMatrix maObjectTransformation; - // the view transformation - basegfx::B2DHomMatrix maViewTransformation; + // the view transformation + basegfx::B2DHomMatrix maViewTransformation; - // the ObjectToView and it's inverse, both on demand from ObjectTransformation - // and ViewTransformation - basegfx::B2DHomMatrix maObjectToViewTransformation; - basegfx::B2DHomMatrix maInverseObjectToViewTransformation; + // the ObjectToView and it's inverse, both on demand from ObjectTransformation + // and ViewTransformation + basegfx::B2DHomMatrix maObjectToViewTransformation; + basegfx::B2DHomMatrix maInverseObjectToViewTransformation; - // the visible range and the on-demand one in ViewCoordinates - basegfx::B2DRange maViewport; - basegfx::B2DRange maDiscreteViewport; + // the visible range and the on-demand one in ViewCoordinates + basegfx::B2DRange maViewport; + basegfx::B2DRange maDiscreteViewport; - // the DrawPage which is target of visualisation. This is needed e.g. for - // the view-dependent decomposition of PageNumber TextFields. - // This parameter is buffered here, but mainly resides in mxExtendedInformation, - // so it will be interpreted, but held there. It will also not be added - // to mxExtendedInformation in impFillViewInformationFromContent (it's there already) - uno::Reference< drawing::XDrawPage > mxVisualizedPage; + // the DrawPage which is target of visualisation. This is needed e.g. for + // the view-dependent decomposition of PageNumber TextFields. + // This parameter is buffered here, but mainly resides in mxExtendedInformation, + // so it will be interpreted, but held there. It will also not be added + // to mxExtendedInformation in impFillViewInformationFromContent (it's there already) + uno::Reference<drawing::XDrawPage> mxVisualizedPage; - // the point in time - double mfViewTime; + // the point in time + double mfViewTime; - bool mbReducedDisplayQuality : 1; + bool mbReducedDisplayQuality : 1; - // the complete PropertyValue representation (if already created) - uno::Sequence< beans::PropertyValue > mxViewInformation; + // the complete PropertyValue representation (if already created) + uno::Sequence<beans::PropertyValue> mxViewInformation; - // the extra PropertyValues; not represented by ViewTransformation, - // Viewport, VisualizedPage or ViewTime - uno::Sequence< beans::PropertyValue > mxExtendedInformation; + // the extra PropertyValues; not represented by ViewTransformation, + // Viewport, VisualizedPage or ViewTime + uno::Sequence<beans::PropertyValue> mxExtendedInformation; - void impInterpretPropertyValues(const uno::Sequence< beans::PropertyValue >& rViewParameters) + void impInterpretPropertyValues(const uno::Sequence<beans::PropertyValue>& rViewParameters) + { + if (rViewParameters.hasElements()) + { + const sal_Int32 nCount(rViewParameters.getLength()); + sal_Int32 nExtendedInsert(0); + + // prepare extended information for filtering. Maximum size is nCount + mxExtendedInformation.realloc(nCount); + + for (sal_Int32 a(0); a < nCount; a++) { - if(rViewParameters.hasElements()) + const beans::PropertyValue& rProp = rViewParameters[a]; + + if (rProp.Name == g_PropertyName_ReducedDisplayQuality) { - const sal_Int32 nCount(rViewParameters.getLength()); - sal_Int32 nExtendedInsert(0); - - // prepare extended information for filtering. Maximum size is nCount - mxExtendedInformation.realloc(nCount); - - for(sal_Int32 a(0); a < nCount; a++) - { - const beans::PropertyValue& rProp = rViewParameters[a]; - - if(rProp.Name == g_PropertyName_ReducedDisplayQuality) - { - // extra information; add to filtered information - mxExtendedInformation[nExtendedInsert++] = rProp; - - // for performance reasons, also cache content locally - bool bSalBool(false); - rProp.Value >>= bSalBool; - mbReducedDisplayQuality = bSalBool; - } - else if(rProp.Name == g_PropertyName_ObjectTransformation) - { - css::geometry::AffineMatrix2D aAffineMatrix2D; - rProp.Value >>= aAffineMatrix2D; - basegfx::unotools::homMatrixFromAffineMatrix(maObjectTransformation, aAffineMatrix2D); - } - else if(rProp.Name == g_PropertyName_ViewTransformation) - { - css::geometry::AffineMatrix2D aAffineMatrix2D; - rProp.Value >>= aAffineMatrix2D; - basegfx::unotools::homMatrixFromAffineMatrix(maViewTransformation, aAffineMatrix2D); - } - else if(rProp.Name == g_PropertyName_Viewport) - { - css::geometry::RealRectangle2D aViewport; - rProp.Value >>= aViewport; - maViewport = basegfx::unotools::b2DRectangleFromRealRectangle2D(aViewport); - } - else if(rProp.Name == g_PropertyName_Time) - { - rProp.Value >>= mfViewTime; - } - else if(rProp.Name == g_PropertyName_VisualizedPage) - { - rProp.Value >>= mxVisualizedPage; - } - else - { - // extra information; add to filtered information - mxExtendedInformation[nExtendedInsert++] = rProp; - } - } - - // extra information size is now known; realloc to final size - mxExtendedInformation.realloc(nExtendedInsert); - } - } + // extra information; add to filtered information + mxExtendedInformation[nExtendedInsert++] = rProp; - void impFillViewInformationFromContent() - { - const bool bObjectTransformationUsed(!maObjectTransformation.isIdentity()); - const bool bViewTransformationUsed(!maViewTransformation.isIdentity()); - const bool bViewportUsed(!maViewport.isEmpty()); - const bool bTimeUsed(0.0 < mfViewTime); - const bool bVisualizedPageUsed(mxVisualizedPage.is()); - const bool bReducedDisplayQualityUsed(mbReducedDisplayQuality); - const bool bExtraInformation(mxExtendedInformation.hasElements()); - sal_uInt32 nIndex(0); - const sal_uInt32 nCount( - (bObjectTransformationUsed ? 1 : 0) + - (bViewTransformationUsed ? 1 : 0) + - (bViewportUsed ? 1 : 0) + - (bTimeUsed ? 1 : 0) + - (bVisualizedPageUsed ? 1 : 0) + - (bReducedDisplayQualityUsed ? 1 : 0) + - (bExtraInformation ? mxExtendedInformation.getLength() : 0)); - - mxViewInformation.realloc(nCount); - - if(bObjectTransformationUsed) + // for performance reasons, also cache content locally + bool bSalBool(false); + rProp.Value >>= bSalBool; + mbReducedDisplayQuality = bSalBool; + } + else if (rProp.Name == g_PropertyName_ObjectTransformation) { css::geometry::AffineMatrix2D aAffineMatrix2D; - basegfx::unotools::affineMatrixFromHomMatrix(aAffineMatrix2D, maObjectTransformation); - mxViewInformation[nIndex].Name = g_PropertyName_ObjectTransformation; - mxViewInformation[nIndex].Value <<= aAffineMatrix2D; - nIndex++; + rProp.Value >>= aAffineMatrix2D; + basegfx::unotools::homMatrixFromAffineMatrix(maObjectTransformation, + aAffineMatrix2D); } - - if(bViewTransformationUsed) + else if (rProp.Name == g_PropertyName_ViewTransformation) { css::geometry::AffineMatrix2D aAffineMatrix2D; - basegfx::unotools::affineMatrixFromHomMatrix(aAffineMatrix2D, maViewTransformation); - mxViewInformation[nIndex].Name = g_PropertyName_ViewTransformation; - mxViewInformation[nIndex].Value <<= aAffineMatrix2D; - nIndex++; + rProp.Value >>= aAffineMatrix2D; + basegfx::unotools::homMatrixFromAffineMatrix(maViewTransformation, + aAffineMatrix2D); } - - if(bViewportUsed) + else if (rProp.Name == g_PropertyName_Viewport) { - const css::geometry::RealRectangle2D aViewport(basegfx::unotools::rectangle2DFromB2DRectangle(maViewport)); - mxViewInformation[nIndex].Name = g_PropertyName_Viewport; - mxViewInformation[nIndex].Value <<= aViewport; - nIndex++; + css::geometry::RealRectangle2D aViewport; + rProp.Value >>= aViewport; + maViewport = basegfx::unotools::b2DRectangleFromRealRectangle2D(aViewport); } - - if(bTimeUsed) + else if (rProp.Name == g_PropertyName_Time) { - mxViewInformation[nIndex].Name = g_PropertyName_Time; - mxViewInformation[nIndex].Value <<= mfViewTime; - nIndex++; + rProp.Value >>= mfViewTime; } - - if(bVisualizedPageUsed) + else if (rProp.Name == g_PropertyName_VisualizedPage) { - mxViewInformation[nIndex].Name = g_PropertyName_VisualizedPage; - mxViewInformation[nIndex].Value <<= mxVisualizedPage; - nIndex++; + rProp.Value >>= mxVisualizedPage; } - - if(bExtraInformation) + else { - const sal_Int32 nExtra(mxExtendedInformation.getLength()); - - for(sal_Int32 a(0); a < nExtra; a++) - { - mxViewInformation[nIndex++] = mxExtendedInformation[a]; - } + // extra information; add to filtered information + mxExtendedInformation[nExtendedInsert++] = rProp; } } - public: - ImpViewInformation2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - const basegfx::B2DHomMatrix& rViewTransformation, - const basegfx::B2DRange& rViewport, - const uno::Reference< drawing::XDrawPage >& rxDrawPage, - double fViewTime, - const uno::Sequence< beans::PropertyValue >& rExtendedParameters) - : maObjectTransformation(rObjectTransformation), - maViewTransformation(rViewTransformation), - maObjectToViewTransformation(), - maInverseObjectToViewTransformation(), - maViewport(rViewport), - maDiscreteViewport(), - mxVisualizedPage(rxDrawPage), - mfViewTime(fViewTime), - mbReducedDisplayQuality(false), - mxViewInformation(), - mxExtendedInformation() - { - impInterpretPropertyValues(rExtendedParameters); - } + // extra information size is now known; realloc to final size + mxExtendedInformation.realloc(nExtendedInsert); + } + } + + void impFillViewInformationFromContent() + { + const bool bObjectTransformationUsed(!maObjectTransformation.isIdentity()); + const bool bViewTransformationUsed(!maViewTransformation.isIdentity()); + const bool bViewportUsed(!maViewport.isEmpty()); + const bool bTimeUsed(0.0 < mfViewTime); + const bool bVisualizedPageUsed(mxVisualizedPage.is()); + const bool bReducedDisplayQualityUsed(mbReducedDisplayQuality); + const bool bExtraInformation(mxExtendedInformation.hasElements()); + sal_uInt32 nIndex(0); + const sal_uInt32 nCount((bObjectTransformationUsed ? 1 : 0) + + (bViewTransformationUsed ? 1 : 0) + (bViewportUsed ? 1 : 0) + + (bTimeUsed ? 1 : 0) + (bVisualizedPageUsed ? 1 : 0) + + (bReducedDisplayQualityUsed ? 1 : 0) + + (bExtraInformation ? mxExtendedInformation.getLength() : 0)); + + mxViewInformation.realloc(nCount); + + if (bObjectTransformationUsed) + { + css::geometry::AffineMatrix2D aAffineMatrix2D; + basegfx::unotools::affineMatrixFromHomMatrix(aAffineMatrix2D, maObjectTransformation); + mxViewInformation[nIndex].Name = g_PropertyName_ObjectTransformation; + mxViewInformation[nIndex].Value <<= aAffineMatrix2D; + nIndex++; + } - explicit ImpViewInformation2D(const uno::Sequence< beans::PropertyValue >& rViewParameters) - : maObjectTransformation(), - maViewTransformation(), - maObjectToViewTransformation(), - maInverseObjectToViewTransformation(), - maViewport(), - maDiscreteViewport(), - mxVisualizedPage(), - mfViewTime(), - mbReducedDisplayQuality(false), - mxViewInformation(rViewParameters), - mxExtendedInformation() - { - impInterpretPropertyValues(rViewParameters); - } + if (bViewTransformationUsed) + { + css::geometry::AffineMatrix2D aAffineMatrix2D; + basegfx::unotools::affineMatrixFromHomMatrix(aAffineMatrix2D, maViewTransformation); + mxViewInformation[nIndex].Name = g_PropertyName_ViewTransformation; + mxViewInformation[nIndex].Value <<= aAffineMatrix2D; + nIndex++; + } - ImpViewInformation2D() - : maObjectTransformation(), - maViewTransformation(), - maObjectToViewTransformation(), - maInverseObjectToViewTransformation(), - maViewport(), - maDiscreteViewport(), - mxVisualizedPage(), - mfViewTime(), - mbReducedDisplayQuality(false), - mxViewInformation(), - mxExtendedInformation() - { - } + if (bViewportUsed) + { + const css::geometry::RealRectangle2D aViewport( + basegfx::unotools::rectangle2DFromB2DRectangle(maViewport)); + mxViewInformation[nIndex].Name = g_PropertyName_Viewport; + mxViewInformation[nIndex].Value <<= aViewport; + nIndex++; + } - const basegfx::B2DHomMatrix& getObjectTransformation() const - { - return maObjectTransformation; - } + if (bTimeUsed) + { + mxViewInformation[nIndex].Name = g_PropertyName_Time; + mxViewInformation[nIndex].Value <<= mfViewTime; + nIndex++; + } - const basegfx::B2DHomMatrix& getViewTransformation() const - { - return maViewTransformation; - } + if (bVisualizedPageUsed) + { + mxViewInformation[nIndex].Name = g_PropertyName_VisualizedPage; + mxViewInformation[nIndex].Value <<= mxVisualizedPage; + nIndex++; + } - const basegfx::B2DRange& getViewport() const - { - return maViewport; - } + if (bExtraInformation) + { + const sal_Int32 nExtra(mxExtendedInformation.getLength()); - const basegfx::B2DRange& getDiscreteViewport() const + for (sal_Int32 a(0); a < nExtra; a++) { - if(maDiscreteViewport.isEmpty() && !maViewport.isEmpty()) - { - basegfx::B2DRange aDiscreteViewport(maViewport); - aDiscreteViewport.transform(getViewTransformation()); - const_cast< ImpViewInformation2D* >(this)->maDiscreteViewport = aDiscreteViewport; - } - - return maDiscreteViewport; + mxViewInformation[nIndex++] = mxExtendedInformation[a]; } + } + } + +public: + ImpViewInformation2D(const basegfx::B2DHomMatrix& rObjectTransformation, + const basegfx::B2DHomMatrix& rViewTransformation, + const basegfx::B2DRange& rViewport, + const uno::Reference<drawing::XDrawPage>& rxDrawPage, double fViewTime, + const uno::Sequence<beans::PropertyValue>& rExtendedParameters) + : maObjectTransformation(rObjectTransformation) + , maViewTransformation(rViewTransformation) + , maObjectToViewTransformation() + , maInverseObjectToViewTransformation() + , maViewport(rViewport) + , maDiscreteViewport() + , mxVisualizedPage(rxDrawPage) + , mfViewTime(fViewTime) + , mbReducedDisplayQuality(false) + , mxViewInformation() + , mxExtendedInformation() + { + impInterpretPropertyValues(rExtendedParameters); + } + + explicit ImpViewInformation2D(const uno::Sequence<beans::PropertyValue>& rViewParameters) + : maObjectTransformation() + , maViewTransformation() + , maObjectToViewTransformation() + , maInverseObjectToViewTransformation() + , maViewport() + , maDiscreteViewport() + , mxVisualizedPage() + , mfViewTime() + , mbReducedDisplayQuality(false) + , mxViewInformation(rViewParameters) + , mxExtendedInformation() + { + impInterpretPropertyValues(rViewParameters); + } + + ImpViewInformation2D() + : maObjectTransformation() + , maViewTransformation() + , maObjectToViewTransformation() + , maInverseObjectToViewTransformation() + , maViewport() + , maDiscreteViewport() + , mxVisualizedPage() + , mfViewTime() + , mbReducedDisplayQuality(false) + , mxViewInformation() + , mxExtendedInformation() + { + } + + const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; } + + const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; } + + const basegfx::B2DRange& getViewport() const { return maViewport; } + + const basegfx::B2DRange& getDiscreteViewport() const + { + if (maDiscreteViewport.isEmpty() && !maViewport.isEmpty()) + { + basegfx::B2DRange aDiscreteViewport(maViewport); + aDiscreteViewport.transform(getViewTransformation()); + const_cast<ImpViewInformation2D*>(this)->maDiscreteViewport = aDiscreteViewport; + } - const basegfx::B2DHomMatrix& getObjectToViewTransformation() const - { - if(maObjectToViewTransformation.isIdentity() && - (!maObjectTransformation.isIdentity() || !maViewTransformation.isIdentity())) - { - basegfx::B2DHomMatrix aObjectToView(maViewTransformation * maObjectTransformation); - const_cast< ImpViewInformation2D* >(this)->maObjectToViewTransformation = aObjectToView; - } - - return maObjectToViewTransformation; - } + return maDiscreteViewport; + } - const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const - { - if(maInverseObjectToViewTransformation.isIdentity() && - (!maObjectTransformation.isIdentity() || !maViewTransformation.isIdentity())) - { - basegfx::B2DHomMatrix aInverseObjectToView(maViewTransformation * maObjectTransformation); - aInverseObjectToView.invert(); - const_cast< ImpViewInformation2D* >(this)->maInverseObjectToViewTransformation = aInverseObjectToView; - } + const basegfx::B2DHomMatrix& getObjectToViewTransformation() const + { + if (maObjectToViewTransformation.isIdentity() + && (!maObjectTransformation.isIdentity() || !maViewTransformation.isIdentity())) + { + basegfx::B2DHomMatrix aObjectToView(maViewTransformation * maObjectTransformation); + const_cast<ImpViewInformation2D*>(this)->maObjectToViewTransformation = aObjectToView; + } - return maInverseObjectToViewTransformation; - } + return maObjectToViewTransformation; + } - double getViewTime() const - { - return mfViewTime; - } + const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const + { + if (maInverseObjectToViewTransformation.isIdentity() + && (!maObjectTransformation.isIdentity() || !maViewTransformation.isIdentity())) + { + basegfx::B2DHomMatrix aInverseObjectToView(maViewTransformation + * maObjectTransformation); + aInverseObjectToView.invert(); + const_cast<ImpViewInformation2D*>(this)->maInverseObjectToViewTransformation + = aInverseObjectToView; + } - const uno::Reference< drawing::XDrawPage >& getVisualizedPage() const - { - return mxVisualizedPage; - } + return maInverseObjectToViewTransformation; + } - bool getReducedDisplayQuality() const - { - return mbReducedDisplayQuality; - } + double getViewTime() const { return mfViewTime; } - const uno::Sequence< beans::PropertyValue >& getViewInformationSequence() const - { - if(!mxViewInformation.hasElements()) - { - const_cast< ImpViewInformation2D* >(this)->impFillViewInformationFromContent(); - } + const uno::Reference<drawing::XDrawPage>& getVisualizedPage() const { return mxVisualizedPage; } - return mxViewInformation; - } + bool getReducedDisplayQuality() const { return mbReducedDisplayQuality; } - const uno::Sequence< beans::PropertyValue >& getExtendedInformationSequence() const - { - return mxExtendedInformation; - } + const uno::Sequence<beans::PropertyValue>& getViewInformationSequence() const + { + if (!mxViewInformation.hasElements()) + { + const_cast<ImpViewInformation2D*>(this)->impFillViewInformationFromContent(); + } - bool operator==(const ImpViewInformation2D& rCandidate) const - { - return (maObjectTransformation == rCandidate.maObjectTransformation - && maViewTransformation == rCandidate.maViewTransformation - && maViewport == rCandidate.maViewport - && mxVisualizedPage == rCandidate.mxVisualizedPage - && mfViewTime == rCandidate.mfViewTime - && mxExtendedInformation == rCandidate.mxExtendedInformation); - } - }; + return mxViewInformation; + } + + const uno::Sequence<beans::PropertyValue>& getExtendedInformationSequence() const + { + return mxExtendedInformation; + } + + bool operator==(const ImpViewInformation2D& rCandidate) const + { + return (maObjectTransformation == rCandidate.maObjectTransformation + && maViewTransformation == rCandidate.maViewTransformation + && maViewport == rCandidate.maViewport + && mxVisualizedPage == rCandidate.mxVisualizedPage + && mfViewTime == rCandidate.mfViewTime + && mxExtendedInformation == rCandidate.mxExtendedInformation); + } +}; } // end of namespace drawinglayer::geometry - namespace drawinglayer::geometry { - namespace - { - struct theGlobalDefault : - public rtl::Static< ViewInformation2D::ImplType, theGlobalDefault > {}; - } +namespace +{ +struct theGlobalDefault : public rtl::Static<ViewInformation2D::ImplType, theGlobalDefault> +{ +}; +} - ViewInformation2D::ViewInformation2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - const basegfx::B2DHomMatrix& rViewTransformation, - const basegfx::B2DRange& rViewport, - const uno::Reference< drawing::XDrawPage >& rxDrawPage, - double fViewTime, - const uno::Sequence< beans::PropertyValue >& rExtendedParameters) - : mpViewInformation2D(ImpViewInformation2D( - rObjectTransformation, - rViewTransformation, - rViewport, - rxDrawPage, - fViewTime, - rExtendedParameters)) - { - } +ViewInformation2D::ViewInformation2D(const basegfx::B2DHomMatrix& rObjectTransformation, + const basegfx::B2DHomMatrix& rViewTransformation, + const basegfx::B2DRange& rViewport, + const uno::Reference<drawing::XDrawPage>& rxDrawPage, + double fViewTime, + const uno::Sequence<beans::PropertyValue>& rExtendedParameters) + : mpViewInformation2D(ImpViewInformation2D(rObjectTransformation, rViewTransformation, + rViewport, rxDrawPage, fViewTime, + rExtendedParameters)) +{ +} - ViewInformation2D::ViewInformation2D(const uno::Sequence< beans::PropertyValue >& rViewParameters) - : mpViewInformation2D(ImpViewInformation2D(rViewParameters)) - { - } +ViewInformation2D::ViewInformation2D(const uno::Sequence<beans::PropertyValue>& rViewParameters) + : mpViewInformation2D(ImpViewInformation2D(rViewParameters)) +{ +} - ViewInformation2D::ViewInformation2D() - : mpViewInformation2D(theGlobalDefault::get()) - { - } +ViewInformation2D::ViewInformation2D() + : mpViewInformation2D(theGlobalDefault::get()) +{ +} - ViewInformation2D::ViewInformation2D(const ViewInformation2D&) = default; +ViewInformation2D::ViewInformation2D(const ViewInformation2D&) = default; - ViewInformation2D::ViewInformation2D(ViewInformation2D&&) = default; +ViewInformation2D::ViewInformation2D(ViewInformation2D&&) = default; - ViewInformation2D::~ViewInformation2D() = default; +ViewInformation2D::~ViewInformation2D() = default; - ViewInformation2D& ViewInformation2D::operator=(const ViewInformation2D&) = default; +ViewInformation2D& ViewInformation2D::operator=(const ViewInformation2D&) = default; - ViewInformation2D& ViewInformation2D::operator=(ViewInformation2D&&) = default; +ViewInformation2D& ViewInformation2D::operator=(ViewInformation2D&&) = default; - bool ViewInformation2D::operator==(const ViewInformation2D& rCandidate) const - { - return rCandidate.mpViewInformation2D == mpViewInformation2D; - } +bool ViewInformation2D::operator==(const ViewInformation2D& rCandidate) const +{ + return rCandidate.mpViewInformation2D == mpViewInformation2D; +} - const basegfx::B2DHomMatrix& ViewInformation2D::getObjectTransformation() const - { - return mpViewInformation2D->getObjectTransformation(); - } +const basegfx::B2DHomMatrix& ViewInformation2D::getObjectTransformation() const +{ + return mpViewInformation2D->getObjectTransformation(); +} - const basegfx::B2DHomMatrix& ViewInformation2D::getViewTransformation() const - { - return mpViewInformation2D->getViewTransformation(); - } +const basegfx::B2DHomMatrix& ViewInformation2D::getViewTransformation() const +{ + return mpViewInformation2D->getViewTransformation(); +} - const basegfx::B2DRange& ViewInformation2D::getViewport() const - { - return mpViewInformation2D->getViewport(); - } +const basegfx::B2DRange& ViewInformation2D::getViewport() const +{ + return mpViewInformation2D->getViewport(); +} - double ViewInformation2D::getViewTime() const - { - return mpViewInformation2D->getViewTime(); - } +double ViewInformation2D::getViewTime() const { return mpViewInformation2D->getViewTime(); } - const uno::Reference< drawing::XDrawPage >& ViewInformation2D::getVisualizedPage() const - { - return mpViewInformation2D->getVisualizedPage(); - } +const uno::Reference<drawing::XDrawPage>& ViewInformation2D::getVisualizedPage() const +{ + return mpViewInformation2D->getVisualizedPage(); +} - const basegfx::B2DHomMatrix& ViewInformation2D::getObjectToViewTransformation() const - { - return mpViewInformation2D->getObjectToViewTransformation(); - } +const basegfx::B2DHomMatrix& ViewInformation2D::getObjectToViewTransformation() const +{ + return mpViewInformation2D->getObjectToViewTransformation(); +} - const basegfx::B2DHomMatrix& ViewInformation2D::getInverseObjectToViewTransformation() const - { - return mpViewInformation2D->getInverseObjectToViewTransformation(); - } +const basegfx::B2DHomMatrix& ViewInformation2D::getInverseObjectToViewTransformation() const +{ + return mpViewInformation2D->getInverseObjectToViewTransformation(); +} - const basegfx::B2DRange& ViewInformation2D::getDiscreteViewport() const - { - return mpViewInformation2D->getDiscreteViewport(); - } +const basegfx::B2DRange& ViewInformation2D::getDiscreteViewport() const +{ + return mpViewInformation2D->getDiscreteViewport(); +} - bool ViewInformation2D::getReducedDisplayQuality() const - { - return mpViewInformation2D->getReducedDisplayQuality(); - } +bool ViewInformation2D::getReducedDisplayQuality() const +{ + return mpViewInformation2D->getReducedDisplayQuality(); +} - const uno::Sequence< beans::PropertyValue >& ViewInformation2D::getViewInformationSequence() const - { - return mpViewInformation2D->getViewInformationSequence(); - } +const uno::Sequence<beans::PropertyValue>& ViewInformation2D::getViewInformationSequence() const +{ + return mpViewInformation2D->getViewInformationSequence(); +} - const uno::Sequence< beans::PropertyValue >& ViewInformation2D::getExtendedInformationSequence() const - { - return mpViewInformation2D->getExtendedInformationSequence(); - } +const uno::Sequence<beans::PropertyValue>& ViewInformation2D::getExtendedInformationSequence() const +{ + return mpViewInformation2D->getExtendedInformationSequence(); +} } // end of namespace diff --git a/include/drawinglayer/geometry/viewinformation2d.hxx b/include/drawinglayer/geometry/viewinformation2d.hxx index 40a4d82e1e4a..263027b3b5d8 100644 --- a/include/drawinglayer/geometry/viewinformation2d.hxx +++ b/include/drawinglayer/geometry/viewinformation2d.hxx @@ -25,153 +25,168 @@ #include <sal/config.h> #include <o3tl/cow_wrapper.hxx> - // predefines -namespace drawinglayer { namespace geometry { - class ImpViewInformation2D; -}} +namespace drawinglayer +{ +namespace geometry +{ +class ImpViewInformation2D; +} +} -namespace basegfx { - class B2DHomMatrix; - class B2DRange; +namespace basegfx +{ +class B2DHomMatrix; +class B2DRange; } -namespace com::sun::star::beans { struct PropertyValue; } -namespace com::sun::star::drawing { class XDrawPage; } -namespace com::sun::star::uno { template <class interface_type> class Reference; } -namespace com::sun::star::uno { template <typename > class Sequence; } +namespace com::sun::star::beans +{ +struct PropertyValue; +} +namespace com::sun::star::drawing +{ +class XDrawPage; +} +namespace com::sun::star::uno +{ +template <class interface_type> class Reference; +} +namespace com::sun::star::uno +{ +template <typename> class Sequence; +} namespace drawinglayer { - namespace geometry - { - /** ViewInformation2D class - - This class holds all view-relevant information for a 2d geometry. It works - together with UNO API definitions and supports holding a sequence of PropertyValues. - The most used data is for convenience offered directly using basegfx tooling classes. - It is an implementation to support the sequence of PropertyValues used in a - css::graphic::XPrimitive2D for C++ implementations working with those - */ - class DRAWINGLAYER_DLLPUBLIC ViewInformation2D - { - public: - typedef o3tl::cow_wrapper< ImpViewInformation2D, o3tl::ThreadSafeRefCountingPolicy > ImplType; - - private: - /// pointer to private implementation class - ImplType mpViewInformation2D; - - public: - /** Constructor: Create a ViewInformation2D - - @param rObjectTransformation - The Transformation from Object to World coordinates (normally logic coordinates). - - @param rViewTransformation - The Transformation from World to View coordinates (normally logic coordinates - to discrete units, e.g. pixels). - - @param rViewport - The visible part of the view in World coordinates. If empty (getViewport().isEmpty()) - everything is visible. The data is in World coordinates. - - @param rxDrawPage - The currently displayed page. This information is needed e.g. due to existing PageNumber - fields which need to be interpreted. - - @param fViewTime - The time the view is defined for. Default is 0.0. This parameter is used e.g. for - animated objects - - @param rExtendedParameters - A sequence of property values which allows holding various other parameters besides - the obvious and needed ones above. For this constructor none of the other parameters - should be added as data. The constructor will parse the given parameters and if - data for the other parameters is given, the value in rExtendedParameters will - be preferred and overwrite the given parameter - */ - ViewInformation2D( - const basegfx::B2DHomMatrix& rObjectTransformation, - const basegfx::B2DHomMatrix& rViewTransformation, - const basegfx::B2DRange& rViewport, - const css::uno::Reference< css::drawing::XDrawPage >& rxDrawPage, - double fViewTime, - const css::uno::Sequence< css::beans::PropertyValue >& rExtendedParameters); - - /** Constructor: Create a ViewInformation2D - - @param rViewParameters - A sequence of property values which allows holding any combination of local and various - other parameters. This constructor is feeded completely with a sequence of PropertyValues - which will be parsed to be able to offer the most used ones in a convenient way. - */ - explicit ViewInformation2D(const css::uno::Sequence< css::beans::PropertyValue >& rViewParameters); - - /// default (empty) constructor - ViewInformation2D(); - - /// copy constructor - ViewInformation2D(const ViewInformation2D&); - - ViewInformation2D(ViewInformation2D&&); - - /// destructor - ~ViewInformation2D(); - - /// assignment operator - ViewInformation2D& operator=(const ViewInformation2D&); - ViewInformation2D& operator=(ViewInformation2D&&); - - /// compare operators - bool operator==(const ViewInformation2D& rCandidate) const; - bool operator!=(const ViewInformation2D& rCandidate) const { return !operator==(rCandidate); } - - /// data access - const basegfx::B2DHomMatrix& getObjectTransformation() const; - const basegfx::B2DHomMatrix& getViewTransformation() const; - const basegfx::B2DRange& getViewport() const; - double getViewTime() const; - const css::uno::Reference< css::drawing::XDrawPage >& getVisualizedPage() const; - - /// On-demand prepared Object to View transformation and its inverse for convenience - const basegfx::B2DHomMatrix& getObjectToViewTransformation() const; - const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const; - - /// On-demand prepared Viewport in discrete units for convenience - const basegfx::B2DRange& getDiscreteViewport() const; - - /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This - is used e.g. to allow to lower display quality for OverlayPrimitives and - may lead to simpler decompositions in the local create2DDecomposition - implementations of the primitives - */ - bool getReducedDisplayQuality() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation - - Use this call if You need to extract all contained ViewInformation. The ones - directly supported for convenience will be added to the ones only available - as PropertyValues. This set completely describes this ViewInformation2D and - can be used for complete information transport over UNO API. - */ - const css::uno::Sequence< css::beans::PropertyValue >& getViewInformationSequence() const; - - /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation - not offered directly - - Use this call if You only need ViewInformation which is not offered conveniently, - but only exists as PropertyValue. This is e.g. used to create partially updated - incarnations of ViewInformation2D without losing the only with PropertyValues - defined data. It does not contain a complete description. - */ - const css::uno::Sequence< css::beans::PropertyValue >& getExtendedInformationSequence() const; - }; - } // end of namespace geometry +namespace geometry +{ +/** ViewInformation2D class + + This class holds all view-relevant information for a 2d geometry. It works + together with UNO API definitions and supports holding a sequence of PropertyValues. + The most used data is for convenience offered directly using basegfx tooling classes. + It is an implementation to support the sequence of PropertyValues used in a + css::graphic::XPrimitive2D for C++ implementations working with those +*/ +class DRAWINGLAYER_DLLPUBLIC ViewInformation2D +{ +public: + typedef o3tl::cow_wrapper<ImpViewInformation2D, o3tl::ThreadSafeRefCountingPolicy> ImplType; + +private: + /// pointer to private implementation class + ImplType mpViewInformation2D; + +public: + /** Constructor: Create a ViewInformation2D + + @param rObjectTransformation + The Transformation from Object to World coordinates (normally logic coordinates). + + @param rViewTransformation + The Transformation from World to View coordinates (normally logic coordinates + to discrete units, e.g. pixels). + + @param rViewport + The visible part of the view in World coordinates. If empty (getViewport().isEmpty()) + everything is visible. The data is in World coordinates. + + @param rxDrawPage + The currently displayed page. This information is needed e.g. due to existing PageNumber + fields which need to be interpreted. + + @param fViewTime + The time the view is defined for. Default is 0.0. This parameter is used e.g. for + animated objects + + @param rExtendedParameters + A sequence of property values which allows holding various other parameters besides + the obvious and needed ones above. For this constructor none of the other parameters + should be added as data. The constructor will parse the given parameters and if + data for the other parameters is given, the value in rExtendedParameters will + be preferred and overwrite the given parameter + */ + ViewInformation2D(const basegfx::B2DHomMatrix& rObjectTransformation, + const basegfx::B2DHomMatrix& rViewTransformation, + const basegfx::B2DRange& rViewport, + const css::uno::Reference<css::drawing::XDrawPage>& rxDrawPage, + double fViewTime, + const css::uno::Sequence<css::beans::PropertyValue>& rExtendedParameters); + + /** Constructor: Create a ViewInformation2D + + @param rViewParameters + A sequence of property values which allows holding any combination of local and various + other parameters. This constructor is feeded completely with a sequence of PropertyValues + which will be parsed to be able to offer the most used ones in a convenient way. + */ + explicit ViewInformation2D( + const css::uno::Sequence<css::beans::PropertyValue>& rViewParameters); + + /// default (empty) constructor + ViewInformation2D(); + + /// copy constructor + ViewInformation2D(const ViewInformation2D&); + + ViewInformation2D(ViewInformation2D&&); + + /// destructor + ~ViewInformation2D(); + + /// assignment operator + ViewInformation2D& operator=(const ViewInformation2D&); + ViewInformation2D& operator=(ViewInformation2D&&); + + /// compare operators + bool operator==(const ViewInformation2D& rCandidate) const; + bool operator!=(const ViewInformation2D& rCandidate) const { return !operator==(rCandidate); } + + /// data access + const basegfx::B2DHomMatrix& getObjectTransformation() const; + const basegfx::B2DHomMatrix& getViewTransformation() const; + const basegfx::B2DRange& getViewport() const; + double getViewTime() const; + const css::uno::Reference<css::drawing::XDrawPage>& getVisualizedPage() const; + + /// On-demand prepared Object to View transformation and its inverse for convenience + const basegfx::B2DHomMatrix& getObjectToViewTransformation() const; + const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const; + + /// On-demand prepared Viewport in discrete units for convenience + const basegfx::B2DRange& getDiscreteViewport() const; + + /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This + is used e.g. to allow to lower display quality for OverlayPrimitives and + may lead to simpler decompositions in the local create2DDecomposition + implementations of the primitives + */ + bool getReducedDisplayQuality() const; + + /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation + + Use this call if You need to extract all contained ViewInformation. The ones + directly supported for convenience will be added to the ones only available + as PropertyValues. This set completely describes this ViewInformation2D and + can be used for complete information transport over UNO API. + */ + const css::uno::Sequence<css::beans::PropertyValue>& getViewInformationSequence() const; + + /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation + not offered directly + + Use this call if You only need ViewInformation which is not offered conveniently, + but only exists as PropertyValue. This is e.g. used to create partially updated + incarnations of ViewInformation2D without losing the only with PropertyValues + defined data. It does not contain a complete description. + */ + const css::uno::Sequence<css::beans::PropertyValue>& getExtendedInformationSequence() const; +}; +} // end of namespace geometry } // end of namespace drawinglayer - #endif //INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist index 204cd1a4031b..b43214b3a6e3 100644 --- a/solenv/clang-format/blacklist +++ b/solenv/clang-format/blacklist @@ -3652,7 +3652,6 @@ drawinglayer/source/drawinglayeruno/xprimitive2drenderer.hxx drawinglayer/source/dumper/EnhancedShapeDumper.cxx drawinglayer/source/dumper/EnhancedShapeDumper.hxx drawinglayer/source/dumper/XShapeDumper.cxx -drawinglayer/source/geometry/viewinformation2d.cxx drawinglayer/source/geometry/viewinformation3d.cxx drawinglayer/source/primitive2d/animatedprimitive2d.cxx drawinglayer/source/primitive2d/backgroundcolorprimitive2d.cxx @@ -5849,7 +5848,6 @@ include/drawinglayer/attribute/sdrobjectattribute3d.hxx include/drawinglayer/attribute/sdrsceneattribute3d.hxx include/drawinglayer/attribute/sdrshadowattribute.hxx include/drawinglayer/attribute/strokeattribute.hxx -include/drawinglayer/geometry/viewinformation2d.hxx include/drawinglayer/geometry/viewinformation3d.hxx include/drawinglayer/primitive2d/cropprimitive2d.hxx include/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
