summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-11-19 11:11:49 +0100
committerMiklos Vajna <vmiklos@collabora.com>2020-05-08 09:38:35 +0200
commitbe03be7acd1a6bebb72f08f55cc20aba6d44f391 (patch)
tree89e1e8418fefd5bc02f9c3de162a35c9a5f214cd /editeng
parent570e650093928a795704777667e927bb12d4a567 (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.cxx6
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;
}