summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/outdev6.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/gdi/outdev6.cxx')
-rw-r--r--vcl/source/gdi/outdev6.cxx42
1 files changed, 34 insertions, 8 deletions
diff --git a/vcl/source/gdi/outdev6.cxx b/vcl/source/gdi/outdev6.cxx
index 92898ebfdf3a..2c0861ac9494 100644
--- a/vcl/source/gdi/outdev6.cxx
+++ b/vcl/source/gdi/outdev6.cxx
@@ -29,10 +29,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_vcl.hxx"
-#include <svsys.h>
-#include <vcl/salgdi.hxx>
#include <tools/debug.hxx>
-#include <vcl/outdev.h>
#include <vcl/outdev.hxx>
#include <vcl/virdev.hxx>
#include <vcl/bmpacc.hxx>
@@ -41,16 +38,22 @@
#include <vcl/svapp.hxx>
#include <vcl/wrkwin.hxx>
#include <vcl/graph.hxx>
-#include <vcl/wall2.hxx>
+#include <vcl/rendergraphicrasterizer.hxx>
+
+#include <wall2.hxx>
+#include <salgdi.hxx>
+#include <window.h>
+#include <svdata.hxx>
+#include <outdev.h>
+
#include <com/sun/star/uno/Sequence.hxx>
#include <basegfx/vector/b2dvector.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
+
#include <math.h>
-#include <vcl/window.h>
-#include <vcl/svdata.hxx>
// ========================================================================
@@ -1135,6 +1138,7 @@ void OutputDevice::Erase()
return;
sal_Bool bNativeOK = sal_False;
+
if( meOutDevType == OUTDEV_WINDOW )
{
Window* pWindow = static_cast<Window*>(this);
@@ -1185,6 +1189,8 @@ void OutputDevice::ImplDraw2ColorFrame( const Rectangle& rRect,
bool OutputDevice::DrawEPS( const Point& rPoint, const Size& rSize,
const GfxLink& rGfxLink, GDIMetaFile* pSubst )
{
+ DBG_TRACE( "OutputDevice::DrawEPS()" );
+
bool bDrawn(true);
if ( mpMetaFile )
@@ -1203,7 +1209,7 @@ bool OutputDevice::DrawEPS( const Point& rPoint, const Size& rSize,
if( mbOutputClipped )
return bDrawn;
- Rectangle aRect( ImplLogicToDevicePixel( Rectangle( rPoint, rSize ) ) );
+ Rectangle aRect( ImplLogicToDevicePixel( Rectangle( rPoint, rSize ) ) );
if( !aRect.IsEmpty() )
{
@@ -1238,4 +1244,24 @@ bool OutputDevice::DrawEPS( const Point& rPoint, const Size& rSize,
return bDrawn;
}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+// ------------------------------------------------------------------
+ const ::vcl::RenderGraphic& rRenderGraphic )
+{
+ DBG_TRACE( "OutputDevice::DrawRenderGraphic()" );
+
+ if( mpMetaFile )
+ mpMetaFile->AddAction( new MetaRenderGraphicAction( rPoint, rSize, rRenderGraphic ) );
+
+ if( !rRenderGraphic.IsEmpty() )
+ {
+ ::vcl::RenderGraphicRasterizer aRasterizer( rRenderGraphic );
+ BitmapEx aBmpEx;
+ const Size aSizePixel( LogicToPixel( rSize ) );
+ GDIMetaFile* pOldMetaFile = mpMetaFile;
+
+ mpMetaFile = NULL;
+ DrawBitmapEx( rPoint, rSize, aRasterizer.Rasterize( aSizePixel ) );
+ mpMetaFile = pOldMetaFile;
+ }
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file