LibreOffice Module drawinglayer (master) 1
textdecoratedprimitive2d.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
23
26
27namespace basegfx::utils {
28 class B2DHomMatrixBufferedOnDemandDecompose;
29}
30
32{
41 {
42 private:
51
56 bool mbShadow : 1;
57
59 void impCreateGeometryContent(
60 Primitive2DContainer& rTarget,
62 const OUString& rText,
63 sal_Int32 nTextPosition,
64 sal_Int32 nTextLength,
65 const ::std::vector< double >& rDXArray,
66 const ::std::vector< sal_Bool >& rKashidaArray,
67 const attribute::FontAttribute& rFontAttribute) const;
68
70 virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
71
72 public:
76 const basegfx::B2DHomMatrix& rNewTransform,
77 const OUString& rText,
78 sal_Int32 nTextPosition,
79 sal_Int32 nTextLength,
80 std::vector< double >&& rDXArray,
81 std::vector< sal_Bool >&& rKashidaArray,
82 const attribute::FontAttribute& rFontAttribute,
83 const css::lang::Locale& rLocale,
84 const basegfx::BColor& rFontColor,
85 const Color& rFillColor,
86
88 const basegfx::BColor& rOverlineColor,
89 const basegfx::BColor& rTextlineColor,
90 TextLine eFontOverline = TEXT_LINE_NONE,
91 TextLine eFontUnderline = TEXT_LINE_NONE,
92 bool bUnderlineAbove = false,
93 TextStrikeout eTextStrikeout = TEXT_STRIKEOUT_NONE,
94 bool bWordLineMode = false,
96 bool bEmphasisMarkAbove = true,
97 bool bEmphasisMarkBelow = false,
98 TextRelief eTextRelief = TEXT_RELIEF_NONE,
99 bool bShadow = false);
100
102 TextLine getFontOverline() const { return meFontOverline; }
103 TextLine getFontUnderline() const { return meFontUnderline; }
104 TextStrikeout getTextStrikeout() const { return meTextStrikeout; }
105 TextEmphasisMark getTextEmphasisMark() const { return meTextEmphasisMark; }
106 TextRelief getTextRelief() const { return meTextRelief; }
107 const basegfx::BColor& getOverlineColor() const { return maOverlineColor; }
108 const basegfx::BColor& getTextlineColor() const { return maTextlineColor; }
109 bool getUnderlineAbove() const { return mbUnderlineAbove; }
110 bool getWordLineMode() const { return mbWordLineMode; }
111 bool getEmphasisMarkAbove() const { return mbEmphasisMarkAbove; }
112 bool getEmphasisMarkBelow() const { return mbEmphasisMarkBelow; }
113 bool getShadow() const { return mbShadow; }
114
116 virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override;
117
119 virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
120
122 virtual sal_uInt32 getPrimitive2DID() const override;
123 };
124} // end of namespace drawinglayer::primitive2d
125
126/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
#define DRAWINGLAYER_DLLPUBLIC
TextRelief
TextRelief definition.
TextEmphasisMark
TextEmphasisMark definition.
TextStrikeout
FontStrikeout definition.
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)