diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2019-11-19 11:11:49 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-11-19 13:16:48 +0100 |
commit | 6fafae4d109f5768621a11deb394b1b0c4dc5606 (patch) | |
tree | 3fc1b8e42ccc769ca1a7dfbaa0a46decd7cc095b /editeng | |
parent | b0930d56130fdddfe65e92b081a8afad77974076 (diff) |
editeng: add UNO API for semi-transparent text
Keep the type internally as sal_uInt8, to be used as an alpha channel.
Keep the type externally as sal_Int16, so it's consistent with the fill
area transparency.
Change-Id: I5138a6b73526f20a40f93df4cff4951e2b11bd6d
Reviewed-on: https://gerrit.libreoffice.org/83179
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/items/textitem.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx index 2ca24b9f2c6c..34b6ac42d8ec 100644 --- a/editeng/source/items/textitem.cxx +++ b/editeng/source/items/textitem.cxx @@ -1449,7 +1449,8 @@ bool SvxColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const { case MID_COLOR_ALPHA: { - rVal <<= mColor.GetTransparency(); + auto fTransparency = static_cast<double>(mColor.GetTransparency()) * 100 / 255; + rVal <<= static_cast<sal_Int16>(basegfx::fround(fTransparency)); break; } default: @@ -1472,7 +1473,8 @@ bool SvxColorItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId ) bool bRet = rVal >>= nTransparency; if (bRet) { - mColor.SetTransparency(nTransparency); + auto fTransparency = static_cast<double>(nTransparency) * 255 / 100; + mColor.SetTransparency(static_cast<sal_uInt8>(basegfx::fround(fTransparency))); } return bRet; } |