diff options
Diffstat (limited to 'canvas/source/vcl/canvasbitmap.cxx')
-rw-r--r-- | canvas/source/vcl/canvasbitmap.cxx | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/canvas/source/vcl/canvasbitmap.cxx b/canvas/source/vcl/canvasbitmap.cxx deleted file mode 100644 index 1c3822acfc..0000000000 --- a/canvas/source/vcl/canvasbitmap.cxx +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * 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 - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_canvas.hxx" - -#include <canvas/debug.hxx> -#include <tools/diagnose_ex.h> -#include "canvasbitmap.hxx" - -#include <vcl/bmpacc.hxx> - -using namespace ::com::sun::star; - - -namespace vclcanvas -{ - // Currently, the only way to generate an XBitmap is from - // XGraphicDevice.getCompatibleBitmap(). Therefore, we don't even - // take a bitmap here, but a VDev directly. - CanvasBitmap::CanvasBitmap( const ::Size& rSize, - bool bAlphaBitmap, - rendering::XGraphicDevice& rDevice, - const OutDevProviderSharedPtr& rOutDevProvider ) - { - // create bitmap for given reference device - // ======================================== - const sal_uInt16 nBitCount( (sal_uInt16)24U ); - const BitmapPalette* pPalette = NULL; - - Bitmap aBitmap( rSize, nBitCount, pPalette ); - - // only create alpha channel bitmap, if factory requested - // that. Providing alpha-channeled bitmaps by default has, - // especially under VCL, a huge performance penalty (have to - // use alpha VDev, then). - if( bAlphaBitmap ) - { - AlphaMask aAlpha ( rSize ); - - maCanvasHelper.init( BitmapEx( aBitmap, aAlpha ), - rDevice, - rOutDevProvider ); - } - else - { - maCanvasHelper.init( BitmapEx( aBitmap ), - rDevice, - rOutDevProvider ); - } - } - - CanvasBitmap::CanvasBitmap( const BitmapEx& rBitmap, - rendering::XGraphicDevice& rDevice, - const OutDevProviderSharedPtr& rOutDevProvider ) - { - maCanvasHelper.init( rBitmap, rDevice, rOutDevProvider ); - } - -#define IMPLEMENTATION_NAME "VCLCanvas.CanvasBitmap" -#define SERVICE_NAME "com.sun.star.rendering.CanvasBitmap" - - ::rtl::OUString SAL_CALL CanvasBitmap::getImplementationName( ) throw (uno::RuntimeException) - { - return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( IMPLEMENTATION_NAME ) ); - } - - sal_Bool SAL_CALL CanvasBitmap::supportsService( const ::rtl::OUString& ServiceName ) throw (uno::RuntimeException) - { - return ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( SERVICE_NAME ) ); - } - - uno::Sequence< ::rtl::OUString > SAL_CALL CanvasBitmap::getSupportedServiceNames( ) throw (uno::RuntimeException) - { - uno::Sequence< ::rtl::OUString > aRet(1); - aRet[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( SERVICE_NAME ) ); - - return aRet; - } - - BitmapEx CanvasBitmap::getBitmap() const - { - SolarMutexGuard aGuard; - - // TODO(T3): Rework to use shared_ptr all over the place for - // BmpEx. This is highly un-threadsafe - return maCanvasHelper.getBitmap(); - } - - bool CanvasBitmap::repaint( const GraphicObjectSharedPtr& rGrf, - const rendering::ViewState& viewState, - const rendering::RenderState& renderState, - const ::Point& rPt, - const ::Size& rSz, - const GraphicAttr& rAttr ) const - { - SolarMutexGuard aGuard; - - mbSurfaceDirty = true; - - return maCanvasHelper.repaint( rGrf, viewState, renderState, rPt, rSz, rAttr ); - } - - uno::Any SAL_CALL CanvasBitmap::getFastPropertyValue( sal_Int32 nHandle ) throw (uno::RuntimeException) - { - if( nHandle == 0 ) { - BitmapEx* pBitmapEx = new BitmapEx( getBitmap() ); - - return uno::Any( reinterpret_cast<sal_Int64>( pBitmapEx ) ); - } - - return uno::Any( sal_Int64(0) ); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |