summaryrefslogtreecommitdiff
path: root/cppcanvas
diff options
context:
space:
mode:
authorka <kai.ahrens@oracle.com>2011-02-04 14:49:25 +0100
committerka <kai.ahrens@oracle.com>2011-02-04 14:49:25 +0100
commitd1da85e8f5d3b6a0c5d1fdcc4fedb0eff5e90b65 (patch)
tree6358b11432f38f7ac5a8870546eb4a682388820e /cppcanvas
parent99ff7a9fb521895d6ba18ca4ca92d7eb0c3524fd (diff)
ka102: SVG import implementation
Diffstat (limited to 'cppcanvas')
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx27
-rw-r--r--cppcanvas/source/mtfrenderer/makefile.mk3
-rw-r--r--cppcanvas/source/mtfrenderer/transparencygroupaction.cxx1
3 files changed, 30 insertions, 1 deletions
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index bab5826e54aa..779d51754daa 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -82,6 +82,7 @@
#include <lineaction.hxx>
#include <pointaction.hxx>
#include <polypolyaction.hxx>
+#include <rendergraphicaction.hxx>
#include <textaction.hxx>
#include <transparencygroupaction.hxx>
#include <vector>
@@ -2646,6 +2647,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_ENSURE( false,
"Unknown meta action type encountered" );
diff --git a/cppcanvas/source/mtfrenderer/makefile.mk b/cppcanvas/source/mtfrenderer/makefile.mk
index dfe6e28030bf..92ae7e1200bc 100644
--- a/cppcanvas/source/mtfrenderer/makefile.mk
+++ b/cppcanvas/source/mtfrenderer/makefile.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -48,6 +48,7 @@ SLOFILES = $(SLO)$/cachedprimitivebase.obj \
$(SLO)$/lineaction.obj \
$(SLO)$/pointaction.obj \
$(SLO)$/polypolyaction.obj \
+ $(SLO)$/rendergraphicaction.obj \
$(SLO)$/textaction.obj \
$(SLO)$/transparencygroupaction.obj \
$(SLO)$/mtftools.obj
diff --git a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
index a8984d41e585..7255df14cd47 100644
--- a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
+++ b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
@@ -391,6 +391,7 @@ namespace cppcanvas
case META_TEXTLINE_ACTION:
case META_TEXTRECT_ACTION:
case META_STRETCHTEXT_ACTION:
+ case META_RENDERGRAPHIC_ACTION:
// output-generating action - only
// copy, if we're within the
// requested subset