[Libreoffice-commits] core.git: Branch 'feature/drawinglayercore' - 4 commits - include/drawinglayer solenv/clang-format

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Wed Jun 3 18:11:57 UTC 2020


 include/drawinglayer/attribute/fontattribute.hxx     |  115 +++----
 include/drawinglayer/primitive2d/textprimitive2d.hxx |  282 +++++++++----------
 solenv/clang-format/blacklist                        |    2 
 3 files changed, 187 insertions(+), 212 deletions(-)

New commits:
commit 15de5b73a3c8e4064c200af78d8a480d5f2b72f5
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Jun 3 17:00:47 2020 +0200
Commit:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Wed Jun 3 17:07:33 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 4e242f32e947e659391bf6ec5e932132631db93e
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Jun 3 16:58:33 2020 +0200
Commit:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Wed Jun 3 17:07:33 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 16d077d6b19137349428cf09333264d74a2e3e7c
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Jun 3 16:55:35 2020 +0200
Commit:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Wed Jun 3 17:07:23 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 ba38f07683319540eaec5f16d30ca14839ccf79b
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Jun 3 16:50:33 2020 +0200
Commit:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Wed Jun 3 16:50:33 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: */


More information about the Libreoffice-commits mailing list