Rebased ref, commits from common ancestor: commit bef12f35d01929680d96c8a672fa9d4b09f2ef53 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Jun 3 17:00:47 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:20 2020 +0200
drawinglayer: remove textprimitive2d.hxx from clang-format blacklist Change-Id: I6fa692bb3e4a16400ee2ae847a1f97201493f53a diff --git a/include/drawinglayer/primitive2d/textprimitive2d.hxx b/include/drawinglayer/primitive2d/textprimitive2d.hxx index 9aeaa96fc15e..6bbc14aa498a 100644 --- a/include/drawinglayer/primitive2d/textprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/textprimitive2d.hxx @@ -33,152 +33,151 @@ namespace drawinglayer::primitive2d { - /** TextSimplePortionPrimitive2D class +/** TextSimplePortionPrimitive2D class - This is the basic primitive for representing a text portion. It contains - all needed information. If it is not handled by a renderer, its decomposition - will provide the text tools::PolyPolygon outlines as filled polygons, correctly - transformed. + This is the basic primitive for representing a text portion. It contains + all needed information. If it is not handled by a renderer, its decomposition + will provide the text tools::PolyPolygon outlines as filled polygons, correctly + transformed. - To get better text quality, it is suggested to handle this primitive directly - in a renderer. In that case, e.g. hintings on the system can be supported. + To get better text quality, it is suggested to handle this primitive directly + in a renderer. In that case, e.g. hintings on the system can be supported. - @param maTextTransform - The text transformation contains the text start position (always baselined) - as translation, the FontSize as scale (where width relative to height defines - font scaling and width == height means no font scaling) and the font rotation - and shear. - When shear is used and a renderer does not support it, it may be better to use - the decomposition which will do everything correctly. Same is true for mirroring - which would be expressed as negative scalings. + @param maTextTransform + The text transformation contains the text start position (always baselined) + as translation, the FontSize as scale (where width relative to height defines + font scaling and width == height means no font scaling) and the font rotation + and shear. + When shear is used and a renderer does not support it, it may be better to use + the decomposition which will do everything correctly. Same is true for mirroring + which would be expressed as negative scalings. - @param rText - The text to be used. Only a part may be used, but a bigger part of the string - may be necessary for correct layouting (e.g. international) - - @param aTextPosition - The index to the first character to use from rText - - @param aTextLength - The number of characters to use from rText - - @param rDXArray - The distances between the characters. This parameter may be empty, in that case - the renderer is responsible to do something useful. If it is given, it has to be of - the size aTextLength. Its values are in logical coordinates and describe the - distance for each character to use. This is independent from the font width which - is given with maTextTransform. The first value is the offset to use from the start - point in FontCoordinateSystem X-Direction (given by maTextTransform) to the start - point of the second character - - @param rFontAttribute - The font definition - - @param rLocale - The locale to use - - @param rFontColor - The font color to use - - @param bFilled - - @param nWidthToFill - - @param rTextFillColor - Text background color (has nothing to do with bFilled and nWidthToFill) - - */ - class DRAWINGLAYER_DLLPUBLIC TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D - { - private: - /// text transformation (FontCoordinateSystem) - basegfx::B2DHomMatrix maTextTransform; - - /// The text, used from maTextPosition up to maTextPosition + maTextLength - OUString maText; - - /// The index from where on maText is used - sal_Int32 mnTextPosition; - - /// The length for maText usage, starting from maTextPosition - sal_Int32 mnTextLength; - - /// The DX array in logic units - ::std::vector< double > maDXArray; - - /// The font definition - attribute::FontAttribute maFontAttribute; - - /// The Locale for the text - css::lang::Locale maLocale; - - /// font color - basegfx::BColor maFontColor; - - // Whether to fill a given width with the text - bool mbFilled; - - // the width to fill - long mnWidthToFill; - - /// The fill color of the text - Color maTextFillColor; - - /// #i96669# internal: add simple range buffering for this primitive - basegfx::B2DRange maB2DRange; - - protected: - /// local decomposition. - virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override; - - public: - /// constructor - TextSimplePortionPrimitive2D( - const basegfx::B2DHomMatrix& rNewTransform, - const OUString& rText, - sal_Int32 nTextPosition, - sal_Int32 nTextLength, - const ::std::vector< double >& rDXArray, - const attribute::FontAttribute& rFontAttribute, - const css::lang::Locale& rLocale, - const basegfx::BColor& rFontColor, - bool bFilled = false, - long nWidthToFill = 0, - const Color& rTextFillColor = COL_TRANSPARENT ); - - /// helpers - /** get text outlines as polygons and their according ObjectTransformation. Handles all - the necessary VCL outline extractions, scaling adaptations and other stuff. - */ - void getTextOutlinesAndTransformation(basegfx::B2DPolyPolygonVector& rTarget, basegfx::B2DHomMatrix& rTransformation) const; + @param rText + The text to be used. Only a part may be used, but a bigger part of the string + may be necessary for correct layouting (e.g. international) - /// data read access - const basegfx::B2DHomMatrix& getTextTransform() const { return maTextTransform; } - const OUString& getText() const { return maText; } - sal_Int32 getTextPosition() const { return mnTextPosition; } - sal_Int32 getTextLength() const { return mnTextLength; } - const ::std::vector< double >& getDXArray() const { return maDXArray; } - const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; } - const css::lang::Locale& getLocale() const { return maLocale; } - const basegfx::BColor& getFontColor() const { return maFontColor; } - const Color& getTextFillColor() const { return maTextFillColor; } - bool isFilled() const { return mbFilled; } - long getWidthToFill() const { return mnWidthToFill; } - - /// compare operator - virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override; + @param aTextPosition + The index to the first character to use from rText - /// get range - virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; + @param aTextLength + The number of characters to use from rText - /// provide unique ID - virtual sal_uInt32 getPrimitive2DID() const override; - }; - - /// small helper to have a compare operator for Locale - bool DRAWINGLAYER_DLLPUBLIC LocalesAreEqual(const css::lang::Locale& rA, const css::lang::Locale& rB); + @param rDXArray + The distances between the characters. This parameter may be empty, in that case + the renderer is responsible to do something useful. If it is given, it has to be of + the size aTextLength. Its values are in logical coordinates and describe the + distance for each character to use. This is independent from the font width which + is given with maTextTransform. The first value is the offset to use from the start + point in FontCoordinateSystem X-Direction (given by maTextTransform) to the start + point of the second character -} // end of namespace drawinglayer::primitive2d + @param rFontAttribute + The font definition + + @param rLocale + The locale to use + + @param rFontColor + The font color to use + + @param bFilled + + @param nWidthToFill + @param rTextFillColor + Text background color (has nothing to do with bFilled and nWidthToFill) + + */ +class DRAWINGLAYER_DLLPUBLIC TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D +{ +private: + /// text transformation (FontCoordinateSystem) + basegfx::B2DHomMatrix maTextTransform; + + /// The text, used from maTextPosition up to maTextPosition + maTextLength + OUString maText; + + /// The index from where on maText is used + sal_Int32 mnTextPosition; + + /// The length for maText usage, starting from maTextPosition + sal_Int32 mnTextLength; + + /// The DX array in logic units + std::vector<double> maDXArray; + + /// The font definition + attribute::FontAttribute maFontAttribute; + + /// The Locale for the text + css::lang::Locale maLocale; + + /// font color + basegfx::BColor maFontColor; + + // Whether to fill a given width with the text + bool mbFilled; + + // the width to fill + long mnWidthToFill; + + /// The fill color of the text + Color maTextFillColor; + + /// #i96669# internal: add simple range buffering for this primitive + basegfx::B2DRange maB2DRange; + +protected: + /// local decomposition. + virtual void + create2DDecomposition(Primitive2DContainer& rContainer, + const geometry::ViewInformation2D& rViewInformation) const override; + +public: + /// constructor + TextSimplePortionPrimitive2D(const basegfx::B2DHomMatrix& rNewTransform, const OUString& rText, + sal_Int32 nTextPosition, sal_Int32 nTextLength, + const ::std::vector<double>& rDXArray, + const attribute::FontAttribute& rFontAttribute, + const css::lang::Locale& rLocale, + const basegfx::BColor& rFontColor, bool bFilled = false, + long nWidthToFill = 0, + const Color& rTextFillColor = COL_TRANSPARENT); + + /** get text outlines as polygons and their according ObjectTransformation. Handles all + the necessary VCL outline extractions, scaling adaptations and other stuff. + */ + void getTextOutlinesAndTransformation(basegfx::B2DPolyPolygonVector& rTarget, + basegfx::B2DHomMatrix& rTransformation) const; + + /// data read access + const basegfx::B2DHomMatrix& getTextTransform() const { return maTextTransform; } + const OUString& getText() const { return maText; } + sal_Int32 getTextPosition() const { return mnTextPosition; } + sal_Int32 getTextLength() const { return mnTextLength; } + const ::std::vector<double>& getDXArray() const { return maDXArray; } + const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; } + const css::lang::Locale& getLocale() const { return maLocale; } + const basegfx::BColor& getFontColor() const { return maFontColor; } + const Color& getTextFillColor() const { return maTextFillColor; } + bool isFilled() const { return mbFilled; } + long getWidthToFill() const { return mnWidthToFill; } + + /// compare operator + virtual bool operator==(const BasePrimitive2D& rPrimitive) const override; + + /// get range + virtual basegfx::B2DRange + getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override; + + /// provide unique ID + virtual sal_uInt32 getPrimitive2DID() const override; +}; + +/// small helper to have a compare operator for Locale +bool DRAWINGLAYER_DLLPUBLIC LocalesAreEqual(const css::lang::Locale& rA, + const css::lang::Locale& rB); + +} // end of namespace drawinglayer::primitive2d /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist index 9f3a37875a60..ddee96e91570 100644 --- a/solenv/clang-format/blacklist +++ b/solenv/clang-format/blacklist @@ -5868,7 +5868,6 @@ include/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx include/drawinglayer/primitive2d/textenumsprimitive2d.hxx include/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx include/drawinglayer/primitive2d/textlayoutdevice.hxx -include/drawinglayer/primitive2d/textprimitive2d.hxx include/drawinglayer/primitive2d/transformprimitive2d.hxx include/drawinglayer/primitive2d/transparenceprimitive2d.hxx include/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx commit 93fc2b040052e24f026ae03462751d56396190f3 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Jun 3 16:58:33 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:19 2020 +0200 organise includes in textprimitive2d.hxx Change-Id: I6f822707520688cb3b5b501094e238f02e90ce56 diff --git a/include/drawinglayer/primitive2d/textprimitive2d.hxx b/include/drawinglayer/primitive2d/textprimitive2d.hxx index 22ff79a69d6e..9aeaa96fc15e 100644 --- a/include/drawinglayer/primitive2d/textprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/textprimitive2d.hxx @@ -22,15 +22,14 @@ #include <drawinglayer/drawinglayerdllapi.h> #include <drawinglayer/primitive2d/baseprimitive2d.hxx> +#include <drawinglayer/attribute/fontattribute.hxx> +#include <basegfx/polygon/b2dpolypolygon.hxx> #include <basegfx/matrix/b2dhommatrix.hxx> #include <rtl/ustring.hxx> #include <tools/color.hxx> #include <basegfx/color/bcolor.hxx> -#include <vector> #include <com/sun/star/lang/Locale.hpp> -#include <drawinglayer/attribute/fontattribute.hxx> -#include <basegfx/polygon/b2dpolypolygon.hxx> - +#include <vector> namespace drawinglayer::primitive2d { commit 65fd7181577709c48423fde306ca7bca6be0d852 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Jun 3 16:55:35 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:19 2020 +0200 drawinglayer: remove fontattribute.hxx from clang-format blacklist Change-Id: I58ef867586bdd2c8c9f4eb249f10610860c9568a diff --git a/include/drawinglayer/attribute/fontattribute.hxx b/include/drawinglayer/attribute/fontattribute.hxx index 5972000443a5..1a7250170b6e 100644 --- a/include/drawinglayer/attribute/fontattribute.hxx +++ b/include/drawinglayer/attribute/fontattribute.hxx @@ -21,67 +21,56 @@ #include <drawinglayer/drawinglayerdllapi.h> #include <o3tl/cow_wrapper.hxx> +#include <rtl/ustring.hxx> - -namespace rtl { - class OUString; -} - -namespace drawinglayer::attribute { - class ImpFontAttribute; +namespace drawinglayer::attribute +{ +class ImpFontAttribute; } namespace drawinglayer::attribute { - /** FontAttribute class +/** FontAttribute class - This attribute class is able to hold all parameters needed/used - to completely define the parametrisation of a text portion. - */ - class DRAWINGLAYER_DLLPUBLIC FontAttribute - { - public: - typedef o3tl::cow_wrapper< ImpFontAttribute > ImplType; + This attribute class is able to hold all parameters needed/used + to completely define the parametrisation of a text portion. + */ +class DRAWINGLAYER_DLLPUBLIC FontAttribute +{ +public: + typedef o3tl::cow_wrapper<ImpFontAttribute> ImplType; - private: - ImplType mpFontAttribute; +private: + ImplType mpFontAttribute; - public: - /// constructors/assignmentoperator/destructor - /// TODO: pair kerning and CJK kerning - FontAttribute( - const rtl::OUString& rFamilyName, - const rtl::OUString& rStyleName, - sal_uInt16 nWeight, - bool bSymbol = false, - bool bVertical = false, - bool bItalic = false, - bool bMonospaced = false, - bool bOutline = false, - bool bRTL = false, - bool bBiDiStrong = false); - FontAttribute(); - FontAttribute(const FontAttribute&); - FontAttribute(FontAttribute&&); - FontAttribute& operator=(const FontAttribute&); - FontAttribute& operator=(FontAttribute&&); - ~FontAttribute(); +public: + /// TODO: pair kerning and CJK kerning + FontAttribute(const OUString& rFamilyName, const OUString& rStyleName, sal_uInt16 nWeight, + bool bSymbol = false, bool bVertical = false, bool bItalic = false, + bool bMonospaced = false, bool bOutline = false, bool bRTL = false, + bool bBiDiStrong = false); + FontAttribute(); + FontAttribute(const FontAttribute&); + FontAttribute(FontAttribute&&); + FontAttribute& operator=(const FontAttribute&); + FontAttribute& operator=(FontAttribute&&); + ~FontAttribute(); - // compare operator - bool operator==(const FontAttribute& rCandidate) const; + // compare operator + bool operator==(const FontAttribute& rCandidate) const; - /// data read access - const rtl::OUString& getFamilyName() const; - const rtl::OUString& getStyleName() const; - sal_uInt16 getWeight() const; - bool getSymbol() const; - bool getVertical() const; - bool getItalic() const; - bool getOutline() const; - bool getRTL() const; - bool getBiDiStrong() const; - bool getMonospaced() const; - }; + /// data read access + const OUString& getFamilyName() const; + const OUString& getStyleName() const; + sal_uInt16 getWeight() const; + bool getSymbol() const; + bool getVertical() const; + bool getItalic() const; + bool getOutline() const; + bool getRTL() const; + bool getBiDiStrong() const; + bool getMonospaced() const; +}; } // end of namespace drawinglayer::attribute /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist index a9c77a4b8c10..9f3a37875a60 100644 --- a/solenv/clang-format/blacklist +++ b/solenv/clang-format/blacklist @@ -5821,7 +5821,6 @@ include/drawinglayer/animation/animationtiming.hxx include/drawinglayer/attribute/fillgradientattribute.hxx include/drawinglayer/attribute/fillgraphicattribute.hxx include/drawinglayer/attribute/fillhatchattribute.hxx -include/drawinglayer/attribute/fontattribute.hxx include/drawinglayer/attribute/linestartendattribute.hxx include/drawinglayer/attribute/materialattribute3d.hxx include/drawinglayer/attribute/sdrallattribute3d.hxx commit 74a66172f446d1cec268dbb9780e7076d0f4544c Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Jun 3 16:50:33 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:19 2020 +0200 drawinglayer: pragma once for fontattribute.hxx Change-Id: I1d257a34b15a65d9b988a791e154ee64e781e0ca diff --git a/include/drawinglayer/attribute/fontattribute.hxx b/include/drawinglayer/attribute/fontattribute.hxx index a12ffb405001..5972000443a5 100644 --- a/include/drawinglayer/attribute/fontattribute.hxx +++ b/include/drawinglayer/attribute/fontattribute.hxx @@ -17,15 +17,12 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX -#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX +#pragma once #include <drawinglayer/drawinglayerdllapi.h> #include <o3tl/cow_wrapper.hxx> -// predefines - namespace rtl { class OUString; } @@ -34,11 +31,8 @@ namespace drawinglayer::attribute { class ImpFontAttribute; } - -namespace drawinglayer +namespace drawinglayer::attribute { - namespace attribute - { /** FontAttribute class This attribute class is able to hold all parameters needed/used @@ -88,10 +82,6 @@ namespace drawinglayer bool getBiDiStrong() const; bool getMonospaced() const; }; - } // end of namespace attribute -} // end of namespace drawinglayer - - -#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX +} // end of namespace drawinglayer::attribute /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 2474e67ee88e139132d58a9cd0a23ba382d909fd Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed May 27 12:49:05 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:18 2020 +0200 add o3tl version of hash_combine to not depend on boost for this Change-Id: I081f8d116ef811baa8aa5de35a6cb51fa4de7d56 diff --git a/include/o3tl/hash_combine.hxx b/include/o3tl/hash_combine.hxx new file mode 100644 index 000000000000..17419b3e2c0f --- /dev/null +++ b/include/o3tl/hash_combine.hxx @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#pragma once + +namespace o3tl +{ +template <typename T, typename N, std::enable_if_t<(sizeof(N) == 4), bool> = false> +inline void hash_combine(N& nSeed, T const& nValue) +{ + static_assert(sizeof(nSeed) == 4); + nSeed ^= std::hash<T>{}(nValue) + 0x9E3779B9u + (nSeed << 6) + (nSeed >> 2); +} + +template <typename T, typename N, std::enable_if_t<(sizeof(N) == 8), bool> = false> +inline void hash_combine(N& nSeed, T const& nValue) +{ + static_assert(sizeof(nSeed) == 8); + nSeed ^= std::hash<T>{}(nValue) + 0x9E3779B97F4A7C15llu + (nSeed << 12) + (nSeed >> 4); +} +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/o3tl/qa/test-lru_map.cxx b/o3tl/qa/test-lru_map.cxx index a03a6bf37200..3ab285c4329a 100644 --- a/o3tl/qa/test-lru_map.cxx +++ b/o3tl/qa/test-lru_map.cxx @@ -15,7 +15,7 @@ #include <o3tl/lru_map.hxx> -#include <boost/functional/hash.hpp> +#include <o3tl/hash_combine.hxx> using namespace ::o3tl; @@ -206,8 +206,8 @@ struct TestClassKeyHashFunction std::size_t operator()(TestClassKey const& aKey) const { std::size_t seed = 0; - boost::hash_combine(seed, aKey.mA); - boost::hash_combine(seed, aKey.mB); + o3tl::hash_combine(seed, aKey.mA); + o3tl::hash_combine(seed, aKey.mB); return seed; } }; commit 8bf470a596e323075058c10907a38f78f3353540 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Tue May 26 15:57:38 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:18 2020 +0200 GraphicAttributes: put const. and op. '=' into the header file Change-Id: I1bc38f89457c3593673b445e7571a4fd82d5960b diff --git a/include/vcl/GraphicAttributes.hxx b/include/vcl/GraphicAttributes.hxx index 90364e408fee..ad2093875f72 100644 --- a/include/vcl/GraphicAttributes.hxx +++ b/include/vcl/GraphicAttributes.hxx @@ -53,9 +53,37 @@ private: GraphicDrawMode meDrawMode; public: - GraphicAttr(); + GraphicAttr() + : mfGamma(1.0) + , mnMirrFlags(basegfx::MirrorDirectionFlags::NONE) + , mnLeftCrop(0) + , mnTopCrop(0) + , mnRightCrop(0) + , mnBottomCrop(0) + , mnRotate10(0) + , mnContPercent(0) + , mnLumPercent(0) + , mnRPercent(0) + , mnGPercent(0) + , mnBPercent(0) + , mbInvert(false) + , mcTransparency(0) + , meDrawMode(GraphicDrawMode::Standard) + { + } + + bool operator==(const GraphicAttr& rAttr) const + { + return mfGamma == rAttr.mfGamma && mnMirrFlags == rAttr.mnMirrFlags + && mnLeftCrop == rAttr.mnLeftCrop && mnTopCrop == rAttr.mnTopCrop + && mnRightCrop == rAttr.mnRightCrop && mnBottomCrop == rAttr.mnBottomCrop + && mnRotate10 == rAttr.mnRotate10 && mnContPercent == rAttr.mnContPercent + && mnLumPercent == rAttr.mnLumPercent && mnRPercent == rAttr.mnRPercent + && mnGPercent == rAttr.mnGPercent && mnBPercent == rAttr.mnBPercent + && mbInvert == rAttr.mbInvert && mcTransparency == rAttr.mcTransparency + && meDrawMode == rAttr.meDrawMode; + } - bool operator==(const GraphicAttr& rAttr) const; bool operator!=(const GraphicAttr& rAttr) const { return !(*this == rAttr); } void SetDrawMode(GraphicDrawMode eDrawMode) { meDrawMode = eDrawMode; } diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index fbf87fc11709..50d6513be8b0 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -325,7 +325,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/graphic/GraphicObject \ vcl/source/graphic/GraphicObject2 \ vcl/source/graphic/GraphicReader \ - vcl/source/graphic/grfattr \ vcl/source/graphic/Manager \ vcl/source/graphic/UnoGraphic \ vcl/source/graphic/UnoGraphicDescriptor \ diff --git a/vcl/source/graphic/grfattr.cxx b/vcl/source/graphic/grfattr.cxx deleted file mode 100644 index 36e8605b77de..000000000000 --- a/vcl/source/graphic/grfattr.cxx +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <vcl/GraphicAttributes.hxx> - -GraphicAttr::GraphicAttr() : - mfGamma ( 1.0 ), - mnMirrFlags ( basegfx::MirrorDirectionFlags::NONE ), - mnLeftCrop ( 0 ), - mnTopCrop ( 0 ), - mnRightCrop ( 0 ), - mnBottomCrop ( 0 ), - mnRotate10 ( 0 ), - mnContPercent ( 0 ), - mnLumPercent ( 0 ), - mnRPercent ( 0 ), - mnGPercent ( 0 ), - mnBPercent ( 0 ), - mbInvert ( false ), - mcTransparency ( 0 ), - meDrawMode ( GraphicDrawMode::Standard ) -{ -} - -bool GraphicAttr::operator==( const GraphicAttr& rAttr ) const -{ - return( ( mfGamma == rAttr.mfGamma ) && - ( mnMirrFlags == rAttr.mnMirrFlags ) && - ( mnLeftCrop == rAttr.mnLeftCrop ) && - ( mnTopCrop == rAttr.mnTopCrop ) && - ( mnRightCrop == rAttr.mnRightCrop ) && - ( mnBottomCrop == rAttr.mnBottomCrop ) && - ( mnRotate10 == rAttr.mnRotate10 ) && - ( mnContPercent == rAttr.mnContPercent ) && - ( mnLumPercent == rAttr.mnLumPercent ) && - ( mnRPercent == rAttr.mnRPercent ) && - ( mnGPercent == rAttr.mnGPercent ) && - ( mnBPercent == rAttr.mnBPercent ) && - ( mbInvert == rAttr.mbInvert ) && - ( mcTransparency == rAttr.mcTransparency ) && - ( meDrawMode == rAttr.meDrawMode ) ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 5a49164085c6133ab2ddb61d0b722dd62c1ca549 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Tue May 26 13:39:45 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:17 2020 +0200 basegfx::MirrorDirectionFlags as replacement for BmpMirrorFlags BmpMirrorFlags in Bitmap is an attribute for bitmap manipulation (mirroring). This change creates a copy of the flags in basegfx as MirrorDirectionFlags, which will be used in the fututre as a general repalcement for the BmpMirrorFlags, that will be changed step by step. For now we only use the flags in GraphicAttr to make it independent form vcl, and cast to/from BmpMirrorFLags and MirrorDirectionFlags where needed. Change-Id: I01a69a4d241caa22cff61bdbf87944af57684749 diff --git a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx index f86b1585b13f..2f571ed66aa3 100644 --- a/drawinglayer/source/primitive2d/graphicprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/graphicprimitive2d.cxx @@ -49,8 +49,10 @@ void GraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, if (getGraphicAttr().IsMirrored()) { // content needs mirroring - const bool bHMirr(getGraphicAttr().GetMirrorFlags() & BmpMirrorFlags::Horizontal); - const bool bVMirr(getGraphicAttr().GetMirrorFlags() & BmpMirrorFlags::Vertical); + const bool bHMirr(getGraphicAttr().GetMirrorFlags() + & basegfx::MirrorDirectionFlags::Horizontal); + const bool bVMirr(getGraphicAttr().GetMirrorFlags() + & basegfx::MirrorDirectionFlags::Vertical); // mirror by applying negative scale to the unit primitive and // applying the object transformation on it. @@ -69,7 +71,7 @@ void GraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, aSuppressGraphicAttr.SetCrop(0, 0, 0, 0); aSuppressGraphicAttr.SetRotation(0); - aSuppressGraphicAttr.SetMirrorFlags(BmpMirrorFlags::NONE); + aSuppressGraphicAttr.SetMirrorFlags(basegfx::MirrorDirectionFlags::NONE); aSuppressGraphicAttr.SetTransparency(0); const GraphicObject& rGraphicObject = getGraphicObject(); diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx index d851e9f6723d..c8021c9d0972 100644 --- a/filter/source/msfilter/escherex.cxx +++ b/filter/source/msfilter/escherex.cxx @@ -1673,7 +1673,7 @@ bool EscherPropertyContainer::CreateGraphicProperties(const uno::Reference<beans if(bMirrored) { - pGraphicAttr->SetMirrorFlags(BmpMirrorFlags::Horizontal); + pGraphicAttr->SetMirrorFlags(basegfx::MirrorDirectionFlags::Horizontal); } if(nTransparency) diff --git a/include/basegfx/bitmap/BitmapAttributes.hxx b/include/basegfx/bitmap/BitmapAttributes.hxx new file mode 100644 index 000000000000..d918d55faa99 --- /dev/null +++ b/include/basegfx/bitmap/BitmapAttributes.hxx @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ + +#pragma once + +#include <basegfx/basegfxdllapi.h> +#include <o3tl/typed_flags_set.hxx> + +namespace basegfx +{ +enum class MirrorDirectionFlags +{ + NONE = 0x00, + Horizontal = 0x01, + Vertical = 0x02, +}; + +} // end of namespace basegfx + +namespace o3tl +{ +template <> +struct typed_flags<basegfx::MirrorDirectionFlags> + : is_typed_flags<basegfx::MirrorDirectionFlags, 0x03> +{ +}; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/GraphicAttributes.hxx b/include/vcl/GraphicAttributes.hxx index 0908a8f56b9d..90364e408fee 100644 --- a/include/vcl/GraphicAttributes.hxx +++ b/include/vcl/GraphicAttributes.hxx @@ -19,10 +19,11 @@ #pragma once -#include <memory> #include <vcl/dllapi.h> + +#include <memory> #include <o3tl/typed_flags_set.hxx> -#include <vcl/bitmap.hxx> +#include <basegfx/bitmap/BitmapAttributes.hxx> enum class GraphicDrawMode { @@ -36,7 +37,7 @@ class VCL_DLLPUBLIC GraphicAttr { private: double mfGamma; - BmpMirrorFlags mnMirrFlags; + basegfx::MirrorDirectionFlags mnMirrFlags; long mnLeftCrop; long mnTopCrop; long mnRightCrop; @@ -60,8 +61,8 @@ public: void SetDrawMode(GraphicDrawMode eDrawMode) { meDrawMode = eDrawMode; } GraphicDrawMode GetDrawMode() const { return meDrawMode; } - void SetMirrorFlags(BmpMirrorFlags nMirrFlags) { mnMirrFlags = nMirrFlags; } - BmpMirrorFlags GetMirrorFlags() const { return mnMirrFlags; } + void SetMirrorFlags(basegfx::MirrorDirectionFlags nMirrFlags) { mnMirrFlags = nMirrFlags; } + basegfx::MirrorDirectionFlags GetMirrorFlags() const { return mnMirrFlags; } void SetCrop(long nLeft_100TH_MM, long nTop_100TH_MM, long nRight_100TH_MM, long nBottom_100TH_MM) @@ -104,7 +105,7 @@ public: sal_uInt8 GetTransparency() const { return mcTransparency; } bool IsSpecialDrawMode() const { return (meDrawMode != GraphicDrawMode::Standard); } - bool IsMirrored() const { return mnMirrFlags != BmpMirrorFlags::NONE; } + bool IsMirrored() const { return mnMirrFlags != basegfx::MirrorDirectionFlags::NONE; } bool IsCropped() const { return (mnLeftCrop != 0 || mnTopCrop != 0 || mnRightCrop != 0 || mnBottomCrop != 0); diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx index 8fceef864ae2..db24da9a5552 100644 --- a/svx/source/sdr/contact/viewcontactofgraphic.cxx +++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx @@ -336,7 +336,9 @@ namespace sdr::contact if(bHMirr || bVMirr) { - aLocalGrafInfo.SetMirrorFlags((bHMirr ? BmpMirrorFlags::Horizontal : BmpMirrorFlags::NONE)|(bVMirr ? BmpMirrorFlags::Vertical : BmpMirrorFlags::NONE)); + basegfx::MirrorDirectionFlags eVertical = bVMirr ? basegfx::MirrorDirectionFlags::Vertical : basegfx::MirrorDirectionFlags::NONE; + basegfx::MirrorDirectionFlags eHorizontal = bHMirr ? basegfx::MirrorDirectionFlags::Horizontal : basegfx::MirrorDirectionFlags::NONE; + aLocalGrafInfo.SetMirrorFlags(eVertical | eHorizontal); } // fill object matrix diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index be60f5697ca1..59eb4b7b2289 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -378,7 +378,10 @@ GraphicAttr SdrGrafObj::GetGraphicAttr( SdrGrafObjTransformsAttrs nTransformFlag bool bHMirr = nMirrorCase == 2 || nMirrorCase == 4; bool bVMirr = nMirrorCase == 3 || nMirrorCase == 4; - aActAttr.SetMirrorFlags( ( bHMirr ? BmpMirrorFlags::Horizontal : BmpMirrorFlags::NONE ) | ( bVMirr ? BmpMirrorFlags::Vertical : BmpMirrorFlags::NONE ) ); + basegfx::MirrorDirectionFlags eVertical = bVMirr ? basegfx::MirrorDirectionFlags::Vertical : basegfx::MirrorDirectionFlags::NONE; + basegfx::MirrorDirectionFlags eHorizontal = bHMirr ? basegfx::MirrorDirectionFlags::Horizontal : basegfx::MirrorDirectionFlags::NONE; + + aActAttr.SetMirrorFlags(eVertical | eHorizontal); } if( bRotate ) diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index bb39141cc49a..58a7fde52200 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -727,22 +727,22 @@ GraphicAttr& SwGrfNode::GetGraphicAttr( GraphicAttr& rGA, rGA.SetDrawMode( rSet.GetDrawModeGrf().GetValue() ); const SwMirrorGrf & rMirror = rSet.GetMirrorGrf(); - BmpMirrorFlags nMirror = BmpMirrorFlags::NONE; + basegfx::MirrorDirectionFlags nMirror = basegfx::MirrorDirectionFlags::NONE; if( rMirror.IsGrfToggle() && pFrame && !pFrame->FindPageFrame()->OnRightPage() ) { switch( rMirror.GetValue() ) { case MirrorGraph::Dont: - nMirror = BmpMirrorFlags::Horizontal; + nMirror = basegfx::MirrorDirectionFlags::Horizontal; break; case MirrorGraph::Vertical: - nMirror = BmpMirrorFlags::NONE; + nMirror = basegfx::MirrorDirectionFlags::NONE; break; case MirrorGraph::Horizontal: - nMirror = BmpMirrorFlags::Horizontal|BmpMirrorFlags::Vertical; + nMirror = basegfx::MirrorDirectionFlags::Horizontal | basegfx::MirrorDirectionFlags::Vertical; break; default: - nMirror = BmpMirrorFlags::Vertical; + nMirror = basegfx::MirrorDirectionFlags::Vertical; break; } } @@ -750,13 +750,13 @@ GraphicAttr& SwGrfNode::GetGraphicAttr( GraphicAttr& rGA, switch( rMirror.GetValue() ) { case MirrorGraph::Both: - nMirror = BmpMirrorFlags::Horizontal|BmpMirrorFlags::Vertical; + nMirror = basegfx::MirrorDirectionFlags::Horizontal | basegfx::MirrorDirectionFlags::Vertical; break; case MirrorGraph::Vertical: - nMirror = BmpMirrorFlags::Horizontal; + nMirror = basegfx::MirrorDirectionFlags::Horizontal; break; case MirrorGraph::Horizontal: - nMirror = BmpMirrorFlags::Vertical; + nMirror = basegfx::MirrorDirectionFlags::Vertical; break; default: break; } diff --git a/vcl/source/graphic/GraphicObject.cxx b/vcl/source/graphic/GraphicObject.cxx index 0447bddfd637..137666937eb6 100644 --- a/vcl/source/graphic/GraphicObject.cxx +++ b/vcl/source/graphic/GraphicObject.cxx @@ -168,7 +168,7 @@ void lclImplAdjust( BitmapEx& rBmpEx, const GraphicAttr& rAttr, GraphicAdjustmen if( ( nAdjustmentFlags & GraphicAdjustmentFlags::MIRROR ) && aAttr.IsMirrored() ) { - rBmpEx.Mirror( aAttr.GetMirrorFlags() ); + rBmpEx.Mirror(BmpMirrorFlags(aAttr.GetMirrorFlags()) ); } if( ( nAdjustmentFlags & GraphicAdjustmentFlags::ROTATE ) && aAttr.IsRotated() ) @@ -219,7 +219,7 @@ void lclImplAdjust( GDIMetaFile& rMtf, const GraphicAttr& rAttr, GraphicAdjustme if( ( nAdjustmentFlags & GraphicAdjustmentFlags::MIRROR ) && aAttr.IsMirrored() ) { - rMtf.Mirror( aAttr.GetMirrorFlags() ); + rMtf.Mirror(BmpMirrorFlags(aAttr.GetMirrorFlags())); } if( ( nAdjustmentFlags & GraphicAdjustmentFlags::ROTATE ) && aAttr.IsRotated() ) @@ -270,7 +270,7 @@ void lclImplAdjust( Animation& rAnimation, const GraphicAttr& rAttr, GraphicAdju if( ( nAdjustmentFlags & GraphicAdjustmentFlags::MIRROR ) && aAttr.IsMirrored() ) { - rAnimation.Mirror( aAttr.GetMirrorFlags() ); + rAnimation.Mirror(BmpMirrorFlags(aAttr.GetMirrorFlags())); } if( ( nAdjustmentFlags & GraphicAdjustmentFlags::ROTATE ) && aAttr.IsRotated() ) @@ -383,7 +383,7 @@ bool GraphicObject::ImplGetCropParams( OutputDevice const * pOut, Point& rPt, Si if( !aSize100.IsEmpty() && nTotalWidth > 0 && nTotalHeight > 0 ) { double fScale = static_cast<double>(aSize100.Width()) / nTotalWidth; - const long nNewLeft = -FRound( ( ( pAttr->GetMirrorFlags() & BmpMirrorFlags::Horizontal ) ? pAttr->GetRightCrop() : pAttr->GetLeftCrop() ) * fScale ); + const long nNewLeft = -FRound( ( ( BmpMirrorFlags(pAttr->GetMirrorFlags()) & BmpMirrorFlags::Horizontal ) ? pAttr->GetRightCrop() : pAttr->GetLeftCrop() ) * fScale ); const long nNewRight = nNewLeft + FRound( aSize100.Width() * fScale ) - 1; fScale = static_cast<double>(rSz.Width()) / aSize100.Width(); @@ -391,7 +391,7 @@ bool GraphicObject::ImplGetCropParams( OutputDevice const * pOut, Point& rPt, Si rSz.setWidth( FRound( ( nNewRight - nNewLeft + 1 ) * fScale ) ); fScale = static_cast<double>(aSize100.Height()) / nTotalHeight; - const long nNewTop = -FRound( ( ( pAttr->GetMirrorFlags() & BmpMirrorFlags::Vertical ) ? pAttr->GetBottomCrop() : pAttr->GetTopCrop() ) * fScale ); + const long nNewTop = -FRound( ( ( BmpMirrorFlags(pAttr->GetMirrorFlags()) & BmpMirrorFlags::Vertical ) ? pAttr->GetBottomCrop() : pAttr->GetTopCrop() ) * fScale ); const long nNewBottom = nNewTop + FRound( aSize100.Height() * fScale ) - 1; fScale = static_cast<double>(rSz.Height()) / aSize100.Height(); @@ -476,7 +476,8 @@ bool GraphicObject::Draw( OutputDevice* pOut, const Point& rPt, const Size& rSz, { aPt.AdjustX(aSz.Width() + 1 ); aSz.setWidth( -aSz.Width() ); - aAttr.SetMirrorFlags( aAttr.GetMirrorFlags() ^ BmpMirrorFlags::Horizontal ); + BmpMirrorFlags eFlags = BmpMirrorFlags(aAttr.GetMirrorFlags()) ^ BmpMirrorFlags::Horizontal; + aAttr.SetMirrorFlags(basegfx::MirrorDirectionFlags(eFlags)); } // mirrored vertically @@ -484,7 +485,8 @@ bool GraphicObject::Draw( OutputDevice* pOut, const Point& rPt, const Size& rSz, { aPt.AdjustY(aSz.Height() + 1 ); aSz.setHeight( -aSz.Height() ); - aAttr.SetMirrorFlags( aAttr.GetMirrorFlags() ^ BmpMirrorFlags::Vertical ); + BmpMirrorFlags eFlags = BmpMirrorFlags(aAttr.GetMirrorFlags()) ^ BmpMirrorFlags::Vertical; + aAttr.SetMirrorFlags(basegfx::MirrorDirectionFlags(eFlags)); } if( bCropped ) diff --git a/vcl/source/graphic/grfattr.cxx b/vcl/source/graphic/grfattr.cxx index 35acaf50b841..36e8605b77de 100644 --- a/vcl/source/graphic/grfattr.cxx +++ b/vcl/source/graphic/grfattr.cxx @@ -21,7 +21,7 @@ GraphicAttr::GraphicAttr() : mfGamma ( 1.0 ), - mnMirrFlags ( BmpMirrorFlags::NONE ), + mnMirrFlags ( basegfx::MirrorDirectionFlags::NONE ), mnLeftCrop ( 0 ), mnTopCrop ( 0 ), mnRightCrop ( 0 ), commit 04264ed8b3bac68a3fd5607799576d04238a1301 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Fri May 8 22:28:35 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:17 2020 +0200 Move some basic primitives to drawinglayer CORE Mostly which are easy to move and used in VclProcessor2D Change-Id: Ie1559e13a2a7cdb5225421def2f9145026ff9121 diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk index 814fff713ae1..a9d70da2aa84 100644 --- a/drawinglayer/Library_drawinglayer.mk +++ b/drawinglayer/Library_drawinglayer.mk @@ -50,11 +50,6 @@ $(eval $(call gb_Library_use_libraries,drawinglayer,\ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/animation/animationtiming \ drawinglayer/source/attribute/fillgraphicattribute \ - drawinglayer/source/attribute/fillgradientattribute \ - drawinglayer/source/attribute/fillhatchattribute \ - drawinglayer/source/attribute/fontattribute \ - drawinglayer/source/attribute/lineattribute \ - drawinglayer/source/attribute/linestartendattribute \ drawinglayer/source/attribute/materialattribute3d \ drawinglayer/source/attribute/sdrallattribute3d \ drawinglayer/source/attribute/sdrfillattribute \ @@ -67,11 +62,9 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/attribute/sdrobjectattribute3d \ drawinglayer/source/attribute/sdrsceneattribute3d \ drawinglayer/source/attribute/sdrshadowattribute \ - drawinglayer/source/attribute/strokeattribute \ drawinglayer/source/geometry/viewinformation3d \ drawinglayer/source/primitive2d/animatedprimitive2d \ drawinglayer/source/primitive2d/backgroundcolorprimitive2d \ - drawinglayer/source/primitive2d/bitmapprimitive2d \ drawinglayer/source/primitive2d/borderlineprimitive2d \ drawinglayer/source/primitive2d/controlprimitive2d \ drawinglayer/source/primitive2d/cropprimitive2d \ @@ -80,54 +73,32 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/primitive2d/embedded3dprimitive2d \ drawinglayer/source/primitive2d/epsprimitive2d \ drawinglayer/source/primitive2d/fillgraphicprimitive2d \ - drawinglayer/source/primitive2d/fillgradientprimitive2d \ - drawinglayer/source/primitive2d/fillhatchprimitive2d \ drawinglayer/source/primitive2d/glowprimitive2d \ drawinglayer/source/primitive2d/graphicprimitivehelper2d \ drawinglayer/source/primitive2d/graphicprimitive2d \ drawinglayer/source/primitive2d/gridprimitive2d \ - drawinglayer/source/primitive2d/groupprimitive2d \ drawinglayer/source/primitive2d/helplineprimitive2d \ drawinglayer/source/primitive2d/hiddengeometryprimitive2d \ drawinglayer/source/primitive2d/invertprimitive2d \ drawinglayer/source/primitive2d/markerarrayprimitive2d \ - drawinglayer/source/primitive2d/maskprimitive2d \ drawinglayer/source/primitive2d/mediaprimitive2d \ drawinglayer/source/primitive2d/metafileprimitive2d \ - drawinglayer/source/primitive2d/modifiedcolorprimitive2d \ - drawinglayer/source/primitive2d/objectinfoprimitive2d \ drawinglayer/source/primitive2d/pagehierarchyprimitive2d \ - drawinglayer/source/primitive2d/pagepreviewprimitive2d \ drawinglayer/source/primitive2d/patternfillprimitive2d \ - drawinglayer/source/primitive2d/pointarrayprimitive2d \ - drawinglayer/source/primitive2d/polygonprimitive2d \ - drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D \ drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D \ - drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D \ - drawinglayer/source/primitive2d/primitivetools2d \ drawinglayer/source/primitive2d/sceneprimitive2d \ drawinglayer/source/primitive2d/sdrdecompositiontools2d \ drawinglayer/source/primitive2d/shadowprimitive2d \ drawinglayer/source/primitive2d/softedgeprimitive2d \ drawinglayer/source/primitive2d/structuretagprimitive2d \ - drawinglayer/source/primitive2d/svggradientprimitive2d \ drawinglayer/source/primitive2d/textbreakuphelper \ drawinglayer/source/primitive2d/textdecoratedprimitive2d \ drawinglayer/source/primitive2d/texteffectprimitive2d \ - drawinglayer/source/primitive2d/textenumsprimitive2d \ drawinglayer/source/primitive2d/texthierarchyprimitive2d \ drawinglayer/source/primitive2d/textlayoutdevice \ drawinglayer/source/primitive2d/textlineprimitive2d \ drawinglayer/source/primitive2d/textprimitive2d \ drawinglayer/source/primitive2d/textstrikeoutprimitive2d \ - drawinglayer/source/primitive2d/transformprimitive2d \ - drawinglayer/source/primitive2d/transparenceprimitive2d \ - drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d \ drawinglayer/source/primitive2d/wallpaperprimitive2d \ drawinglayer/source/primitive2d/wrongspellprimitive2d \ drawinglayer/source/primitive3d/baseprimitive3d \ @@ -186,7 +157,6 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/tools/primitive2dxmldump \ drawinglayer/source/drawinglayeruno/drawinglayeruno \ drawinglayer/source/drawinglayeruno/xprimitive2drenderer \ - drawinglayer/source/texture/texture \ drawinglayer/source/dumper/XShapeDumper \ drawinglayer/source/dumper/EnhancedShapeDumper \ )) diff --git a/drawinglayer/Library_drawinglayercore.mk b/drawinglayer/Library_drawinglayercore.mk index f1643d27014d..972ac32f5388 100644 --- a/drawinglayer/Library_drawinglayercore.mk +++ b/drawinglayer/Library_drawinglayercore.mk @@ -40,10 +40,47 @@ $(eval $(call gb_Library_use_libraries,drawinglayercore,\ )) $(eval $(call gb_Library_add_exception_objects,drawinglayercore,\ + drawinglayer/source/attribute/lineattribute \ + drawinglayer/source/attribute/strokeattribute \ + drawinglayer/source/attribute/linestartendattribute \ + drawinglayer/source/attribute/fillgradientattribute \ + drawinglayer/source/attribute/fillhatchattribute \ + drawinglayer/source/attribute/fontattribute \ + drawinglayer/source/geometry/viewinformation2d \ + drawinglayer/source/texture/texture \ drawinglayer/source/primitive2d/baseprimitive2d \ drawinglayer/source/primitive2d/Primitive2DContainer \ drawinglayer/source/primitive2d/Tools \ - drawinglayer/source/geometry/viewinformation2d \ + drawinglayer/source/primitive2d/polygonprimitive2d \ + drawinglayer/source/primitive2d/PolyPolygonColorPrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonHairlinePrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonMarkerPrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonStrokePrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonGradientPrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonHatchPrimitive2D \ + drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D \ + drawinglayer/source/primitive2d/fillgradientprimitive2d \ + drawinglayer/source/primitive2d/maskprimitive2d \ + drawinglayer/source/primitive2d/groupprimitive2d \ + drawinglayer/source/primitive2d/fillhatchprimitive2d \ + drawinglayer/source/primitive2d/primitivetools2d \ + drawinglayer/source/primitive2d/pointarrayprimitive2d \ + drawinglayer/source/primitive2d/modifiedcolorprimitive2d \ + drawinglayer/source/primitive2d/bitmapprimitive2d \ + drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d \ + drawinglayer/source/primitive2d/transparenceprimitive2d \ + drawinglayer/source/primitive2d/pagepreviewprimitive2d \ + drawinglayer/source/primitive2d/transformprimitive2d \ + drawinglayer/source/primitive2d/svggradientprimitive2d \ + drawinglayer/source/primitive2d/objectinfoprimitive2d \ + drawinglayer/source/primitive2d/textenumsprimitive2d \ )) +# drawinglayer/source/primitive2d/epsprimitive2d \ +# drawinglayer/source/primitive2d/markerarrayprimitive2d \ +# drawinglayer/source/primitive2d/fillgraphicprimitive2d \ +# drawinglayer/source/primitive2d/textdecoratedprimitive2d \ +# drawinglayer/source/primitive2d/textprimitive2d \ + + # vim: set noet sw=4 ts=4: diff --git a/filter/Library_pdffilter.mk b/filter/Library_pdffilter.mk index 9694490655de..9320e3648724 100644 --- a/filter/Library_pdffilter.mk +++ b/filter/Library_pdffilter.mk @@ -49,6 +49,7 @@ $(eval $(call gb_Library_use_libraries,pdffilter,\ cppuhelper \ cppu \ sal \ + drawinglayercore \ drawinglayer \ )) commit 230e5fd73f826890d6d1c99e1ad04df250223a17 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Fri May 8 20:50:29 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:17 2020 +0200 drawinglayer: externalize PointArrayPrimitive2D class Change-Id: I8ee993947bf2f4437cf3a429c43a81132fac0947 diff --git a/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx index 613b8969828d..682132218411 100644 --- a/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx @@ -39,7 +39,7 @@ namespace drawinglayer::primitive2d should process it (Currently it is only used for grid visualisation, but this may change). */ - class PointArrayPrimitive2D final : public BasePrimitive2D + class DRAWINGLAYER_DLLPUBLIC PointArrayPrimitive2D final : public BasePrimitive2D { private: /// the array of positions commit 0f0ae95578208b0c6a141ee3fc85b6e992589142 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Fri May 8 20:43:38 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:16 2020 +0200 drawinglayer: externalize classes in texture.hxx Change-Id: I1e49a6c896733ebebf16db23f3c2f8b06161d659 diff --git a/drawinglayer/inc/texture/texture.hxx b/drawinglayer/inc/texture/texture.hxx index 24e23a4b241c..b34bde38d1bc 100644 --- a/drawinglayer/inc/texture/texture.hxx +++ b/drawinglayer/inc/texture/texture.hxx @@ -30,7 +30,7 @@ namespace drawinglayer::texture { - class GeoTexSvx + class DRAWINGLAYER_DLLPUBLIC GeoTexSvx { public: GeoTexSvx(); @@ -53,7 +53,7 @@ namespace drawinglayer::texture basegfx::BColor maBColor; }; - class GeoTexSvxGradient : public GeoTexSvx + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradient : public GeoTexSvx { protected: basegfx::ODFGradientInfo maGradientInfo; @@ -79,7 +79,7 @@ namespace drawinglayer::texture basegfx::BColor& rOuterColor) = 0; }; - class GeoTexSvxGradientLinear final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientLinear final : public GeoTexSvxGradient { double mfUnitMinX; double mfUnitWidth; @@ -102,7 +102,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxGradientAxial final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientAxial final : public GeoTexSvxGradient { double mfUnitMinX; double mfUnitWidth; @@ -124,7 +124,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxGradientRadial final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRadial final : public GeoTexSvxGradient { public: GeoTexSvxGradientRadial( @@ -143,7 +143,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxGradientElliptical final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientElliptical final : public GeoTexSvxGradient { public: GeoTexSvxGradientElliptical( @@ -163,7 +163,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxGradientSquare final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientSquare final : public GeoTexSvxGradient { public: GeoTexSvxGradientSquare( @@ -183,7 +183,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxGradientRect final : public GeoTexSvxGradient + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRect final : public GeoTexSvxGradient { public: GeoTexSvxGradientRect( @@ -203,7 +203,7 @@ namespace drawinglayer::texture virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override; }; - class GeoTexSvxHatch final : public GeoTexSvx + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxHatch final : public GeoTexSvx { basegfx::B2DRange maOutputRange; basegfx::B2DHomMatrix maTextureTransform; @@ -239,7 +239,7 @@ namespace drawinglayer::texture // given percentage value (offsetX has to be 0.0 <= offsetX <= 1.0). // Accordingly to offsetY. If both are given, offsetX is preferred // and offsetY is ignored. - class GeoTexSvxTiled final : public GeoTexSvx + class DRAWINGLAYER_DLLPUBLIC GeoTexSvxTiled final : public GeoTexSvx { basegfx::B2DRange maRange; double mfOffsetX; commit 8a22e335fb5635f8683a7eca899ca5f8b5c2fbb4 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Fri May 8 20:40:59 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:16 2020 +0200 drawinglayer: externalize FillHatchPrimitive2D class Change-Id: I9ad1f179a43bb6c501cb699c0f26523f47307829 diff --git a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx index bab7e47b03e8..c7b3a559bc42 100644 --- a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx @@ -26,9 +26,6 @@ #include <drawinglayer/attribute/fillhatchattribute.hxx> #include <basegfx/color/bcolor.hxx> - -// FillHatchPrimitive2D class - namespace drawinglayer::primitive2d { /** FillHatchPrimitive2D class @@ -45,7 +42,7 @@ namespace drawinglayer::primitive2d The decomposition will deliver the hatch lines. */ - class FillHatchPrimitive2D final : public DiscreteMetricDependentPrimitive2D + class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D final : public DiscreteMetricDependentPrimitive2D { private: /// the geometrically visible area commit d5cb13283bc45411f8d7876babd633016f52e98e Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Wed Apr 1 13:00:25 2020 +0200 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:16 2020 +0200 Add OutputDevice::drawPrimitive2D to OutputDevice Change-Id: Ifc22eca62df72bddd247ba097054f34756520614 diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index 86c18f06782e..5764da72b861 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -49,6 +49,8 @@ #include <com/sun/star/drawing/LineCap.hpp> #include <com/sun/star/uno/Reference.h> +#include <drawinglayer/primitive2d/Primitive2DContainer.hxx> + #include <memory> #include <vector> @@ -1950,6 +1952,9 @@ public: ///@} + bool drawPrimitive2D(drawinglayer::primitive2d::Primitive2DContainer & rPrimitive2D); + + /** @name Native Widget Rendering functions These all just call through to the private mpGraphics functions of the same name. diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index 4ee0873bd189..fbf87fc11709 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -80,6 +80,7 @@ $(eval $(call gb_Library_use_libraries,vcl,\ basegfx \ comphelper \ cppuhelper \ + drawinglayercore \ i18nlangtag \ i18nutil \ $(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \ diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx index 020a57a6a40c..e0ce70a90911 100644 --- a/vcl/source/outdev/outdev.cxx +++ b/vcl/source/outdev/outdev.cxx @@ -704,4 +704,9 @@ bool OutputDevice::DrawEPS( const Point& rPoint, const Size& rSize, return bDrawn; } +bool OutputDevice::drawPrimitive2D(drawinglayer::primitive2d::Primitive2DContainer & rPrimitive2D) +{ + return false; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit a5973638c6f47aff6b2d71d8f61f8f3bad03b04d Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Sat Mar 7 14:33:43 2020 +0100 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Mon Jun 8 12:03:15 2020 +0200 Separate core drawinglayer func. into drawinglayercore library This separates the drawinglayer core functionallity into a separate library, to keep a strict separation what is backend dependent and what is not. More strict separation can be done at a later date. This will make it possible to push part of drawinglayer (part of processor2d) directly into VCL. Change-Id: Ibc26580067e50bf20d7cdd37fa0e44eb10200878 diff --git a/Repository.mk b/Repository.mk index fc701d8bff87..2936e66774c2 100644 --- a/Repository.mk +++ b/Repository.mk @@ -350,6 +350,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ $(call gb_Helper_optional,SCRIPTING,dlgprov) \ $(if $(filter WNT,$(OS)),directx9canvas) \ $(if $(ENABLE_OPENGL_CANVAS),oglcanvas) \ + drawinglayercore \ drawinglayer \ editeng \ $(if $(filter WNT,$(OS)),emser) \ diff --git a/drawinglayer/CppunitTest_drawinglayer_border.mk b/drawinglayer/CppunitTest_drawinglayer_border.mk index fa2f715590cd..e00006c18dba 100644 --- a/drawinglayer/CppunitTest_drawinglayer_border.mk +++ b/drawinglayer/CppunitTest_drawinglayer_border.mk @@ -21,6 +21,7 @@ $(eval $(call gb_CppunitTest_use_libraries,drawinglayer_border, \ sal \ salhelper \ drawinglayer \ + drawinglayercore \ vcl \ test \ tl \ diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk index 24b8055836d0..814fff713ae1 100644 --- a/drawinglayer/Library_drawinglayer.mk +++ b/drawinglayer/Library_drawinglayer.mk @@ -30,6 +30,7 @@ $(eval $(call gb_Library_use_externals,drawinglayer,\ )) $(eval $(call gb_Library_use_libraries,drawinglayer,\ + drawinglayercore \ basegfx \ canvastools \ comphelper \ @@ -67,11 +68,9 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/attribute/sdrsceneattribute3d \ drawinglayer/source/attribute/sdrshadowattribute \ drawinglayer/source/attribute/strokeattribute \ - drawinglayer/source/geometry/viewinformation2d \ drawinglayer/source/geometry/viewinformation3d \ drawinglayer/source/primitive2d/animatedprimitive2d \ drawinglayer/source/primitive2d/backgroundcolorprimitive2d \ - drawinglayer/source/primitive2d/baseprimitive2d \ drawinglayer/source/primitive2d/bitmapprimitive2d \ drawinglayer/source/primitive2d/borderlineprimitive2d \ drawinglayer/source/primitive2d/controlprimitive2d \ @@ -111,7 +110,6 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/primitive2d/PolyPolygonGraphicPrimitive2D \ drawinglayer/source/primitive2d/PolyPolygonSelectionPrimitive2D \ drawinglayer/source/primitive2d/primitivetools2d \ - drawinglayer/source/primitive2d/Primitive2DContainer \ drawinglayer/source/primitive2d/sceneprimitive2d \ drawinglayer/source/primitive2d/sdrdecompositiontools2d \ drawinglayer/source/primitive2d/shadowprimitive2d \ @@ -127,7 +125,6 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\ drawinglayer/source/primitive2d/textlineprimitive2d \ drawinglayer/source/primitive2d/textprimitive2d \ drawinglayer/source/primitive2d/textstrikeoutprimitive2d \ - drawinglayer/source/primitive2d/Tools \ drawinglayer/source/primitive2d/transformprimitive2d \ drawinglayer/source/primitive2d/transparenceprimitive2d \ drawinglayer/source/primitive2d/unifiedtransparenceprimitive2d \ diff --git a/drawinglayer/Library_drawinglayercore.mk b/drawinglayer/Library_drawinglayercore.mk new file mode 100644 index 000000000000..f1643d27014d --- /dev/null +++ b/drawinglayer/Library_drawinglayercore.mk @@ -0,0 +1,49 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Library_Library,drawinglayercore)) + +$(eval $(call gb_Library_set_include,drawinglayercore,\ + $$(INCLUDE) \ + -I$(SRCDIR)/drawinglayer/inc \ +)) + +$(eval $(call gb_Library_add_defs,drawinglayercore,\ + -DDRAWINGLAYERCORE_DLLIMPLEMENTATION \ +)) + +$(eval $(call gb_Library_set_precompiled_header,drawinglayercore,drawinglayer/inc/pch/precompiled_drawinglayercore)) + +$(eval $(call gb_Library_use_sdk_api,drawinglayercore)) + +$(eval $(call gb_Library_use_externals,drawinglayercore,\ + boost_headers \ + libxml2 \ +)) + +$(eval $(call gb_Library_use_libraries,drawinglayercore,\ + basegfx \ + comphelper \ + cppu \ + cppuhelper \ + i18nlangtag \ + sal \ + salhelper \ + svl \ + tl \ +)) + +$(eval $(call gb_Library_add_exception_objects,drawinglayercore,\ + drawinglayer/source/primitive2d/baseprimitive2d \ + drawinglayer/source/primitive2d/Primitive2DContainer \ + drawinglayer/source/primitive2d/Tools \ + drawinglayer/source/geometry/viewinformation2d \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/drawinglayer/Module_drawinglayer.mk b/drawinglayer/Module_drawinglayer.mk index 6d329e95c60a..687cd9c2671f 100644 --- a/drawinglayer/Module_drawinglayer.mk +++ b/drawinglayer/Module_drawinglayer.mk @@ -10,6 +10,7 @@ $(eval $(call gb_Module_Module,drawinglayer)) $(eval $(call gb_Module_add_targets,drawinglayer,\ + Library_drawinglayercore \ Library_drawinglayer \ )) diff --git a/drawinglayer/inc/pch/precompiled_drawinglayer.hxx b/drawinglayer/inc/pch/precompiled_drawinglayer.hxx index 9aaf7bace296..d60954dab588 100644 --- a/drawinglayer/inc/pch/precompiled_drawinglayer.hxx +++ b/drawinglayer/inc/pch/precompiled_drawinglayer.hxx @@ -93,7 +93,6 @@ #include <basegfx/range/basicrange.hxx> #include <basegfx/tuple/b2dtuple.hxx> #include <basegfx/tuple/b3dtuple.hxx> -#include <basegfx/utils/canvastools.hxx> #include <basegfx/vector/b2dvector.hxx> #include <basegfx/vector/b2enums.hxx> #include <basegfx/vector/b2ivector.hxx> @@ -105,7 +104,7 @@ #include <com/sun/star/drawing/TextureMode.hpp> #include <com/sun/star/drawing/TextureProjectionMode.hpp> #include <com/sun/star/graphic/XPrimitive3D.hpp> -#include <com/sun/star/util/XAccounting.hpp> +#include <com/sun/star/uno/Reference.hxx> #include <comphelper/comphelperdllapi.h> #include <comphelper/processfactory.hxx> #include <comphelper/sequence.hxx> @@ -139,7 +138,6 @@ #include <drawinglayer/drawinglayerdllapi.h> #include <drawinglayer/geometry/viewinformation2d.hxx> #include <drawinglayer/geometry/viewinformation3d.hxx> -#include <drawinglayer/primitive2d/CommonTypes.hxx> #include <drawinglayer/primitive2d/PolyPolygonColorPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonGraphicPrimitive2D.hxx> @@ -147,9 +145,6 @@ #include <drawinglayer/primitive2d/PolyPolygonHatchPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonMarkerPrimitive2D.hxx> #include <drawinglayer/primitive2d/PolyPolygonStrokePrimitive2D.hxx> -#include <drawinglayer/primitive2d/Primitive2DContainer.hxx> -#include <drawinglayer/primitive2d/Primitive2DVisitor.hxx> -#include <drawinglayer/primitive2d/Tools.hxx> #include <drawinglayer/primitive2d/baseprimitive2d.hxx> #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx> #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> diff --git a/drawinglayer/inc/pch/precompiled_drawinglayercore.cxx b/drawinglayer/inc/pch/precompiled_drawinglayercore.cxx new file mode 100644 index 000000000000..4a8c23ea8e65 --- /dev/null +++ b/drawinglayer/inc/pch/precompiled_drawinglayercore.cxx @@ -0,0 +1,12 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include "precompiled_drawinglayercore.hxx" + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/drawinglayer/inc/pch/precompiled_drawinglayercore.hxx b/drawinglayer/inc/pch/precompiled_drawinglayercore.hxx new file mode 100644 index 000000000000..4cc5ca4612c9 --- /dev/null +++ b/drawinglayer/inc/pch/precompiled_drawinglayercore.hxx @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +/* + This file has been autogenerated by update_pch.sh. It is possible to edit it + manually (such as when an include file has been moved/renamed/removed). All such + manual changes will be rewritten by the next run of update_pch.sh (which presumably + also fixes all possible problems, so it's usually better to use it). + + Generated on 2020-03-07 12:37:18 using: + ./bin/update_pch drawinglayer drawinglayercore --cutoff=4 --exclude:system --exclude:module --exclude:local + + If after updating build fails, use the following command to locate conflicting headers: + ./bin/update_pch_bisect ./drawinglayer/inc/pch/precompiled_drawinglayercore.hxx "make drawinglayer.build" --find-conflicts +*/ + +#if PCH_LEVEL >= 1 +#include <ostream> +#include <vector> +#endif // PCH_LEVEL >= 1 +#if PCH_LEVEL >= 2 +#include <osl/diagnose.h> +#include <osl/interlck.h> +#include <sal/config.h> +#include <sal/types.h> +#endif // PCH_LEVEL >= 2 +#if PCH_LEVEL >= 3 +#include <basegfx/basegfxdllapi.h> +#include <basegfx/point/b2dpoint.hxx> +#include <basegfx/range/b2drange.hxx> +#include <basegfx/range/basicrange.hxx> +#include <basegfx/tuple/b2dtuple.hxx> +#include <basegfx/utils/canvastools.hxx> +#include <basegfx/vector/b2dvector.hxx> +#endif // PCH_LEVEL >= 3 +#if PCH_LEVEL >= 4 +#include <drawinglayer/geometry/viewinformation2d.hxx> +#endif // PCH_LEVEL >= 4 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/emfio/CppunitTest_emfio_emf_test.mk b/emfio/CppunitTest_emfio_emf_test.mk index 123e4b3549bd..2679c0a604d9 100644 --- a/emfio/CppunitTest_emfio_emf_test.mk +++ b/emfio/CppunitTest_emfio_emf_test.mk @@ -23,6 +23,7 @@ $(eval $(call gb_CppunitTest_use_sdk_api,emfio_emf)) $(eval $(call gb_CppunitTest_use_libraries,emfio_emf,\ basegfx \ drawinglayer \ + drawinglayercore \ cppu \ cppuhelper \ comphelper \ diff --git a/emfio/Library_emfio.mk b/emfio/Library_emfio.mk index 52fde14885b3..89add50b781a 100644 --- a/emfio/Library_emfio.mk +++ b/emfio/Library_emfio.mk @@ -41,6 +41,7 @@ $(eval $(call gb_Library_use_sdk_api,emfio)) $(eval $(call gb_Library_use_libraries,emfio,\ basegfx \ + drawinglayercore \ drawinglayer \ cppu \ cppuhelper \ diff --git a/filter/Library_svgfilter.mk b/filter/Library_svgfilter.mk index 21318aa1fd03..1f0caf11758c 100644 --- a/filter/Library_svgfilter.mk +++ b/filter/Library_svgfilter.mk @@ -56,6 +56,7 @@ $(eval $(call gb_Library_use_libraries,svgfilter,\ sax \ salhelper \ comphelper \ + drawinglayercore \ drawinglayer \ basegfx \ cppuhelper \ diff --git a/include/drawinglayer/drawinglayerdllapi.h b/include/drawinglayer/drawinglayerdllapi.h index 0b3983504919..36a0d8abfea2 100644 --- a/include/drawinglayer/drawinglayerdllapi.h +++ b/include/drawinglayer/drawinglayerdllapi.h @@ -19,6 +19,12 @@ #endif #define DRAWINGLAYER_DLLPRIVATE SAL_DLLPRIVATE +#if defined(DRAWINGLAYERCORE_DLLIMPLEMENTATION) +#define DRAWINGLAYERCORE_DLLPUBLIC SAL_DLLPUBLIC_EXPORT +#else +#define DRAWINGLAYERCORE_DLLPUBLIC SAL_DLLPUBLIC_IMPORT +#endif + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/drawinglayer/geometry/viewinformation2d.hxx b/include/drawinglayer/geometry/viewinformation2d.hxx index 95be29a72bda..06b17248d213 100644 --- a/include/drawinglayer/geometry/viewinformation2d.hxx +++ b/include/drawinglayer/geometry/viewinformation2d.hxx @@ -63,7 +63,7 @@ namespace drawinglayer::geometry 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 +class DRAWINGLAYERCORE_DLLPUBLIC ViewInformation2D { public: typedef o3tl::cow_wrapper<ImpViewInformation2D, o3tl::ThreadSafeRefCountingPolicy> ImplType; diff --git a/include/drawinglayer/primitive2d/Primitive2DContainer.hxx b/include/drawinglayer/primitive2d/Primitive2DContainer.hxx index cca3a0a91485..c096e9a8cc2f 100644 --- a/include/drawinglayer/primitive2d/Primitive2DContainer.hxx +++ b/include/drawinglayer/primitive2d/Primitive2DContainer.hxx @@ -34,7 +34,7 @@ class ViewInformation2D; namespace drawinglayer::primitive2d { -class SAL_WARN_UNUSED DRAWINGLAYER_DLLPUBLIC Primitive2DContainer +class SAL_WARN_UNUSED DRAWINGLAYERCORE_DLLPUBLIC Primitive2DContainer : public std::deque<Primitive2DReference>, public Primitive2DDecompositionVisitor { diff --git a/include/drawinglayer/primitive2d/Primitive2DVisitor.hxx b/include/drawinglayer/primitive2d/Primitive2DVisitor.hxx index dfe04b32a320..e174d1e0878d 100644 --- a/include/drawinglayer/primitive2d/Primitive2DVisitor.hxx +++ b/include/drawinglayer/primitive2d/Primitive2DVisitor.hxx @@ -27,7 +27,7 @@ namespace drawinglayer::primitive2d class Primitive2DContainer; // Visitor class for walking a tree of Primitive2DReference -class DRAWINGLAYER_DLLPUBLIC Primitive2DDecompositionVisitor +class DRAWINGLAYERCORE_DLLPUBLIC Primitive2DDecompositionVisitor { public: virtual void append(const Primitive2DReference&) = 0; diff --git a/include/drawinglayer/primitive2d/Tools.hxx b/include/drawinglayer/primitive2d/Tools.hxx index fbb6f5717c01..1c30565c8c1b 100644 --- a/include/drawinglayer/primitive2d/Tools.hxx +++ b/include/drawinglayer/primitive2d/Tools.hxx @@ -31,16 +31,16 @@ class ViewInformation2D; namespace drawinglayer::primitive2d { /// get B2DRange from a given Primitive2DReference -basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DReference( +basegfx::B2DRange DRAWINGLAYERCORE_DLLPUBLIC getB2DRangeFromPrimitive2DReference( const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation); /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D) and using compare operator */ -bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DReferencesEqual(const Primitive2DReference& rA, - const Primitive2DReference& rB); +bool DRAWINGLAYERCORE_DLLPUBLIC arePrimitive2DReferencesEqual(const Primitive2DReference& rA, + const Primitive2DReference& rB); -OUString DRAWINGLAYER_DLLPUBLIC idToString(sal_uInt32 nId); +OUString DRAWINGLAYERCORE_DLLPUBLIC idToString(sal_uInt32 nId); } // end of namespace drawinglayer::primitive2d diff --git a/include/drawinglayer/primitive2d/baseprimitive2d.hxx b/include/drawinglayer/primitive2d/baseprimitive2d.hxx index 693dcc4b1e32..56ff35344de5 100644 --- a/include/drawinglayer/primitive2d/baseprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/baseprimitive2d.hxx @@ -120,8 +120,8 @@ typedef cppu::WeakComponentImplHelper<css::graphic::XPrimitive2D, css::util::XAc for view-independent primitives which are defined by not using ViewInformation2D in their get2DDecomposition/getB2DRange implementations. */ -class DRAWINGLAYER_DLLPUBLIC BasePrimitive2D : protected cppu::BaseMutex, - public BasePrimitive2DImplBase +class DRAWINGLAYERCORE_DLLPUBLIC BasePrimitive2D : protected cppu::BaseMutex, + public BasePrimitive2DImplBase { BasePrimitive2D(const BasePrimitive2D&) = delete; BasePrimitive2D& operator=(const BasePrimitive2D&) = delete; @@ -199,7 +199,7 @@ public: to identify if a new decomposition is needed at the next call (f) return maBuffered2DDecomposition */ -class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive2D : public BasePrimitive2D +class DRAWINGLAYERCORE_DLLPUBLIC BufferedDecompositionPrimitive2D : public BasePrimitive2D { private: /// a sequence used for buffering the last create2DDecomposition() result diff --git a/sc/CppunitTest_sc_ucalc.mk b/sc/CppunitTest_sc_ucalc.mk index 8943de7ab4c3..60fb6676dab9 100644 --- a/sc/CppunitTest_sc_ucalc.mk +++ b/sc/CppunitTest_sc_ucalc.mk @@ -49,6 +49,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sc_ucalc, \ cppuhelper \ dbtools \ drawinglayer \ + drawinglayercore \ editeng \ for \ forui \ diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk index 997b14c0add9..b540b27c9834 100644 --- a/sc/Library_sc.mk +++ b/sc/Library_sc.mk @@ -70,6 +70,7 @@ $(eval $(call gb_Library_use_libraries,sc,\ cppu \ cppuhelper \ dbtools \ + drawinglayercore \ drawinglayer \ editeng \ for \ diff --git a/sd/CppunitTest_sd_uimpress.mk b/sd/CppunitTest_sd_uimpress.mk index 93426dfc3a55..63f143978231 100644 --- a/sd/CppunitTest_sd_uimpress.mk +++ b/sd/CppunitTest_sd_uimpress.mk @@ -27,6 +27,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sd_uimpress,\ cppu \ cppuhelper \ drawinglayer \ + drawinglayercore \ editeng \ i18nlangtag \ i18nutil \ diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk index 43b168be8d8c..24520633e77f 100644 --- a/sd/Library_sd.mk +++ b/sd/Library_sd.mk @@ -74,6 +74,7 @@ $(eval $(call gb_Library_use_libraries,sd,\ cppcanvas \ cppu \ cppuhelper \ + drawinglayercore \ drawinglayer \ editeng \ i18nlangtag \ diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk index 67a66ef2d211..a6d6b7d6b71a 100644 --- a/sfx2/Library_sfx.mk +++ b/sfx2/Library_sfx.mk @@ -49,6 +49,7 @@ $(eval $(call gb_Library_use_libraries,sfx,\ comphelper \ cppu \ cppuhelper \ + drawinglayercore \ drawinglayer \ fwe \ i18nlangtag \ diff --git a/svgio/CppunitTest_svgio.mk b/svgio/CppunitTest_svgio.mk index c6f4db91fc60..24fb7a39af32 100644 --- a/svgio/CppunitTest_svgio.mk +++ b/svgio/CppunitTest_svgio.mk @@ -30,6 +30,7 @@ $(eval $(call gb_CppunitTest_use_library_objects,svgio,\ $(eval $(call gb_CppunitTest_use_libraries,svgio,\ basegfx \ drawinglayer \ + drawinglayercore \ cppu \ cppuhelper \ comphelper \ diff --git a/svgio/Library_svgio.mk b/svgio/Library_svgio.mk index 449c17f61196..7ef1aeb19513 100644 --- a/svgio/Library_svgio.mk +++ b/svgio/Library_svgio.mk @@ -33,6 +33,7 @@ $(eval $(call gb_Library_use_sdk_api,svgio)) $(eval $(call gb_Library_use_libraries,svgio,\ basegfx \ + drawinglayercore \ drawinglayer \ comphelper \ cppu \ diff --git a/svx/CppunitTest_svx_unit.mk b/svx/CppunitTest_svx_unit.mk index ac9f3e4531ad..4a51867ec189 100644 --- a/svx/CppunitTest_svx_unit.mk +++ b/svx/CppunitTest_svx_unit.mk @@ -36,6 +36,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,svx_unit, \ $(eval $(call gb_CppunitTest_use_libraries,svx_unit, \ basegfx \ drawinglayer \ + drawinglayercore \ sal \ sfx \ svxcore \ diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk index a378df63702d..d5c1dfc75fb3 100644 --- a/svx/Library_svx.mk +++ b/svx/Library_svx.mk @@ -50,6 +50,7 @@ $(eval $(call gb_Library_use_libraries,svx,\ crashreport) \ $(call gb_Helper_optional,DBCONNECTIVITY, \ dbtools) \ + drawinglayercore \ drawinglayer \ editeng \ fwe \ diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk index cf23b824ca3e..c219b15f4293 100644 --- a/svx/Library_svxcore.mk +++ b/svx/Library_svxcore.mk @@ -57,6 +57,7 @@ $(eval $(call gb_Library_use_libraries,svxcore,\ cppu \ $(call gb_Helper_optional,DBCONNECTIVITY, \ dbtools) \ + drawinglayercore \ drawinglayer \ editeng \ fwe \ diff --git a/sw/CppunitTest_sw_uwriter.mk b/sw/CppunitTest_sw_uwriter.mk index 6b9ffa4ba683..a881587735e4 100644 --- a/sw/CppunitTest_sw_uwriter.mk +++ b/sw/CppunitTest_sw_uwriter.mk @@ -33,6 +33,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_uwriter, \ $(call gb_Helper_optional,DBCONNECTIVITY, \ dbtools) \ drawinglayer \ + drawinglayercore \ editeng \ i18nlangtag \ i18nutil \ diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk index fcb8786d704f..0f44a354ceca 100644 --- a/sw/Library_sw.mk +++ b/sw/Library_sw.mk @@ -58,6 +58,7 @@ $(eval $(call gb_Library_use_libraries,sw,\ cppuhelper \ $(call gb_Helper_optional,DBCONNECTIVITY, \ dbtools) \ + drawinglayercore \ drawinglayer \ editeng \ i18nlangtag \ diff --git a/sw/Library_swui.mk b/sw/Library_swui.mk index 99f1dd20ae3d..4c09d1cc4bda 100644 --- a/sw/Library_swui.mk +++ b/sw/Library_swui.mk @@ -75,6 +75,7 @@ $(eval $(call gb_Library_use_libraries,swui,\ ucbhelper \ utl \ vcl \ + drawinglayercore \ drawinglayer \ )) commit db0669653444c604bf201115bddb6dc51e2c6980 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Sun Jun 7 13:56:04 2020 +0200 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Mon Jun 8 11:45:04 2020 +0200 Use o3tl::safeCoInitializeEx and counterpart (dp_gui_extensioncmdqueue) Change-Id: I10f041367f94fd9391554b2b6a06b74f70aa8333 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95665 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Reviewed-by: Julien Nabet <serval2...@yahoo.fr> diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 00ed69d515de..19a3585689bd 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -80,6 +80,7 @@ #if !defined WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN #endif +#include <o3tl/safeCoInitUninit.hxx> #include <windows.h> #include <objbase.h> #endif @@ -681,8 +682,8 @@ void ExtensionCmdQueue::Thread::execute() #ifdef _WIN32 //Needed for use of the service "com.sun.star.system.SystemShellExecute" in //DialogHelper::openWebBrowser - CoUninitialize(); - (void) CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + int nNbCallCoInitializeExForReinit = 0; + o3tl::safeCoInitializeEx(COINIT_APARTMENTTHREADED, nNbCallCoInitializeExForReinit); #endif for (;;) { @@ -833,7 +834,7 @@ void ExtensionCmdQueue::Thread::execute() } //end for #ifdef _WIN32 - CoUninitialize(); + o3tl::safeCoUninitializeReinit(COINIT_MULTITHREADED, nNbCallCoInitializeExForReinit); #endif } commit 64814781193cbfcb3535ae4061cbdf2be0ba02e3 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Sun Jun 7 13:42:17 2020 +0200 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Mon Jun 8 11:44:32 2020 +0200 Use o3tl::safeCoInitializeEx/safeCoUninitializeReinit (extensions/updatecheck) Change-Id: I009664b9c8f1c302d5a90e7014f612dcd3602f63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95664 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Reviewed-by: Julien Nabet <serval2...@yahoo.fr> diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx index 1f8faabadfd7..b4a5152a563e 100644 --- a/extensions/source/update/check/updatecheck.cxx +++ b/extensions/source/update/check/updatecheck.cxx @@ -41,6 +41,7 @@ #include <tools/diagnose_ex.h> #ifdef _WIN32 +#include <o3tl/safeCoInitUninit.hxx> #include <objbase.h> #endif @@ -588,8 +589,9 @@ DownloadThread::run() osl_setThreadName("DownloadThread"); #ifdef _WIN32 - CoUninitialize(); - CoInitializeEx( nullptr, COINIT_APARTMENTTHREADED ); + int nNbCallCoInitializeExForReinit = 0; + // for SystemShellExecute + o3tl::safeCoInitializeEx(COINIT_APARTMENTTHREADED, nNbCallCoInitializeExForReinit); #endif while( schedule() ) @@ -627,6 +629,9 @@ DownloadThread::run() n=0; } } +#ifdef _WIN32 + o3tl::safeCoUninitializeReinit(COINIT_MULTITHREADED, nNbCallCoInitializeExForReinit); +#endif } commit 8bbd8324282e7890de29ede5912d24c6e1c7ce7f Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Jun 8 09:08:27 2020 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Jun 8 10:49:27 2020 +0200 compilerplugins: fix -Werror,-Wunused-parameter When building the plugins with NDEBUG defined. Change-Id: If84a920d9e042bf8f45d8e3dd5a5cef3b2baba0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95788 Reviewed-by: Stephan Bergmann <sberg...@redhat.com> Tested-by: Jenkins diff --git a/compilerplugins/clang/elidestringvar.cxx b/compilerplugins/clang/elidestringvar.cxx index 79aa75b2da8f..d0336fd8bbbd 100644 --- a/compilerplugins/clang/elidestringvar.cxx +++ b/compilerplugins/clang/elidestringvar.cxx @@ -316,6 +316,7 @@ public: { assert(!innermostLoop_.empty()); assert(innermostLoop_.top() == stmt); + (void)stmt; innermostLoop_.pop(); return true; } @@ -341,6 +342,7 @@ public: { assert(!innermostLoop_.empty()); assert(innermostLoop_.top() == stmt); + (void)stmt; innermostLoop_.pop(); return true; } @@ -366,6 +368,7 @@ public: { assert(!innermostLoop_.empty()); assert(innermostLoop_.top() == stmt); + (void)stmt; innermostLoop_.pop(); return true; } @@ -391,6 +394,7 @@ public: { assert(!innermostLoop_.empty()); assert(innermostLoop_.top() == stmt); + (void)stmt; innermostLoop_.pop(); return true; } commit 58b7ad7aacfa40b9e4e5271496aeb4c1e3b75191 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Jun 8 09:03:34 2020 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Jun 8 10:30:56 2020 +0200 sw: prefix members of SwUndoMoveNum, SwUndoNumOrNoNum, ... ... SwUndoNumRuleStart and SwUndoNumUpDown See tdf#94879 for motivation. Change-Id: Id7f9b05955505b5dafc7cf18be28d6aac4349fe4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95787 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/sw/source/core/inc/UndoNumbering.hxx b/sw/source/core/inc/UndoNumbering.hxx index b83a78ec48e6..c363c3edca9a 100644 --- a/sw/source/core/inc/UndoNumbering.hxx +++ b/sw/source/core/inc/UndoNumbering.hxx @@ -82,8 +82,8 @@ public: class SwUndoMoveNum : public SwUndo, private SwUndRng { - sal_uLong nNewStt; - long nOffset; + sal_uLong m_nNewStart; + long m_nOffset; public: SwUndoMoveNum( const SwPaM& rPam, long nOffset, bool bIsOutlMv ); @@ -92,12 +92,12 @@ public: virtual void RedoImpl( ::sw::UndoRedoContext & ) override; virtual void RepeatImpl( ::sw::RepeatContext & ) override; - void SetStartNode( sal_uLong nValue ) { nNewStt = nValue; } + void SetStartNode( sal_uLong nValue ) { m_nNewStart = nValue; } }; class SwUndoNumUpDown : public SwUndo, private SwUndRng { - short nOffset; + short m_nOffset; public: SwUndoNumUpDown( const SwPaM& rPam, short nOffset ); @@ -109,7 +109,7 @@ public: class SwUndoNumOrNoNum : public SwUndo { - sal_uLong nIdx; + sal_uLong m_nIndex; bool mbNewNum, mbOldNum; public: @@ -123,10 +123,10 @@ public: class SwUndoNumRuleStart : public SwUndo { - sal_uLong nIdx; - sal_uInt16 nOldStt, nNewStt; - bool bSetSttValue : 1; - bool bFlag : 1; + sal_uLong m_nIndex; + sal_uInt16 m_nOldStart, m_nNewStart; + bool m_bSetStartValue : 1; + bool m_bFlag : 1; public: SwUndoNumRuleStart( const SwPosition& rPos, bool bDelete ); diff --git a/sw/source/core/undo/unnum.cxx b/sw/source/core/undo/unnum.cxx index a4e4b39c04ff..b3cc01c56476 100644 --- a/sw/source/core/undo/unnum.cxx +++ b/sw/source/core/undo/unnum.cxx @@ -205,7 +205,7 @@ void SwUndoDelNum::AddNode( const SwTextNode& rNd ) SwUndoMoveNum::SwUndoMoveNum( const SwPaM& rPam, long nOff, bool bIsOutlMv ) : SwUndo( bIsOutlMv ? SwUndoId::OUTLINE_UD : SwUndoId::MOVENUM, rPam.GetDoc() ), SwUndRng( rPam ), - nNewStt( 0 ), nOffset( nOff ) + m_nNewStart( 0 ), m_nOffset( nOff ) { // nOffset: Down => 1 // Up => -1 @@ -217,15 +217,15 @@ void SwUndoMoveNum::UndoImpl(::sw::UndoRedoContext & rContext) if (m_nEndNode || m_nEndContent != COMPLETE_STRING) // section? { - if( nNewStt < m_nSttNode ) // moved forwards - m_nEndNode = m_nEndNode - ( m_nSttNode - nNewStt ); + if( m_nNewStart < m_nSttNode ) // moved forwards + m_nEndNode = m_nEndNode - ( m_nSttNode - m_nNewStart ); else - m_nEndNode = m_nEndNode + ( nNewStt - m_nSttNode ); + m_nEndNode = m_nEndNode + ( m_nNewStart - m_nSttNode ); } - m_nSttNode = nNewStt; + m_nSttNode = m_nNewStart; SwPaM & rPam( AddUndoRedoPaM(rContext) ); - rContext.GetDoc().MoveParagraph( rPam, -nOffset, + rContext.GetDoc().MoveParagraph( rPam, -m_nOffset, SwUndoId::OUTLINE_UD == GetId() ); m_nSttNode = nTmpStt; m_nEndNode = nTmpEnd; @@ -234,7 +234,7 @@ void SwUndoMoveNum::UndoImpl(::sw::UndoRedoContext & rContext) void SwUndoMoveNum::RedoImpl(::sw::UndoRedoContext & rContext) { SwPaM & rPam( AddUndoRedoPaM(rContext) ); - rContext.GetDoc().MoveParagraph(rPam, nOffset, SwUndoId::OUTLINE_UD == GetId()); + rContext.GetDoc().MoveParagraph(rPam, m_nOffset, SwUndoId::OUTLINE_UD == GetId()); } void SwUndoMoveNum::RepeatImpl(::sw::RepeatContext & rContext) @@ -243,18 +243,18 @@ void SwUndoMoveNum::RepeatImpl(::sw::RepeatContext & rContext) if( SwUndoId::OUTLINE_UD == GetId() ) { rDoc.MoveOutlinePara(rContext.GetRepeatPaM(), - 0 < nOffset ? 1 : -1 ); + 0 < m_nOffset ? 1 : -1 ); } else { - rDoc.MoveParagraph(rContext.GetRepeatPaM(), nOffset); + rDoc.MoveParagraph(rContext.GetRepeatPaM(), m_nOffset); } } SwUndoNumUpDown::SwUndoNumUpDown( const SwPaM& rPam, short nOff ) : SwUndo( nOff > 0 ? SwUndoId::NUMUP : SwUndoId::NUMDOWN, rPam.GetDoc() ), SwUndRng( rPam ), - nOffset( nOff ) + m_nOffset( nOff ) { // nOffset: Down => 1 // Up => -1 @@ -263,24 +263,24 @@ SwUndoNumUpDown::SwUndoNumUpDown( const SwPaM& rPam, short nOff ) void SwUndoNumUpDown::UndoImpl(::sw::UndoRedoContext & rContext) { SwPaM & rPam( AddUndoRedoPaM(rContext) ); - rContext.GetDoc().NumUpDown(rPam, 1 != nOffset ); + rContext.GetDoc().NumUpDown(rPam, 1 != m_nOffset ); } void SwUndoNumUpDown::RedoImpl(::sw::UndoRedoContext & rContext) { SwPaM & rPam( AddUndoRedoPaM(rContext) ); - rContext.GetDoc().NumUpDown(rPam, 1 == nOffset); + rContext.GetDoc().NumUpDown(rPam, 1 == m_nOffset); } void SwUndoNumUpDown::RepeatImpl(::sw::RepeatContext & rContext) { - rContext.GetDoc().NumUpDown(rContext.GetRepeatPaM(), 1 == nOffset); + rContext.GetDoc().NumUpDown(rContext.GetRepeatPaM(), 1 == m_nOffset); } SwUndoNumOrNoNum::SwUndoNumOrNoNum( const SwNodeIndex& rIdx, bool bOldNum, bool bNewNum) : SwUndo( SwUndoId::NUMORNONUM, rIdx.GetNode().GetDoc() ), - nIdx( rIdx.GetIndex() ), mbNewNum(bNewNum), + m_nIndex( rIdx.GetIndex() ), mbNewNum(bNewNum), mbOldNum(bOldNum) { } @@ -288,7 +288,7 @@ SwUndoNumOrNoNum::SwUndoNumOrNoNum( const SwNodeIndex& rIdx, bool bOldNum, // #115901#, #i40034# void SwUndoNumOrNoNum::UndoImpl(::sw::UndoRedoContext & rContext) { - SwNodeIndex aIdx( rContext.GetDoc().GetNodes(), nIdx ); + SwNodeIndex aIdx( rContext.GetDoc().GetNodes(), m_nIndex ); SwTextNode * pTextNd = aIdx.GetNode().GetTextNode(); if (nullptr != pTextNd) @@ -300,7 +300,7 @@ void SwUndoNumOrNoNum::UndoImpl(::sw::UndoRedoContext & rContext) // #115901#, #i40034# void SwUndoNumOrNoNum::RedoImpl(::sw::UndoRedoContext & rContext) { - SwNodeIndex aIdx( rContext.GetDoc().GetNodes(), nIdx ); + SwNodeIndex aIdx( rContext.GetDoc().GetNodes(), m_nIndex ); SwTextNode * pTextNd = aIdx.GetNode().GetTextNode(); if (nullptr != pTextNd) @@ -324,29 +324,29 @@ void SwUndoNumOrNoNum::RepeatImpl(::sw::RepeatContext & rContext) SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, bool bFlg ) : SwUndo( SwUndoId::SETNUMRULESTART, rPos.GetDoc() ), - nIdx( rPos.nNode.GetIndex() ), nOldStt( USHRT_MAX ), - nNewStt( USHRT_MAX ), bSetSttValue( false ), bFlag( bFlg ) + m_nIndex( rPos.nNode.GetIndex() ), m_nOldStart( USHRT_MAX ), + m_nNewStart( USHRT_MAX ), m_bSetStartValue( false ), m_bFlag( bFlg ) { } SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, sal_uInt16 nStt ) : SwUndo(SwUndoId::SETNUMRULESTART, rPos.GetDoc()) - , nIdx(rPos.nNode.GetIndex()) - , nOldStt(USHRT_MAX) - , nNewStt(nStt) - , bSetSttValue(true) - , bFlag(false) + , m_nIndex(rPos.nNode.GetIndex()) + , m_nOldStart(USHRT_MAX) + , m_nNewStart(nStt) + , m_bSetStartValue(true) + , m_bFlag(false) { SwTextNode* pTextNd = rPos.nNode.GetNode().GetTextNode(); if ( pTextNd ) { if ( pTextNd->HasAttrListRestartValue() ) { - nOldStt = static_cast<sal_uInt16>(pTextNd->GetAttrListRestartValue()); + m_nOldStart = static_cast<sal_uInt16>(pTextNd->GetAttrListRestartValue()); } else { - nOldStt = USHRT_MAX; // indicating, that the list restart value is not set + m_nOldStart = USHRT_MAX; // indicating, that the list restart value is not set } } } @@ -354,41 +354,41 @@ SwUndoNumRuleStart::SwUndoNumRuleStart( const SwPosition& rPos, sal_uInt16 nStt void SwUndoNumRuleStart::UndoImpl(::sw::UndoRedoContext & rContext) { SwDoc & rDoc = rContext.GetDoc(); - SwPosition const aPos( *rDoc.GetNodes()[ nIdx ] ); - if( bSetSttValue ) + SwPosition const aPos( *rDoc.GetNodes()[ m_nIndex ] ); + if( m_bSetStartValue ) { - rDoc.SetNodeNumStart( aPos, nOldStt ); + rDoc.SetNodeNumStart( aPos, m_nOldStart ); } else { - rDoc.SetNumRuleStart( aPos, !bFlag ); + rDoc.SetNumRuleStart( aPos, !m_bFlag ); } } void SwUndoNumRuleStart::RedoImpl(::sw::UndoRedoContext & rContext) { SwDoc & rDoc = rContext.GetDoc(); - SwPosition const aPos( *rDoc.GetNodes()[ nIdx ] ); - if( bSetSttValue ) + SwPosition const aPos( *rDoc.GetNodes()[ m_nIndex ] ); + if( m_bSetStartValue ) { - rDoc.SetNodeNumStart( aPos, nNewStt ); + rDoc.SetNodeNumStart( aPos, m_nNewStart ); } else { - rDoc.SetNumRuleStart( aPos, bFlag ); + rDoc.SetNumRuleStart( aPos, m_bFlag ); } } void SwUndoNumRuleStart::RepeatImpl(::sw::RepeatContext & rContext) { SwDoc & rDoc = rContext.GetDoc(); - if( bSetSttValue ) + if( m_bSetStartValue ) { - rDoc.SetNodeNumStart(*rContext.GetRepeatPaM().GetPoint(), nNewStt); + rDoc.SetNodeNumStart(*rContext.GetRepeatPaM().GetPoint(), m_nNewStart); } else { - rDoc.SetNumRuleStart(*rContext.GetRepeatPaM().GetPoint(), bFlag); + rDoc.SetNumRuleStart(*rContext.GetRepeatPaM().GetPoint(), m_bFlag); } } commit 016fe9e8dc18c183d3d1c1b59bd38d25fb41c4b5 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Mon Jun 8 09:16:28 2020 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Jun 8 10:10:50 2020 +0200 sd signature line: add an SVG template This one is much simpler, it features just a name and a date for now, with a fixed PDF-specific background. Still need to add the code to actually use it. Change-Id: Ie90e8b7d4be3eb37fe177d4e507430b2014f967a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95789 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/cui/Package_cui.mk b/cui/Package_cui.mk index 01016f09e73f..918e62f69856 100644 --- a/cui/Package_cui.mk +++ b/cui/Package_cui.mk @@ -11,6 +11,7 @@ $(eval $(call gb_Package_Package,cui,$(SRCDIR)/cui)) $(eval $(call gb_Package_add_files,cui,$(LIBO_SHARE_FOLDER)/filter,\ source/dialogs/signature-line.svg \ + source/dialogs/signature-line-draw.svg \ )) # vim: set noet sw=4 ts=4: diff --git a/cui/source/dialogs/signature-line-draw.svg b/cui/source/dialogs/signature-line-draw.svg new file mode 100644 index 000000000000..cd256d098a27 --- /dev/null +++ b/cui/source/dialogs/signature-line-draw.svg @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.2" width="90mm" height="45mm" viewBox="0 0 9000 4500" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xml:space="preserve" id="svg577" inkscape:version="0.92.2 5c3e80d, 2017-08-06"> + <metadata id="metadata581"> + <rdf:RDF> + <cc:Work rdf:about=""> + <dc:format>image/svg+xml</dc:format> ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits