[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