filter/source/msfilter/msdffimp.cxx | 2 -- include/svx/strings.hrc | 4 ---- include/svx/svdobjkind.hxx | 2 -- include/svx/svdopath.hxx | 5 ++--- include/unotools/weakref.hxx | 8 +++++++- svx/source/svdraw/svdedxv.cxx | 2 -- svx/source/svdraw/svdopath.cxx | 15 +++------------ svx/source/unodraw/unopage.cxx | 2 -- svx/source/unodraw/unoshap2.cxx | 2 -- svx/source/unodraw/unoshape.cxx | 2 -- 10 files changed, 12 insertions(+), 32 deletions(-)
New commits: commit 4e0856fa11674e386c9b84dd40a702c83450166f Author: Noel Grandin <[email protected]> AuthorDate: Thu Nov 3 16:07:11 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Fri Nov 4 08:18:57 2022 +0100 tdf#54857 use more static_cast in WeakReference::get which shaves 3% off the load time here. Change-Id: I514dedc765ad12da2ad08e115c1ebf86c653c433 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142237 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/include/unotools/weakref.hxx b/include/unotools/weakref.hxx index 023695dc14ae..9cf326d99625 100644 --- a/include/unotools/weakref.hxx +++ b/include/unotools/weakref.hxx @@ -29,6 +29,7 @@ #include <cppuhelper/weakref.hxx> #include <cppuhelper/weak.hxx> #include <rtl/ref.hxx> +#include <type_traits> namespace unotools { @@ -114,7 +115,12 @@ public: rtl::Reference<interface_type> SAL_CALL get() const { css::uno::Reference<css::uno::XInterface> xInterface = WeakReferenceHelper::get(); - return dynamic_cast<interface_type*>(xInterface.get()); + // If XInterface is an ambiguous base of interface_type, we have to use dynamic_cast, + // otherwise we can use the faster static_cast. + if constexpr (std::is_convertible_v<css::uno::XInterface, interface_type>) + return static_cast<interface_type*>(xInterface.get()); + else + return dynamic_cast<interface_type*>(xInterface.get()); } /** Gets a hard reference to the object. commit 6d2ee5d46ee0146a4990dfe3b3246371fece0826 Author: Noel Grandin <[email protected]> AuthorDate: Fri Nov 4 08:10:02 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Fri Nov 4 08:18:46 2022 +0100 SplineLine and SplineFill have never been implemented Change-Id: I75e01bc8831a9d8e6e1f52fc3a89cd9827e1d6b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142263 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index aa6093a408a1..fe5cd766811b 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -542,8 +542,6 @@ void SvxMSDffManager::SolveSolver( const SvxMSDffSolverContainer& rSolver ) case SdrObjKind::PathFill : case SdrObjKind::FreehandLine : case SdrObjKind::FreehandFill : - case SdrObjKind::SplineLine : - case SdrObjKind::SplineFill : case SdrObjKind::PathPoly : case SdrObjKind::PathPolyLine : { diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc index 3eeb16e7dcb7..9662aa83656f 100644 --- a/include/svx/strings.hrc +++ b/include/svx/strings.hrc @@ -77,10 +77,6 @@ #define STR_ObjNameSingulFREEFILL NC_("STR_ObjNameSingulFREEFILL", "Freeform Line") #define STR_ObjNamePluralFREEFILL NC_("STR_ObjNamePluralFREEFILL", "Freeform Lines") #define STR_ObjNameSingulCOMBLINE NC_("STR_ObjNameSingulCOMBLINE", "Curve") -#define STR_ObjNameSingulNATSPLN NC_("STR_ObjNameSingulNATSPLN", "Natural Spline") -#define STR_ObjNamePluralNATSPLN NC_("STR_ObjNamePluralNATSPLN", "Natural Splines") -#define STR_ObjNameSingulPERSPLN NC_("STR_ObjNameSingulPERSPLN", "Periodic Spline") -#define STR_ObjNamePluralPERSPLN NC_("STR_ObjNamePluralPERSPLN", "Periodic Splines") #define STR_ObjNameSingulTEXT NC_("STR_ObjNameSingulTEXT", "Text Frame") #define STR_ObjNamePluralTEXT NC_("STR_ObjNamePluralTEXT", "Text Frame") #define STR_ObjNameSingulTEXTLNK NC_("STR_ObjNameSingulTEXTLNK", "Linked text frame") diff --git a/include/svx/svdobjkind.hxx b/include/svx/svdobjkind.hxx index 187fd0d6ffb5..e6063bc10ce5 100644 --- a/include/svx/svdobjkind.hxx +++ b/include/svx/svdobjkind.hxx @@ -37,8 +37,6 @@ enum class SdrObjKind : sal_uInt16 PathFill = 11, /// closed Bezier-curve FreehandLine = 12, /// open free-hand line FreehandFill = 13, /// closed free-hand line - SplineLine = 14, /// natural cubic Spline (ni) - SplineFill = 15, /// periodic cubic Spline (ni) Text = 16, /// text object TitleText = 20, /// TitleText, special text object for StarDraw OutlineText = 21, /// OutlineText, special text object for StarDraw diff --git a/include/svx/svdopath.hxx b/include/svx/svdopath.hxx index d193b9bc1545..af6be842caad 100644 --- a/include/svx/svdopath.hxx +++ b/include/svx/svdopath.hxx @@ -143,10 +143,9 @@ public: void NbcSetPathPoly(const basegfx::B2DPolyPolygon& rPathPoly); // special functions for Bezier-polygon handling - bool IsClosed() const { return meKind==SdrObjKind::Polygon || meKind==SdrObjKind::PathPoly || meKind==SdrObjKind::PathFill || meKind==SdrObjKind::FreehandFill || meKind==SdrObjKind::SplineFill; } - bool IsLine() const { return meKind==SdrObjKind::PolyLine || meKind==SdrObjKind::PathPolyLine || meKind==SdrObjKind::PathLine || meKind==SdrObjKind::FreehandLine || meKind==SdrObjKind::SplineLine || meKind==SdrObjKind::Line; } + bool IsClosed() const { return meKind==SdrObjKind::Polygon || meKind==SdrObjKind::PathPoly || meKind==SdrObjKind::PathFill || meKind==SdrObjKind::FreehandFill; } + bool IsLine() const { return meKind==SdrObjKind::PolyLine || meKind==SdrObjKind::PathPolyLine || meKind==SdrObjKind::PathLine || meKind==SdrObjKind::FreehandLine || meKind==SdrObjKind::Line; } bool IsBezier() const { return meKind==SdrObjKind::PathLine || meKind==SdrObjKind::PathFill; } - bool IsSpline() const { return meKind==SdrObjKind::SplineLine || meKind==SdrObjKind::SplineFill; } // close/open path // if opening, move end point by "nOpenDistance" diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx index 77b5f9cea719..1a2ee50f2762 100644 --- a/svx/source/svdraw/svdedxv.cxx +++ b/svx/source/svdraw/svdedxv.cxx @@ -2764,8 +2764,6 @@ bool SdrObjEditView::SupportsFormatPaintbrush(SdrInventor nObjectInventor, case SdrObjKind::PathFill: case SdrObjKind::FreehandLine: case SdrObjKind::FreehandFill: - case SdrObjKind::SplineLine: - case SdrObjKind::SplineFill: case SdrObjKind::Text: case SdrObjKind::TitleText: case SdrObjKind::OutlineText: diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx index b304426bf647..a4998647c835 100644 --- a/svx/source/svdraw/svdopath.cxx +++ b/svx/source/svdraw/svdopath.cxx @@ -522,7 +522,7 @@ public: PointerStyle GetCreatePointer() const; // helping stuff - static bool IsClosed(SdrObjKind eKind) { return eKind==SdrObjKind::Polygon || eKind==SdrObjKind::PathPoly || eKind==SdrObjKind::PathFill || eKind==SdrObjKind::FreehandFill || eKind==SdrObjKind::SplineFill; } + static bool IsClosed(SdrObjKind eKind) { return eKind==SdrObjKind::Polygon || eKind==SdrObjKind::PathPoly || eKind==SdrObjKind::PathFill || eKind==SdrObjKind::FreehandFill; } static bool IsFreeHand(SdrObjKind eKind) { return eKind==SdrObjKind::FreehandLine || eKind==SdrObjKind::FreehandFill; } static bool IsBezier(SdrObjKind eKind) { return eKind==SdrObjKind::PathLine || eKind==SdrObjKind::PathFill; } bool IsCreating() const { return mbCreating; } @@ -1270,8 +1270,7 @@ bool ImpPathForDragAndCreate::MovCreate(SdrDragStat& rStat) case SdrObjKind::PathFill: case SdrObjKind::FreehandLine: case SdrObjKind::FreehandFill: - case SdrObjKind::SplineLine: - case SdrObjKind::SplineFill: { + { pU->eCurrentKind=eNewKind; pU->bMixedCreate=true; pU->nBezierStartPoint=rXPoly.GetPointCount(); @@ -1592,8 +1591,6 @@ PointerStyle ImpPathForDragAndCreate::GetCreatePointer() const case SdrObjKind::PathFill: return PointerStyle::DrawBezier; case SdrObjKind::FreehandLine: return PointerStyle::DrawFreehand; case SdrObjKind::FreehandFill: return PointerStyle::DrawFreehand; - case SdrObjKind::SplineLine: return PointerStyle::DrawFreehand; - case SdrObjKind::SplineFill: return PointerStyle::DrawFreehand; case SdrObjKind::PathPoly: return PointerStyle::DrawPolygon; case SdrObjKind::PathPolyLine: return PointerStyle::DrawPolygon; default: break; @@ -1784,7 +1781,6 @@ void SdrPathObj::ImpSetClosed(bool bClose) case SdrObjKind::PolyLine : meKind=SdrObjKind::Polygon; break; case SdrObjKind::PathLine: meKind=SdrObjKind::PathFill; break; case SdrObjKind::FreehandLine: meKind=SdrObjKind::FreehandFill; break; - case SdrObjKind::SplineLine: meKind=SdrObjKind::SplineFill; break; default: break; } @@ -1797,7 +1793,6 @@ void SdrPathObj::ImpSetClosed(bool bClose) case SdrObjKind::Polygon : meKind=SdrObjKind::PolyLine; break; case SdrObjKind::PathFill: meKind=SdrObjKind::PathLine; break; case SdrObjKind::FreehandFill: meKind=SdrObjKind::FreehandLine; break; - case SdrObjKind::SplineFill: meKind=SdrObjKind::SplineLine; break; default: break; } @@ -1812,7 +1807,7 @@ void SdrPathObj::TakeObjInfo(SdrObjTransformInfoRec& rInfo) const rInfo.bNoContortion=false; bool bCanConv = !HasText() || ImpCanConvTextToCurve(); - bool bIsPath = IsBezier() || IsSpline(); + bool bIsPath = IsBezier(); rInfo.bEdgeRadiusAllowed = false; rInfo.bCanConvToPath = bCanConv && !bIsPath; @@ -1916,10 +1911,8 @@ OUString SdrPathObj::TakeObjNameSingul() const { case SdrObjKind::PathLine: sName = SvxResId(STR_ObjNameSingulPATHLINE); break; case SdrObjKind::FreehandLine: sName = SvxResId(STR_ObjNameSingulFREELINE); break; - case SdrObjKind::SplineLine: sName = SvxResId(STR_ObjNameSingulNATSPLN); break; case SdrObjKind::PathFill: sName = SvxResId(STR_ObjNameSingulPATHFILL); break; case SdrObjKind::FreehandFill: sName = SvxResId(STR_ObjNameSingulFREEFILL); break; - case SdrObjKind::SplineFill: sName = SvxResId(STR_ObjNameSingulPERSPLN); break; default: break; } } @@ -1941,10 +1934,8 @@ OUString SdrPathObj::TakeObjNamePlural() const case SdrObjKind::Polygon : sName=SvxResId(STR_ObjNamePluralPOLY ); break; case SdrObjKind::PathLine: sName=SvxResId(STR_ObjNamePluralPATHLINE); break; case SdrObjKind::FreehandLine: sName=SvxResId(STR_ObjNamePluralFREELINE); break; - case SdrObjKind::SplineLine: sName=SvxResId(STR_ObjNamePluralNATSPLN); break; case SdrObjKind::PathFill: sName=SvxResId(STR_ObjNamePluralPATHFILL); break; case SdrObjKind::FreehandFill: sName=SvxResId(STR_ObjNamePluralFREEFILL); break; - case SdrObjKind::SplineFill: sName=SvxResId(STR_ObjNamePluralPERSPLN); break; default: break; } return sName; diff --git a/svx/source/unodraw/unopage.cxx b/svx/source/unodraw/unopage.cxx index aad73322adda..846e41ae590f 100644 --- a/svx/source/unodraw/unopage.cxx +++ b/svx/source/unodraw/unopage.cxx @@ -670,11 +670,9 @@ rtl::Reference<SvxShape> SvxDrawPage::CreateShapeByTypeAndInventor( SdrObjKind n case SdrObjKind::PolyLine: pRet = new SvxShapePolyPolygon( pObj ); break; - case SdrObjKind::SplineLine: case SdrObjKind::PathLine: pRet = new SvxShapePolyPolygon( pObj ); break; - case SdrObjKind::SplineFill: case SdrObjKind::PathFill: pRet = new SvxShapePolyPolygon( pObj ); break; diff --git a/svx/source/unodraw/unoshap2.cxx b/svx/source/unodraw/unoshap2.cxx index 0315d2a5c74e..e2b11927e59a 100644 --- a/svx/source/unodraw/unoshap2.cxx +++ b/svx/source/unodraw/unoshap2.cxx @@ -1132,9 +1132,7 @@ drawing::PolygonKind SvxShapePolyPolygon::GetPolygonKind() const { case SdrObjKind::Polygon: aRetval = drawing::PolygonKind_POLY; break; case SdrObjKind::PolyLine: aRetval = drawing::PolygonKind_PLIN; break; - case SdrObjKind::SplineLine: case SdrObjKind::PathLine: aRetval = drawing::PolygonKind_PATHLINE; break; - case SdrObjKind::SplineFill: case SdrObjKind::PathFill: aRetval = drawing::PolygonKind_PATHFILL; break; case SdrObjKind::FreehandLine: aRetval = drawing::PolygonKind_FREELINE; break; case SdrObjKind::FreehandFill: aRetval = drawing::PolygonKind_FREEFILL; break; diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx index 38d5ee335af5..0a26c6983ae7 100644 --- a/svx/source/unodraw/unoshape.cxx +++ b/svx/source/unodraw/unoshape.cxx @@ -1000,8 +1000,6 @@ static bool svx_needLogicRectHack( SdrObject const * pObj ) case SdrObjKind::PathFill: case SdrObjKind::FreehandLine: case SdrObjKind::FreehandFill: - case SdrObjKind::SplineLine: - case SdrObjKind::SplineFill: case SdrObjKind::Edge: case SdrObjKind::PathPoly: case SdrObjKind::PathPolyLine:
