diff options
Diffstat (limited to 'chart2/source')
5 files changed, 1 insertions, 248 deletions
diff --git a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx index e3c44018d4bb..034eb4763d04 100644 --- a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx +++ b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx @@ -45,7 +45,6 @@ #include "AreaWrapper.hxx" #include "WrappedAddInProperty.hxx" #include "WrappedIgnoreProperty.hxx" -#include "ChartRenderer.hxx" #include <com/sun/star/chart2/XTitled.hpp> #include <com/sun/star/chart2/data/XDataReceiver.hpp> #include <com/sun/star/chart/ChartDataRowSource.hpp> @@ -1343,12 +1342,6 @@ uno::Reference< uno::XInterface > SAL_CALL ChartDocumentWrapper::createInstance( bServiceFound = true; } - else if( aServiceSpecifier.equals( CHART_RENDERER_SERVICE_IMPLEMENTATION_NAME ) ) - { - Reference< lang::XUnoTunnel > xChartRenderer( new ChartRenderer( m_spChart2ModelContact->getChartModel() ) ); - xResult.set( xChartRenderer ); - bServiceFound = true; - } else if( aServiceSpecifier == "com.sun.star.comp.chart2.DataSeriesWrapper" ) { Reference< beans::XPropertySet > xDataSeries( new DataSeriesPointWrapper( m_spChart2ModelContact ) ); diff --git a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx index 63b1f3fc7e8a..d4827cee52a9 100644 --- a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx +++ b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx @@ -187,7 +187,7 @@ Graphic ViewElementListProvider::GetSymbolGraphic( sal_Int32 nStandardSymbol, co if( pSymbolShapeProperties ) pObj->SetMergedItemSet(*pSymbolShapeProperties); - GDIMetaFile aMeta(pView->GetAllMarkedMetaFile()); + GDIMetaFile aMeta(pView->GetMarkedObjMetaFile()); Graphic aGraph(aMeta); Size aSize = pObj->GetSnapRect().GetSize(); diff --git a/chart2/source/controller/inc/ChartRenderer.hxx b/chart2/source/controller/inc/ChartRenderer.hxx deleted file mode 100644 index ab049db05026..000000000000 --- a/chart2/source/controller/inc/ChartRenderer.hxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef CHART_RENDERER_HXX -#define CHART_RENDERER_HXX - -#include <svtools/chartprettypainter.hxx> -#include "ServiceMacros.hxx" - -#include <cppuhelper/implbase2.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XUnoTunnel.hpp> -#include <com/sun/star/frame/XModel.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <cppuhelper/weakref.hxx> - -//............................................................................. -namespace chart -{ -//............................................................................. - -//#i82893#, #i75867#: charts must be painted resolution dependent!! -class ChartRenderer : public ::cppu::WeakImplHelper2< - ::com::sun::star::lang::XServiceInfo - , ::com::sun::star::lang::XUnoTunnel - >, public ChartPrettyPainter -{ -public: - ChartRenderer( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xChartModel ); - virtual ~ChartRenderer(); - - // ___lang::XServiceInfo___ - APPHELPER_XSERVICEINFO_DECL() - - // ____ XUnoTunnel ___ - virtual ::sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< ::sal_Int8 >& aIdentifier ) - throw (::com::sun::star::uno::RuntimeException); - - // ____ ChartPrettyPainter ___ - virtual bool DoPaint(OutputDevice* pOutDev, const Rectangle& rLogicObjectRect) const; - -private: - ChartRenderer(); - ChartRenderer( const ChartRenderer& ); - - ::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XModel > m_xChartModel; -}; - -//............................................................................. -} // namespace chart -//............................................................................. - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/main/ChartRenderer.cxx b/chart2/source/controller/main/ChartRenderer.cxx deleted file mode 100644 index 93d66e9c3121..000000000000 --- a/chart2/source/controller/main/ChartRenderer.cxx +++ /dev/null @@ -1,168 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "ChartRenderer.hxx" -#include "servicenames.hxx" -#include "chartview/ExplicitValueProvider.hxx" -#include "chartview/DrawModelWrapper.hxx" -#include "DrawViewWrapper.hxx" -#include "macros.hxx" -#include "ChartModelHelper.hxx" -#include <vcl/svapp.hxx> -#include <osl/mutex.hxx> - -#include <com/sun/star/util/XUpdatable.hpp> - -//............................................................................. -namespace chart -{ -//............................................................................. - -using namespace ::com::sun::star; -using ::com::sun::star::uno::Reference; -using ::com::sun::star::uno::Sequence; -using rtl::OUString; - -ChartRenderer::ChartRenderer( const Reference< frame::XModel >& xChartModel ) - : m_xChartModel( uno::WeakReference< frame::XModel >(xChartModel) ) -{ -} - -ChartRenderer::~ChartRenderer() -{ -} - -// ____ ChartPrettyPainter ___ -bool ChartRenderer::DoPaint(OutputDevice* pOutDev, const Rectangle& rLogicObjectRect /*in given output dev map units*/ ) const -{ - if(!pOutDev) - return false; - - Reference<frame::XModel> xModel(m_xChartModel); - uno::Reference< lang::XMultiServiceFactory > xFact( xModel, uno::UNO_QUERY ); - if( !xFact.is() ) - return false; - - //#i84323# ensure that the size the container has of the chart and size that chart has itself are the same - //maybe remove this workaround somewhere in future again - { - if( MAP_100TH_MM == pOutDev->GetMapMode().GetMapUnit() )//no problem for writer in issue #i84323#; but writer uses twips instead of 100thmm which causes small differences in size always when converting to 100thmm and back - { - awt::Size aChartSize( ChartModelHelper::getPageSize(xModel) ); - awt::Size aContainerChartSize( rLogicObjectRect.GetWidth(), rLogicObjectRect.GetHeight() ); - if( aContainerChartSize.Width != aChartSize.Width - || aContainerChartSize.Height != aChartSize.Height ) - { - OSL_FAIL("chart size does not equal size assumed by the container"); - //correct the state here on the fly -> let the container size win - ChartModelHelper::setPageSize( aContainerChartSize, xModel ); - } - } - } - - // get the chart view - Reference< lang::XUnoTunnel > xChartView( xFact->createInstance( CHART_VIEW_SERVICE_NAME ), uno::UNO_QUERY ); - - try - { - //better performance for big data - uno::Reference< beans::XPropertySet > xProp( xChartView, uno::UNO_QUERY ); - if( xProp.is() ) - { - awt::Size aResolution(1000,1000); - { - SolarMutexGuard aGuard; - Rectangle aPixelRect( pOutDev->LogicToPixel( rLogicObjectRect ) ); - aResolution.Width = aPixelRect.GetWidth(); - aResolution.Height = aPixelRect.GetHeight(); - } - xProp->setPropertyValue( C2U("Resolution"), uno::makeAny( aResolution )); - } - // - - uno::Reference< util::XUpdatable > xUpdatable( xChartView, uno::UNO_QUERY ); - if( xUpdatable.is() ) - xUpdatable->update(); - - SolarMutexGuard aGuard; - ExplicitValueProvider* pProvider = ExplicitValueProvider::getExplicitValueProvider( xChartView ); - if( !pProvider ) - return false; - ::boost::shared_ptr< DrawModelWrapper > pDrawModelWrapper = pProvider->getDrawModelWrapper(); - if( !pDrawModelWrapper.get() ) - return false; - ::boost::shared_ptr< DrawViewWrapper > pDrawViewWrapper( new DrawViewWrapper(&pDrawModelWrapper->getSdrModel(),pOutDev,false) ); - pDrawViewWrapper->attachParentReferenceDevice( xModel ); - - MapMode aOldMapMode( pOutDev->GetMapMode() ); - Point aOldOrigin( aOldMapMode.GetOrigin() ); - MapMode aMapMode( aOldMapMode ); - Point aOldOriginMM( OutputDevice::LogicToLogic( aOldOrigin, aOldMapMode.GetMapUnit(), MAP_100TH_MM ) ); - Point aObjectTopLeftMM( OutputDevice::LogicToLogic( rLogicObjectRect.TopLeft(), aOldMapMode.GetMapUnit(), MAP_100TH_MM ) ); - aMapMode.SetOrigin( aOldOriginMM + aObjectTopLeftMM ); - aMapMode.SetMapUnit( MAP_100TH_MM ); - pOutDev->SetMapMode(aMapMode); - - Rectangle aPaintRect( OutputDevice::LogicToLogic( rLogicObjectRect, aOldMapMode, aMapMode ) ); - pDrawViewWrapper->CompleteRedraw(pOutDev, Region(aPaintRect) ); - - pOutDev->SetMapMode(aOldMapMode); - } - catch( const uno::Exception & ex ) - { - ASSERT_EXCEPTION( ex ); - } - catch( ... ) - { - } - - return true; -} - -//----------------------------------------------------------------- -// ____ XUnoTunnel ___ -::sal_Int64 SAL_CALL ChartRenderer::getSomething( const Sequence< ::sal_Int8 >& aIdentifier ) - throw( uno::RuntimeException) -{ - if( aIdentifier.getLength() == 16 && 0 == memcmp( - ChartPrettyPainter::getUnoTunnelId().getConstArray(), - aIdentifier.getConstArray(), 16 ) ) - { - ChartPrettyPainter* pPaintableObject = this; - return reinterpret_cast<sal_Int64>(pPaintableObject); - } - return 0; -} - -//----------------------------------------------------------------- -// lang::XServiceInfo - -APPHELPER_XSERVICEINFO_IMPL(ChartRenderer,CHART_RENDERER_SERVICE_IMPLEMENTATION_NAME) - -Sequence< OUString > ChartRenderer::getSupportedServiceNames_Static() -{ - Sequence< OUString > aSNS; - return aSNS; -} - -//............................................................................. -} //namespace chart -//............................................................................. - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/inc/servicenames.hxx b/chart2/source/inc/servicenames.hxx index d96f96b2215d..9c7074f2b89b 100644 --- a/chart2/source/inc/servicenames.hxx +++ b/chart2/source/inc/servicenames.hxx @@ -52,8 +52,6 @@ namespace chart #define CHART_ACCESSIBLE_TEXT_IMPLEMENTATION_NAME ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.AccessibleTextComponent" )) #define CHART_ACCESSIBLE_TEXT_SERVICE_NAME ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.accessibility.AccessibleTextComponent" )) -#define CHART_RENDERER_SERVICE_IMPLEMENTATION_NAME ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.chart2.ChartRenderer" )) - //............................................................................. } //namespace chart //............................................................................. |