Kaydet (Commit) d1310b76 authored tarafından Armin Le Grand's avatar Armin Le Grand Kaydeden (comit) Caolán McNamara

Related: #i121532# unified processor2d usages from other modules

(cherry picked from commit f371f92c)

Conflicts:
	drawinglayer/Library_drawinglayer.mk
	drawinglayer/Package_inc.mk
	drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx
	drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx
	drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
	drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx
	drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx
	drawinglayer/source/processor2d/processor2dtools.cxx
	svx/Package_inc.mk
	svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
	svx/source/sdr/contact/objectcontactofpageview.cxx
	svx/source/sdr/overlay/overlaymanager.cxx
	svx/source/sdr/overlay/overlayprimitive2dsequenceobject.cxx
	svx/source/svdraw/svdedxv.cxx
	sw/source/core/doc/notxtfrm.cxx

Change-Id: Iea4a79133f4375cb0625b187eeb3d727b50ff0fe

Related: #i121532# missing defaultprocessor3d.hxx breaks build

Revision 1440387 changed defaultprocessor3d.hxx to be no longer "delivered".
It is needed in svx by being included indirectly via cutfindprocessor3d.hxx.
Fixing the build breaker by "delivering" the missing header file again.

(cherry picked from commit 3bd3ea81)

Conflicts:
	drawinglayer/Package_inc.mk

Change-Id: If0dcea79cfff4cf20a1ca1af3d0a34f86eb2e24e

Related: #i121532# removed include to no longer existing file

(cherry picked from commit a4c602d9)

Conflicts:
	sw/source/core/doc/notxtfrm.cxx

