67#include <com/sun/star/drawing/ProjectionMode.hpp>
68#include <com/sun/star/drawing/ShadeMode.hpp>
76#include <osl/diagnose.h>
88#include <com/sun/star/drawing/LineCap.hpp>
100 case css::drawing::HatchStyle_SINGLE :
104 case css::drawing::HatchStyle_DOUBLE :
119 case css::drawing::LineJoint_BEVEL :
123 case css::drawing::LineJoint_MIDDLE :
124 case css::drawing::LineJoint_MITER :
128 case css::drawing::LineJoint_ROUND :
188 attribute::SdrGlowAttribute createNewSdrGlowAttribute(
const SfxItemSet& rSet)
192 return attribute::SdrGlowAttribute();
196 aColor.SetAlpha(255 - std::round(nTransparency / 100.0 * 255.0));
198 attribute::SdrGlowAttribute glowAttr{ nRadius, aColor };
202 sal_Int32 getSoftEdgeRadius(
const SfxItemSet& rSet)
216 if(drawing::LineStyle_NONE != eStyle)
220 if(nTransparence > 100)
225 if(100 != nTransparence)
231 ::std::vector< double > aDotDashArray;
232 double fFullDotDashLen(0.0);
234 if(drawing::LineStyle_DASH == eStyle)
240 fFullDotDashLen = rDash.
CreateDotDashArray(aDotDashArray,
static_cast<double>(nWidth));
245 LineJointToB2DLineJoin(eJoint),
246 static_cast<double>(nWidth),
247 static_cast<double>(nTransparence) * 0.01,
250 std::move(aDotDashArray),
266 double fStartWidth(0.0);
267 double fEndWidth(0.0);
268 bool bStartActive(
false);
269 bool bEndActive(
false);
270 bool bStartCentered(
true);
271 bool bEndCentered(
true);
275 if(nTempStartWidth < 0)
277 fStartWidth = (
static_cast<double>(-nTempStartWidth) * fWidth) * 0.01;
281 fStartWidth =
static_cast<double>(nTempStartWidth);
284 if(0.0 != fStartWidth)
298 if(nTempEndWidth < 0)
300 fEndWidth = (
static_cast<double>(-nTempEndWidth) * fWidth) * 0.01;
304 fEndWidth =
static_cast<double>(nTempEndWidth);
319 if(bStartActive || bEndActive)
322 aStartPolyPolygon, aEndPolyPolygon, fStartWidth, fEndWidth,
323 bStartActive, bEndActive, bStartCentered, bEndCentered);
337 if(nTransparence > 100)
346 if(nFillTransparence > 100)
348 nFillTransparence = 100;
351 if(nTransparence == nFillTransparence)
361 if(100 != nTransparence)
390 if(nTransparence > 100)
395 if(drawing::FillStyle_NONE == eStyle)
398 const bool bSlideBackgroundFill(aBckItem.
GetValue());
400 if(bSlideBackgroundFill)
408 if(drawing::FillStyle_NONE != eStyle)
410 if(100 != nTransparence)
423 if(bCompletelyTransparent)
430 if(100 != nTransparence)
444 case drawing::FillStyle_GRADIENT :
463 static_cast<double>(aBGradient.
GetBorder()) * 0.01,
464 static_cast<double>(aBGradient.
GetXOffset()) * 0.01,
465 static_cast<double>(aBGradient.
GetYOffset()) * 0.01,
472 case drawing::FillStyle_HATCH :
487 case drawing::FillStyle_BITMAP :
495 static_cast<double>(nTransparence) * 0.01,
503 if(nTransparence == 100)
523 const sal_Int32* pLeft,
524 const sal_Int32* pUpper,
525 const sal_Int32* pRight,
526 const sal_Int32* pLower)
537 bool bInEditMode(
false);
556 aOutlinerParaObject = *pTempObj;
571 const bool bWrongSpell(rDrawTextOutliner.
GetControlWord() & EEControlBits::ONLINESPELLING);
616 if (!bNotTransparent && !bCompletelyTransparent)
634 static_cast<double>(rGradient.
GetBorder()) * 0.01,
635 static_cast<double>(rGradient.
GetXOffset()) * 0.01,
636 static_cast<double>(rGradient.
GetYOffset()) * 0.01,
650 if (aGraphic.
GetType() == GraphicType::Default && !aOriginURL.isEmpty())
656 if(GraphicType::Bitmap != aGraphic.
GetType() && GraphicType::GdiMetafile != aGraphic.
GetType())
659 OSL_ENSURE(
false,
"No fill graphic in SfxItemSet (!)");
668 if(GraphicType::Bitmap == aGraphic.
GetType())
679 OSL_ENSURE(
false,
"Graphic has no size in SfxItemSet (!)");
744 if(!bSuppressText && pText)
752 const sal_Int32 nSoftEdgeRadius(getSoftEdgeRadius(
rSet));
764 bool bFontworkHideContour(
false);
777 bFontworkHideContour =
true;
782 if(!bFontworkHideContour)
798 const sal_Int32 nSoftEdgeRadius(getSoftEdgeRadius(
rSet));
801 aGlow, nSoftEdgeRadius);
811 bool bSuppressShadow)
818 bool bFontworkHideContour(
false);
829 bFontworkHideContour =
true;
833 if(!bFontworkHideContour)
867 const sal_Int32 nSoftEdgeRadius(getSoftEdgeRadius(
rSet));
870 aShadow, aFillFloatTransGradient,
871 aText, aGlow, nSoftEdgeRadius);
911 aLine, aFill, aLineStartEnd, aShadow, aFillFloatTransGradient);
920 css::drawing::ProjectionMode aProjectionMode(css::drawing::ProjectionMode_PARALLEL);
923 if(1 == nProjectionValue)
925 aProjectionMode = css::drawing::ProjectionMode_PERSPECTIVE;
932 const double fShadowSlant(
936 css::drawing::ShadeMode aShadeMode(css::drawing::ShadeMode_FLAT);
941 aShadeMode = css::drawing::ShadeMode_PHONG;
943 else if(2 == nShadeValue)
945 aShadeMode = css::drawing::ShadeMode_SMOOTH;
947 else if(3 == nShadeValue)
949 aShadeMode = css::drawing::ShadeMode_DRAFT;
961 ::std::vector< attribute::Sdr3DLightAttribute > aLightVector;
967 aLightVector.emplace_back(aColor,
aDirection,
true);
974 aLightVector.emplace_back(aColor,
aDirection,
false);
981 aLightVector.emplace_back(aColor,
aDirection,
false);
988 aLightVector.emplace_back(aColor,
aDirection,
false);
995 aLightVector.emplace_back(aColor,
aDirection,
false);
1002 aLightVector.emplace_back(aColor,
aDirection,
false);
1009 aLightVector.emplace_back(aColor,
aDirection,
false);
1016 aLightVector.emplace_back(aColor,
aDirection,
false);
1028 rfCornerRadiusX = rfCornerRadiusY =
static_cast<double>(nRadius);
1030 if(0.0 != rfCornerRadiusX)
1032 const double fHalfObjectWidth(rObjectRange.
getWidth() * 0.5);
1034 if(0.0 != fHalfObjectWidth)
1036 if(rfCornerRadiusX < 0.0)
1038 rfCornerRadiusX = 0.0;
1041 if(rfCornerRadiusX > fHalfObjectWidth)
1043 rfCornerRadiusX = fHalfObjectWidth;
1046 rfCornerRadiusX /= fHalfObjectWidth;
1050 rfCornerRadiusX = 0.0;
1054 if(0.0 == rfCornerRadiusY)
1057 const double fHalfObjectHeight(rObjectRange.
getHeight() * 0.5);
1059 if(0.0 != fHalfObjectHeight)
1061 if(rfCornerRadiusY < 0.0)
1063 rfCornerRadiusY = 0.0;
1066 if(rfCornerRadiusY > fHalfObjectHeight)
1068 rfCornerRadiusY = fHalfObjectHeight;
1071 rfCornerRadiusY /= fHalfObjectHeight;
1075 rfCornerRadiusY = 0.0;
1083 const sal_Int32* pLeft,
1084 const sal_Int32* pUpper,
1085 const sal_Int32* pRight,
1086 const sal_Int32* pLower)
1091 bool bFontworkHideContour(
false);
1102 bFontworkHideContour =
true;
1106 if(!bFontworkHideContour)
static OutputDevice * GetDefaultDevice()
const Size & GetSizePixel() const
basegfx::BColor getBColor() const
OUString getOriginURL() const
void SetPrefMapMode(const MapMode &rPrefMapMode)
GraphicType GetType() const
BitmapEx GetBitmapEx(const GraphicConversionParameters &rParameters=GraphicConversionParameters()) const
MapMode GetPrefMapMode() const
void SetPrefSize(const Size &rPrefSize)
void setOriginURL(OUString const &rOriginURL)
MapUnit GetMapUnit() const
EEControlBits GetControlWord() const
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
SAL_WARN_UNUSED_RESULT Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
SdrOutliner & GetDrawOutliner(const SdrTextObj *pObj=nullptr) const
SdrModel & getSdrModelFromSdrObject() const
tools::Long GetTextLowerDistance() const
Bottom inner spacing to borders.
SdrTextHorzAdjust GetTextHorizontalAdjust(const SfxItemSet &rSet) const
bool IsAutoFit() const
returns true if the PPT autofit of text into shape bounds is enabled. implies IsFitToSize()==false!
bool IsFitToSize() const
returns true if the old feature for fitting shape content should into shape is enabled....
bool IsInEditMode() const
virtual SdrText * getActiveText() const
returns the currently active text.
tools::Long GetTextLeftDistance() const
Left inner spacing to borders
std::optional< OutlinerParaObject > CreateEditOutlinerParaObject() const
tools::Long GetTextRightDistance() const
Right inner spacing to borders
virtual sal_Int32 getTextCount() const override
returns the number of texts available for this object.
SdrTextVertAdjust GetTextVerticalAdjust(const SfxItemSet &rSet) const
SdrTextAniKind GetTextAniKind() const
tools::Long GetTextUpperDistance() const
Top inner spacing to borders.
OutlinerParaObject * GetOutlinerParaObject()
SdrTextObj & GetObject() const
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
double CreateDotDashArray(::std::vector< double > &rDotDashArray, double fLineWidth) const
sal_uInt16 GetDots() const
sal_uInt16 GetDashes() const
const basegfx::BGradient & GetGradientValue() const
Item to enable slide background for filled objects.
const Color & GetColor() const
tools::Long GetDistance() const
css::drawing::HatchStyle GetHatchStyle() const
Degree10 GetAngle() const
B2DPolygon const & getB2DPolygon(sal_uInt32 nIndex) const
void blendToIntensity(double fStartIntensity, double fEndIntensity, const BColor &rBlendColor)
bool isSingleColor(BColor &rSingleColor) const
sal_uInt16 GetBorder() const
sal_uInt16 GetStartIntens() const
sal_uInt16 GetXOffset() const
const basegfx::BColorStops & GetColorStops() const
sal_uInt16 GetEndIntens() const
Degree10 GetAngle() const
css::awt::GradientStyle GetGradientStyle() const
sal_uInt16 GetYOffset() const
bool isHideContour() const
const SdrFormTextAttribute & getSdrFormTextAttribute() const
constexpr double deg2rad(double v)
attribute::SdrLineAttribute createNewSdrLineAttribute(const SfxItemSet &rSet)
attribute::SdrLineFillShadowAttribute3D createNewSdrLineFillShadowAttribute(const SfxItemSet &rSet, bool bSuppressFill)
attribute::SdrSceneAttribute createNewSdrSceneAttribute(const SfxItemSet &rSet)
attribute::FillGradientAttribute createNewTransparenceGradientAttribute(const SfxItemSet &rSet)
attribute::SdrFillAttribute createNewSdrFillAttribute(const SfxItemSet &rSet)
attribute::SdrLightingAttribute createNewSdrLightingAttribute(const SfxItemSet &rSet)
attribute::SdrShadowAttribute createNewSdrShadowAttribute(const SfxItemSet &rSet)
void calculateRelativeCornerRadius(sal_Int32 nRadius, const basegfx::B2DRange &rObjectRange, double &rfCornerRadiusX, double &rfCornerRadiusY)
attribute::SdrEffectsTextAttribute createNewSdrEffectsTextAttribute(const SfxItemSet &rSet, const SdrText *pText, bool bSuppressText)
attribute::SdrLineEffectsTextAttribute createNewSdrLineEffectsTextAttribute(const SfxItemSet &rSet, const SdrText *pText)
attribute::SdrLineStartEndAttribute createNewSdrLineStartEndAttribute(const SfxItemSet &rSet, double fWidth)
attribute::SdrTextAttribute createNewSdrTextAttribute(const SfxItemSet &rSet, const SdrText &rText, const sal_Int32 *pLeft, const sal_Int32 *pUpper, const sal_Int32 *pRight, const sal_Int32 *pLower)
attribute::SdrFillGraphicAttribute createNewSdrFillGraphicAttribute(const SfxItemSet &rSet)
attribute::SdrLineFillEffectsTextAttribute createNewSdrLineFillEffectsTextAttribute(const SfxItemSet &rSet, const SdrText *pText, bool bHasContent, bool bSuppressShadow)
attribute::SdrFillTextAttribute createNewSdrFillTextAttribute(const SfxItemSet &rSet, const SdrText *pText, const sal_Int32 *pLeft, const sal_Int32 *pUpper, const sal_Int32 *pRight, const sal_Int32 *pLower)
Graphic loadFromURL(OUString const &rURL, weld::Window *pParentWin)
SdrTextAniKind
Animation type for text frame.
@ Slide
scroll back and forth
@ Alternate
scroll through
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_8(SDRATTR_3DSCENE_FIRST+20)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_4(SDRATTR_3DSCENE_FIRST+16)
constexpr TypedWhichId< SdrOnOffItem > SDRATTR_SHADOW(SDRATTR_SHADOW_FIRST+0)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_1(SDRATTR_3DSCENE_FIRST+21)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_3(SDRATTR_3DSCENE_FIRST+23)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_1(SDRATTR_3DSCENE_FIRST+13)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_2(SDRATTR_3DSCENE_FIRST+22)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SHADOWSIZEX(SDRATTR_SHADOW_FIRST+7)
constexpr TypedWhichId< Svx3DPerspectiveItem > SDRATTR_3DSCENE_PERSPECTIVE(SDRATTR_3DSCENE_FIRST+0)
constexpr TypedWhichId< SdrPercentItem > SDRATTR_SHADOWTRANSPARENCE(SDRATTR_SHADOW_FIRST+4)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_TWO_SIDED_LIGHTING(SDRATTR_3DSCENE_FIRST+3)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_1(SDRATTR_3DSCENE_FIRST+4)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_3(SDRATTR_3DSCENE_FIRST+15)
constexpr TypedWhichId< SdrPercentItem > SDRATTR_GLOW_TRANSPARENCY(SDRATTR_GLOW_FIRST+2)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_5(SDRATTR_3DSCENE_FIRST+8)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_5(SDRATTR_3DSCENE_FIRST+17)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SHADOWYDIST(SDRATTR_SHADOW_FIRST+3)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_7(SDRATTR_3DSCENE_FIRST+27)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_6(SDRATTR_3DSCENE_FIRST+26)
constexpr TypedWhichId< SdrTextFixedCellHeightItem > SDRATTR_TEXT_USEFIXEDCELLHEIGHT(SDRATTR_MISC_FIRST+23)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_6(SDRATTR_3DSCENE_FIRST+9)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_4(SDRATTR_3DSCENE_FIRST+7)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_7(SDRATTR_3DSCENE_FIRST+10)
constexpr TypedWhichId< Svx3DShadeModeItem > SDRATTR_3DSCENE_SHADE_MODE(SDRATTR_3DSCENE_FIRST+30)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_6(SDRATTR_3DSCENE_FIRST+18)
constexpr TypedWhichId< SfxUInt16Item > SDRATTR_3DSCENE_SHADOW_SLANT(SDRATTR_3DSCENE_FIRST+29)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_AMBIENTCOLOR(SDRATTR_3DSCENE_FIRST+12)
constexpr TypedWhichId< SfxUInt32Item > SDRATTR_3DSCENE_DISTANCE(SDRATTR_3DSCENE_FIRST+1)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_2(SDRATTR_3DSCENE_FIRST+14)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_GLOW_RADIUS(SDRATTR_GLOW_FIRST+0)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SHADOWBLUR(SDRATTR_SHADOW_FIRST+9)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_8(SDRATTR_3DSCENE_FIRST+11)
constexpr TypedWhichId< XColorItem > SDRATTR_GLOW_COLOR(SDRATTR_GLOW_FIRST+1)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SOFTEDGE_RADIUS(SDRATTR_SOFTEDGE_FIRST+0)
constexpr TypedWhichId< XColorItem > SDRATTR_SHADOWCOLOR(SDRATTR_SHADOW_FIRST+1)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_8(SDRATTR_3DSCENE_FIRST+28)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_4(SDRATTR_3DSCENE_FIRST+24)
constexpr TypedWhichId< SvxB3DVectorItem > SDRATTR_3DSCENE_LIGHTDIRECTION_5(SDRATTR_3DSCENE_FIRST+25)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_2(SDRATTR_3DSCENE_FIRST+5)
constexpr TypedWhichId< SvxRectangleAlignmentItem > SDRATTR_SHADOWALIGNMENT(SDRATTR_SHADOW_FIRST+10)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SHADOWSIZEY(SDRATTR_SHADOW_FIRST+8)
constexpr TypedWhichId< SvxColorItem > SDRATTR_3DSCENE_LIGHTCOLOR_3(SDRATTR_3DSCENE_FIRST+6)
constexpr TypedWhichId< SdrMetricItem > SDRATTR_SHADOWXDIST(SDRATTR_SHADOW_FIRST+2)
constexpr TypedWhichId< SfxBoolItem > SDRATTR_3DSCENE_LIGHTON_7(SDRATTR_3DSCENE_FIRST+19)
constexpr TypedWhichId< SdrOnOffItem > SDRATTR_TEXT_CONTOURFRAME(SDRATTR_MISC_FIRST+21)
css::drawing::Direction3D aDirection
constexpr TypedWhichId< XFillBmpPosOffsetYItem > XATTR_FILLBMP_POSOFFSETY(XATTR_FILL_FIRST+18)
constexpr TypedWhichId< XGradientStepCountItem > XATTR_GRADIENTSTEPCOUNT(XATTR_FILL_FIRST+6)
constexpr TypedWhichId< XFillBmpPosItem > XATTR_FILLBMP_POS(XATTR_FILL_FIRST+8)
constexpr TypedWhichId< XFillUseSlideBackgroundItem > XATTR_FILLUSESLIDEBACKGROUND(XATTR_FILL_FIRST+20)
constexpr TypedWhichId< XLineJointItem > XATTR_LINEJOINT(XATTR_LINE_FIRST+11)
constexpr TypedWhichId< XFillColorItem > XATTR_FILLCOLOR(XATTR_FILL_FIRST+1)
constexpr TypedWhichId< XFillBmpTileOffsetXItem > XATTR_FILLBMP_TILEOFFSETX(XATTR_FILL_FIRST+14)
constexpr TypedWhichId< XFillTransparenceItem > XATTR_FILLTRANSPARENCE(XATTR_FILL_FIRST+5)
constexpr TypedWhichId< XFormTextStyleItem > XATTR_FORMTXTSTYLE(XATTR_TEXT_FIRST)
constexpr TypedWhichId< XLineColorItem > XATTR_LINECOLOR(XATTR_LINE_FIRST+3)
constexpr TypedWhichId< XLineStartWidthItem > XATTR_LINESTARTWIDTH(XATTR_LINE_FIRST+6)
constexpr TypedWhichId< SfxMetricItem > XATTR_FILLBMP_SIZEX(XATTR_FILL_FIRST+9)
constexpr TypedWhichId< XLineCapItem > XATTR_LINECAP(XATTR_LINE_FIRST+12)
constexpr TypedWhichId< XFormTextHideFormItem > XATTR_FORMTXTHIDEFORM(XATTR_TEXT_FIRST+10)
constexpr TypedWhichId< XLineDashItem > XATTR_LINEDASH(XATTR_LINE_FIRST+1)
constexpr TypedWhichId< XLineWidthItem > XATTR_LINEWIDTH(XATTR_LINE_FIRST+2)
constexpr TypedWhichId< XLineEndItem > XATTR_LINEEND(XATTR_LINE_FIRST+5)
constexpr TypedWhichId< XFillBmpPosOffsetXItem > XATTR_FILLBMP_POSOFFSETX(XATTR_FILL_FIRST+17)
constexpr TypedWhichId< XFillBmpTileOffsetYItem > XATTR_FILLBMP_TILEOFFSETY(XATTR_FILL_FIRST+15)
constexpr TypedWhichId< XLineStartItem > XATTR_LINESTART(XATTR_LINE_FIRST+4)
constexpr TypedWhichId< XFillBmpSizeYItem > XATTR_FILLBMP_SIZEY(XATTR_FILL_FIRST+10)
constexpr TypedWhichId< XFillBmpStretchItem > XATTR_FILLBMP_STRETCH(XATTR_FILL_FIRST+16)
constexpr TypedWhichId< XLineEndCenterItem > XATTR_LINEENDCENTER(XATTR_LINE_FIRST+9)
constexpr TypedWhichId< XFillHatchItem > XATTR_FILLHATCH(XATTR_FILL_FIRST+3)
constexpr TypedWhichId< XFillBmpSizeLogItem > XATTR_FILLBMP_SIZELOG(XATTR_FILL_FIRST+13)
constexpr TypedWhichId< XLineStartCenterItem > XATTR_LINESTARTCENTER(XATTR_LINE_FIRST+8)
constexpr TypedWhichId< XFillBmpTileItem > XATTR_FILLBMP_TILE(XATTR_FILL_FIRST+7)
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
constexpr TypedWhichId< XFillBackgroundItem > XATTR_FILLBACKGROUND(XATTR_FILL_FIRST+19)
constexpr TypedWhichId< XFillFloatTransparenceItem > XATTR_FILLFLOATTRANSPARENCE(XATTR_FILL_FIRST+11)
constexpr TypedWhichId< XLineStyleItem > XATTR_LINESTYLE(XATTR_LINE_FIRST)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)
constexpr TypedWhichId< XFillGradientItem > XATTR_FILLGRADIENT(XATTR_FILL_FIRST+2)
constexpr TypedWhichId< XLineEndWidthItem > XATTR_LINEENDWIDTH(XATTR_LINE_FIRST+7)
constexpr TypedWhichId< XLineTransparenceItem > XATTR_LINETRANSPARENCE(XATTR_LINE_FIRST+10)