diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2019-11-19 11:11:49 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2020-05-08 09:38:35 +0200 |
commit | be03be7acd1a6bebb72f08f55cc20aba6d44f391 (patch) | |
tree | 89e1e8418fefd5bc02f9c3de162a35c9a5f214cd /editeng | |
parent | 570e650093928a795704777667e927bb12d4a567 (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
(cherry picked from commit 6fafae4d109f5768621a11deb394b1b0c4dc5606)
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 313997fa246c..53c1baaa7223 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; } |