Change-Id: I7dc2f99684fa285225dfdcfc7add553695b8412e
üst a074ee05
......@@ -134,6 +134,7 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\
drawinglayer/source/primitive3d/textureprimitive3d \
drawinglayer/source/primitive3d/transformprimitive3d \
drawinglayer/source/processor2d/baseprocessor2d \
drawinglayer/source/processor2d/processor2dtools \
drawinglayer/source/processor2d/contourextractor2d \
drawinglayer/source/processor2d/getdigitlanguage \
drawinglayer/source/processor2d/helperwrongspellrenderer \
......
/*
* 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 <drawinglayer/processor2d/processor2dtools.hxx>
#include <drawinglayer/processor2d/vclpixelprocessor2d.hxx>
#include <drawinglayer/processor2d/vclmetafileprocessor2d.hxx>
//////////////////////////////////////////////////////////////////////////////
using namespace com::sun::star;
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace processor2d
{
BaseProcessor2D* createPixelProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D)
{
// create Pixel Vcl-Processor
return new VclPixelProcessor2D(rViewInformation2D, rTargetOutDev);
}
BaseProcessor2D* createProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D)
{
const GDIMetaFile* pMetaFile = rTargetOutDev.GetConnectMetaFile();
const bool bOutputToRecordingMetaFile(pMetaFile && pMetaFile->IsRecord() && !pMetaFile->IsPause());
if(bOutputToRecordingMetaFile)
{
// create MetaFile Vcl-Processor and process
return new VclMetafileProcessor2D(rViewInformation2D, rTargetOutDev);
}
else
{
// create Pixel Vcl-Processor
return createPixelProcessor2DFromOutputDevice(
rTargetOutDev,
rViewInformation2D);
}
}
} // end of namespace processor2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
......@@ -19,10 +19,10 @@
#include <drawinglayer/tools/converters.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <drawinglayer/processor2d/vclpixelprocessor2d.hxx>
#include <drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <vcl/virdev.hxx>
#ifdef DBG_UTIL
......@@ -36,7 +36,7 @@ namespace drawinglayer
{
namespace tools
{
BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx(
BitmapEx convertToBitmapEx(
const drawinglayer::primitive2d::Primitive2DSequence& rSeq,
const geometry::ViewInformation2D& rViewInformation2D,
sal_uInt32 nDiscreteWidth,
......@@ -81,11 +81,15 @@ namespace drawinglayer
maContent.SetBackground(Wallpaper(Color(COL_WHITE)));
maContent.Erase();
// create processor
processor2d::VclPixelProcessor2D aContentProcessor(aViewInformation2D, maContent);
// create pixel processor
processor2d::BaseProcessor2D* pContentProcessor = processor2d::createPixelProcessor2DFromOutputDevice(
maContent,
aViewInformation2D);
if(pContentProcessor)
{
// render content
aContentProcessor.process(aSequence);
pContentProcessor->process(aSequence);
// get content
maContent.EnableMapMode(false);
......@@ -109,7 +113,8 @@ namespace drawinglayer
const primitive2d::Primitive2DSequence xSeq(&xRef, 1);
// render
aContentProcessor.process(xSeq);
pContentProcessor->process(xSeq);
delete pContentProcessor;
// get alpha cahannel from vdev
maContent.EnableMapMode(false);
......@@ -118,6 +123,7 @@ namespace drawinglayer
// create BitmapEx result
aRetval = BitmapEx(aContent, aAlphaMask);
}
}
#ifdef DBG_UTIL
static bool bDoSaveForVisualControl(false);
......
/*
* 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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
#include <drawinglayer/drawinglayerdllapi.h>
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
//////////////////////////////////////////////////////////////////////////////
// predefines
class OutputDevice;
//////////////////////////////////////////////////////////////////////////////
namespace drawinglayer
{
namespace processor2d
{
/** create the best available pixel based BaseProcessor2D
(which may be system-dependent)
@param rTargetOutDev
The target OutputDevice
@param rViewInformation2D
The ViewInformation to use
@return
the created BaseProcessor2D (ownership change) or null if
something went wrong
*/
DRAWINGLAYER_DLLPUBLIC BaseProcessor2D* createPixelProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
/** create a BaseProcessor2D dependent on some states of the
given OutputDevice. If metafile is recorded, the needed
VclMetafileProcessor2D will be created. If a pixel renderer
is requested, the best one is incarnated
@param rTargetOutDev
The target OutputDevice
@param rViewInformation2D
The ViewInformation to use
@return
the created BaseProcessor2D (ownership change) or null if
something went wrong
*/
DRAWINGLAYER_DLLPUBLIC BaseProcessor2D* createProcessor2DFromOutputDevice(
OutputDevice& rTargetOutDev,
const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
} // end of namespace processor2d
} // end of namespace drawinglayer
//////////////////////////////////////////////////////////////////////////////
#endif //INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
// eof
......@@ -69,7 +69,7 @@ namespace drawinglayer
and the extra-data added to it (which can be seen mostly as 'extensions'
or simply as 'hacks').
*/
class DRAWINGLAYER_DLLPUBLIC VclMetafileProcessor2D : public VclProcessor2D
class VclMetafileProcessor2D : public VclProcessor2D
{
private:
/// local helper(s)
......
......@@ -37,7 +37,7 @@ namespace drawinglayer
all feeded primitives to a VCL Window. It is the currently used renderer
for all VCL editing output from the DrawingLayer.
*/
class DRAWINGLAYER_DLLPUBLIC VclPixelProcessor2D : public VclProcessor2D
class VclPixelProcessor2D : public VclProcessor2D
{
private:
protected:
......
......@@ -66,7 +66,7 @@ namespace drawinglayer
This processor is the base class for VCL-Based processors. It has no
processBasePrimitive2D implementation and thus is not usable directly.
*/
class DRAWINGLAYER_DLLPUBLIC VclProcessor2D : public BaseProcessor2D
class VclProcessor2D : public BaseProcessor2D
{
protected:
// the destination OutDev
......
......@@ -71,7 +71,7 @@ namespace drawinglayer
rasterconvertB3DPolyPolygon for filled geometry is called. It is a beseclass to
e.g. base a Z-Buffer supported renderer on the 3D primitive processing.
*/
class DRAWINGLAYER_DLLPUBLIC DefaultProcessor3D : public BaseProcessor3D
class DefaultProcessor3D : public BaseProcessor3D
{
protected:
/// read-only scene infos (normal handling, etc...)
......
......@@ -58,7 +58,7 @@ namespace drawinglayer
raster bitmap using a Z-Buffer based approach. It is able to supersample and to handle
transparent content.
*/
class DRAWINGLAYER_DLLPUBLIC ZBufferProcessor3D : public DefaultProcessor3D
class ZBufferProcessor3D : public DefaultProcessor3D
{
private:
/// the raster target, a Z-Buffer
......
......@@ -24,9 +24,8 @@
#include <svx/svdobj.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
#include <svx/svdmodel.hxx>
#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
......@@ -128,9 +127,9 @@ namespace sdr
// if there is something to show, use a vclProcessor to render it
if(xPrimitiveSequence.hasElements())
{
drawinglayer::processor2d::BaseProcessor2D* pProcessor2D =
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
*pTargetDevice, getViewInformation2D());
drawinglayer::processor2d::BaseProcessor2D* pProcessor2D = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
*pTargetDevice,
getViewInformation2D());
if(pProcessor2D)
{
......
......@@ -29,11 +29,10 @@
#include <svx/sdr/event/eventhandler.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/sdrpaintwindow.hxx>
#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
......@@ -240,7 +239,7 @@ namespace sdr
// if there is something to show, use a primitive processor to render it. There
// is a choice between VCL and Canvas processors currently. The decision is made in
// createBaseProcessor2DFromOutputDevice and takes into accout things like the
// createProcessor2DFromOutputDevice and takes into accout things like the
// Target is a MetaFile, a VDev or something else. The Canvas renderer is triggered
// currently using the shown boolean. Canvas is not yet the default.
if(xPrimitiveSequence.hasElements())
......@@ -251,7 +250,7 @@ namespace sdr
// create renderer
drawinglayer::processor2d::BaseProcessor2D* pProcessor2D =
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rTargetOutDev, getViewInformation2D());
if(pProcessor2D)
......
......@@ -25,8 +25,7 @@
#include <vcl/window.hxx>
#include <svx/sdr/overlay/overlayobject.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <drawinglayer/processor2d/processor2dtools.hxx>
//////////////////////////////////////////////////////////////////////////////
......@@ -48,8 +47,7 @@ namespace sdr
const bool bIsAntiAliasing(getDrawinglayerOpt().IsAntiAliasing());
// create processor
drawinglayer::processor2d::BaseProcessor2D* pProcessor =
::drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
drawinglayer::processor2d::BaseProcessor2D* pProcessor = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rDestinationDevice,
getCurrentViewInformation2D());
......
......@@ -20,8 +20,6 @@
#include <svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <drawinglayer/processor2d/vclpixelprocessor2d.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
//////////////////////////////////////////////////////////////////////////////
......
......@@ -59,8 +59,7 @@
#include <svx/sdrpaintwindow.hxx>
#include <svx/sdrundomanager.hxx>
#include <svx/sdr/overlay/overlaytools.hxx>
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <drawinglayer/processor2d/processor2dtools.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
......@@ -343,8 +342,7 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang
{
// completely reworked to use primitives; this ensures same look and functionality
const drawinglayer::geometry::ViewInformation2D aViewInformation2D;
drawinglayer::processor2d::BaseProcessor2D* pProcessor = drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
drawinglayer::processor2d::BaseProcessor2D* pProcessor = drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rTargetDevice,
aViewInformation2D);
......
......@@ -64,16 +64,14 @@
#include <accessibilityoptions.hxx>
#include <com/sun/star/embed/EmbedMisc.hpp>
#include <com/sun/star/embed/EmbedStates.hpp>
#include <svtools/embedhlp.hxx>
#include <svx/charthelper.hxx>
#include <dview.hxx> // #i99665#
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
#include <drawinglayer/processor2d/baseprocessor2d.hxx>
#include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <drawinglayer/processor2d/processor2dtools.hxx>
using namespace com::sun::star;
......@@ -762,7 +760,7 @@ bool paintUsingPrimitivesHelper(
// get a primitive processor for rendering
drawinglayer::processor2d::BaseProcessor2D* pProcessor2D =
drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rOutputDevice, aViewInformation2D);
if(pProcessor2D)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment