diff options
author | Kurt Zenker <kz@openoffice.org> | 2008-06-24 09:56:25 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2008-06-24 09:56:25 +0000 |
commit | 4152d6a07d366fdd2ca493804d58626cd58303cc (patch) | |
tree | 8a4002c1aaddc93ad3ee4fdca1293754a5bcfc98 /canvas | |
parent | d78fbd04f224d38b6b763c307d3ef2c5c2b32bd0 (diff) |
INTEGRATION: CWS canvas05 (1.12.26); FILE MERGED
2008/04/21 07:27:58 thb 1.12.26.4: RESYNC: (1.13-1.14); FILE MERGED
2007/12/20 22:18:59 thb 1.12.26.3: #i81092# #i78888# #i78925# #i79258# #i79437# #i84784# Large canvas rework, completing various areas such as color spaces, bitmap data access, true sprite and non-sprite implementations, and upstreaming the canvas parts of rodos emf+ rendering
2007/11/06 12:36:52 thb 1.12.26.2: RESYNC: (1.12-1.13); FILE MERGED
2007/10/01 13:02:03 thb 1.12.26.1: #i78888# #i78925# #i79258# #i79437# Merge from CWS picom
Diffstat (limited to 'canvas')
-rw-r--r-- | canvas/source/vcl/canvascustomsprite.cxx | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/canvas/source/vcl/canvascustomsprite.cxx b/canvas/source/vcl/canvascustomsprite.cxx index 6a08f00d85ae..2413bab0de5c 100644 --- a/canvas/source/vcl/canvascustomsprite.cxx +++ b/canvas/source/vcl/canvascustomsprite.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: canvascustomsprite.cxx,v $ - * $Revision: 1.14 $ + * $Revision: 1.15 $ * * This file is part of OpenOffice.org. * @@ -32,6 +32,7 @@ #include "precompiled_canvas.hxx" #include <canvas/debug.hxx> +#include <tools/diagnose_ex.h> #include <canvas/verbosetrace.hxx> #include <rtl/math.hxx> @@ -61,14 +62,15 @@ using namespace ::com::sun::star; namespace vclcanvas { - CanvasCustomSprite::CanvasCustomSprite( const geometry::RealSize2D& rSpriteSize, - const SpriteCanvasRef& rSpriteCanvas, - bool bShowSpriteBounds ) : - mpSpriteCanvas( rSpriteCanvas ) + CanvasCustomSprite::CanvasCustomSprite( const geometry::RealSize2D& rSpriteSize, + rendering::XGraphicDevice& rDevice, + const ::canvas::SpriteSurface::Reference& rOwningSpriteCanvas, + const OutDevProviderSharedPtr& rOutDevProvider, + bool bShowSpriteBounds ) { - ENSURE_AND_THROW( rSpriteCanvas.get() && - rSpriteCanvas->getOutDev(), - "CanvasCustomSprite::CanvasCustomSprite(): Invalid sprite canvas" ); + ENSURE_OR_THROW( rOwningSpriteCanvas.get() && + rOutDevProvider, + "CanvasCustomSprite::CanvasCustomSprite(): Invalid sprite canvas" ); // setup back buffer // ----------------- @@ -82,11 +84,11 @@ namespace vclcanvas ceil( rSpriteSize.Height ))) ); // create content backbuffer in screen depth - BackBufferSharedPtr pBackBuffer( new BackBuffer( *rSpriteCanvas->getOutDev() ) ); + BackBufferSharedPtr pBackBuffer( new BackBuffer( rOutDevProvider->getOutDev() ) ); pBackBuffer->setSize( aSize ); // create mask backbuffer, with one bit color depth - BackBufferSharedPtr pBackBufferMask( new BackBuffer( *rSpriteCanvas->getOutDev(), + BackBufferSharedPtr pBackBufferMask( new BackBuffer( rOutDevProvider->getOutDev(), true ) ); pBackBufferMask->setSize( aSize ); @@ -94,13 +96,13 @@ namespace vclcanvas // antialiasing again, then) // disable font antialiasing (causes ugly shadows otherwise) - pBackBuffer->getVirDev().SetAntialiasing( ANTIALIASING_DISABLE_TEXT ); - pBackBufferMask->getVirDev().SetAntialiasing( ANTIALIASING_DISABLE_TEXT ); + pBackBuffer->getOutDev().SetAntialiasing( ANTIALIASING_DISABLE_TEXT ); + pBackBufferMask->getOutDev().SetAntialiasing( ANTIALIASING_DISABLE_TEXT ); // set mask vdev drawmode, such that everything is painted // black. That leaves us with a binary image, white for // background, black for painted content - pBackBufferMask->getVirDev().SetDrawMode( DRAWMODE_BLACKLINE | DRAWMODE_BLACKFILL | DRAWMODE_BLACKTEXT | + pBackBufferMask->getOutDev().SetDrawMode( DRAWMODE_BLACKLINE | DRAWMODE_BLACKFILL | DRAWMODE_BLACKTEXT | DRAWMODE_BLACKGRADIENT | DRAWMODE_BLACKBITMAP ); @@ -109,7 +111,7 @@ namespace vclcanvas // always render into back buffer, don't preserve state (it's // our private VDev, after all), have notion of alpha - maCanvasHelper.init( *rSpriteCanvas.get(), + maCanvasHelper.init( rDevice, pBackBuffer, false, true ); @@ -120,7 +122,7 @@ namespace vclcanvas // ------------------- maSpriteHelper.init( rSpriteSize, - rSpriteCanvas, + rOwningSpriteCanvas, pBackBuffer, pBackBufferMask, bShowSpriteBounds ); @@ -133,8 +135,6 @@ namespace vclcanvas { tools::LocalGuard aGuard; - mpSpriteCanvas.clear(); - // forward to parent CanvasCustomSpriteBaseT::disposing(); } |