Bump version to 6.4-15
[LibreOffice.git] / include / svx / sdr / primitive2d / sdrattributecreator.hxx
blob15e489b8e5ab9f1549f52013b0fb8af9483cd15c
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SVX_SDR_PRIMITIVE2D_SDRATTRIBUTECREATOR_HXX
21 #define INCLUDED_SVX_SDR_PRIMITIVE2D_SDRATTRIBUTECREATOR_HXX
23 #include <sal/types.h>
24 #include <svx/svxdllapi.h>
27 // predefines
28 class SfxItemSet;
29 class SdrText;
31 namespace drawinglayer { namespace attribute {
32 class SdrLineAttribute;
33 class SdrLineStartEndAttribute;
34 class SdrShadowAttribute;
35 class SdrFillAttribute;
36 class SdrTextAttribute;
37 class FillGradientAttribute;
38 class SdrFillGraphicAttribute;
39 class SdrShadowTextAttribute;
40 class SdrLineShadowTextAttribute;
41 class SdrLineFillShadowTextAttribute;
42 class SdrLineFillShadowAttribute3D;
43 class SdrSceneAttribute;
44 class SdrLightingAttribute;
45 class SdrFillTextAttribute;
48 namespace basegfx {
49 class B2DRange;
53 namespace drawinglayer
55 namespace primitive2d
57 // SdrAttribute creators
58 attribute::SdrLineAttribute SVX_DLLPUBLIC createNewSdrLineAttribute(
59 const SfxItemSet& rSet);
61 attribute::SdrLineStartEndAttribute SVX_DLLPUBLIC createNewSdrLineStartEndAttribute(
62 const SfxItemSet& rSet,
63 double fWidth);
65 attribute::SdrShadowAttribute createNewSdrShadowAttribute(
66 const SfxItemSet& rSet);
68 attribute::SdrFillAttribute SVX_DLLPUBLIC createNewSdrFillAttribute(
69 const SfxItemSet& rSet);
71 // #i101508# Support handing over given text-to-border distances
72 attribute::SdrTextAttribute createNewSdrTextAttribute(
73 const SfxItemSet& rSet,
74 const SdrText& rText,
75 const sal_Int32* pLeft = nullptr,
76 const sal_Int32* pUpper = nullptr,
77 const sal_Int32* pRight = nullptr,
78 const sal_Int32* pLower = nullptr);
80 attribute::FillGradientAttribute SVX_DLLPUBLIC createNewTransparenceGradientAttribute(
81 const SfxItemSet& rSet);
83 attribute::SdrFillGraphicAttribute createNewSdrFillGraphicAttribute(
84 const SfxItemSet& rSet);
86 attribute::SdrShadowTextAttribute createNewSdrShadowTextAttribute(
87 const SfxItemSet& rSet,
88 const SdrText* pText,
89 bool bSuppressText); // #i98072# added option to suppress text on demand
91 attribute::SdrLineShadowTextAttribute createNewSdrLineShadowTextAttribute(
92 const SfxItemSet& rSet,
93 const SdrText* pText);
95 attribute::SdrLineFillShadowTextAttribute createNewSdrLineFillShadowTextAttribute(
96 const SfxItemSet& rSet,
97 const SdrText* pText,
98 bool bHasContent); // used from OLE and graphic
100 attribute::SdrLineFillShadowAttribute3D createNewSdrLineFillShadowAttribute(
101 const SfxItemSet& rSet,
102 bool bSuppressFill);
104 attribute::SdrSceneAttribute createNewSdrSceneAttribute(
105 const SfxItemSet& rSet);
107 attribute::SdrLightingAttribute createNewSdrLightingAttribute(
108 const SfxItemSet& rSet);
110 // #i101508# Support handing over given text-to-border distances
111 attribute::SdrFillTextAttribute createNewSdrFillTextAttribute(
112 const SfxItemSet& rSet,
113 const SdrText* pSdrText,
114 const sal_Int32* pLeft = nullptr,
115 const sal_Int32* pUpper = nullptr,
116 const sal_Int32* pRight = nullptr,
117 const sal_Int32* pLower = nullptr);
119 // helpers
120 void calculateRelativeCornerRadius(
121 sal_Int32 nRadius,
122 const ::basegfx::B2DRange& rObjectRange,
123 double& rfCornerRadiusX,
124 double& rfCornerRadiusY);
126 } // end of namespace primitive2d
127 } // end of namespace drawinglayer
130 #endif // INCLUDED_SVX_SDR_PRIMITIVE2D_SDRATTRIBUTECREATOR_HXX
132 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */