diff options
author | ka <kai.ahrens@oracle.com> | 2011-02-04 14:49:25 +0100 |
---|---|---|
committer | ka <kai.ahrens@oracle.com> | 2011-02-04 14:49:25 +0100 |
commit | d1da85e8f5d3b6a0c5d1fdcc4fedb0eff5e90b65 (patch) | |
tree | 6358b11432f38f7ac5a8870546eb4a682388820e /cppcanvas | |
parent | 99ff7a9fb521895d6ba18ca4ca92d7eb0c3524fd (diff) |
ka102: SVG import implementation
Diffstat (limited to 'cppcanvas')
-rw-r--r-- | cppcanvas/source/mtfrenderer/implrenderer.cxx | 27 | ||||
-rw-r--r-- | cppcanvas/source/mtfrenderer/makefile.mk | 3 | ||||
-rw-r--r-- | cppcanvas/source/mtfrenderer/transparencygroupaction.cxx | 1 |
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 |