summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/ui/drawfunc/drawsh.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/sc/source/ui/drawfunc/drawsh.cxx b/sc/source/ui/drawfunc/drawsh.cxx
index decc6798466f..9e20ab1ced56 100644
--- a/sc/source/ui/drawfunc/drawsh.cxx
+++ b/sc/source/ui/drawfunc/drawsh.cxx
@@ -55,6 +55,7 @@
#include <memory>
#include <svx/xlnwtit.hxx>
#include <svx/chrtitem.hxx>
+#include <svx/xlnclit.hxx>
SFX_IMPL_INTERFACE(ScDrawShell, SfxShell)
@@ -62,6 +63,8 @@ namespace
{
void lcl_convertStringArguments(std::unique_ptr<SfxItemSet>& pArgs)
{
+ Color aColor;
+ OUString sColor;
const SfxPoolItem* pItem = nullptr;
if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_LINE_WIDTH_ARG, false, &pItem))
@@ -74,6 +77,18 @@ namespace
XLineWidthItem aItem(nValue);
pArgs->Put(aItem);
}
+ else if (SfxItemState::SET == pArgs->GetItemState(SID_ATTR_COLOR_STR, false, &pItem))
+ {
+ sColor = static_cast<const SfxStringItem*>(pItem)->GetValue();
+
+ if (sColor == "transparent")
+ aColor = COL_TRANSPARENT;
+ else
+ aColor = Color(sColor.toInt32(16));
+
+ XLineColorItem aLineColorItem(OUString(), aColor);
+ pArgs->Put(aLineColorItem);
+ }
}
}