summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-11-18 18:40:13 +0100
committerMiklos Vajna <vmiklos@collabora.com>2020-02-21 15:57:29 +0100
commit2ed7751d0f6793aa11a6c1be4c18b92af8d696bd (patch)
tree405205106f03acedc1c32fb6932c69aeb303a35a /editeng
parentb3bef01041b8e75959848e52fb7efbff88c3da99 (diff)
editeng: add doc model for semi-transparent text
tools Color can handle the alpha just fine, but add a separate member ID for transparency to be consistent with the existing border and fill color API. (cherry picked from commit 543a0658f961f24db6804b90c5389aee15ba2ce4) Change-Id: I8466da9fb40ab1d0c97b06a0594f89719ccc1959 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89177 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/items/textitem.cxx38
1 files changed, 34 insertions, 4 deletions
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx
index b3912754cbe4..d3e7be9cb737 100644
--- a/editeng/source/items/textitem.cxx
+++ b/editeng/source/items/textitem.cxx
@@ -1702,15 +1702,45 @@ bool SvxColorItem::operator==( const SfxPoolItem& rAttr ) const
return mColor == static_cast<const SvxColorItem&>( rAttr ).mColor;
}
-bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/ ) const
+bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
{
- rVal <<= mColor;
+ nMemberId &= ~CONVERT_TWIPS;
+ switch (nMemberId)
+ {
+ case MID_COLOR_ALPHA:
+ {
+ rVal <<= mColor.GetTransparency();
+ break;
+ }
+ default:
+ {
+ rVal <<= mColor;
+ break;
+ }
+ }
return true;
}
-bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/ )
+bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
{
- return (rVal >>= mColor);
+ nMemberId &= ~CONVERT_TWIPS;
+ switch(nMemberId)
+ {
+ case MID_COLOR_ALPHA:
+ {
+ sal_Int16 nTransparency = 0;
+ bool bRet = rVal >>= nTransparency;
+ if (bRet)
+ {
+ mColor.SetTransparency(nTransparency);
+ }
+ return bRet;
+ }
+ default:
+ {
+ return rVal >>= mColor;
+ }
+ }
}
SfxPoolItem* SvxColorItem::Clone( SfxItemPool * ) const