summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer
diff options
context:
space:
mode:
Diffstat (limited to 'cppcanvas/source/mtfrenderer')
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 237f69bf7af3..cee91bcd3853 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -356,6 +356,12 @@ namespace cppcanvas
aCalculatedNewState.isTextLineColorSet = rNewState.isTextLineColorSet;
}
+ if( aCalculatedNewState.pushFlags & PushFlags::OVERLINECOLOR )
+ {
+ aCalculatedNewState.textOverlineColor = rNewState.textOverlineColor;
+ aCalculatedNewState.isTextOverlineColorSet = rNewState.isTextOverlineColorSet;
+ }
+
if( aCalculatedNewState.pushFlags & PushFlags::TEXTLAYOUTMODE )
{
aCalculatedNewState.textAlignment = rNewState.textAlignment;
@@ -1473,6 +1479,22 @@ namespace cppcanvas
}
break;
+ case MetaActionType::OVERLINECOLOR:
+ if( !rParms.maTextColor.is_initialized() )
+ {
+ setStateColor( static_cast<MetaOverlineColorAction*>(pCurrAct),
+ rStates.getState().isTextOverlineColorSet,
+ rStates.getState().textOverlineColor,
+ rCanvas );
+ }
+ else
+ {
+ bool bSetting(static_cast<MetaOverlineColorAction*>(pCurrAct)->IsSetting());
+
+ rStates.getState().isTextOverlineColorSet = bSetting;
+ }
+ break;
+
case MetaActionType::TEXTALIGN:
{
::cppcanvas::internal::OutDevState& rState = rStates.getState();
@@ -2921,6 +2943,7 @@ namespace cppcanvas
// setup default text color to black
rState.textColor =
rState.textFillColor =
+ rState.textOverlineColor =
rState.textLineColor = tools::intSRGBAToDoubleSequence( 0x000000FF );
}
@@ -2941,9 +2964,11 @@ namespace cppcanvas
{
::cppcanvas::internal::OutDevState& rState = aStateStack.getState();
rState.isTextFillColorSet = true;
+ rState.isTextOverlineColorSet = true;
rState.isTextLineColorSet = true;
rState.textColor =
rState.textFillColor =
+ rState.textOverlineColor =
rState.textLineColor = tools::intSRGBAToDoubleSequence( *rParams.maTextColor );
}
if( rParams.maFontName.is_initialized() ||