1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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>
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
;
54 namespace drawinglayer
58 // SdrAttribute creators
59 attribute::SdrLineAttribute SVX_DLLPUBLIC
createNewSdrLineAttribute(
60 const SfxItemSet
& rSet
);
62 attribute::SdrLineStartEndAttribute SVX_DLLPUBLIC
createNewSdrLineStartEndAttribute(
63 const SfxItemSet
& rSet
,
66 attribute::SdrShadowAttribute
createNewSdrShadowAttribute(
67 const SfxItemSet
& rSet
);
69 attribute::SdrFillAttribute SVX_DLLPUBLIC
createNewSdrFillAttribute(
70 const SfxItemSet
& rSet
);
72 // #i101508# Support handing over given text-to-border distances
73 attribute::SdrTextAttribute
createNewSdrTextAttribute(
74 const SfxItemSet
& rSet
,
76 const sal_Int32
* pLeft
= 0,
77 const sal_Int32
* pUpper
= 0,
78 const sal_Int32
* pRight
= 0,
79 const sal_Int32
* pLower
= 0);
81 attribute::FillGradientAttribute SVX_DLLPUBLIC
createNewTransparenceGradientAttribute(
82 const SfxItemSet
& rSet
);
84 attribute::SdrFillGraphicAttribute
createNewSdrFillGraphicAttribute(
85 const SfxItemSet
& rSet
);
87 attribute::SdrShadowTextAttribute
createNewSdrShadowTextAttribute(
88 const SfxItemSet
& rSet
,
90 bool bSuppressText
); // #i98072# added option to suppress text on demand
92 attribute::SdrLineShadowTextAttribute
createNewSdrLineShadowTextAttribute(
93 const SfxItemSet
& rSet
,
94 const SdrText
* pText
);
96 attribute::SdrLineFillShadowTextAttribute
createNewSdrLineFillShadowTextAttribute(
97 const SfxItemSet
& rSet
,
99 bool bHasContent
); // used from OLE and graphic
101 attribute::SdrLineFillShadowAttribute3D
createNewSdrLineFillShadowAttribute(
102 const SfxItemSet
& rSet
,
105 attribute::SdrSceneAttribute
createNewSdrSceneAttribute(
106 const SfxItemSet
& rSet
);
108 attribute::SdrLightingAttribute
createNewSdrLightingAttribute(
109 const SfxItemSet
& rSet
);
111 // #i101508# Support handing over given text-to-border distances
112 attribute::SdrFillTextAttribute
createNewSdrFillTextAttribute(
113 const SfxItemSet
& rSet
,
114 const SdrText
* pSdrText
,
115 const sal_Int32
* pLeft
= 0,
116 const sal_Int32
* pUpper
= 0,
117 const sal_Int32
* pRight
= 0,
118 const sal_Int32
* pLower
= 0);
121 void calculateRelativeCornerRadius(
123 const ::basegfx::B2DRange
& rObjectRange
,
124 double& rfCornerRadiusX
,
125 double& rfCornerRadiusY
);
127 } // end of namespace primitive2d
128 } // end of namespace drawinglayer
132 #endif // INCLUDED_SVX_SDR_PRIMITIVE2D_SDRATTRIBUTECREATOR_HXX
134 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */