summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/implrenderer.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppcanvas/source/mtfrenderer/implrenderer.cxx')
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx27
1 files changed, 27 insertions, 0 deletions
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index c71c09863234..d75d0d86547e 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -84,6 +84,7 @@
#include <lineaction.hxx>
#include <pointaction.hxx>
#include <polypolyaction.hxx>
+#include <rendergraphicaction.hxx>
#include <textaction.hxx>
#include <transparencygroupaction.hxx>
#include <vector>
@@ -2683,6 +2684,32 @@ namespace cppcanvas
}
break;
+ case META_RENDERGRAPHIC_ACTION:
+ {
+ MetaRenderGraphicAction* pAct = static_cast<MetaRenderGraphicAction*>(pCurrAct);
+
+ ActionSharedPtr pRenderGraphicAction(
+ internal::RenderGraphicActionFactory::createRenderGraphicAction(
+ pAct->GetRenderGraphic(),
+ getState( rStates ).mapModeTransform *
+ ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ),
+ getState( rStates ).mapModeTransform *
+ ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ),
+ rCanvas,
+ getState( rStates ) ) );
+
+ if( pRenderGraphicAction )
+ {
+ maActions.push_back(
+ MtfAction(
+ pRenderGraphicAction,
+ io_rCurrActionIndex ) );
+
+ io_rCurrActionIndex += pRenderGraphicAction->getActionCount()-1;
+ }
+ }
+ break;
+
default:
OSL_FAIL( "Unknown meta action type encountered" );
break;