summaryrefslogtreecommitdiff
path: root/drawinglayer/inc
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-04-18 18:26:28 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-04-23 22:20:31 +0200
commitb9337e22ce1dbf2eba0e8c8db294ae99f4111f91 (patch)
tree53ee1bd3dfd213815a21579151983cb997922b05 /drawinglayer/inc
parentf4e1642a1761d5eab6ccdd89928869c2b2f1528a (diff)
execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/ and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
Diffstat (limited to 'drawinglayer/inc')
-rw-r--r--drawinglayer/inc/drawinglayer/XShapeDumper.hxx71
-rw-r--r--drawinglayer/inc/drawinglayer/animation/animationtiming.hxx141
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx84
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx107
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx98
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx98
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx85
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx85
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx76
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx87
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx96
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx83
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx87
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx91
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx90
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx99
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx82
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx75
-rw-r--r--drawinglayer/inc/drawinglayer/drawinglayerdllapi.h24
-rw-r--r--drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx181
-rw-r--r--drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx175
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx171
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx86
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx296
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx80
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx144
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx67
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx113
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx102
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx78
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx121
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx111
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx122
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx88
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx109
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx89
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx95
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx119
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx95
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx114
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx64
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx59
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx88
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx79
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx97
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx94
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx79
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx73
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx104
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx83
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx310
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx382
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx192
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx159
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx71
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx88
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx71
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx413
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx84
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx147
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx106
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx104
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx212
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx155
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx84
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx181
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx152
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx84
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx88
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx76
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx87
-rw-r--r--drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx92
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx213
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx55
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx86
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx66
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx69
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx129
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx108
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx83
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx69
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx98
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx137
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx129
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx147
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx81
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx88
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx80
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx84
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx230
-rw-r--r--drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx74
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx196
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx122
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx68
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx108
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx66
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx61
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx55
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx98
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx151
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx63
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx136
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx75
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx91
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx158
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx75
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx110
-rw-r--r--drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx113
-rw-r--r--drawinglayer/inc/drawinglayer/texture/texture.hxx260
-rw-r--r--drawinglayer/inc/drawinglayer/texture/texture3d.hxx159
-rw-r--r--drawinglayer/inc/drawinglayer/tools/converters.hxx47
116 files changed, 0 insertions, 13016 deletions
diff --git a/drawinglayer/inc/drawinglayer/XShapeDumper.hxx b/drawinglayer/inc/drawinglayer/XShapeDumper.hxx
deleted file mode 100644
index a1cd59948362..000000000000
--- a/drawinglayer/inc/drawinglayer/XShapeDumper.hxx
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License or as specified alternatively below. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * Major Contributor(s):
- * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
- *
- * All Rights Reserved.
- *
- * For minor contributions see the git repository.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
- */
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <com/sun/star/drawing/XShapes.hpp>
-#include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/drawing/FillStyle.hpp>
-#include <com/sun/star/awt/Gradient.hpp>
-#include <com/sun/star/drawing/Hatch.hpp>
-#include <com/sun/star/awt/XBitmap.hpp>
-#include <com/sun/star/drawing/RectanglePoint.hpp>
-#include <com/sun/star/drawing/BitmapMode.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-
-#include <com/sun/star/drawing/LineStyle.hpp>
-#include <com/sun/star/drawing/LineDash.hpp>
-#include <com/sun/star/drawing/LineJoint.hpp>
-#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
-
-#include <com/sun/star/drawing/PolygonKind.hpp>
-
-#include <com/sun/star/drawing/TextFitToSizeType.hpp>
-#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
-#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
-#include <com/sun/star/drawing/TextAnimationDirection.hpp>
-#include <com/sun/star/drawing/TextAnimationKind.hpp>
-#include <com/sun/star/text/WritingMode.hpp>
-
-#include <com/sun/star/drawing/HomogenMatrixLine3.hpp>
-#include <com/sun/star/drawing/HomogenMatrix3.hpp>
-
-#include <com/sun/star/beans/PropertyValue.hpp>
-
-#ifndef XShapeDumper_hxx
-#define XShapeDumper_hxx
-
-class DRAWINGLAYER_DLLPUBLIC XShapeDumper
-{
-
-public:
- XShapeDumper();
- OUString dump(com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> xPageShapes);
-
-};
-#endif
diff --git a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx b/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx
deleted file mode 100644
index 08ee95090f6c..000000000000
--- a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx
+++ /dev/null
@@ -1,141 +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 INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX
-#define INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace animation
- {
- //////////////////////////////////////////////////////////////////////////////
-
- class DRAWINGLAYER_DLLPUBLIC AnimationEntry
- {
- private:
- AnimationEntry(const AnimationEntry&);
- AnimationEntry& operator=(const AnimationEntry& rCandidate);
-
- public:
- AnimationEntry();
- virtual ~AnimationEntry();
- virtual AnimationEntry* clone() const = 0;
-
- virtual bool operator==(const AnimationEntry& rCandidate) const = 0;
- virtual double getDuration() const = 0;
- virtual double getStateAtTime(double fTime) const = 0;
- virtual double getNextEventTime(double fTime) const = 0;
- };
-
- //////////////////////////////////////////////////////////////////////////////
-
- class DRAWINGLAYER_DLLPUBLIC AnimationEntryFixed : public AnimationEntry
- {
- protected:
- double mfDuration;
- double mfState;
-
- public:
- AnimationEntryFixed(double fDuration, double fState = 0.0);
- virtual ~AnimationEntryFixed();
- virtual AnimationEntry* clone() const;
-
- virtual bool operator==(const AnimationEntry& rCandidate) const;
- virtual double getDuration() const;
- virtual double getStateAtTime(double fTime) const;
- virtual double getNextEventTime(double fTime) const;
- };
-
- //////////////////////////////////////////////////////////////////////////////
-
- class DRAWINGLAYER_DLLPUBLIC AnimationEntryLinear : public AnimationEntry
- {
- protected:
- double mfDuration;
- double mfFrequency;
- double mfStart;
- double mfStop;
-
- public:
- AnimationEntryLinear(double fDuration, double fFrequency = 250.0, double fStart = 0.0, double fStop = 1.0);
- virtual ~AnimationEntryLinear();
- virtual AnimationEntry* clone() const;
-
- virtual bool operator==(const AnimationEntry& rCandidate) const;
- virtual double getDuration() const;
- virtual double getStateAtTime(double fTime) const;
- virtual double getNextEventTime(double fTime) const;
- };
-
- //////////////////////////////////////////////////////////////////////////////
-
- class DRAWINGLAYER_DLLPUBLIC AnimationEntryList : public AnimationEntry
- {
- protected:
- double mfDuration;
- ::std::vector< AnimationEntry* > maEntries;
-
- // helpers
- sal_uInt32 impGetIndexAtTime(double fTime, double &rfAddedTime) const;
-
- public:
- AnimationEntryList();
- virtual ~AnimationEntryList();
- virtual AnimationEntry* clone() const;
-
- virtual bool operator==(const AnimationEntry& rCandidate) const;
- void append(const AnimationEntry& rCandidate);
- virtual double getDuration() const;
- virtual double getStateAtTime(double fTime) const;
- virtual double getNextEventTime(double fTime) const;
- };
-
- //////////////////////////////////////////////////////////////////////////////
-
- class DRAWINGLAYER_DLLPUBLIC AnimationEntryLoop : public AnimationEntryList
- {
- protected:
- sal_uInt32 mnRepeat;
-
- public:
- AnimationEntryLoop(sal_uInt32 nRepeat = 0xffffffff);
- virtual ~AnimationEntryLoop();
- virtual AnimationEntry* clone() const;
-
- virtual bool operator==(const AnimationEntry& rCandidate) const;
- virtual double getDuration() const;
- virtual double getStateAtTime(double fTime) const;
- virtual double getNextEventTime(double fTime) const;
- };
-
- //////////////////////////////////////////////////////////////////////////////
- } // end of namespace animation
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx
deleted file mode 100644
index 851dc5ed0697..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx
+++ /dev/null
@@ -1,84 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-class BitmapEx;
-
-namespace basegfx {
- class B2DPoint;
- class B2DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpFillBitmapAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC FillBitmapAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpFillBitmapAttribute > ImplType;
-
- private:
- ImplType mpFillBitmapAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- FillBitmapAttribute(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DPoint& rTopLeft,
- const basegfx::B2DVector& rSize,
- bool bTiling);
- FillBitmapAttribute(const FillBitmapAttribute& rCandidate);
- FillBitmapAttribute& operator=(const FillBitmapAttribute& rCandidate);
- ~FillBitmapAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const FillBitmapAttribute& rCandidate) const;
-
- // data read access
- const BitmapEx& getBitmapEx() const;
- const basegfx::B2DPoint& getTopLeft() const;
- const basegfx::B2DVector& getSize() const;
- bool getTiling() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx
deleted file mode 100644
index e791193651a0..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx
+++ /dev/null
@@ -1,107 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpFillGradientAttribute;
-}}
-
-
-namespace drawinglayer
-{
- namespace attribute
- {
- enum GradientStyle
- {
- GRADIENTSTYLE_LINEAR,
- GRADIENTSTYLE_AXIAL,
- GRADIENTSTYLE_RADIAL,
- GRADIENTSTYLE_ELLIPTICAL,
- GRADIENTSTYLE_SQUARE,
- GRADIENTSTYLE_RECT
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC FillGradientAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpFillGradientAttribute > ImplType;
-
- private:
- ImplType mpFillGradientAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- FillGradientAttribute(
- GradientStyle eStyle,
- double fBorder,
- double fOffsetX,
- double fOffsetY,
- double fAngle,
- const basegfx::BColor& rStartColor,
- const basegfx::BColor& rEndColor,
- sal_uInt16 nSteps);
- FillGradientAttribute();
- FillGradientAttribute(const FillGradientAttribute& rCandidate);
- FillGradientAttribute& operator=(const FillGradientAttribute& rCandidate);
- ~FillGradientAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const FillGradientAttribute& rCandidate) const;
-
- // data read access
- GradientStyle getStyle() const;
- double getBorder() const;
- double getOffsetX() const;
- double getOffsetY() const;
- double getAngle() const;
- const basegfx::BColor& getStartColor() const;
- const basegfx::BColor& getEndColor() const;
- sal_uInt16 getSteps() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
deleted file mode 100644
index 7e6244be090b..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
+++ /dev/null
@@ -1,98 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpFillHatchAttribute;
-}}
-
-
-namespace drawinglayer
-{
- namespace attribute
- {
- enum HatchStyle
- {
- HATCHSTYLE_SINGLE,
- HATCHSTYLE_DOUBLE,
- HATCHSTYLE_TRIPLE
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC FillHatchAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpFillHatchAttribute > ImplType;
-
- private:
- ImplType mpFillHatchAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- FillHatchAttribute(
- HatchStyle eStyle,
- double fDistance,
- double fAngle,
- const basegfx::BColor& rColor,
- bool bFillBackground);
- FillHatchAttribute();
- FillHatchAttribute(const FillHatchAttribute& rCandidate);
- FillHatchAttribute& operator=(const FillHatchAttribute& rCandidate);
- ~FillHatchAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const FillHatchAttribute& rCandidate) const;
-
- // data read access
- HatchStyle getStyle() const;
- double getDistance() const;
- double getAngle() const;
- const basegfx::BColor& getColor() const;
- bool isFillBackground() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
deleted file mode 100644
index b49ab83b300e..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
+++ /dev/null
@@ -1,98 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-class String;
-
-namespace drawinglayer { namespace attribute {
- class ImpFontAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- /** FontAttribute class
-
- This attribute class is able to hold all parameters needed/used
- to completely define the parametrisation of a text portion.
- */
- class DRAWINGLAYER_DLLPUBLIC FontAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpFontAttribute > ImplType;
-
- private:
- ImplType mpFontAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- /// TODO: pair kerning and CJK kerning
- FontAttribute(
- const String& rFamilyName,
- const String& rStyleName,
- sal_uInt16 nWeight,
- bool bSymbol = false,
- bool bVertical = false,
- bool bItalic = false,
- bool bMonospaced = false,
- bool bOutline = false,
- bool bRTL = false,
- bool bBiDiStrong = false);
- FontAttribute();
- FontAttribute(const FontAttribute& rCandidate);
- FontAttribute& operator=(const FontAttribute& rCandidate);
- ~FontAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const FontAttribute& rCandidate) const;
-
- /// data read access
- const String& getFamilyName() const;
- const String& getStyleName() const;
- sal_uInt16 getWeight() const;
- bool getSymbol() const;
- bool getVertical() const;
- bool getItalic() const;
- bool getOutline() const;
- bool getRTL() const;
- bool getBiDiStrong() const;
- bool getMonospaced() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx
deleted file mode 100644
index 58eb987714e3..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx
+++ /dev/null
@@ -1,85 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <basegfx/vector/b2enums.hxx>
-#include <com/sun/star/drawing/LineCap.hpp>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpLineAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC LineAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpLineAttribute > ImplType;
-
- private:
- ImplType mpLineAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- explicit LineAttribute(
- const basegfx::BColor& rColor,
- double fWidth = 0.0,
- basegfx::B2DLineJoin aB2DLineJoin = basegfx::B2DLINEJOIN_ROUND,
- com::sun::star::drawing::LineCap aLineCap = com::sun::star::drawing::LineCap_BUTT);
- LineAttribute();
- LineAttribute(const LineAttribute& rCandidate);
- LineAttribute& operator=(const LineAttribute& rCandidate);
- ~LineAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const LineAttribute& rCandidate) const;
-
- // data read access
- const basegfx::BColor& getColor() const;
- double getWidth() const;
- basegfx::B2DLineJoin getLineJoin() const;
- com::sun::star::drawing::LineCap getLineCap() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx
deleted file mode 100644
index e02d3565aaf7..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class B2DPolyPolygon;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpLineStartEndAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC LineStartEndAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpLineStartEndAttribute > ImplType;
-
- private:
- ImplType mpLineStartEndAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- LineStartEndAttribute(
- double fWidth,
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- bool bCentered);
- LineStartEndAttribute();
- LineStartEndAttribute(const LineStartEndAttribute& rCandidate);
- LineStartEndAttribute& operator=(const LineStartEndAttribute& rCandidate);
- ~LineStartEndAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const LineStartEndAttribute& rCandidate) const;
-
- // data read access
- double getWidth() const;
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const;
- bool isCentered() const;
- bool isActive() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx
deleted file mode 100644
index 9c4d34dce155..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx
+++ /dev/null
@@ -1,85 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace attribute {
- class ImpMaterialAttribute3D;
-}}
-
-namespace basegfx {
- class BColor;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC MaterialAttribute3D
- {
- public:
- typedef o3tl::cow_wrapper< ImpMaterialAttribute3D > ImplType;
-
- private:
- ImplType mpMaterialAttribute3D;
-
- public:
- // constructors/destructor
- MaterialAttribute3D(
- const basegfx::BColor& rColor,
- const basegfx::BColor& rSpecular,
- const basegfx::BColor& rEmission,
- sal_uInt16 nSpecularIntensity);
- MaterialAttribute3D(const basegfx::BColor& rColor);
- MaterialAttribute3D();
- MaterialAttribute3D(const MaterialAttribute3D& rCandidate);
- ~MaterialAttribute3D();
-
- // assignment operator
- MaterialAttribute3D& operator=(const MaterialAttribute3D& rCandidate);
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const MaterialAttribute3D& rCandidate) const;
-
- // data read access
- const basegfx::BColor& getColor() const;
- const basegfx::BColor& getSpecular() const;
- const basegfx::BColor& getEmission() const;
- sal_uInt16 getSpecularIntensity() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx
deleted file mode 100644
index abd46bf273fe..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx
+++ /dev/null
@@ -1,76 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/attribute/sdrlineattribute.hxx>
-#include <drawinglayer/attribute/sdrfillattribute.hxx>
-#include <drawinglayer/attribute/sdrlinestartendattribute.hxx>
-#include <drawinglayer/attribute/sdrshadowattribute.hxx>
-#include <drawinglayer/attribute/fillgradientattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrLineFillShadowAttribute3D
- {
- private:
- const SdrLineAttribute maLine;
- const SdrFillAttribute maFill;
- const SdrLineStartEndAttribute maLineStartEnd;
- const SdrShadowAttribute maShadow;
- const FillGradientAttribute maFillFloatTransGradient;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrLineFillShadowAttribute3D(
- const SdrLineAttribute& rLine,
- const SdrFillAttribute& rFill,
- const SdrLineStartEndAttribute& rLineStartEnd,
- const SdrShadowAttribute& rShadow,
- const FillGradientAttribute& rFillFloatTransGradient);
- SdrLineFillShadowAttribute3D();
-
- // compare operator
- bool operator==(const SdrLineFillShadowAttribute3D& rCandidate) const;
-
- // data read access
- const SdrLineAttribute& getLine() const { return maLine; }
- const SdrFillAttribute& getFill() const { return maFill; }
- const SdrLineStartEndAttribute& getLineStartEnd() const { return maLineStartEnd; }
- const SdrShadowAttribute& getShadow() const { return maShadow; }
- const FillGradientAttribute& getFillFloatTransGradient() const { return maFillFloatTransGradient; }
- };
- } // end of namespace overlay
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx
deleted file mode 100644
index 7fd3d38c224e..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx
+++ /dev/null
@@ -1,87 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrFillAttribute;
- class FillGradientAttribute;
- class FillHatchAttribute;
- class SdrFillBitmapAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrFillAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrFillAttribute > ImplType;
-
- private:
- ImplType mpSdrFillAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrFillAttribute(
- double fTransparence,
- const basegfx::BColor& rColor,
- const FillGradientAttribute& rGradient,
- const FillHatchAttribute& rHatch,
- const SdrFillBitmapAttribute& rBitmap);
- SdrFillAttribute();
- SdrFillAttribute(const SdrFillAttribute& rCandidate);
- SdrFillAttribute& operator=(const SdrFillAttribute& rCandidate);
- ~SdrFillAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrFillAttribute& rCandidate) const;
-
- // data read access
- double getTransparence() const;
- const basegfx::BColor& getColor() const;
- const FillGradientAttribute& getGradient() const;
- const FillHatchAttribute& getHatch() const;
- const SdrFillBitmapAttribute& getBitmap() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
deleted file mode 100644
index 78417f3577c9..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
+++ /dev/null
@@ -1,96 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-class BitmapEx;
-
-namespace basegfx {
- class B2DRange;
- class B2DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class FillBitmapAttribute;
- class ImpSdrFillBitmapAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrFillBitmapAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrFillBitmapAttribute > ImplType;
-
- private:
- ImplType mpSdrFillBitmapAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrFillBitmapAttribute(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DVector& rSize,
- const basegfx::B2DVector& rOffset,
- const basegfx::B2DVector& rOffsetPosition,
- const basegfx::B2DVector& rRectPoint,
- bool bTiling,
- bool bStretch,
- bool bLogSize);
- SdrFillBitmapAttribute();
- SdrFillBitmapAttribute(const SdrFillBitmapAttribute& rCandidate);
- SdrFillBitmapAttribute& operator=(const SdrFillBitmapAttribute& rCandidate);
- ~SdrFillBitmapAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrFillBitmapAttribute& rCandidate) const;
-
- // data read access
- const BitmapEx& getBitmapEx() const;
- const basegfx::B2DVector& getSize() const;
- const basegfx::B2DVector& getOffset() const;
- const basegfx::B2DVector& getOffsetPosition() const;
- const basegfx::B2DVector& getRectPoint() const;
- bool getTiling() const;
- bool getStretch() const;
-
- // FillBitmapAttribute generator
- FillBitmapAttribute getFillBitmapAttribute(const basegfx::B2DRange& rRange) const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx
deleted file mode 100644
index f9e35798cd3e..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx
+++ /dev/null
@@ -1,83 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
- class B3DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdr3DLightAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC Sdr3DLightAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdr3DLightAttribute > ImplType;
-
- private:
- ImplType mpSdr3DLightAttribute;
-
- public:
- // constructors/destructor
- Sdr3DLightAttribute(
- const basegfx::BColor& rColor,
- const basegfx::B3DVector& rDirection,
- bool bSpecular);
- explicit Sdr3DLightAttribute(const basegfx::BColor& rColor);
- Sdr3DLightAttribute(const Sdr3DLightAttribute& rCandidate);
- ~Sdr3DLightAttribute();
-
- // assignment operator
- Sdr3DLightAttribute& operator=(const Sdr3DLightAttribute& rCandidate);
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const Sdr3DLightAttribute& rCandidate) const;
-
- // data read access
- const basegfx::BColor& getColor() const;
- const basegfx::B3DVector& getDirection() const;
- bool getSpecular() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx
deleted file mode 100644
index 0c3bb96b9f70..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx
+++ /dev/null
@@ -1,87 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
- class B3DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrLightingAttribute;
- class Sdr3DLightAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrLightingAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrLightingAttribute > ImplType;
-
- private:
- ImplType mpSdrLightingAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrLightingAttribute(
- const basegfx::BColor& rAmbientLight,
- const ::std::vector< Sdr3DLightAttribute >& rLightVector);
- SdrLightingAttribute();
- SdrLightingAttribute(const SdrLightingAttribute& rCandidate);
- SdrLightingAttribute& operator=(const SdrLightingAttribute& rCandidate);
- ~SdrLightingAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrLightingAttribute& rCandidate) const;
-
- // data read access
- const ::std::vector< Sdr3DLightAttribute >& getLightVector() const;
-
- // color model solver
- basegfx::BColor solveColorModel(
- const basegfx::B3DVector& rNormalInEyeCoordinates,
- const basegfx::BColor& rColor, const basegfx::BColor& rSpecular,
- const basegfx::BColor& rEmission, sal_uInt16 nSpecularIntensity) const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx
deleted file mode 100644
index bedbd9f29bb9..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx
+++ /dev/null
@@ -1,91 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <basegfx/vector/b2enums.hxx>
-#include <com/sun/star/drawing/LineCap.hpp>
-#include <o3tl/cow_wrapper.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrLineAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrLineAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrLineAttribute > ImplType;
-
- private:
- ImplType mpSdrLineAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrLineAttribute(
- basegfx::B2DLineJoin eJoin,
- double fWidth,
- double fTransparence,
- const basegfx::BColor& rColor,
- com::sun::star::drawing::LineCap eCap,
- const ::std::vector< double >& rDotDashArray,
- double fFullDotDashLen);
- SdrLineAttribute();
- SdrLineAttribute(const SdrLineAttribute& rCandidate);
- SdrLineAttribute& operator=(const SdrLineAttribute& rCandidate);
- ~SdrLineAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrLineAttribute& rCandidate) const;
-
- // data access
- basegfx::B2DLineJoin getJoin() const;
- double getWidth() const;
- double getTransparence() const;
- const basegfx::BColor& getColor() const;
- const ::std::vector< double >& getDotDashArray() const;
- double getFullDotDashLen() const;
- com::sun::star::drawing::LineCap getCap() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx
deleted file mode 100644
index 19c1a5147db0..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx
+++ /dev/null
@@ -1,90 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class B2DPolyPolygon;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrLineStartEndAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrLineStartEndAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrLineStartEndAttribute > ImplType;
-
- private:
- ImplType mpSdrLineStartEndAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrLineStartEndAttribute(
- const basegfx::B2DPolyPolygon& rStartPolyPolygon,
- const basegfx::B2DPolyPolygon& rEndPolyPolygon,
- double fStartWidth,
- double fEndWidth,
- bool bStartActive,
- bool bEndActive,
- bool bStartCentered,
- bool bEndCentered);
- SdrLineStartEndAttribute();
- SdrLineStartEndAttribute(const SdrLineStartEndAttribute& rCandidate);
- SdrLineStartEndAttribute& operator=(const SdrLineStartEndAttribute& rCandidate);
- ~SdrLineStartEndAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrLineStartEndAttribute& rCandidate) const;
-
- // data read access
- const basegfx::B2DPolyPolygon& getStartPolyPolygon() const;
- const basegfx::B2DPolyPolygon& getEndPolyPolygon() const;
- double getStartWidth() const;
- double getEndWidth() const;
- bool isStartActive() const;
- bool isEndActive() const;
- bool isStartCentered() const;
- bool isEndCentered() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
deleted file mode 100644
index 860093a67666..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
+++ /dev/null
@@ -1,99 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <com/sun/star/drawing/NormalsKind.hpp>
-#include <com/sun/star/drawing/TextureProjectionMode.hpp>
-#include <com/sun/star/drawing/TextureKind2.hpp>
-#include <com/sun/star/drawing/TextureMode.hpp>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace attribute {
- class ImpSdr3DObjectAttribute;
- class MaterialAttribute3D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC Sdr3DObjectAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdr3DObjectAttribute > ImplType;
-
- private:
- ImplType mpSdr3DObjectAttribute;
-
- public:
- // constructors/destructor
- Sdr3DObjectAttribute(
- ::com::sun::star::drawing::NormalsKind aNormalsKind,
- ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionX,
- ::com::sun::star::drawing::TextureProjectionMode aTextureProjectionY,
- ::com::sun::star::drawing::TextureKind2 aTextureKind,
- ::com::sun::star::drawing::TextureMode aTextureMode,
- const MaterialAttribute3D& rMaterial,
- bool bNormalsInvert,
- bool bDoubleSided,
- bool bShadow3D,
- bool bTextureFilter,
- bool bReducedLineGeometry);
- Sdr3DObjectAttribute(const Sdr3DObjectAttribute& rCandidate);
- ~Sdr3DObjectAttribute();
-
- // assignment operator
- Sdr3DObjectAttribute& operator=(const Sdr3DObjectAttribute& rCandidate);
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const Sdr3DObjectAttribute& rCandidate) const;
-
- // data read access
- ::com::sun::star::drawing::NormalsKind getNormalsKind() const;
- ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionX() const;
- ::com::sun::star::drawing::TextureProjectionMode getTextureProjectionY() const;
- ::com::sun::star::drawing::TextureKind2 getTextureKind() const;
- ::com::sun::star::drawing::TextureMode getTextureMode() const;
- const MaterialAttribute3D& getMaterial() const;
- bool getNormalsInvert() const;
- bool getDoubleSided() const;
- bool getShadow3D() const;
- bool getTextureFilter() const;
- bool getReducedLineGeometry() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx
deleted file mode 100644
index 61d4d8a67378..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx
+++ /dev/null
@@ -1,82 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <com/sun/star/drawing/ProjectionMode.hpp>
-#include <com/sun/star/drawing/ShadeMode.hpp>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrSceneAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrSceneAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrSceneAttribute > ImplType;
-
- private:
- ImplType mpSdrSceneAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrSceneAttribute(
- double fDistance,
- double fShadowSlant,
- ::com::sun::star::drawing::ProjectionMode aProjectionMode,
- ::com::sun::star::drawing::ShadeMode aShadeMode,
- bool bTwoSidedLighting);
- SdrSceneAttribute();
- SdrSceneAttribute(const SdrSceneAttribute& rCandidate);
- SdrSceneAttribute& operator=(const SdrSceneAttribute& rCandidate);
- ~SdrSceneAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrSceneAttribute& rCandidate) const;
-
- // data read access
- double getShadowSlant() const;
- ::com::sun::star::drawing::ProjectionMode getProjectionMode() const;
- ::com::sun::star::drawing::ShadeMode getShadeMode() const;
- bool getTwoSidedLighting() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx
deleted file mode 100644
index ee1f36292505..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BColor;
- class B2DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class ImpSdrShadowAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC SdrShadowAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpSdrShadowAttribute > ImplType;
-
- private:
- ImplType mpSdrShadowAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- SdrShadowAttribute(
- const basegfx::B2DVector& rOffset,
- double fTransparence,
- const basegfx::BColor& rColor);
- SdrShadowAttribute();
- SdrShadowAttribute(const SdrShadowAttribute& rCandidate);
- SdrShadowAttribute& operator=(const SdrShadowAttribute& rCandidate);
- ~SdrShadowAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const SdrShadowAttribute& rCandidate) const;
-
- // data access
- const basegfx::B2DVector& getOffset() const;
- double getTransparence() const;
- const basegfx::BColor& getColor() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx
deleted file mode 100644
index 6d4cea978482..000000000000
--- a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx
+++ /dev/null
@@ -1,75 +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 INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX
-#define INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <o3tl/cow_wrapper.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace attribute {
- class ImpStrokeAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace attribute
- {
- class DRAWINGLAYER_DLLPUBLIC StrokeAttribute
- {
- public:
- typedef o3tl::cow_wrapper< ImpStrokeAttribute > ImplType;
-
- private:
- ImplType mpStrokeAttribute;
-
- public:
- /// constructors/assignmentoperator/destructor
- explicit StrokeAttribute(
- const ::std::vector< double >& rDotDashArray,
- double fFullDotDashLen = 0.0);
- StrokeAttribute();
- StrokeAttribute(const StrokeAttribute& rCandidate);
- StrokeAttribute& operator=(const StrokeAttribute& rCandidate);
- ~StrokeAttribute();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- // compare operator
- bool operator==(const StrokeAttribute& rCandidate) const;
-
- // data read access
- const ::std::vector< double >& getDotDashArray() const;
- double getFullDotDashLen() const;
- };
- } // end of namespace attribute
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h b/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h
deleted file mode 100644
index 0b3983504919..000000000000
--- a/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h
+++ /dev/null
@@ -1,24 +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/.
- */
-
-#ifndef INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H
-#define INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H
-
-#include <sal/types.h>
-
-#if defined(DRAWINGLAYER_DLLIMPLEMENTATION)
-#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
-#else
-#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
-#endif
-#define DRAWINGLAYER_DLLPRIVATE SAL_DLLPRIVATE
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx
deleted file mode 100644
index f8e0d6699448..000000000000
--- a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx
+++ /dev/null
@@ -1,181 +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 INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX
-#define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-// the solaris compiler defines 'sun' as '1'. To avoid that (and to allow
-// pre-declarations of com/sun/star namespace), include sal/config.h here
-// where sun is redefined as 'sun' (so i guess the problem is known).
-#include <sal/config.h>
-#include <com/sun/star/uno/Sequence.h>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/drawing/XDrawPage.hpp>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace geometry {
- class ImpViewInformation2D;
-}}
-
-namespace basegfx {
- class B2DHomMatrix;
- class B2DRange;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace geometry
- {
- /** ViewInformation2D class
-
- This class holds all view-relevant information for a 2d geometry. It works
- together with UNO API definitions and supports holding a sequence of PropertyValues.
- The most used data is for convenience offered directly using basegfx tooling classes.
- It is an implementation to support the sequence of PropertyValues used in a
- ::com::sun::star::graphic::XPrimitive2D for C++ implementations working with those
- */
- class DRAWINGLAYER_DLLPUBLIC ViewInformation2D
- {
- public:
- typedef o3tl::cow_wrapper< ImpViewInformation2D, o3tl::ThreadSafeRefCountingPolicy > ImplType;
-
- private:
- /// pointer to private implementation class
- ImplType mpViewInformation2D;
-
- public:
- /** Constructor: Create a ViewInformation2D
-
- @param rObjectTransformation
- The Transformation from Object to World coordinates (normally logic coordinates).
-
- @param rViewTransformation
- The Transformation from World to View coordinates (normally logic coordinates
- to discrete units, e.g. pixels).
-
- @param rViewport
- The visible part of the view in World coordinates. If empty (getViewport().isEmpty())
- everything is visible. The data is in World coordinates.
-
- @param rxDrawPage
- The currently displaqyed page. This information is needed e.g. due to existing PageNumber
- fields which need to be interpreted.
-
- @param fViewTime
- The time the view is defined for. Default is 0.0. This parameter is used e.g. for
- animated objects
-
- @param rExtendedParameters
- A sequence of property values which allows holding various other parameters besides
- the obvious and needed ones above. For this constructor none of the other parameters
- should be added as data. The constructor will parse the given parameters and if
- data for the other parameters is given, the value in rExtendedParameters will
- be preferred and overwrite the given parameter
- */
- ViewInformation2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- const basegfx::B2DHomMatrix& rViewTransformation,
- const basegfx::B2DRange& rViewport,
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& rxDrawPage,
- double fViewTime,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rExtendedParameters);
-
- /** Constructor: Create a ViewInformation2D
-
- @param rViewParameters
- A sequence of property values which allows holding any combination of local and various
- other parameters. This constructor is feeded completely with a sequence of PropertyValues
- which will be parsed to be able to offer the most used ones in a convenient way.
- */
- explicit ViewInformation2D(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters);
-
- /// default (empty) constructor
- ViewInformation2D();
-
- /// copy constructor
- ViewInformation2D(const ViewInformation2D& rCandidate);
-
- /// destructor
- ~ViewInformation2D();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- /// assignment operator
- ViewInformation2D& operator=(const ViewInformation2D& rCandidate);
-
- /// compare operators
- bool operator==(const ViewInformation2D& rCandidate) const;
- bool operator!=(const ViewInformation2D& rCandidate) const { return !operator==(rCandidate); }
-
- /// data access
- const basegfx::B2DHomMatrix& getObjectTransformation() const;
- const basegfx::B2DHomMatrix& getViewTransformation() const;
- const basegfx::B2DRange& getViewport() const;
- double getViewTime() const;
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& getVisualizedPage() const;
-
- /// On-demand prepared Object to View transformation and it's inerse for convenience
- const basegfx::B2DHomMatrix& getObjectToViewTransformation() const;
- const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const;
-
- /// On-demand prepared Viewport in discrete units for convenience
- const basegfx::B2DRange& getDiscreteViewport() const;
-
- /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This
- is used e.g. to allow to lower display quality for OverlayPrimitives and
- may lead to simpler decompositions in the local create2DDecomposition
- implementations of the primitives
- */
- bool getReducedDisplayQuality() const;
-
- /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation
-
- Use this call if You need to extract all contained ViewInformation. The ones
- directly supported for convenience will be added to the ones only available
- as PropertyValues. This set completely describes this ViewInformation2D and
- can be used for complete information transport over UNO API.
- */
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getViewInformationSequence() const;
-
- /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation
- not offered directly
-
- Use this call if You only need ViewInformation which is not offered conveniently,
- but only exists as PropertyValue. This is e.g. used to create partially updated
- incarnations of ViewInformation2D without losing the only with PropertyValues
- defined data. It does not contain a complete description.
- */
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getExtendedInformationSequence() const;
- };
- } // end of namespace geometry
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx
deleted file mode 100644
index 86c9a2c16296..000000000000
--- a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx
+++ /dev/null
@@ -1,175 +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 INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX
-#define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-// the solaris compiler defines 'sun' as '1'. To avoid that (and to allow
-// pre-declarations of com/sun/star namespace), include sal/config.h here
-// where sun is redefined as 'sun' (so i guess the problem is known).
-#include <sal/config.h>
-#include <com/sun/star/uno/Sequence.h>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <o3tl/cow_wrapper.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace geometry {
- class ImpViewInformation3D;
-}}
-
-namespace basegfx {
- class B3DHomMatrix;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace geometry
- {
- /** ViewInformation3D class
-
- This class holds all view-relevant information for a 3d geometry. It works
- together with UNO API definitions and supports holding a sequence of PropertyValues.
- The most used data is for convenience offered directly using basegfx tooling classes.
- It is an implementation to support the sequence of PropertyValues used in a
- ::com::sun::star::graphic::XPrimitive3D for C++ implementations working with those
- */
- class DRAWINGLAYER_DLLPUBLIC ViewInformation3D
- {
- public:
- typedef o3tl::cow_wrapper< ImpViewInformation3D, o3tl::ThreadSafeRefCountingPolicy > ImplType;
-
- private:
- /// pointer to private implementation class
- ImplType mpViewInformation3D;
-
- public:
- /** Constructor: Create a ViewInformation3D
-
- @param rObjectTransformation
- The Transformation from Object to World coordinates (normally logic coordinates).
-
- @param rOrientation
- A part of the 3D ViewTransformation, the World to Camera coordinates transformation
- which holds the camera coordinate system.
-
- @param rProjection
- A part of the 3D ViewTransformation, the Camera to Device transformation which
- transforms coordinates to a [0.0 .. 1.0] device range in X,Y and Z. Z may be used
- as source for for Z-Buffers. This transformation may be e.g. a parallell projection,
- but also a perspective one and thus may use the last line of the matrix.
-
- @param rDeviceToView
- A part of the 3D ViewTransformation, the Device to View transformation which normally
- translates and scales from [0.0 .. 1.0] range in X,Y and Z to discrete position and
- size.
-
- rOrientation, rProjection and rDeviceToView define the 3D transformation pipeline
- and are normally used multiplied together to have a direct transformation from
- World to View coordinates
-
- @param fViewTime
- The time the view is defined for. Default is 0.0. This parameter is used e.g. for
- animated objects
-
- @param rExtendedParameters
- A sequence of property values which allows holding various other parameters besides
- the obvious and needed ones above. For this constructor none of the other parameters
- should be added as data. The constructor will parse the given parameters and if
- data for the other parameters is given, the value in rExtendedParameters will
- be preferred and overwrite the given parameter
- */
- ViewInformation3D(
- const basegfx::B3DHomMatrix& rObjectTransformation,
- const basegfx::B3DHomMatrix& rOrientation,
- const basegfx::B3DHomMatrix& rProjection,
- const basegfx::B3DHomMatrix& rDeviceToView,
- double fViewTime,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rExtendedParameters);
-
- /** Constructor: Create a ViewInformation3D
-
- @param rViewParameters
- A sequence of property values which allows holding any combination of local and various
- other parameters. This constructor is feeded completely with a sequence of PropertyValues
- which will be parsed to be able to offer the most used ones in a convenient way.
- */
- explicit ViewInformation3D(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters);
-
- /// default (empty) constructor
- ViewInformation3D();
-
- /// copy constructor
- ViewInformation3D(const ViewInformation3D& rCandidate);
-
- /// destructor
- ~ViewInformation3D();
-
- // checks if the incarnation is default constructed
- bool isDefault() const;
-
- /// assignment operator
- ViewInformation3D& operator=(const ViewInformation3D& rCandidate);
-
- /// compare operators
- bool operator==(const ViewInformation3D& rCandidate) const;
- bool operator!=(const ViewInformation3D& rCandidate) const { return !operator==(rCandidate); }
-
- /// data access
- const basegfx::B3DHomMatrix& getObjectTransformation() const;
- const basegfx::B3DHomMatrix& getOrientation() const;
- const basegfx::B3DHomMatrix& getProjection() const;
- const basegfx::B3DHomMatrix& getDeviceToView() const;
- double getViewTime() const;
-
- /// for convenience, the linear combination of the above four transformations is offered
- const basegfx::B3DHomMatrix& getObjectToView() const;
-
- /** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation
-
- Use this call if You need to extract all contained ViewInformation. The ones
- directly supported for convenience will be added to the ones only available
- as PropertyValues. This set completely describes this ViewInformation3D and
- can be used for complete information transport over UNO API.
- */
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getViewInformationSequence() const;
-
- /** Get the uno::Sequence< beans::PropertyValue > which contains only ViewInformation
- not offered directly
-
- Use this call if You only need ViewInformation which is not offered conveniently,
- but only exists as PropertyValue. This is e.g. used to create partially updated
- incarnations of ViewInformation3D without losing the only with PropertyValues
- defined data. It does not contain a complete description.
- */
- const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& getExtendedInformationSequence() const;
- };
- } // end of namespace geometry
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx
deleted file mode 100644
index 59ee3225dc78..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx
+++ /dev/null
@@ -1,171 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/matrix/b2dhommatrixtools.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-namespace drawinglayer { namespace animation {
- class AnimationEntry;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** AnimatedSwitchPrimitive2D class
-
- This is the basic class for simple, animated primitives. The basic idea
- is to have an animation definition (AnimationEntry) who's basic
- functionality is to return a state value for any given animation time in
- the range of [0.0 .. 1.0]. Depending on the state, the decomposition
- calculates an index, which of the members of the child vector is to
- be visualized.
-
- An example: For blinking, the Child vector should exist of two entries;
- for values of [0.0 .. 0.5] the first, else the last entry will be used.
- This mechanism is not limited to two entries, though.
- */
- class DRAWINGLAYER_DLLPUBLIC AnimatedSwitchPrimitive2D : public GroupPrimitive2D
- {
- private:
- /**
- The animation definition which allows translation of a point in time
- to an animation state [0.0 .. 1.0]. This member contains a cloned
- definition and is owned by this implementation.
- */
- animation::AnimationEntry* mpAnimationEntry;
-
- /// bitfield
- /** flag if this is a text or graphic animation. Necessary since SdrViews need to differentiate
- between both types if they are on/off
- */
- unsigned mbIsTextAnimation : 1;
-
- public:
- /// constructor
- AnimatedSwitchPrimitive2D(
- const animation::AnimationEntry& rAnimationEntry,
- const Primitive2DSequence& rChildren,
- bool bIsTextAnimation);
-
- /// destructor - needed due to mpAnimationEntry
- virtual ~AnimatedSwitchPrimitive2D();
-
- /// data read access
- const animation::AnimationEntry& getAnimationEntry() const { return *mpAnimationEntry; }
- bool isTextAnimation() const { return mbIsTextAnimation; }
- bool isGraphicAnimation() const { return !isTextAnimation(); }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /** The getDecomposition is overloaded here since the decompose is dependent of the point in time,
- so the default implementation is nut useful here, it needs to be handled locally
- */
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** AnimatedBlinkPrimitive2D class
-
- Basically the same mechanism as in AnimatedSwitchPrimitive2D, but the
- decomposition is specialized in delivering the children in the
- range [0.0.. 0.5] and an empty sequence else
- */
- class DRAWINGLAYER_DLLPUBLIC AnimatedBlinkPrimitive2D : public AnimatedSwitchPrimitive2D
- {
- protected:
- public:
- /// constructor
- AnimatedBlinkPrimitive2D(
- const animation::AnimationEntry& rAnimationEntry,
- const Primitive2DSequence& rChildren,
- bool bIsTextAnimation);
-
- /// create local decomposition
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** AnimatedInterpolatePrimitive2D class
-
- Specialized on multi-step animations based on matrix transformations. The
- Child sequelce will be embedded in a matrix transformation. That transformation
- will be linearly combined from the decomposed values and the animation value
- to allow a smooth animation.
- */
- class DRAWINGLAYER_DLLPUBLIC AnimatedInterpolatePrimitive2D : public AnimatedSwitchPrimitive2D
- {
- private:
- /// the transformations
- std::vector< basegfx::tools::B2DHomMatrixBufferedDecompose > maMatrixStack;
-
- protected:
- public:
- /// constructor
- AnimatedInterpolatePrimitive2D(
- const std::vector< basegfx::B2DHomMatrix >& rmMatrixStack,
- const animation::AnimationEntry& rAnimationEntry,
- const Primitive2DSequence& rChildren,
- bool bIsTextAnimation);
-
- /// create local decomposition
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
deleted file mode 100644
index 3986aba3566b..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
+++ /dev/null
@@ -1,86 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// BackgroundColorPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BackgroundColorPrimitive2D class
-
- This primitive is defined to fill the whole visible Viewport with
- the given color (and thus decomposes to a filled polygon). This
- makes it a view-depnendent primitive by definition. It only has
- a valid decomposition if a valid Viewport is given in the
- ViewInformation2D at decomposition time.
-
- It will try to buffer it's last decomposition using maLastViewport
- to detect changes in the get2DDecomposition call.
- */
- class DRAWINGLAYER_DLLPUBLIC BackgroundColorPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the fill color to use
- basegfx::BColor maBColor;
-
- /// the last used viewInformation, used from getDecomposition for buffering
- basegfx::B2DRange maLastViewport;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- explicit BackgroundColorPrimitive2D(
- const basegfx::BColor& rBColor);
-
- /// data read access
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// Overload standard getDecomposition call to be view-dependent here
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
deleted file mode 100644
index 157c13bb33a8..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
+++ /dev/null
@@ -1,296 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <cppuhelper/compbase1.hxx>
-#include <boost/utility.hpp>
-#include <com/sun/star/graphic/XPrimitive2D.hpp>
-#include <comphelper/broadcasthelper.hxx>
-#include <basegfx/range/b2drange.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-/** defines for DeclPrimitrive2DIDBlock and ImplPrimitrive2DIDBlock
- Added to be able to simply change identification stuff later, e.g. add
- a identification string and/or ID to the interface and to the implementation
- ATM used to delclare implement getPrimitive2DID()
-*/
-
-#define DeclPrimitrive2DIDBlock() \
- virtual sal_uInt32 getPrimitive2DID() const;
-
-#define ImplPrimitrive2DIDBlock(TheClass, TheID) \
- sal_uInt32 TheClass::getPrimitive2DID() const { return TheID; }
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace geometry {
- class ViewInformation2D;
-}}
-
-namespace drawinglayer { namespace primitive2d {
- /// typedefs for basePrimitive2DImplBase, Primitive2DSequence and Primitive2DReference
- typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitive2D > BasePrimitive2DImplBase;
- typedef ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > Primitive2DReference;
- typedef ::com::sun::star::uno::Sequence< Primitive2DReference > Primitive2DSequence;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-// basePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BasePrimitive2D class
-
- Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D
-
- This class is strongly virtual due to the lack of getPrimitiveID() implementation.
- This is by purpose, this base class shall not be incarnated and be used directly as
- a XPrimitive2D.
-
- Is is derived from boost::noncopyable to make clear that a primitive is a read-only
- instance and copying or changing values is not intended. The idea is to hold all data
- needed for visualisation of this primitive in unchangeable form.
-
- It is derived from comphelper::OBaseMutex to have a Mutex at hand; in a base
- implementation this may not be needed, but e.g. when buffering at last decomposition
- in a local member, multiple threads may try to decompose at the same time, so locking
- is needed to avoid race conditions seen from the UNO object implementation.
-
- A method to get a simplified representation is provided by get2DDecomposition. The
- default implementation returns an empty sequence. The idea is that processors
- using this primitive and do not know it, may get the decomposition and process
- these instead. An example is e.g. a fat line, who's decomposition may contain
- the geometric representation of that line using filled polygon prmimitives. When
- the renderer knows how to handle fat lines, he may proccess this primitive directly;
- if not he can use the decomposition. With this functionality, renderers may operate by
- knowing only a small set of primitives.
-
- When a primitive does not implement get2DDecomposition, it is called a 'Basic Primitive' and
- belongs to the set of primitives which a processor should be able to handle. Practice
- will define this minimal sets of primitives. When defined and the concept is prooved,
- unique UNO APIs may be defined/implemented for these set to allow more intense work
- with primitives using UNO.
-
- Current Basic 2D Primitives are:
-
- - BitmapPrimitive2D (bitmap data, evtl. with transparence)
- - PointArrayPrimitive2D (single points)
- - PolygonHairlinePrimitive2D (hairline curves/polygons)
- - PolyPolygonColorPrimitive2D (colored polygons)
-
- UPDATE: MetafilePrimitive2D (VCL Metafile) is taken off this list since
- it is implemented with the integration of CWS aw078 into DV300m69.
-
- All other implemented primitives have a defined decomposition and can thus be
- decomposed down to this small set.
-
- A renderer implementing support for this minimal set of primitives can completely
- render primitive-based visualisations. Of course, he also has to take states into account
- which are representated by GroupPrimitive2D derivations, see groupprimitive2d.hxx
-
- To support getting the geometric BoundRect, getB2DRange is used. The default
- implementation will use the get2DDecomposition result and merge a range from the
- entries. Thus, an implementation is only necessary for the Basic Primitives, but
- of course speedups are possible (and are used) by implementing the method at higher-level
- primitives.
-
- For primitive identification, getPrimitiveID is used currently in this implementations
- to allow a fast switch/case processing. This needs a unique identifier mechanism which
- currently uses defines (see drawinglayer_primitivetypes2d.hxx). For UNO prmitive API
- it will be needed to add a unique descriptor (Name?) later to the API.
-
- This base implementation provides mappings from the methods from XPrimitive2D
- (getDecomposition/getRange) to the appropriate methods in the C++ implementations
- (get2DDecomposition/getB2DRange). The PropertyValue ViewParameters is converted to
- the appropriate C++ implementation class ViewInformation2D.
-
- This base class does not implement any buffering; e.g. buffering the decompositon
- and/or the range. These may be buffered anytime since the definition is that the primitive
- is read-only and thus unchangeable. This implies that the decomposition and/or getting
- the range will lead to the same result as last time, under the precondition that
- the parameter ViewInformation2D is the same as the last one. This is usually the case
- for view-independent primitives which are defined by not using ViewInformation2D
- in their get2DDecomposition/getB2DRange implementations.
- */
- class DRAWINGLAYER_DLLPUBLIC BasePrimitive2D
- : private boost::noncopyable,
- protected comphelper::OBaseMutex,
- public BasePrimitive2DImplBase
- {
- private:
- protected:
- public:
- // constructor/destructor
- BasePrimitive2D();
- virtual ~BasePrimitive2D();
-
- /** the ==operator is mainly needed to allow testing newly-created primitives against their last
- incarnation which buffers/holds the made decompositions. The default implementation
- uses getPrimitive2DID()-calls to test if it's the same ID at last. Overloaded implementation are then
- based on this implementation
- */
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
- bool operator!=( const BasePrimitive2D& rPrimitive ) const { return !operator==(rPrimitive); }
-
- /// The default implementation will use getDecomposition results to create the range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /** provide unique ID for fast identifying of known primitive implementations in renderers. These use
- the defines from drawinglayer_primitivetypes2d.hxx to define unique IDs.
- This method is normally defined using DeclPrimitrive2DIDBlock()
- */
- virtual sal_uInt32 getPrimitive2DID() const = 0;
-
- /// The default implementation will return an empty sequence
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- //
- // Methods from XPrimitive2D
- //
-
- /** The getDecomposition implementation for UNO API will use getDecomposition from this implementation. It
- will construct a ViewInformation2D from the ViewParameters for that purpose
- */
- virtual Primitive2DSequence SAL_CALL getDecomposition( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException );
-
- /** The getRange implementation for UNO API will use getRange from this implementation. It
- will construct a ViewInformation2D from the ViewParameters for that purpose
- */
- virtual ::com::sun::star::geometry::RealRectangle2D SAL_CALL getRange( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException );
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// BufferedDecompositionPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BufferedDecompositionPrimitive2D class
-
- Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D
- which want to buffer the decomoposition result
-
- Buffering the decomposition is the most-used buffering and is thus used my most
- primitive implementations which support a decomposition as base class.
-
- The buffering is done by holding the last decomposition in the local parameter
- maBuffered2DDecomposition. The default implementation of get2DDecomposition checks
- if maBuffered2DDecomposition is empty. If yes, it uses create2DDecomposition
- to create the content. In all cases, maBuffered2DDecomposition is returned.
-
- For view-dependent primitives derived from Primitive2DBufferDecomposition more needs
- to be done when the decomposition depends on parts of the parameter ViewInformation2D.
- This defines a standard method for processing these:
-
- Implement a view-dependent get2DDecomposition doing te following steps:
- (a) Locally extract needed parameters from ViewInformation2D to new, local parameters
- (this may be a complete local copy of ViewInformation2D)
- (b) If a buffered decomposition exists, ckeck if one of the new local parameters
- differs from the corresponding locally remembered (as member) ones. If yes,
- clear maBuffered2DDecomposition
- (d) call baseclass::get2DDecomposition which will use create2DDecomposition
- to fill maBuffered2DDecomposition if it's empty
- (e) copy the new local parameters to the corresponding locally remembered ones
- to identify if a new decomposition is needed at the next call
- (f) return maBuffered2DDecomposition
- */
- class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive2D
- : public BasePrimitive2D
- {
- private:
- /// a sequence used for buffering the last create2DDecomposition() result
- Primitive2DSequence maBuffered2DDecomposition;
-
- protected:
- /** access methods to maBuffered2DDecomposition. The usage of this methods may allow
- later thread-safe stuff to be added if needed. Only to be used by getDecomposition()
- implementations for buffering the last decomposition.
- */
- const Primitive2DSequence& getBuffered2DDecomposition() const { return maBuffered2DDecomposition; }
- void setBuffered2DDecomposition(const Primitive2DSequence& rNew) { maBuffered2DDecomposition = rNew; }
-
- /** method which is to be used to implement the local decomposition of a 2D primitive. The default
- implementation will just return an empty decomposition
- */
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- // constructor/destructor
- BufferedDecompositionPrimitive2D();
-
- /** The getDecomposition default implementation will on demand use create2DDecomposition() if
- maBuffered2DDecomposition is empty. It will set maBuffered2DDecomposition to this obtained decomposition
- to buffer it. If the decomposition is also ViewInformation2D-dependent, this method needs to be
- overloaded and the ViewInformation2D for the last decomposition need to be remembered, too, and
- be used in the next call to decide if the buffered decomposition may be reused or not.
- */
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// tooling
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /// support to handle a sequence of primitives as stl vector and convert it during creation
- typedef ::std::vector< BasePrimitive2D* > Primitive2DVector;
- Primitive2DSequence DRAWINGLAYER_DLLPUBLIC Primitive2DVectorToPrimitive2DSequence(const Primitive2DVector& rSource, bool bInvert = false);
-
- /// get B2DRange from a given Primitive2DReference
- basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation);
-
- /// get B2DRange from a given Primitive2DSequence
- basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DSequence(const Primitive2DSequence& rCandidate, const geometry::ViewInformation2D& aViewInformation);
-
- /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D)
- and using compare operator
- */
- bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DReferencesEqual(const Primitive2DReference& rA, const Primitive2DReference& rB);
-
- /// compare two Primitive2DReferences for equality, uses arePrimitive2DReferencesEqual internally
- bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DSequencesEqual(const Primitive2DSequence& rA, const Primitive2DSequence& rB);
-
- /// concatenate sequence
- void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DSequenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DSequence& rSource);
-
- /// concatenate single Primitive2D
- void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DReferenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DReference& rSource);
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx
deleted file mode 100644
index fa262bd9fe95..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx
+++ /dev/null
@@ -1,80 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <vcl/bitmapex.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// BitmapPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BitmapPrimitive2D class
-
- This class is the central primitive for Bitmap-based primitives.
- It provides RGBA-based bitmaps, currently using a BitmapEx from VCL.
- This may change in the future to any other, maybe more general base
- class providing 24bit RGBA.
- */
- class DRAWINGLAYER_DLLPUBLIC BitmapPrimitive2D : public BasePrimitive2D
- {
- private:
- /// the RGBA Bitmap-data
- BitmapEx maBitmapEx;
-
- /** the object transformation from unit coordinates, defining
- size, shear, rotate and position
- */
- basegfx::B2DHomMatrix maTransform;
-
- public:
- /// constructor
- BitmapPrimitive2D(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DHomMatrix& rTransform);
-
- /// data read access
- const BitmapEx& getBitmapEx() const { return maBitmapEx; }
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
deleted file mode 100644
index d9ed473851f4..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
+++ /dev/null
@@ -1,144 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <svtools/ctrlbox.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BorderLinePrimitive2D class
-
- This is the basic primitive to build frames around objects, e.g. tables.
- It defines a single or double line from Start to nd using the LeftWidth,
- Distance and RightWidth definitions.
- The LineStart/End overlap is defined by the Extend(Inner|Outer)(Start|End)
- definitions.
- */
- class DRAWINGLAYER_DLLPUBLIC BorderLinePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the line definition
- basegfx::B2DPoint maStart;
- basegfx::B2DPoint maEnd;
-
- /// the widths of single/double line
- double mfLeftWidth;
- double mfDistance;
- double mfRightWidth;
-
- /// edge overlap sizes
- double mfExtendLeftStart;
- double mfExtendLeftEnd;
- double mfExtendRightStart;
- double mfExtendRightEnd;
-
- /// the line colors
- basegfx::BColor maRGBColorRight;
- basegfx::BColor maRGBColorLeft;
- basegfx::BColor maRGBColorGap;
- bool mbHasGapColor;
-
- short mnStyle;
-
- /// local helpers
- double getWidth(
- const geometry::ViewInformation2D& rViewInformation) const;
-
- bool isSolidLine() const
- {
- return (mnStyle==STYLE_SOLID);
- }
-
- bool isInsideUsed() const
- {
- return !basegfx::fTools::equalZero(mfLeftWidth);
- }
-
- bool isOutsideUsed() const
- {
- return !basegfx::fTools::equalZero(mfRightWidth);
- }
-
- protected:
- virtual basegfx::B2DPolyPolygon getClipPolygon(
- const geometry::ViewInformation2D& rViewInformation) const;
-
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- BorderLinePrimitive2D(
- const basegfx::B2DPoint& rStart,
- const basegfx::B2DPoint& rEnd,
- double fLeftWidth,
- double fDistance,
- double fRightWidth,
- double fExtendLeftStart,
- double fExtendLeftEnd,
- double fExtendRightStart,
- double fExtendRightEnd,
- const basegfx::BColor& rRGBColorRight,
- const basegfx::BColor& rRGBColorLeft,
- const basegfx::BColor& rRGBColorGap,
- bool bHasGapColor,
- const short nStyle );
-
- /// data read access
- const basegfx::B2DPoint& getStart() const { return maStart; }
- const basegfx::B2DPoint& getEnd() const { return maEnd; }
- double getLeftWidth() const { return mfLeftWidth; }
- double getDistance() const { return mfDistance; }
- double getRightWidth() const { return mfRightWidth; }
- double getExtendLeftStart() const { return mfExtendLeftStart; }
- double getExtendLeftEnd() const { return mfExtendLeftEnd; }
- double getExtendRightStart() const { return mfExtendRightStart; }
- double getExtendRightEnd() const { return mfExtendRightEnd; }
- const basegfx::BColor& getRGBColorRight () const { return maRGBColorRight; }
- const basegfx::BColor& getRGBColorLeft () const { return maRGBColorLeft; }
- const basegfx::BColor& getRGBColorGap () const { return maRGBColorGap; }
- bool hasGapColor( ) const { return mbHasGapColor; }
- short getStyle () const { return mnStyle; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx
deleted file mode 100644
index 6db292fd6859..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx
+++ /dev/null
@@ -1,67 +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:
- *
- */
-
-#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/borderlineprimitive2d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** BorderLinePrimitive2D clipped by the intersection with a provided
- polygon.
- */
- class DRAWINGLAYER_DLLPUBLIC ClippedBorderLinePrimitive2D : public BorderLinePrimitive2D
- {
- private:
- const basegfx::B2DPolygon maIntersection;
-
- protected:
- virtual basegfx::B2DPolyPolygon getClipPolygon(
- const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- ClippedBorderLinePrimitive2D(
- const basegfx::B2DPoint& rStart,
- const basegfx::B2DPoint& rEnd,
- double fLeftWidth,
- double fDistance,
- double fRightWidth,
- const basegfx::B2DPolygon& rIntersection,
- const basegfx::BColor& rRGBColorRight,
- const basegfx::BColor& rRGBColorLeft,
- const basegfx::BColor& rRGBColorGap,
- bool bHasGapColor,
- const short nStyle );
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx
deleted file mode 100644
index 789b7aa38471..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx
+++ /dev/null
@@ -1,113 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <com/sun/star/awt/XControlModel.hpp>
-#include <com/sun/star/awt/XControl.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ControlPrimitive2D class
-
- Base class for ControlPrimitive handling. It decoposes to a
- graphical representation (Bitmap data) of the control. This
- representation is limited to a quadratic pixel maximum defined
- in the applicatin settings.
- */
- class DRAWINGLAYER_DLLPUBLIC ControlPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// object's base data
- basegfx::B2DHomMatrix maTransform;
- com::sun::star::uno::Reference< com::sun::star::awt::XControlModel > mxControlModel;
-
- /// the created an cached awt::XControl
- com::sun::star::uno::Reference< com::sun::star::awt::XControl > mxXControl;
-
- /// the last used scaling, used from getDecomposition for buffering
- basegfx::B2DVector maLastViewScaling;
-
- /** used from getXControl() to create a local awt::XControl which is remembered in mxXControl
- and from thereon always used and returned by getXControl()
- */
- void createXControl();
-
- /// single local decompositions, used from create2DDecomposition()
- Primitive2DReference createBitmapDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- Primitive2DReference createPlaceholderDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- protected:
- /// local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- ControlPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& rxControlModel);
-
- /** constructor with an additional XControl as parameter to allow to hand it over at incarnation time
- if it exists. This will avoid to create a 2nd one on demand in createXControl()
- and thus double the XControls.
- */
- ControlPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& rxControlModel,
- const com::sun::star::uno::Reference< com::sun::star::awt::XControl >& rxXControl);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- const com::sun::star::uno::Reference< com::sun::star::awt::XControlModel >& getControlModel() const { return mxControlModel; }
-
- /** mxControl access. This will on demand create the awt::XControl using createXControl()
- if it does not exist. It may already have been created or even handed over at
- incarnation
- */
- const com::sun::star::uno::Reference< com::sun::star::awt::XControl >& getXControl() const;
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// Overload standard getDecomposition call to be view-dependent here
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx
deleted file mode 100644
index 25d044b3231f..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/cropprimitive2d.hxx
+++ /dev/null
@@ -1,102 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** CropPrimitive2D class
-
- Caution: Due to old constraints (old core definitions) the
- crop distances describe how the uncropped content is defined
- relative to the current object size. This means that maTransformation
- describes the rurrent object size (the part of the object visible
- with the crop applied). To get the original size and orientation
- of the uncropped content it is necessary to calc back from the
- current situation (maTransformation) using the crop values
- to get to the uncropped original content.
-
- Thus a transformation has to be calculated which will be applied
- to the already exsisting content to get it to the uncropped state
- ans then this is masked with the current state (mask polygon
- created from unit polygon and maTransformation).
-
- At least in this primitive the units of the crop values are
- already in the local coordinate system; inthe core these distances
- are defined relative to the object content size (PrefMapMode
- and PrefSize of the content)...
-
- Of course this is a primitive, so feel free to just ignore all that
- stuff and use the automatically generated decomposition. Sigh.
- */
- class DRAWINGLAYER_DLLPUBLIC CropPrimitive2D : public GroupPrimitive2D
- {
- private:
- // the transformation already applied to the child geometry
- basegfx::B2DHomMatrix maTransformation;
-
- // the crop offsets relative to the range of the unrotated content
- double mfCropLeft;
- double mfCropTop;
- double mfCropRight;
- double mfCropBottom;
-
- public:
- /// constructor
- CropPrimitive2D(
- const Primitive2DSequence& rChildren,
- const basegfx::B2DHomMatrix& rTransformation,
- double fCropLeft,
- double fCropTop,
- double fCropRight,
- double fCropBottom);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; }
- double getCropLeft() const { return mfCropLeft; }
- double getCropTop() const { return mfCropTop; }
- double getCropRight() const { return mfCropRight; }
- double getCropBottom() const { return mfCropBottom; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// local decomposition
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CROPPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
deleted file mode 100644
index 9b8528057c14..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
+++ /dev/null
@@ -1,78 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/primitivetools2d.hxx>
-#include <vcl/bitmapex.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// DiscreteBitmapPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** DiscreteBitmapPrimitive2D class
-
- This class defines a view-dependent BitmapPrimitive which has a
- logic position for the top-left position and is always to be
- painted in 1:1 pixel resolution. It will never be sheared, rotated
- or scaled with the view.
- */
- class DRAWINGLAYER_DLLPUBLIC DiscreteBitmapPrimitive2D : public ObjectAndViewTransformationDependentPrimitive2D
- {
- private:
- /// the RGBA Bitmap-data
- BitmapEx maBitmapEx;
-
- /** the top-left object position */
- basegfx::B2DPoint maTopLeft;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- DiscreteBitmapPrimitive2D(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DPoint& rTopLeft);
-
- /// data read access
- const BitmapEx& getBitmapEx() const { return maBitmapEx; }
- const basegfx::B2DPoint& getTopLeft() const { return maTopLeft; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
deleted file mode 100644
index 2c10292b1c59..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
+++ /dev/null
@@ -1,121 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/primitivetools2d.hxx>
-#include <vcl/bitmapex.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// DiscreteShadowPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** DiscreteShadow data class
-
- */
- class DRAWINGLAYER_DLLPUBLIC DiscreteShadow
- {
- private:
- /// the original shadow BitmapEx in a special form
- BitmapEx maBitmapEx;
-
- /// buffered extracted parts of CombinedShadow for easier usage
- BitmapEx maTopLeft;
- BitmapEx maTop;
- BitmapEx maTopRight;
- BitmapEx maRight;
- BitmapEx maBottomRight;
- BitmapEx maBottom;
- BitmapEx maBottomLeft;
- BitmapEx maLeft;
-
- public:
- /// constructor
- explicit DiscreteShadow(const BitmapEx& rBitmapEx);
-
- /// data read access
- const BitmapEx& getBitmapEx() const { return maBitmapEx; }
-
- /// compare operator
- bool operator==(const DiscreteShadow& rCompare) const
- {
- return getBitmapEx() == rCompare.getBitmapEx();
- }
-
- /// helper accesses which create on-demand needed segments
- const BitmapEx& getTopLeft() const;
- const BitmapEx& getTop() const;
- const BitmapEx& getTopRight() const;
- const BitmapEx& getRight() const;
- const BitmapEx& getBottomRight() const;
- const BitmapEx& getBottom() const;
- const BitmapEx& getBottomLeft() const;
- const BitmapEx& getLeft() const;
- };
-
- /** DiscreteShadowPrimitive2D class
-
- */
- class DRAWINGLAYER_DLLPUBLIC DiscreteShadowPrimitive2D : public DiscreteMetricDependentPrimitive2D
- {
- private:
- // the object transformation of the rectangular object
- basegfx::B2DHomMatrix maTransform;
-
- // the bitmap shadow data
- DiscreteShadow maDiscreteShadow;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- DiscreteShadowPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- const DiscreteShadow& rDiscreteShadow);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- const DiscreteShadow& getDiscreteShadow() const { return maDiscreteShadow; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx
deleted file mode 100644
index cb8ff0efd0ff..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx
+++ /dev/null
@@ -1,111 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX
-
-//////////////////////////////////////////////////////////////////////////////
-// define ranges for other libraries
-
-#define PRIMITIVE2D_ID_RANGE_DRAWINGLAYER (0 << 16)
-#define PRIMITIVE2D_ID_RANGE_SVX (1 << 16)
-#define PRIMITIVE2D_ID_RANGE_SD (2 << 16)
-#define PRIMITIVE2D_ID_RANGE_SW (3 << 16)
-#define PRIMITIVE2D_ID_RANGE_SC (4 << 16)
-
-//////////////////////////////////////////////////////////////////////////////
-// local primitives
-
-#define PRIMITIVE2D_ID_TRANSPARENCEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 0)
-#define PRIMITIVE2D_ID_ANIMATEDSWITCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 1)
-#define PRIMITIVE2D_ID_ANIMATEDBLINKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 2)
-#define PRIMITIVE2D_ID_ANIMATEDINTERPOLATEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 3)
-#define PRIMITIVE2D_ID_BACKGROUNDCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 4)
-#define PRIMITIVE2D_ID_BITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 5)
-#define PRIMITIVE2D_ID_CONTROLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 6)
-#define PRIMITIVE2D_ID_EMBEDDED3DPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 7)
-#define PRIMITIVE2D_ID_FILLBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 8)
-#define PRIMITIVE2D_ID_FILLGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 9)
-#define PRIMITIVE2D_ID_FILLHATCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 10)
-#define PRIMITIVE2D_ID_GRAPHICPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 11)
-#define PRIMITIVE2D_ID_GRIDPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 12)
-#define PRIMITIVE2D_ID_GROUPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 13)
-#define PRIMITIVE2D_ID_HELPLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 14)
-#define PRIMITIVE2D_ID_MARKERARRAYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 15)
-#define PRIMITIVE2D_ID_MASKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 16)
-#define PRIMITIVE2D_ID_MEDIAPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 17)
-#define PRIMITIVE2D_ID_METAFILEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 18)
-#define PRIMITIVE2D_ID_MODIFIEDCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 19)
-#define PRIMITIVE2D_ID_POLYGONHAIRLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 20)
-#define PRIMITIVE2D_ID_POLYGONMARKERPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 21)
-#define PRIMITIVE2D_ID_POLYGONSTROKEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 22)
-#define PRIMITIVE2D_ID_POLYGONSTROKEARROWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 23)
-#define PRIMITIVE2D_ID_POLYPOLYGONSTROKEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 24)
-#define PRIMITIVE2D_ID_POLYPOLYGONSTROKEARROWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 25)
-#define PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 26)
-#define PRIMITIVE2D_ID_POLYPOLYGONGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 27)
-#define PRIMITIVE2D_ID_POLYPOLYGONHATCHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 28)
-#define PRIMITIVE2D_ID_POLYPOLYGONBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 29)
-#define PRIMITIVE2D_ID_SCENEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 30)
-#define PRIMITIVE2D_ID_SHADOWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 31)
-#define PRIMITIVE2D_ID_TEXTSIMPLEPORTIONPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 32)
-#define PRIMITIVE2D_ID_TEXTDECORATEDPORTIONPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 33)
-#define PRIMITIVE2D_ID_TRANSFORMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 34)
-#define PRIMITIVE2D_ID_UNIFIEDTRANSPARENCEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 35)
-#define PRIMITIVE2D_ID_POINTARRAYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 36)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYFIELDPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 37)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 38)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYPARAGRAPHPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 39)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYBLOCKPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 40)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYEDITPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 41)
-#define PRIMITIVE2D_ID_POLYGONWAVEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 42)
-#define PRIMITIVE2D_ID_WRONGSPELLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 43)
-#define PRIMITIVE2D_ID_TEXTEFFECTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 44)
-#define PRIMITIVE2D_ID_TEXTHIERARCHYBULLETPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 45)
-#define PRIMITIVE2D_ID_POLYPOLYGONHAIRLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 46)
-#define PRIMITIVE2D_ID_EXECUTEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 47)
-#define PRIMITIVE2D_ID_PAGEPREVIEWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 48)
-#define PRIMITIVE2D_ID_STRUCTURETAGPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 49)
-#define PRIMITIVE2D_ID_BORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 50)
-#define PRIMITIVE2D_ID_POLYPOLYGONMARKERPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 51)
-#define PRIMITIVE2D_ID_HITTESTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 52)
-#define PRIMITIVE2D_ID_INVERTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 53)
-#define PRIMITIVE2D_ID_DISCRETEBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 54)
-#define PRIMITIVE2D_ID_WALLPAPERBITMAPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 55)
-#define PRIMITIVE2D_ID_TEXTLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 56)
-#define PRIMITIVE2D_ID_TEXTCHARACTERSTRIKEOUTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 57)
-#define PRIMITIVE2D_ID_TEXTGEOMETRYSTRIKEOUTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 58)
-#define PRIMITIVE2D_ID_EPSPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 59)
-#define PRIMITIVE2D_ID_DISCRETESHADOWPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 60)
-#define PRIMITIVE2D_ID_HIDDENGEOMETRYPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 61)
-#define PRIMITIVE2D_ID_SVGLINEARGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 62)
-#define PRIMITIVE2D_ID_SVGRADIALGRADIENTPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 63)
-#define PRIMITIVE2D_ID_SVGLINEARATOMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 64)
-#define PRIMITIVE2D_ID_SVGRADIALATOMPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 65)
-#define PRIMITIVE2D_ID_CROPPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 66)
-#define PRIMITIVE2D_ID_PATTERNFILLPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 67)
-#define PRIMITIVE2D_ID_OBJECTINFOPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 68)
-
-#define PRIMITIVE2D_ID_CLIPPEDBORDERLINEPRIMITIVE2D (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 68)
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVETYPES2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
deleted file mode 100644
index d7389bea2bc3..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
+++ /dev/null
@@ -1,122 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <drawinglayer/geometry/viewinformation3d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// Embedded3DPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** Embedded3DPrimitive2D class
-
- This is a helper primitive which allows embedding of single 3D
- primitives to the 2D primitive logic. It will get the scene it's
- involved and thus the 3D transformation. With this information it
- is able to provide 2D range data for a 3D primitive.
-
- This primitive will not be visualized and decomposes to a yellow
- 2D rectangle to visualize that this should never be visualized
- */
- class DRAWINGLAYER_DLLPUBLIC Embedded3DPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the sequence of 3d primitives
- primitive3d::Primitive3DSequence mxChildren3D;
-
- /// the 2D scene object transformation
- basegfx::B2DHomMatrix maObjectTransformation;
-
- /// the 3D transformations
- geometry::ViewInformation3D maViewInformation3D;
-
- /** if the embedded 3D primitives contain shadow, these parameters are needed
- to extract the shadow wich is a sequence od 2D primitives and may expand
- the 2D range. Since every single 3D object in a scene may individually
- have shadow or not, these values need to be provided and prepared. The shadow
- distance itself (a 2D transformation) is part of the 3D shadow definition
- */
- basegfx::B3DVector maLightNormal;
- double mfShadowSlant;
- basegfx::B3DRange maScene3DRange;
-
- /// the primitiveSequence for on-demand created shadow primitives (see mbShadow3DChecked)
- Primitive2DSequence maShadowPrimitives;
-
- /// #i96669# add simple range buffering for this primitive
- basegfx::B2DRange maB2DRange;
-
- /// bitfield
- /** flag if given 3D geometry is already cheched for shadow definitions and 2d shadows
- are created in maShadowPrimitives
- */
- unsigned mbShadow3DChecked : 1;
-
- /// private helpers
- bool impGetShadow3D(const geometry::ViewInformation2D& rViewInformation) const;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- Embedded3DPrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
- const basegfx::B2DHomMatrix& rObjectTransformation,
- const geometry::ViewInformation3D& rViewInformation3D,
- const basegfx::B3DVector& rLightNormal,
- double fShadowSlant,
- const basegfx::B3DRange& rScene3DRange);
-
- /// data read access
- const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; }
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; }
- const basegfx::B3DVector& getLightNormal() const { return maLightNormal; }
- double getShadowSlant() const { return mfShadowSlant; }
- const basegfx::B3DRange& getScene3DRange() const { return maScene3DRange; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx
deleted file mode 100644
index 577554481d6e..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <vcl/gfxlink.hxx>
-#include <vcl/gdimtf.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** EpsPrimitive2D class */
- class DRAWINGLAYER_DLLPUBLIC EpsPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometry definition
- basegfx::B2DHomMatrix maEpsTransform;
-
- /// the Eps content definition
- GfxLink maGfxLink;
-
- /// the replacement content definition
- GDIMetaFile maMetaFile;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- EpsPrimitive2D(
- const basegfx::B2DHomMatrix& rEpsTransform,
- const GfxLink& rGfxLink,
- const GDIMetaFile& rMetaFile);
-
- /// data read access
- const basegfx::B2DHomMatrix& getEpsTransform() const { return maEpsTransform; }
- const GfxLink& getGfxLink() const { return maGfxLink; }
- const GDIMetaFile& getMetaFile() const { return maMetaFile; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx
deleted file mode 100644
index 0c82458840ad..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx
+++ /dev/null
@@ -1,88 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <drawinglayer/attribute/fillbitmapattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// FillbitmapPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** FillBitmapPrimitive2D class
-
- This class defines a bitmap filling for a rectangular area. The
- Range is defined by the Transformation, the fill by the FillBitmapAttribute.
- There, the fill consists of a Bitmap (not transparent) defining the fill data
- and a Point/Vector pair defining the relative position/size [0.0 .. 1.0]
- inside the area where the bitmap is positioned. A flag defines then if this
- is tiled or not.
-
- Renderers should handle this primitive; it has a geometrically correct
- decomposition, but on pixel oututs the areas where the tiled pieces are
- aligned tend to show up (one overlapping or empty pixel)
- */
- class DRAWINGLAYER_DLLPUBLIC FillBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometric definition
- basegfx::B2DHomMatrix maTransformation;
-
- /// the fill attributes
- attribute::FillBitmapAttribute maFillBitmap;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- FillBitmapPrimitive2D(
- const basegfx::B2DHomMatrix& rTransformation,
- const attribute::FillBitmapAttribute& rFillBitmap);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; }
- const attribute::FillBitmapAttribute& getFillBitmap() const { return maFillBitmap; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
deleted file mode 100644
index 0f6c33ae8f95..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
+++ /dev/null
@@ -1,109 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/attribute/fillgradientattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx { class B2DPolygon; }
-
-//////////////////////////////////////////////////////////////////////////////
-// FillGradientPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** FillGradientPrimitive2D class
-
- This class defines a gradient filling for a rectangular area. The
- Range is defined by the Transformation, the gradient by the FillGradientAttribute.
-
- The decomposition will deliver the decomposed gradient, e.g. for an ellipse
- gradient the various ellipses in various color steps will be created.
-
- I have added functionality to create both versions of filled decompositions:
- Those who overlap and non-overlapping ones. The overlapping version is the
- default one since it works with and without AntiAliasing. The non-overlapping
- version is used in the MetafilePrimitive2D decomposition when the old XOR
- paint was recorded.
- */
- class DRAWINGLAYER_DLLPUBLIC FillGradientPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometric definition
- basegfx::B2DRange maObjectRange;
-
- /// the gradient definition
- attribute::FillGradientAttribute maFillGradient;
-
- /// local helpers
- void generateMatricesAndColors(
- std::vector< basegfx::B2DHomMatrix >& rMatrices,
- std::vector< basegfx::BColor >& rColors) const;
- Primitive2DSequence createOverlappingFill(
- const std::vector< basegfx::B2DHomMatrix >& rMatrices,
- const std::vector< basegfx::BColor >& rColors,
- const basegfx::B2DPolygon& rUnitPolygon) const;
- Primitive2DSequence createNonOverlappingFill(
- const std::vector< basegfx::B2DHomMatrix >& rMatrices,
- const std::vector< basegfx::BColor >& rColors,
- const basegfx::B2DPolygon& rUnitPolygon) const;
-
- protected:
- /// local helper
- Primitive2DSequence createFill(bool bOverlapping) const;
-
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- FillGradientPrimitive2D(
- const basegfx::B2DRange& rObjectRange,
- const attribute::FillGradientAttribute& rFillGradient);
-
- /// data read access
- const basegfx::B2DRange& getObjectRange() const { return maObjectRange; }
- const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
deleted file mode 100644
index b0c27ba89107..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
+++ /dev/null
@@ -1,89 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/attribute/fillhatchattribute.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// FillHatchPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** FillHatchPrimitive2D class
-
- This class defines a hatch filling for a rectangular area. The
- Range is defined by the Transformation, the hatch by the FillHatchAttribute.
- If the background is to be filled, a flag in FillHatchAttribute is set and
- the BColor defines the background color.
-
- The decomposition will deliver the hatch lines.
- */
- class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometric definition
- basegfx::B2DRange maObjectRange;
-
- /// the hatch definition
- attribute::FillHatchAttribute maFillHatch;
-
- /// hatch background color (if used)
- basegfx::BColor maBColor;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- FillHatchPrimitive2D(
- const basegfx::B2DRange& rObjectRange,
- const basegfx::BColor& rBColor,
- const attribute::FillHatchAttribute& rFillHatch);
-
- /// data read access
- const basegfx::B2DRange& getObjectRange() const { return maObjectRange; }
- const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx
deleted file mode 100644
index 75bb6fc99341..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx
+++ /dev/null
@@ -1,95 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <svtools/grfmgr.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** GraphicPrimitive2D class
-
- Primitive to hold graphics defined by GraphicObject and GraphicAttr
- combination. This includes MetaFiles and diverse pixel-oriented graphic
- formats. It even includes animated GIFs, Croppings and other changes
- defined in GraphicAttr.
-
- This makes the decomposition contain a wide variety of possibilites,
- too. From a simple BitmapPrimitive over AnimatedSwitchPrimitive2D,
- MetafilePrimitive2D (with and without embedding in a masking when e.g.
- the Metafile is bigger than the geometry) and embeddings in
- TransformPrimitive2D and MaskPrimitive2D for croppings.
-
- The primitive geometry area is defined by Transform.
- */
- class DRAWINGLAYER_DLLPUBLIC GraphicPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometric definition
- basegfx::B2DHomMatrix maTransform;
-
- /// the GraphicObject with all it's content possibilities
- GraphicObject maGraphicObject;
-
- /// The GraphicAttr with all it's modification possibilities
- GraphicAttr maGraphicAttr;
-
- protected:
- /// local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor(s)
- GraphicPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- const GraphicObject& rGraphicObject,
- const GraphicAttr& rGraphicAttr);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- const GraphicObject& getGraphicObject() const { return maGraphicObject; }
- const GraphicAttr& getGraphicAttr() const { return maGraphicAttr; }
- bool isTransparent() const;
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx
deleted file mode 100644
index 3db300ff4da4..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx
+++ /dev/null
@@ -1,119 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <vcl/bitmapex.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// GridPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** GridPrimitive2D class
-
- This primitive is specialized to Grid visualisation. The graphic definition
- (Transform) contains the whole grid area, but will of course be combined
- with the visible area (Viewport) when decomposed. Also a reolution-dependent
- point reduction is used to not create too much grid visualisation data. This
- makes this primitive highly view-dependent and it dynamically buffers
- the last decomposition dependent from the Viewport used.
- */
- class DRAWINGLAYER_DLLPUBLIC GridPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// The geometry definition for the grid area
- basegfx::B2DHomMatrix maTransform;
-
- /// grid layout definitions
- double mfWidth;
- double mfHeight;
- double mfSmallestViewDistance;
- double mfSmallestSubdivisionViewDistance;
- sal_uInt32 mnSubdivisionsX;
- sal_uInt32 mnSubdivisionsY;
-
- /// Grid color for single-pixel grid points
- basegfx::BColor maBColor;
-
- /// The Bitmap (with transparence) for grid cross points
- BitmapEx maCrossMarker;
-
- /** the last used object to view transformtion and the last Viewport,
- used from getDecomposition for decide buffering
- */
- basegfx::B2DHomMatrix maLastObjectToViewTransformation;
- basegfx::B2DRange maLastViewport;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- GridPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- double fWidth,
- double fHeight,
- double fSmallestViewDistance,
- double fSmallestSubdivisionViewDistance,
- sal_uInt32 nSubdivisionsX,
- sal_uInt32 nSubdivisionsY,
- const basegfx::BColor& rBColor,
- const BitmapEx& rCrossMarker);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- double getWidth() const { return mfWidth; }
- double getHeight() const { return mfHeight; }
- double getSmallestViewDistance() const { return mfSmallestViewDistance; }
- double getSmallestSubdivisionViewDistance() const { return mfSmallestSubdivisionViewDistance; }
- sal_uInt32 getSubdivisionsX() const { return mnSubdivisionsX; }
- sal_uInt32 getSubdivisionsY() const { return mnSubdivisionsY; }
- const basegfx::BColor& getBColor() const { return maBColor; }
- const BitmapEx& getCrossMarker() const { return maCrossMarker; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get 2d range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// Overload standard getDecomposition call to be view-dependent here
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx
deleted file mode 100644
index 7dab4a628638..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx
+++ /dev/null
@@ -1,95 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// GroupPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** GroupPrimitive2D class
-
- Baseclass for all grouping 2D primitives
-
- The grouping primitive in it's basic form is capable of holding
- a child primitive content and returns it on decomposition on default.
- It is used for two main purposes, but more may apply:
-
- - to transport extended information, e.g. for text classification,
- see e.g. TextHierarchy*Primitive2D implementations. Since they
- decompose to their child content, renderers not aware/interested
- in that extra information will just ignore these primitives
-
- - to encapsulate common geometry, e.g. the ShadowPrimitive2D implements
- applying a generic shadow to a child sequence by adding the needed
- offset and color stuff in the decomposition
-
- In most cases the decomposition is straightforward, so by default
- this primitive will not buffer the result and is not derived from
- BufferedDecompositionPrimitive2D, but from BasePrimitive2D.
-
- A renderer has to take GroupPrimitive2D derivations into account which
- are used to hold a state.
-
- Current Basic 2D StatePrimitives are:
-
- - TransparencePrimitive2D (objects with freely defined transparence)
- - InvertPrimitive2D (for XOR)
- - MaskPrimitive2D (for masking)
- - ModifiedColorPrimitive2D (for a stack of color modifications)
- - TransformPrimitive2D (for a transformation stack)
- */
- class DRAWINGLAYER_DLLPUBLIC GroupPrimitive2D : public BasePrimitive2D
- {
- private:
- /// the children. Declared private since this shall never be changed at all after construction
- Primitive2DSequence maChildren;
-
- public:
- /// constructor
- explicit GroupPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// data read access
- const Primitive2DSequence& getChildren() const { return maChildren; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// local decomposition. Implementation will just return children
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx
deleted file mode 100644
index c9addb8f3810..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx
+++ /dev/null
@@ -1,114 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// HelplinePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** HelplineStyle2D definition
-
- The available styles of Helplines
- */
- enum HelplineStyle2D
- {
- HELPLINESTYLE2D_POINT,
- HELPLINESTYLE2D_LINE
- };
-
- /** HelplinePrimitive2D class
-
- This primitive provides a view-dependent helpline definition. The Helpline
- is defined by a line equation (Point and vector) and a style. When the style
- is a line, dependent from Viewport the visible part of that Helpline is
- constructed. For Point, a cross is constructed. This primitive is highly
- view-dependent.
-
- The visualisation uses the two given colors to create a dashed line with
- the given dash length.
- */
- class DRAWINGLAYER_DLLPUBLIC HelplinePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// Helpline geometry definition
- basegfx::B2DPoint maPosition;
- basegfx::B2DVector maDirection;
- HelplineStyle2D meStyle;
-
- /// Helpline style definition
- basegfx::BColor maRGBColA;
- basegfx::BColor maRGBColB;
- double mfDiscreteDashLength;
-
- /** the last used object to view transformtion and the last Viewport,
- used from getDecomposition for decide buffering
- */
- basegfx::B2DHomMatrix maLastObjectToViewTransformation;
- basegfx::B2DRange maLastViewport;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- HelplinePrimitive2D(
- const basegfx::B2DPoint& rPosition,
- const basegfx::B2DVector& rDirection,
- HelplineStyle2D eStyle,
- const basegfx::BColor& rRGBColA,
- const basegfx::BColor& aRGBColB,
- double fDiscreteDashLength);
-
- /// data read access
- const basegfx::B2DPoint& getPosition() const { return maPosition; }
- const basegfx::B2DVector& getDirection() const { return maDirection; }
- HelplineStyle2D getStyle() const { return meStyle; }
- const basegfx::BColor& getRGBColA() const { return maRGBColA; }
- const basegfx::BColor& getRGBColB() const { return maRGBColB; }
- double getDiscreteDashLength() const { return mfDiscreteDashLength; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// Overload standard getDecomposition call to be view-dependent here
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
deleted file mode 100644
index 35c8de40bc4d..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
+++ /dev/null
@@ -1,64 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- // This primitive is used to represent geometry for non-visible objects,
- // e.g. a PresObj's outline. To still be able to use primitives for HitTest
- // functionality, the 2d decompositions will produce an as much as possible
- // simplified line geometry encapsulated in this primtive when there is no
- // line geometry. In a further enchanced version this may change to 'if neither
- // filled nor lines' creation criteria. The whole primitive decomposes to nothing,
- // so no one not knowing it will be influenced. Only helper processors for hit test
- // (and maybe BoundRect extractors) will use it and it's children subcontent.
- class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive2D : public GroupPrimitive2D
- {
- public:
- explicit HiddenGeometryPrimitive2D(const Primitive2DSequence& rChildren);
-
- // despite returning an empty decomposition since it's no visualisation data,
- // range calculation is intended to use hidden geometry, so
- // the local implementation will return the children's range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// local decomposition. Implementation will return empty Primitive2DSequence
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- // provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx
deleted file mode 100644
index dfff3d9034ba..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx
+++ /dev/null
@@ -1,59 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** InvertPrimitive2D class
-
- This is a helper class which encapsulates geometry that should be
- painted XOR, e.g. old cursor visualisations. It decomposes to
- it's content, so when not supporting it, the contained geometry
- will be visualized normally.
- Unfortunately this is still needed, but hard to support on various
- systems. XOR painting needs read access to the target, so modern
- graphic systems tend to not support it anymore.
- */
- class DRAWINGLAYER_DLLPUBLIC InvertPrimitive2D : public GroupPrimitive2D
- {
- public:
- /// constructor
- explicit InvertPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
deleted file mode 100644
index b1bca354e60e..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
+++ /dev/null
@@ -1,88 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <vcl/bitmapex.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// MarkerArrayPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** MarkerArrayPrimitive2D class
-
- This primtive defines an array of markers. Their size is defined
- in pixels and independent from the view transformation which makes
- this primitive highly view-dependent. It is also transformation
- invariant, so that the bitmap is always visualized unscaled and
- unrotated.
- It is used e.g. for grid position visualisation. The given Bitmap
- (with transparence) is defined to be visible centered at each of the given
- positions.
- It decomposes to the needed number of BitmapPrimitive2D's, so it would
- be efficient to handle it directly in a renderer.
- */
- class DRAWINGLAYER_DLLPUBLIC MarkerArrayPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the positions for the marker
- std::vector< basegfx::B2DPoint > maPositions;
-
- /// the marker definintion to visualize
- BitmapEx maMarker;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- MarkerArrayPrimitive2D(
- const std::vector< basegfx::B2DPoint >& rPositions,
- const BitmapEx& rMarker);
-
- /// data read access
- const std::vector< basegfx::B2DPoint >& getPositions() const { return maPositions; }
- const BitmapEx& getMarker() const { return maMarker; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx
deleted file mode 100644
index af5fcd9177d1..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx
+++ /dev/null
@@ -1,79 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** MaskPrimitive2D class
-
- This is the central masking primitive. It's a grouping
- primitive and contains a PolyPolygon which defines the visible
- area. Only visualisation parts of the Child primitive sequence
- inside of the mask PolyPolygon is defined to be visible.
-
- This primitive should be handled by a renderer. If it is not handled,
- it decomposes to it's Child content, and thus the visualisation would
- contaiun no clips.
-
- The geometrc range of this primitive is completely defined by the Mask
- PolyPolygon since by definition nothing outside of the mask is visible.
- */
- class DRAWINGLAYER_DLLPUBLIC MaskPrimitive2D : public GroupPrimitive2D
- {
- private:
- /// the mask PolyPolygon
- basegfx::B2DPolyPolygon maMask;
-
- public:
- /// constructor
- MaskPrimitive2D(
- const basegfx::B2DPolyPolygon& rMask,
- const Primitive2DSequence& rChildren);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getMask() const { return maMask; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx
deleted file mode 100644
index df75569ecb64..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx
+++ /dev/null
@@ -1,97 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <vcl/graph.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** MediaPrimitive2D class
-
- This is a unified primitive for Media visualisation, e.g. animations
- or sounds. It's geometry is defined by Transform. For conveinience,
- it also contains a discrete border size (aka Pixels) which will be added
- if used. This makes it a view-dependent primitive. It also gets a filled
- background and the decomposition will try to create a graphic representation
- if te content (defined by the URL), e.g. a still frome for animated stuff.
- */
- class DRAWINGLAYER_DLLPUBLIC MediaPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometry definition
- basegfx::B2DHomMatrix maTransform;
-
- /// the content definition
- OUString maURL;
-
- /// style: background color
- basegfx::BColor maBackgroundColor;
-
- /// discrete border (in 'pixels')
- sal_uInt32 mnDiscreteBorder;
-
- const Graphic maSnapshot;
-
- protected:
- /// local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- MediaPrimitive2D(
- const basegfx::B2DHomMatrix& rTransform,
- const OUString& rURL,
- const basegfx::BColor& rBackgroundColor,
- sal_uInt32 nDiscreteBorder,
- const Graphic &rSnapshot);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- const OUString& getURL() const { return maURL; }
- const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; }
- sal_uInt32 getDiscreteBorder() const { return mnDiscreteBorder; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx
deleted file mode 100644
index a8e8cf883991..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx
+++ /dev/null
@@ -1,94 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <vcl/gdimtf.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// MetafilePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** MetafilePrimitive2D class
-
- This is the MetaFile representing primitive. It's geometry is defined
- by MetaFileTransform. The content (defined by MetaFile) will be scaled
- to the geometric definiton by using PrefMapMode and PrefSize of the
- Metafile.
-
- It has shown that this not always guarantees that all Metafile content
- is inside the geometric definition, but this primitive defines that this
- is the case to allow a getB2DRange implementation. If it cannot be
- guaranteed that the Metafile is inside the geometric definition, it should
- be embedded to a MaskPrimitive2D.
-
- This primitive has no decomposition yet, so when not supported by a renderer,
- it will not be visualized.
-
- In the future, a decomposition implementation would be appreciated and would
- have many advantages; Metafile would no longer have to be rendered by
- sub-systems and a standard way for converting Metafiles would exist.
- */
- class DRAWINGLAYER_DLLPUBLIC MetafilePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometry definition
- basegfx::B2DHomMatrix maMetaFileTransform;
-
- /// the content definition
- GDIMetaFile maMetaFile;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- public:
- /// constructor
- MetafilePrimitive2D(
- const basegfx::B2DHomMatrix& rMetaFileTransform,
- const GDIMetaFile& rMetaFile);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransform() const { return maMetaFileTransform; }
- const GDIMetaFile& getMetaFile() const { return maMetaFile; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx
deleted file mode 100644
index 7584cfad27b7..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx
+++ /dev/null
@@ -1,79 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ModifiedColorPrimitive2D class
-
- This primitive is a grouping primitive and allows to define
- how the colors of it's child content shall be modified for
- visualisation. This can be (and is) used e.g. for generic shadow
- visualisation by forcing all color usages of the contained
- sub-content to the shadow color.
-
- For the possibilities of color modifications, please refer
- to the basegfx::BColorModifier definitions in basegfx. For
- processing there is tooling in basegfx to build a stack of
- BColorModifiers to always be able to proccess the correct
- colors.
-
- If a renderer does not handle this primitive, the content will
- be visualized unchanged.
- */
- class DRAWINGLAYER_DLLPUBLIC ModifiedColorPrimitive2D : public GroupPrimitive2D
- {
- private:
- /// The ColorModifier to use
- basegfx::BColorModifier maColorModifier;
-
- public:
- /// constructor
- ModifiedColorPrimitive2D(
- const Primitive2DSequence& rChildren,
- const basegfx::BColorModifier& rColorModifier);
-
- /// data read access
- const basegfx::BColorModifier& getColorModifier() const { return maColorModifier; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx
deleted file mode 100644
index ec5452773751..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/objectinfoprimitive2d.hxx
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <tools/string.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ObjectInfoPrimitive2D class
-
- Info hierarchy helper class to hold contents like Name, Title and
- Description which are valid for the child content, e.g. created for
- primitives based on DrawingLayer objects or SVG parts. It decomposes
- to it's content, so all direct renderers may ignore it. May e.g.
- be used when re-creating graphical content from a sequence of primitives
- */
- class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitive2D : public GroupPrimitive2D
- {
- private:
- OUString maName;
- OUString maTitle;
- OUString maDesc;
-
- public:
- /// constructor
- ObjectInfoPrimitive2D(
- const Primitive2DSequence& rChildren,
- const OUString& rName,
- const OUString& rTitle,
- const OUString& rDesc);
-
- /// data read access
- const OUString& getName() const { return maName; }
- const OUString& getTitle() const { return maTitle; }
- const OUString& getDesc() const { return maDesc; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INFOHIERARCHYPRIMITIVE2D_HXX
-
-//////////////////////////////////////////////////////////////////////////////
-// eof
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
deleted file mode 100644
index 5acdf2157f10..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
+++ /dev/null
@@ -1,104 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <com/sun/star/drawing/XDrawPage.hpp>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PagePreviewPrimitive2D class
-
- This primitive is needed to have the correct XDrawPage as ViewInformation for decomposing
- the page contents (given as PageContent here) if these contain e.g.
- view-dependent (in this case XDrawPage-dependent) text fields like PageNumber. If You want
- those primitives to be visualized correctly, Your renderer needs to locally correct it's
- ViewInformation2D to reference the new XDrawPage.
- */
- class DRAWINGLAYER_DLLPUBLIC PagePreviewPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /** the XDrawPage visualized by this primitive. When we go forward with primitives
- this will not only be used by the renderers to provide the correct decompose
- graphic attribute context, but also to completely create the page's sub-content.
- */
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > mxDrawPage;
-
- /// the PageContent
- Primitive2DSequence maPageContent;
-
- /// the own geometry
- basegfx::B2DHomMatrix maTransform;
-
- /// content width and height
- double mfContentWidth;
- double mfContentHeight;
-
- /// bitfield
- /// flag to allow keeping the aspect ratio
- unsigned mbKeepAspectRatio : 1;
-
- protected:
- /// local decomposition. Implementation will just return children
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PagePreviewPrimitive2D(
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& rxDrawPage,
- const basegfx::B2DHomMatrix& rTransform,
- double fContentWidth,
- double fContentHeight,
- const Primitive2DSequence& rPageContent,
- bool bKeepAspectRatio);
-
- /// data read access
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& getXDrawPage() const { return mxDrawPage; }
- const Primitive2DSequence& getPageContent() const { return maPageContent; }
- const basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
- double getContentWidth() const { return mfContentWidth; }
- double getContentHeight() const { return mfContentHeight; }
- bool getKeepAspectRatio() const { return mbKeepAspectRatio; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// own getB2DRange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx
deleted file mode 100644
index 7787d6f6ba28..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/patternfillprimitive2d.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PatternFillPrimitive2D class
-
- This primitive allows filling a given PolyPolygon with a pattern
- defined by a sequence of primitives which are mapped to the unit range.
- The pattern is defined using a reference range which defines a rectangular
- area relative to the PolyPolygon (in unit coordinates) which is virtually
- infinitely repeated.
- */
- class DRAWINGLAYER_DLLPUBLIC PatternFillPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- const basegfx::B2DPolyPolygon maMask;
- const Primitive2DSequence maChildren;
- const basegfx::B2DRange maReferenceRange;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PatternFillPrimitive2D(
- const basegfx::B2DPolyPolygon& rMask,
- const Primitive2DSequence& rChildren,
- const basegfx::B2DRange& rReferenceRange);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getMask() const { return maMask; }
- const Primitive2DSequence& getChildren() const { return maChildren; }
- const basegfx::B2DRange& getReferenceRange() const { return maReferenceRange; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PATTERNFILLPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
deleted file mode 100644
index 8acb5956f60f..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
+++ /dev/null
@@ -1,83 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// PointArrayPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PointArrayPrimitive2D class
-
- This primitive defines single,discrete 'pixels' for the given
- positions in the given color. This makes it view-dependent since
- the logic size of a 'pixel' depends on the view transformation.
-
- This is one of the non-decomposable primitives, so a renderer
- should proccess it (Currently it is only used for grid visualisation,
- but this may change).
- */
- class DRAWINGLAYER_DLLPUBLIC PointArrayPrimitive2D : public BasePrimitive2D
- {
- private:
- /// the array of positions
- std::vector< basegfx::B2DPoint > maPositions;
-
- /// the color to use
- basegfx::BColor maRGBColor;
-
- /// #i96669# add simple range buffering for this primitive
- basegfx::B2DRange maB2DRange;
-
- public:
- /// constructor
- PointArrayPrimitive2D(
- const std::vector< basegfx::B2DPoint >& rPositions,
- const basegfx::BColor& rRGBColor);
-
- /// data read access
- const std::vector< basegfx::B2DPoint >& getPositions() const { return maPositions; }
- const basegfx::BColor& getRGBColor() const { return maRGBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx
deleted file mode 100644
index 09e5b29039b3..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx
+++ /dev/null
@@ -1,310 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/attribute/lineattribute.hxx>
-#include <drawinglayer/attribute/strokeattribute.hxx>
-#include <drawinglayer/attribute/linestartendattribute.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// PolygonHairlinePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolygonHairlinePrimitive2D class
-
- This primitive defines a Hairline. Since hairlines are view-dependent,
- this primitive is view-dependent, too.
-
- This is one of the non-decomposable primitives, so a renderer
- should proccess it.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonHairlinePrimitive2D : public BasePrimitive2D
- {
- private:
- /// the hairline geometry
- basegfx::B2DPolygon maPolygon;
-
- /// the hairline color
- basegfx::BColor maBColor;
-
- public:
- /// constructor
- PolygonHairlinePrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const basegfx::BColor& rBColor);
-
- /// data read access
- const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolygonMarkerPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolygonMarkerPrimitive2D class
-
- This primitive defines a two-colored marker hairline which is
- dashed with the given dash length. Since hairlines are view-dependent,
- this primitive is view-dependent, too.
-
- It will be decomposed to the needed PolygonHairlinePrimitive2D if
- not handled directly by a renderer.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the marker hairline geometry
- basegfx::B2DPolygon maPolygon;
-
- /// the two colors
- basegfx::BColor maRGBColorA;
- basegfx::BColor maRGBColorB;
-
- /// the dash distance in 'pixels'
- double mfDiscreteDashLength;
-
- /// decomposition is view-dependent, remember last InverseObjectToViewTransformation
- basegfx::B2DHomMatrix maLastInverseObjectToViewTransformation;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonMarkerPrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const basegfx::BColor& rRGBColorA,
- const basegfx::BColor& rRGBColorB,
- double fDiscreteDashLength);
-
- /// data read access
- const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; }
- const basegfx::BColor& getRGBColorA() const { return maRGBColorA; }
- const basegfx::BColor& getRGBColorB() const { return maRGBColorB; }
- double getDiscreteDashLength() const { return mfDiscreteDashLength; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolygonStrokePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolygonStrokePrimitive2D class
-
- This primitive defines a line with line width, line join, line color
- and stroke attributes. It will be decomposed dependent on the definition
- to the needed primitives, e.g. filled PolyPolygons for fat lines.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the line geometry
- basegfx::B2DPolygon maPolygon;
-
- /// the line attributes like width, join and color
- attribute::LineAttribute maLineAttribute;
-
- /// the line stroking (if used)
- attribute::StrokeAttribute maStrokeAttribute;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonStrokePrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute,
- const attribute::StrokeAttribute& rStrokeAttribute);
-
- /// constructor without stroking
- PolygonStrokePrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute);
-
- /// data read access
- const basegfx::B2DPolygon& getB2DPolygon() const { return maPolygon; }
- const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; }
- const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolygonWavePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolygonWavePrimitive2D class
-
- This primitive defines a waveline based on a PolygonStrokePrimitive2D
- where the wave is defined by wave width and wave length.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonWavePrimitive2D : public PolygonStrokePrimitive2D
- {
- private:
- /// wave definition
- double mfWaveWidth;
- double mfWaveHeight;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonWavePrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute,
- const attribute::StrokeAttribute& rStrokeAttribute,
- double fWaveWidth,
- double fWaveHeight);
-
- /// constructor without stroking
- PolygonWavePrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute,
- double fWaveWidth,
- double fWaveHeight);
-
- /// data read access
- double getWaveWidth() const { return mfWaveWidth; }
- double getWaveHeight() const { return mfWaveHeight; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolygonStrokeArrowPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolygonStrokeArrowPrimitive2D class
-
- This primitive defines a PolygonStrokePrimitive2D which is extended
- eventually by start and end definitions which are normally used for
- arrows.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonStrokeArrowPrimitive2D : public PolygonStrokePrimitive2D
- {
- private:
- /// geometric definitions for line start and end
- attribute::LineStartEndAttribute maStart;
- attribute::LineStartEndAttribute maEnd;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonStrokeArrowPrimitive2D(
- const basegfx::B2DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute,
- const attribute::StrokeAttribute& rStrokeAttribute,
- const attribute::LineStartEndAttribute& rStart,
- const attribute::LineStartEndAttribute& rEnd);
-
- /// data read access
- const attribute::LineStartEndAttribute& getStart() const { return maStart; }
- const attribute::LineStartEndAttribute& getEnd() const { return maEnd; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
deleted file mode 100644
index f53d4cdf5759..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
+++ /dev/null
@@ -1,382 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/attribute/fillbitmapattribute.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <drawinglayer/attribute/lineattribute.hxx>
-#include <drawinglayer/attribute/strokeattribute.hxx>
-#include <drawinglayer/attribute/linestartendattribute.hxx>
-#include <drawinglayer/attribute/fillgradientattribute.hxx>
-#include <drawinglayer/attribute/fillhatchattribute.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonHairlinePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonHairlinePrimitive2D class
-
- This primitive defines a multi-PolygonHairlinePrimitive2D and is
- just for convenience. The definition is not different from the single
- defined PolygonHairlinePrimitive2Ds.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonHairlinePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the hairline geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the hairline color
- basegfx::BColor maBColor;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonHairlinePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonMarkerPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonMarkerPrimitive2D class
-
- This primitive defines a multi-PolygonMarkerPrimitive2D and is
- just for convenience. The definition is not different from the single
- defined PolygonMarkerPrimitive2Ds.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the marker hairline geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the two colors
- basegfx::BColor maRGBColorA;
- basegfx::BColor maRGBColorB;
-
- /// the dash distance in 'pixels'
- double mfDiscreteDashLength;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonMarkerPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const basegfx::BColor& rRGBColorA,
- const basegfx::BColor& rRGBColorB,
- double fDiscreteDashLength);
-
- // data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const basegfx::BColor& getRGBColorA() const { return maRGBColorA; }
- const basegfx::BColor& getRGBColorB() const { return maRGBColorB; }
- double getDiscreteDashLength() const { return mfDiscreteDashLength; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonStrokePrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonStrokePrimitive2D class
-
- This primitive defines a multi-PolygonStrokePrimitive2D and is
- just for convenience. The definition is not different from the single
- defined PolygonStrokePrimitive2Ds.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the line geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the line attributes like width, join and color
- attribute::LineAttribute maLineAttribute;
-
- /// the line stroking (if used)
- attribute::StrokeAttribute maStrokeAttribute;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonStrokePrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const attribute::LineAttribute& rLineAttribute,
- const attribute::StrokeAttribute& rStrokeAttribute);
-
- PolyPolygonStrokePrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const attribute::LineAttribute& rLineAttribute);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; }
- const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonColorPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonColorPrimitive2D class
-
- This primitive defines a PolyPolygon filled with a single color.
- This is one of the non-decomposable primitives, so a renderer
- should proccess it.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonColorPrimitive2D : public BasePrimitive2D
- {
- private:
- /// the PolyPolygon geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the polygon fill color
- basegfx::BColor maBColor;
-
- public:
- /// constructor
- PolyPolygonColorPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const basegfx::BColor& rBColor);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonGradientPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonColorPrimitive2D class
-
- This primitive defines a PolyPolygon filled with a gradient. The
- decomosition will create a MaskPrimitive2D containing a
- FillGradientPrimitive2D.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the PolyPolygon geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the gradient definition
- attribute::FillGradientAttribute maFillGradient;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonGradientPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const attribute::FillGradientAttribute& rFillGradient);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonHatchPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonHatchPrimitive2D class
-
- This primitive defines a PolyPolygon filled with a hatch. The
- decomosition will create a MaskPrimitive2D containing a
- FillHatchPrimitive2D.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonHatchPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the PolyPolygon geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the hatch background color (if used)
- basegfx::BColor maBackgroundColor;
-
- /// the hatch definition
- attribute::FillHatchAttribute maFillHatch;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonHatchPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const basegfx::BColor& rBackgroundColor,
- const attribute::FillHatchAttribute& rFillHatch);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; }
- const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// PolyPolygonBitmapPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** PolyPolygonBitmapPrimitive2D class
-
- This primitive defines a PolyPolygon filled with bitmap data
- (including transparence). The decomosition will create a MaskPrimitive2D
- containing a FillBitmapPrimitive2D.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the PolyPolygon geometry
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the bitmap fill definition (may include tiling)
- attribute::FillBitmapAttribute maFillBitmap;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- PolyPolygonBitmapPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const attribute::FillBitmapAttribute& rFillBitmap);
-
- /// data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
- const attribute::FillBitmapAttribute& getFillBitmap() const { return maFillBitmap; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
deleted file mode 100644
index 6ef63f1e916b..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
+++ /dev/null
@@ -1,192 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** DiscreteMetricDependentPrimitive2D class
-
- tooling class for BufferedDecompositionPrimitive2D baseed classes which are view-dependent
- regarding the size of a discrete unit. The implementation of get2DDecomposition
- guards the buffered local decomposition and ensures that a create2DDecomposition
- implementation may use an up-to-date DiscreteUnit accessible using getDiscreteUnit()
- */
- class DRAWINGLAYER_DLLPUBLIC DiscreteMetricDependentPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /** the last used fDiscreteUnit definitions for decomposition. Since this
- is checked and updated from get2DDecomposition() it will be current and
- usable in create2DDecomposition()
- */
- double mfDiscreteUnit;
-
- public:
- /// constructor
- DiscreteMetricDependentPrimitive2D()
- : BufferedDecompositionPrimitive2D(),
- mfDiscreteUnit(0.0)
- {
- }
-
- /// data read access
- double getDiscreteUnit() const { return mfDiscreteUnit; }
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ViewportDependentPrimitive2D class
-
- tooling class for BufferedDecompositionPrimitive2D baseed classes which are view-dependent
- regarding the viewport. The implementation of get2DDecomposition
- guards the buffered local decomposition and ensures that a create2DDecomposition
- implementation may use an up-to-date Viewport accessible using getViewport()
- */
- class DRAWINGLAYER_DLLPUBLIC ViewportDependentPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /** the last used Viewport definition for decomposition. Since this
- is checked and updated from get2DDecomposition() it will be current and
- usable in create2DDecomposition()
- */
- basegfx::B2DRange maViewport;
-
- public:
- /// constructor
- ViewportDependentPrimitive2D()
- : BufferedDecompositionPrimitive2D(),
- maViewport()
- {
- }
-
- /// data read access
- const basegfx::B2DRange& getViewport() const { return maViewport; }
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ViewTransformationDependentPrimitive2D class
-
- tooling class for BufferedDecompositionPrimitive2D based classes which are view-dependent
- regarding the complete Viewtransformation. The implementation of get2DDecomposition
- guards the buffered local decomposition and ensures that a create2DDecomposition
- implementation may use an up-to-date ViewTransformation accessible using getViewTransformation()
- */
- class DRAWINGLAYER_DLLPUBLIC ViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /** the last used ViewTransformation definition for decomposition. Since this
- is checked and updated from get2DDecomposition() it will be current and
- usable in create2DDecomposition()
- */
- basegfx::B2DHomMatrix maViewTransformation;
-
- public:
- /// constructor
- ViewTransformationDependentPrimitive2D()
- : BufferedDecompositionPrimitive2D(),
- maViewTransformation()
- {
- }
-
- /// data read access
- const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; }
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ObjectAndViewTransformationDependentPrimitive2D class
-
- tooling class for BufferedDecompositionPrimitive2D based classes which are view-dependent
- and Object-Transform dependent. The implementation of get2DDecomposition
- guards the buffered local decomposition and ensures that a create2DDecomposition
- implementation may use an up-to-date ViewTransformation accessible using getViewTransformation()
- and an object transformation via getObjectTransformation()
- */
- class DRAWINGLAYER_DLLPUBLIC ObjectAndViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /** the last used ViewTransformation and the last ObjectTransformation
- definition for decomposition. Since this is checked and updated from
- get2DDecomposition() it will be current and usable in create2DDecomposition()
- */
- basegfx::B2DHomMatrix maViewTransformation;
- basegfx::B2DHomMatrix maObjectTransformation;
-
- public:
- /// constructor
- ObjectAndViewTransformationDependentPrimitive2D()
- : BufferedDecompositionPrimitive2D(),
- maViewTransformation(),
- maObjectTransformation()
- {
- }
-
- /// data read access
- const basegfx::B2DHomMatrix& getViewTransformation() const { return maViewTransformation; }
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx
deleted file mode 100644
index d865ba15161a..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx
+++ /dev/null
@@ -1,159 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <drawinglayer/geometry/viewinformation3d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <vcl/bitmapex.hxx>
-#include <drawinglayer/attribute/sdrsceneattribute3d.hxx>
-#include <drawinglayer/attribute/sdrlightingattribute3d.hxx>
-#include <drawinglayer/attribute/sdrlightattribute3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ScenePrimitive2D class
-
- This primitive defines a 3D scene as a 2D primitive and is the anchor point
- for a 3D visualisation. The decomposition is view-dependent and will try to
- re-use already rendered 3D content.
-
- The rendering is done using the default-3D renderer from basegfx which supports
- AntiAliasing.
-
- The 2D primitive's geometric range is defined completely by the
- ObjectTransformation combined with evtl. 2D shadows from the 3D objects. The
- shadows of 3D objects are 2D polygons, projected with the 3D transformation.
-
- This is the class a renderer may process directly when he wants to implement
- an own (e.g. system-specific) 3D renderer.
- */
- class DRAWINGLAYER_DLLPUBLIC ScenePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the 3D geometry definition
- primitive3d::Primitive3DSequence mxChildren3D;
-
- /// 3D scene attribute set
- attribute::SdrSceneAttribute maSdrSceneAttribute;
-
- /// lighting attribute set
- attribute::SdrLightingAttribute maSdrLightingAttribute;
-
- /// object transformation for scene for 2D definition
- basegfx::B2DHomMatrix maObjectTransformation;
-
- /// scene transformation set and object transformation
- geometry::ViewInformation3D maViewInformation3D;
-
- /// the primitiveSequence for on-demand created shadow primitives (see mbShadow3DChecked)
- Primitive2DSequence maShadowPrimitives;
-
- /// bitfield
- /** flag if given 3D geometry is already cheched for shadow definitions and 2d shadows
- are created in maShadowPrimitives
- */
- unsigned mbShadow3DChecked : 1;
-
- /// the last used NewDiscreteSize and NewUnitVisiblePart definitions for decomposition
- double mfOldDiscreteSizeX;
- double mfOldDiscreteSizeY;
- basegfx::B2DRange maOldUnitVisiblePart;
-
- /** the last created BitmapEx, e.g. for fast HitTest. This does not really need
- memory since BitmapEx is internally RefCounted
- */
- BitmapEx maOldRenderedBitmap;
-
- /// private helpers
- bool impGetShadow3D(const geometry::ViewInformation2D& rViewInformation) const;
- void calculateDiscreteSizes(
- const geometry::ViewInformation2D& rViewInformation,
- basegfx::B2DRange& rDiscreteRange,
- basegfx::B2DRange& rVisibleDiscreteRange,
- basegfx::B2DRange& rUnitVisibleRange) const;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// public helpers
- /** Geometry extractor. Shadow will be added as in create2DDecomposition, but
- the 3D content is not converted to a bitmap visualisation but to projected 2D gemetry. This
- helper is useful e.g. for Contour extraction or HitTests.
- */
- Primitive2DSequence getGeometry2D() const;
- Primitive2DSequence getShadow2D(const geometry::ViewInformation2D& rViewInformation) const;
-
- /** Fast HitTest which uses the last buffered BitmapEx from the last
- rendered area if available. The return value describes if the check
- could be done with the current information, so do NOT use o_rResult
- when it returns false. o_rResult will be changed on return true and
- then contains a definitive answer if content of this scene is hit or
- not. On return false, it is normally necessary to use the geometric
- HitTest (see CutFindProcessor usages). The given HitPoint
- has to be in logic coordinates in scene's ObjectCoordinateSystem.
- */
- bool tryToCheckLastVisualisationDirectHit(const basegfx::B2DPoint& rLogicHitPoint, bool& o_rResult) const;
-
- /// constructor
- ScenePrimitive2D(
- const primitive3d::Primitive3DSequence& rxChildren3D,
- const attribute::SdrSceneAttribute& rSdrSceneAttribute,
- const attribute::SdrLightingAttribute& rSdrLightingAttribute,
- const basegfx::B2DHomMatrix& rObjectTransformation,
- const geometry::ViewInformation3D& rViewInformation3D);
-
- /// data read access
- const primitive3d::Primitive3DSequence& getChildren3D() const { return mxChildren3D; }
- const attribute::SdrSceneAttribute& getSdrSceneAttribute() const { return maSdrSceneAttribute; }
- const attribute::SdrLightingAttribute& getSdrLightingAttribute() const { return maSdrLightingAttribute; }
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// get local decomposition. Overloaded since this decomposition is view-dependent
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
deleted file mode 100644
index 5ac29383ff76..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
+++ /dev/null
@@ -1,71 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class B2DPolyPolygon;
- class B2DHomMatrix;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- // helpers to create HitTestPrimitives Line
- Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
- bool bFilled,
- const basegfx::B2DHomMatrix& rMatrix);
-
- Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
- bool bFilled,
- const basegfx::B2DPolyPolygon& rPolygon);
-
- Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
- bool bFilled,
- const basegfx::B2DRange& rRange);
-
- Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
- bool bFilled,
- const basegfx::B2DRange& rRange,
- const basegfx::B2DHomMatrix& rMatrix);
-
- Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
- bool bFilled,
- const basegfx::B2DPolyPolygon& rPolygon,
- const basegfx::B2DHomMatrix& rMatrix);
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx
deleted file mode 100644
index 956d1a3e2d76..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx
+++ /dev/null
@@ -1,88 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** ShadowPrimitive2D class
-
- This primitive defines a generic shadow geometry construction
- for 2D objects. It decomposes to a TransformPrimitive2D embedded
- into a ModifiedColorPrimitive2D.
-
- It's for primtive usage convenience, so that not everyone has
- to implement the generic shadow construction by himself.
-
- The same geometry as sequence of primitives is used as geometry and
- as shadow. Since these are RefCounted Uno-Api objects, no extra objects
- are needed for the shadow itself; all the local decompositions of the
- original geometry can be reused from the renderer for shadow visualisation.
- */
- class DRAWINGLAYER_DLLPUBLIC ShadowPrimitive2D : public GroupPrimitive2D
- {
- private:
- /// the shadow transformation, normally just an offset
- basegfx::B2DHomMatrix maShadowTransform;
-
- /// the shadow color to which all geometry is to be forced
- basegfx::BColor maShadowColor;
-
- public:
- /// constructor
- ShadowPrimitive2D(
- const basegfx::B2DHomMatrix& rShadowTransform,
- const basegfx::BColor& rShadowColor,
- const Primitive2DSequence& rChildren);
-
- /// data read access
- const basegfx::B2DHomMatrix& getShadowTransform() const { return maShadowTransform; }
- const basegfx::BColor& getShadowColor() const { return maShadowColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// create decomposition
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx
deleted file mode 100644
index bc2396e5ab23..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx
+++ /dev/null
@@ -1,71 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <vcl/pdfwriter.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** StructureTagPrimitive2D class
-
- This class is used to provode simple support for adding grouped
- pdf writer structured element information like used in sd from
- unomodel.cxx where a ViewObjectContactRedirector is used to add
- such information for diverse objects.
- This primitive encapsulates these and the VCLPdfRenderer uses it
- to apply the needed infos directly to the pdf export in a compatible
- way.
- If a renderer ignores this, it just decomposes to it's child
- content.
- */
- class DRAWINGLAYER_DLLPUBLIC StructureTagPrimitive2D : public GroupPrimitive2D
- {
- private:
- /// the PDF structure element this grouping represents
- vcl::PDFWriter::StructElement maStructureElement;
-
- public:
- /// constructor
- StructureTagPrimitive2D(
- const vcl::PDFWriter::StructElement& rStructureElement,
- const Primitive2DSequence& rChildren);
-
- /// data read access
- const vcl::PDFWriter::StructElement& getStructureElement() const { return maStructureElement; }
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx
deleted file mode 100644
index 0e7dab93ff14..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx
+++ /dev/null
@@ -1,413 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <drawinglayer/primitive2d/primitivetools2d.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgGradientEntry class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /// a single GradientStop defining a color and opacity at a distance
- class SvgGradientEntry
- {
- private:
- double mfOffset;
- basegfx::BColor maColor;
- double mfOpacity;
-
- public:
- SvgGradientEntry(double fOffset, const basegfx::BColor& rColor = basegfx::BColor(0.0, 0.0, 0.0), double fOpacity = 1.0)
- : mfOffset(fOffset),
- maColor(rColor),
- mfOpacity(fOpacity)
- {
- }
-
- double getOffset() const { return mfOffset; }
- const basegfx::BColor& getColor() const { return maColor; }
- double getOpacity() const { return mfOpacity; }
-
- bool operator==(const SvgGradientEntry& rCompare) const
- {
- return (getOffset() == rCompare.getOffset()
- && getColor() == getColor()
- && getOpacity() == getOpacity());
- }
-
- bool operator<(const SvgGradientEntry& rCompare) const
- {
- return getOffset() < rCompare.getOffset();
- }
- };
-
- typedef ::std::vector< SvgGradientEntry > SvgGradientEntryVector;
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgGradientHelper class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- enum SpreadMethod
- {
- Spread_pad = 0,
- Spread_reflect,
- Spread_repeat
- };
-
- /* helper for linear and radial gradient, both get derived from this
- to share common definitions and functionality
- **/
- class SvgGradientHelper
- {
- private:
- /// geometric definition, the geometry to be filled
- basegfx::B2DPolyPolygon maPolyPolygon;
-
- /// the gradient definition
- SvgGradientEntryVector maGradientEntries;
-
- /// start and/or center point
- basegfx::B2DPoint maStart;
-
- /// how to spread
- SpreadMethod maSpreadMethod;
-
- /// bitfield
- bool mbPreconditionsChecked : 1;
- bool mbCreatesContent : 1;
- bool mbSingleEntry : 1;
- bool mbFullyOpaque : 1;
-
- // true = interpret in unit coordinate system -> object aspect ratio will scale result
- // false = interpret in object coordinate system -> object aspect ratio will not scale result
- // (related to SVG's gradientUnits (userSpaceOnUse|objectBoundingBox)
- bool mbUseUnitCoordinates : 1;
-
- protected:
- /// local helpers
- Primitive2DSequence createSingleGradientEntryFill() const;
- virtual void createAtom(
- Primitive2DVector& rTargetColor,
- Primitive2DVector& rTargetOpacity,
- const SvgGradientEntry& rFrom,
- const SvgGradientEntry& rTo,
- sal_Int32 nOffset) const = 0;
- double createRun(
- Primitive2DVector& rTargetColor,
- Primitive2DVector& rTargetOpacity,
- double fPos,
- double fMax,
- const SvgGradientEntryVector& rEntries,
- sal_Int32 nOffset) const;
- virtual void checkPreconditions();
- Primitive2DSequence createResult(
- const Primitive2DVector& rTargetColor,
- const Primitive2DVector& rTargetOpacity,
- const basegfx::B2DHomMatrix& rUnitGradientToObject,
- bool bInvert = false) const;
- bool getCreatesContent() const { return mbCreatesContent; }
- bool getSingleEntry() const { return mbSingleEntry; }
- void setSingleEntry() { mbSingleEntry = true; }
- bool getPreconditionsChecked() const { return mbPreconditionsChecked; }
- bool getFullyOpaque() const { return mbFullyOpaque; }
-
- public:
- /// constructor
- SvgGradientHelper(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const SvgGradientEntryVector& rGradientEntries,
- const basegfx::B2DPoint& rStart,
- bool bUseUnitCoordinates,
- SpreadMethod aSpreadMethod = Spread_pad);
- virtual ~SvgGradientHelper() {}
-
- /// data read access
- const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; }
- const SvgGradientEntryVector& getGradientEntries() const { return maGradientEntries; }
- const basegfx::B2DPoint& getStart() const { return maStart; }
- bool getUseUnitCoordinates() const { return mbUseUnitCoordinates; }
- SpreadMethod getSpreadMethod() const { return maSpreadMethod; }
-
- /// compare operator
- bool equalTo(const SvgGradientHelper& rSvgGradientHelper) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgLinearGradientPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /// the basic linear gradient primitive
- class DRAWINGLAYER_DLLPUBLIC SvgLinearGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper
- {
- private:
- /// the end point for linear gradient
- basegfx::B2DPoint maEnd;
-
- protected:
- /// local helpers
- virtual void createAtom(
- Primitive2DVector& rTargetColor,
- Primitive2DVector& rTargetOpacity,
- const SvgGradientEntry& rFrom,
- const SvgGradientEntry& rTo,
- sal_Int32 nOffset) const;
- virtual void checkPreconditions();
-
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- SvgLinearGradientPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const SvgGradientEntryVector& rGradientEntries,
- const basegfx::B2DPoint& rStart,
- const basegfx::B2DPoint& rEnd,
- bool bUseUnitCoordinates,
- SpreadMethod aSpreadMethod = Spread_pad);
- virtual ~SvgLinearGradientPrimitive2D();
-
- /// data read access
- const basegfx::B2DPoint& getEnd() const { return maEnd; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgRadialGradientPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /// the basic radial gradient primitive
- class DRAWINGLAYER_DLLPUBLIC SvgRadialGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper
- {
- private:
- /// the geometric definition
- double mfRadius;
-
- /// Focal only used when focal is set at all, see constructors
- basegfx::B2DPoint maFocal;
- basegfx::B2DVector maFocalVector;
- double maFocalLength;
-
- // internal helper for case Spread_reflect
- SvgGradientEntryVector maMirroredGradientEntries;
-
- /// bitfield
- bool mbFocalSet : 1;
-
- /// local helpers
- const SvgGradientEntryVector& getMirroredGradientEntries() const;
- void createMirroredGradientEntries();
-
- protected:
- /// local helpers
- virtual void createAtom(
- Primitive2DVector& rTargetColor,
- Primitive2DVector& rTargetOpacity,
- const SvgGradientEntry& rFrom,
- const SvgGradientEntry& rTo,
- sal_Int32 nOffset) const;
- virtual void checkPreconditions();
-
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- SvgRadialGradientPrimitive2D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const SvgGradientEntryVector& rGradientEntries,
- const basegfx::B2DPoint& rStart,
- double fRadius,
- bool bUseUnitCoordinates,
- SpreadMethod aSpreadMethod = Spread_pad,
- const basegfx::B2DPoint* pFocal = 0);
- virtual ~SvgRadialGradientPrimitive2D();
-
- /// data read access
- double getRadius() const { return mfRadius; }
- const basegfx::B2DPoint& getFocal() const { return maFocal; }
- bool isFocalSet() const { return mbFocalSet; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgLinearAtomPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /* basic primitive for a single linear GradientRun in unit coordiantes.
- It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent
- decompositions allowing reduced color steps
- **/
- class DRAWINGLAYER_DLLPUBLIC SvgLinearAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D
- {
- private:
- /// the geometric definition in unit coordiantes
- basegfx::BColor maColorA;
- basegfx::BColor maColorB;
- double mfOffsetA;
- double mfOffsetB;
-
- protected:
-
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- SvgLinearAtomPrimitive2D(
- const basegfx::BColor& aColorA, double fOffsetA,
- const basegfx::BColor& aColorB, double fOffsetB);
-
- /// data read access
- const basegfx::BColor& getColorA() const { return maColorA; }
- const basegfx::BColor& getColorB() const { return maColorB; }
- double getOffsetA() const { return mfOffsetA; }
- double getOffsetB() const { return mfOffsetB; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// SvgRadialAtomPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /* basic primitive for a single radial GradientRun in unit coordiantes.
- It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent
- decompositions allowing reduced color steps
- **/
- class DRAWINGLAYER_DLLPUBLIC SvgRadialAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D
- {
- private:
- /// the geometric definition in unit coordiantes
- basegfx::BColor maColorA;
- basegfx::BColor maColorB;
- double mfScaleA;
- double mfScaleB;
-
- // helper to hold translation vectors when given (for focal)
- struct VectorPair
- {
- basegfx::B2DVector maTranslateA;
- basegfx::B2DVector maTranslateB;
-
- VectorPair(const basegfx::B2DVector& rTranslateA, const basegfx::B2DVector& rTranslateB)
- : maTranslateA(rTranslateA),
- maTranslateB(rTranslateB)
- {
- }
- };
-
- /// Only used when focal is set
- VectorPair* mpTranslate;
-
- protected:
-
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- SvgRadialAtomPrimitive2D(
- const basegfx::BColor& aColorA, double fScaleA, const basegfx::B2DVector& rTranslateA,
- const basegfx::BColor& aColorB, double fScaleB, const basegfx::B2DVector& rTranslateB);
- SvgRadialAtomPrimitive2D(
- const basegfx::BColor& aColorA, double fScaleA,
- const basegfx::BColor& aColorB, double fScaleB);
- virtual ~SvgRadialAtomPrimitive2D();
-
- /// data read access
- const basegfx::BColor& getColorA() const { return maColorA; }
- const basegfx::BColor& getColorB() const { return maColorB; }
- double getScaleA() const { return mfScaleA; }
- double getScaleB() const { return mfScaleB; }
- bool isTranslateSet() const { return (0 != mpTranslate); }
- basegfx::B2DVector getTranslateA() const { if(mpTranslate) return mpTranslate->maTranslateA; return basegfx::B2DVector(); }
- basegfx::B2DVector getTranslateB() const { if(mpTranslate) return mpTranslate->maTranslateB; return basegfx::B2DVector(); }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx
deleted file mode 100644
index 4a3996353a93..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx
+++ /dev/null
@@ -1,84 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/primitive2d/textprimitive2d.hxx>
-#include <drawinglayer/primitive2d/textlayoutdevice.hxx>
-#include <basegfx/matrix/b2dhommatrixtools.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- enum BreakupUnit
- {
- BreakupUnit_character,
- BreakupUnit_word,
- BreakupUnit_sentence
- };
-
- class DRAWINGLAYER_DLLPUBLIC TextBreakupHelper
- {
- private:
- const TextSimplePortionPrimitive2D& mrSource;
- Primitive2DSequence mxResult;
- TextLayouterDevice maTextLayouter;
- basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose maDecTrans;
-
- /// bitfield
- bool mbNoDXArray : 1;
-
- /// create a portion from nIndex to nLength and append to rTempResult
- void breakupPortion(Primitive2DVector& rTempResult, sal_uInt32 nIndex, sal_uInt32 nLength, bool bWordLineMode);
-
- /// breakup complete primitive
- void breakup(BreakupUnit aBreakupUnit);
-
- protected:
- /// allow user callback to allow changes to the new TextTransformation. Default
- /// does nothing. Retval defines if a primitive gets created, e.g. return false
- /// to suppress creation
- virtual bool allowChange(sal_uInt32 nCount, basegfx::B2DHomMatrix& rNewTransform, sal_uInt32 nIndex, sal_uInt32 nLength);
-
- /// allow read access to evtl. useful local parts
- const TextLayouterDevice& getTextLayouter() const { return maTextLayouter; }
- const basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose& getDecTrans() const { return maDecTrans; }
- const TextSimplePortionPrimitive2D& getSource() const { return mrSource; }
-
- public:
- TextBreakupHelper(const TextSimplePortionPrimitive2D& rSource);
- virtual ~TextBreakupHelper();
-
- /// get result
- const Primitive2DSequence& getResult(BreakupUnit aBreakupUnit = BreakupUnit_character) const;
- };
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
deleted file mode 100644
index 506510958848..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
+++ /dev/null
@@ -1,147 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/textprimitive2d.hxx>
-#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predeclarations
-
-namespace basegfx { namespace tools {
- class B2DHomMatrixBufferedOnDemandDecompose;
-}}
-
-namespace com { namespace sun { namespace star { namespace i18n {
- struct Boundary;
-}}}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextDecoratedPortionPrimitive2D class
-
- This primitive expands the TextSimplePortionPrimitive2D by common
- decorations used in the office. It can be decomposed and will create
- a TextSimplePortionPrimitive2D and all the contained decorations (if used)
- as geometry.
- */
- class DRAWINGLAYER_DLLPUBLIC TextDecoratedPortionPrimitive2D : public TextSimplePortionPrimitive2D
- {
- private:
- /// decoration definitions
- basegfx::BColor maOverlineColor;
- basegfx::BColor maTextlineColor;
- TextLine meFontOverline;
- TextLine meFontUnderline;
- TextStrikeout meTextStrikeout;
- TextEmphasisMark meTextEmphasisMark;
- TextRelief meTextRelief;
-
- /// bitfield
- unsigned mbUnderlineAbove : 1;
- unsigned mbWordLineMode : 1;
- unsigned mbEmphasisMarkAbove : 1;
- unsigned mbEmphasisMarkBelow : 1;
- unsigned mbShadow : 1;
-
- /// helper methods
- void impCreateGeometryContent(
- std::vector< Primitive2DReference >& rTarget,
- basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose& rDecTrans,
- const String& rText,
- xub_StrLen aTextPosition,
- xub_StrLen aTextLength,
- const ::std::vector< double >& rDXArray,
- const attribute::FontAttribute& rFontAttribute) const;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- TextDecoratedPortionPrimitive2D(
-
- /// TextSimplePortionPrimitive2D parameters
- const basegfx::B2DHomMatrix& rNewTransform,
- const String& rText,
- xub_StrLen aTextPosition,
- xub_StrLen aTextLength,
- const ::std::vector< double >& rDXArray,
- const attribute::FontAttribute& rFontAttribute,
- const ::com::sun::star::lang::Locale& rLocale,
- const basegfx::BColor& rFontColor,
-
- /// local parameters
- const basegfx::BColor& rOverlineColor,
- const basegfx::BColor& rTextlineColor,
- TextLine eFontOverline = TEXT_LINE_NONE,
- TextLine eFontUnderline = TEXT_LINE_NONE,
- bool bUnderlineAbove = false,
- TextStrikeout eTextStrikeout = TEXT_STRIKEOUT_NONE,
- bool bWordLineMode = false,
- TextEmphasisMark eTextEmphasisMark = TEXT_EMPHASISMARK_NONE,
- bool bEmphasisMarkAbove = true,
- bool bEmphasisMarkBelow = false,
- TextRelief eTextRelief = TEXT_RELIEF_NONE,
- bool bShadow = false);
-
- /// data read access
- TextLine getFontOverline() const { return meFontOverline; }
- TextLine getFontUnderline() const { return meFontUnderline; }
- TextStrikeout getTextStrikeout() const { return meTextStrikeout; }
- TextEmphasisMark getTextEmphasisMark() const { return meTextEmphasisMark; }
- TextRelief getTextRelief() const { return meTextRelief; }
- const basegfx::BColor& getOverlineColor() const { return maOverlineColor; }
- const basegfx::BColor& getTextlineColor() const { return maTextlineColor; }
- bool getUnderlineAbove() const { return mbUnderlineAbove; }
- bool getWordLineMode() const { return mbWordLineMode; }
- bool getEmphasisMarkAbove() const { return mbEmphasisMarkAbove; }
- bool getEmphasisMarkBelow() const { return mbEmphasisMarkBelow; }
- bool getShadow() const { return mbShadow; }
-
- /// check if this needs to be a TextDecoratedPortionPrimitive2D or
- /// if a TextSimplePortionPrimitive2D would be suficcient
- bool decoratedIsNeeded() const;
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx
deleted file mode 100644
index 01fff05473d5..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx
+++ /dev/null
@@ -1,106 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextEffectStyle2D definition */
- enum TextEffectStyle2D
- {
- TEXTEFFECTSTYLE2D_RELIEF_EMBOSSED_DEFAULT,
- TEXTEFFECTSTYLE2D_RELIEF_ENGRAVED_DEFAULT,
- TEXTEFFECTSTYLE2D_RELIEF_EMBOSSED,
- TEXTEFFECTSTYLE2D_RELIEF_ENGRAVED,
- TEXTEFFECTSTYLE2D_OUTLINE
- };
-
- /** TextEffectPrimitive2D class
-
- This primitive embeds text primitives (normally, as can be seen can
- also be used for any other primitives) which have some TextEffect applied
- and create the needed geometry and embedding on decomposition.
- */
- class DRAWINGLAYER_DLLPUBLIC TextEffectPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the text (or other) content
- Primitive2DSequence maTextContent;
-
- /// the style to apply, the direction and the rotation center
- const basegfx::B2DPoint maRotationCenter;
- double mfDirection;
- TextEffectStyle2D meTextEffectStyle2D;
-
- /** the last used object to view transformtion used from getDecomposition
- for decide buffering
- */
- basegfx::B2DHomMatrix maLastObjectToViewTransformation;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// construcor
- TextEffectPrimitive2D(
- const Primitive2DSequence& rTextContent,
- const basegfx::B2DPoint& rRotationCenter,
- double fDirection,
- TextEffectStyle2D eTextEffectStyle2D);
-
- /// data read access
- const Primitive2DSequence& getTextContent() const { return maTextContent; }
- const basegfx::B2DPoint& getRotationCenter() const { return maRotationCenter; }
- double getDirection() const { return mfDirection; }
- TextEffectStyle2D getTextEffectStyle2D() const { return meTextEffectStyle2D; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /** own get range implementation to solve more effective. Content is by definition displaced
- by a fixed discrete unit, thus the contained geometry needs only once be asked for it's
- own basegfx::B2DRange
- */
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
-
- /// Overload standard getDecomposition call to be view-dependent here
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx
deleted file mode 100644
index 36531e6fce16..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx
+++ /dev/null
@@ -1,104 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <vcl/vclenum.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextLine definition
-
- This is used for both underline and overline
- */
- enum TextLine
- {
- TEXT_LINE_NONE,
- TEXT_LINE_SINGLE,
- TEXT_LINE_DOUBLE,
- TEXT_LINE_DOTTED,
- TEXT_LINE_DASH,
- TEXT_LINE_LONGDASH,
- TEXT_LINE_DASHDOT,
- TEXT_LINE_DASHDOTDOT,
- TEXT_LINE_SMALLWAVE,
- TEXT_LINE_WAVE,
- TEXT_LINE_DOUBLEWAVE,
- TEXT_LINE_BOLD,
- TEXT_LINE_BOLDDOTTED,
- TEXT_LINE_BOLDDASH,
- TEXT_LINE_BOLDLONGDASH,
- TEXT_LINE_BOLDDASHDOT,
- TEXT_LINE_BOLDDASHDOTDOT,
- TEXT_LINE_BOLDWAVE
- };
-
- /** helper to convert LineStyle */
- TextLine DRAWINGLAYER_DLLPUBLIC mapFontUnderlineToTextLine(FontUnderline eLineStyle);
- FontUnderline DRAWINGLAYER_DLLPUBLIC mapTextLineToFontUnderline(TextLine eLineStyle);
-
- /** FontStrikeout definition */
- enum TextStrikeout
- {
- TEXT_STRIKEOUT_NONE,
- TEXT_STRIKEOUT_SINGLE,
- TEXT_STRIKEOUT_DOUBLE,
- TEXT_STRIKEOUT_BOLD,
- TEXT_STRIKEOUT_SLASH,
- TEXT_STRIKEOUT_X
- };
-
- /** helper to convert FontStrikeout */
- TextStrikeout DRAWINGLAYER_DLLPUBLIC mapFontStrikeoutToTextStrikeout(::FontStrikeout eFontStrikeout);
- ::FontStrikeout DRAWINGLAYER_DLLPUBLIC mapTextStrikeoutToFontStrikeout(TextStrikeout eFontStrikeout);
-
- /** TextEmphasisMark definition */
- enum TextEmphasisMark
- {
- TEXT_EMPHASISMARK_NONE,
- TEXT_EMPHASISMARK_DOT,
- TEXT_EMPHASISMARK_CIRCLE,
- TEXT_EMPHASISMARK_DISC,
- TEXT_EMPHASISMARK_ACCENT
- };
-
- /** TextRelief definition */
- enum TextRelief
- {
- TEXT_RELIEF_NONE,
- TEXT_RELIEF_EMBOSSED,
- TEXT_RELIEF_ENGRAVED
- };
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx
deleted file mode 100644
index e9fb01f094ff..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx
+++ /dev/null
@@ -1,212 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <tools/string.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextHierarchyLinePrimitive2D class
-
- Text format hierarchy helper class. It decomposes to it's
- content, so all direct renderers may ignore it. If You need
- to know more about line hierarchies You may react on it and
- also need to take care that the source of data uses it.
-
- This primitive encapsulates text lines.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyLinePrimitive2D : public GroupPrimitive2D
- {
- private:
- public:
- /// constructor
- explicit TextHierarchyLinePrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextHierarchyBulletPrimitive2D class
-
- This primitive encapsulates text bullets.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyBulletPrimitive2D : public GroupPrimitive2D
- {
- private:
- public:
- /// constructor
- explicit TextHierarchyBulletPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextHierarchyParagraphPrimitive2D class
-
- This primitive encapsulates text paragraphs.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyParagraphPrimitive2D : public GroupPrimitive2D
- {
- private:
- public:
- /// constructor
- explicit TextHierarchyParagraphPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextHierarchyBlockPrimitive2D class
-
- This primitive encapsulates text blocks.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyBlockPrimitive2D : public GroupPrimitive2D
- {
- private:
- public:
- /// constructor
- explicit TextHierarchyBlockPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** FieldType definition */
- enum FieldType
- {
- /** unspecified. If more info is needed for a FieldType,
- create a new type and it's handling
- */
- FIELD_TYPE_COMMON,
-
- /** uses "FIELD_SEQ_BEGIN;PageField" -> special handling */
- FIELD_TYPE_PAGE,
-
- /** uses URL as string -> special handling */
- FIELD_TYPE_URL
- };
-
- /** TextHierarchyFieldPrimitive2D class
-
- This primitive encapsulates text fields.
- Also: This type uses a type enum to transport the encapsulated field
- type. Also added is a String which is type-dependent. E.g. for URL
- fields, it contains the URL.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyFieldPrimitive2D : public GroupPrimitive2D
- {
- private:
- FieldType meType;
- OUString maString;
-
- public:
- /// constructor
- TextHierarchyFieldPrimitive2D(
- const Primitive2DSequence& rChildren,
- const FieldType& rFieldType,
- const OUString& rString);
-
- /// data read access
- FieldType getType() const { return meType; }
- const OUString& getString() const { return maString; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextHierarchyEditPrimitive2D class
-
- #i97628#
- Primitive to encapsulate text from an active text edit; some
- renderers need to suppress this output due to painting the
- edited text in e.g. an OutlinerEditView. It's derived from
- GroupPrimitive2D, so the implicit decomposition will use the
- content. To suppress, this primitive needs to be parsed by
- the renderer without taking any action.
- */
- class DRAWINGLAYER_DLLPUBLIC TextHierarchyEditPrimitive2D : public GroupPrimitive2D
- {
- private:
- public:
- /// constructor
- explicit TextHierarchyEditPrimitive2D(const Primitive2DSequence& rChildren);
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
deleted file mode 100644
index a0338a371aad..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
+++ /dev/null
@@ -1,155 +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 INCLUDED_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX
-#define INCLUDED_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <tools/solar.h>
-#include <tools/poly.hxx>
-#include <basegfx/range/b2drange.hxx>
-#include <vector>
-#include <com/sun/star/lang/Locale.hpp>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-class VirtualDevice;
-class Font;
-class String;
-class OutputDevice;
-class GDIMetaFile;
-
-namespace drawinglayer { namespace attribute {
- class FontAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-// access to one global impTimedRefDev incarnation in namespace drawinglayer::primitive
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextLayouterDevice class
-
- This helper class exists to isolate all accesses to VCL
- text formatting/handling functionality for primitive implementations.
- When in the future FontHandling may move to an own library independent
- from VCL, primitives will be prepared.
- */
- class DRAWINGLAYER_DLLPUBLIC TextLayouterDevice
- {
- /// internally used VirtualDevice
- VirtualDevice& mrDevice;
-
- public:
- /// constructor/destructor
- TextLayouterDevice();
- ~TextLayouterDevice();
-
- /// tooling methods
- void setFont(const Font& rFont);
- void setFontAttribute(
- const attribute::FontAttribute& rFontAttribute,
- double fFontScaleX,
- double fFontScaleY,
- const ::com::sun::star::lang::Locale & rLocale);
-
- double getTextHeight() const;
- double getOverlineHeight() const;
- double getOverlineOffset() const;
- double getUnderlineHeight() const;
- double getUnderlineOffset() const;
- double getStrikeoutOffset() const;
-
- double getTextWidth(
- const String& rText,
- sal_uInt32 nIndex,
- sal_uInt32 nLength) const;
-
- bool getTextOutlines(
- basegfx::B2DPolyPolygonVector&,
- const String& rText,
- sal_uInt32 nIndex,
- sal_uInt32 nLength,
- const ::std::vector< double >& rDXArray) const;
-
- basegfx::B2DRange getTextBoundRect(
- const String& rText,
- sal_uInt32 nIndex,
- sal_uInt32 nLength) const;
-
- double getFontAscent() const;
- double getFontDescent() const;
-
- void addTextRectActions(
- const Rectangle& rRectangle,
- const String& rText,
- sal_uInt16 nStyle,
- GDIMetaFile& rGDIMetaFile) const;
-
- ::std::vector< double > getTextArray(
- const String& rText,
- sal_uInt32 nIndex,
- sal_uInt32 nLength) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// helper methods for vcl font handling
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** Create a VCL-Font based on the definitions in FontAttribute
- and the given FontScaling. The FontScaling defines the FontHeight
- (fFontScaleY) and the FontWidth (fFontScaleX). The combination of
- both defines FontStretching, where no stretching happens at
- fFontScaleY == fFontScaleX
- */
- Font DRAWINGLAYER_DLLPUBLIC getVclFontFromFontAttribute(
- const attribute::FontAttribute& rFontAttribute,
- double fFontScaleX,
- double fFontScaleY,
- double fFontRotation,
- const ::com::sun::star::lang::Locale & rLocale);
-
- /** Generate FontAttribute DataSet derived from the given VCL-Font.
- The FontScaling with fFontScaleY, fFontScaleX relationship (see
- above) will be set in return parameter o_rSize to allow further
- processing
- */
- attribute::FontAttribute DRAWINGLAYER_DLLPUBLIC getFontAttributeFromVclFont(
- basegfx::B2DVector& o_rSize,
- const Font& rFont,
- bool bRTL,
- bool bBiDiStrong);
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx
deleted file mode 100644
index 6bcca85a8bc2..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx
+++ /dev/null
@@ -1,84 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class DRAWINGLAYER_DLLPUBLIC TextLinePrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// geometric definitions
- basegfx::B2DHomMatrix maObjectTransformation;
- double mfWidth;
- double mfOffset;
- double mfHeight;
-
- /// decoration definitions
- TextLine meTextLine;
- basegfx::BColor maLineColor;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- TextLinePrimitive2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- double fWidth,
- double fOffset,
- double fHeight,
- TextLine eTextLine,
- const basegfx::BColor& rLineColor);
-
- /// data read access
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- double getWidth() const { return mfWidth; }
- double getOffset() const { return mfOffset; }
- double getHeight() const { return mfHeight; }
- TextLine getTextLine() const { return meTextLine; }
- const basegfx::BColor& getLineColor() const { return maLineColor; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
deleted file mode 100644
index 5a12e2bc678f..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
+++ /dev/null
@@ -1,181 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <tools/string.hxx>
-#include <vcl/font.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <vector>
-#include <com/sun/star/lang/Locale.hpp>
-#include <drawinglayer/attribute/fontattribute.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-class OutputDevice;
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextSimplePortionPrimitive2D class
-
- This is the basic primitive for representing a text portion. It contains
- all needed information. If it is not handled by a renderer, it's decomposition
- will provide the text PolyPolygon outlines as filled polygons, correctly
- transformed.
-
- To get better text quality, it is suggested to handle tis primitive directly
- in a renderer. In that case, e.g. hintings on the system can be supported.
-
- @param maTextTransform
- The text transformation contains the text start position (always baselined)
- as translation, the FontSize as scale (where width relative to height defines
- font scaling and width == height means no font scaling) and the font rotation
- and shear.
- When shear is used and a renderer does not support it, it may be better to use
- the decomposition which will do everything correctly. Same is true for mirroring
- which would be expressed as negative scalings.
-
- @param rText
- The text to be used. Only a part may be used, but a bigger part of the string
- may be necessary for correct layouting (e.g. international)
-
- @param aTextPosition
- The index to the first character to use from rText
-
- @param aTextLength
- The number of characters to use from rText
-
- @param rDXArray
- The distances between the characters. This parameter may be empty, in that case
- the renderer is responsible to do something useful. If it is given, it has to be of
- the size aTextLength. Its values are in logical coordinates and describe the
- distance for each character to use. This is independent from the font width which
- is given with maTextTransform. The first value is the offset to use from the start
- point in FontCoordinateSystem X-Direction (given by maTextTransform) to the start
- point of the second character
-
- @param rFontAttribute
- The font definition
-
- @param rLocale
- The locale to use
-
- @param rFontColor
- The font color to use
- */
- class DRAWINGLAYER_DLLPUBLIC TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// text transformation (FontCoordinateSystem)
- basegfx::B2DHomMatrix maTextTransform;
-
- /// The text, used from maTextPosition up to maTextPosition + maTextLength
- String maText;
-
- /// The index from where on maText is used
- xub_StrLen maTextPosition;
-
- /// The length for maText usage, starting from maTextPosition
- xub_StrLen maTextLength;
-
- /// The DX array in logic units
- ::std::vector< double > maDXArray;
-
- /// The font definition
- attribute::FontAttribute maFontAttribute;
-
- /// The Locale for the text
- ::com::sun::star::lang::Locale maLocale;
-
- /// font color
- basegfx::BColor maFontColor;
-
- /// #i96669# internal: add simple range buffering for this primitive
- basegfx::B2DRange maB2DRange;
- bool mbFilled; // Whether to fill a given width with the text
- long mnWidthToFill; // the width to fill
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- TextSimplePortionPrimitive2D(
- const basegfx::B2DHomMatrix& rNewTransform,
- const String& rText,
- xub_StrLen aTextPosition,
- xub_StrLen aTextLength,
- const ::std::vector< double >& rDXArray,
- const attribute::FontAttribute& rFontAttribute,
- const ::com::sun::star::lang::Locale& rLocale,
- const basegfx::BColor& rFontColor,
- bool bFilled = false,
- long nWidthToFill = 0);
-
- /// helpers
- /** get text outlines as polygons and their according ObjectTransformation. Handles all
- the necessary VCL outline extractins, scaling adaptions and other stuff.
- */
- void getTextOutlinesAndTransformation(basegfx::B2DPolyPolygonVector& rTarget, basegfx::B2DHomMatrix& rTransformation) const;
-
- /// data read access
- const basegfx::B2DHomMatrix& getTextTransform() const { return maTextTransform; }
- const String& getText() const { return maText; }
- xub_StrLen getTextPosition() const { return maTextPosition; }
- xub_StrLen getTextLength() const { return maTextLength; }
- const ::std::vector< double >& getDXArray() const { return maDXArray; }
- const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; }
- const ::com::sun::star::lang::Locale& getLocale() const { return maLocale; }
- const basegfx::BColor& getFontColor() const { return maFontColor; }
- bool isFilled() const { return mbFilled; }
- long getWidthToFill() const { return mnWidthToFill; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
-
- /// small helper to have a compare operator for Locale
- bool DRAWINGLAYER_DLLPUBLIC LocalesAreEqual(const ::com::sun::star::lang::Locale& rA, const ::com::sun::star::lang::Locale& rB);
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
deleted file mode 100644
index 216fe740933a..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
+++ /dev/null
@@ -1,152 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <drawinglayer/attribute/fontattribute.hxx>
-#include <com/sun/star/lang/Locale.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class DRAWINGLAYER_DLLPUBLIC BaseTextStrikeoutPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// geometric definitions
- basegfx::B2DHomMatrix maObjectTransformation;
- double mfWidth;
-
- /// decoration definitions
- basegfx::BColor maFontColor;
-
- public:
- /// constructor
- BaseTextStrikeoutPrimitive2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- double fWidth,
- const basegfx::BColor& rFontColor);
-
- /// data read access
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- double getWidth() const { return mfWidth; }
- const basegfx::BColor& getFontColor() const { return maFontColor; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class DRAWINGLAYER_DLLPUBLIC TextCharacterStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
- {
- private:
- sal_Unicode maStrikeoutChar;
- attribute::FontAttribute maFontAttribute;
- ::com::sun::star::lang::Locale maLocale;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- TextCharacterStrikeoutPrimitive2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- double fWidth,
- const basegfx::BColor& rFontColor,
- sal_Unicode aStrikeoutChar,
- const attribute::FontAttribute& rFontAttribute,
- const ::com::sun::star::lang::Locale& rLocale);
-
- /// data read access
- sal_Unicode getStrikeoutChar() const { return maStrikeoutChar; }
- const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; }
- const ::com::sun::star::lang::Locale& getLocale() const { return maLocale; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class DRAWINGLAYER_DLLPUBLIC TextGeometryStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
- {
- private:
- double mfHeight;
- double mfOffset;
- TextStrikeout meTextStrikeout;
-
- protected:
- /// local decomposition.
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- TextGeometryStrikeoutPrimitive2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- double fWidth,
- const basegfx::BColor& rFontColor,
- double fHeight,
- double fOffset,
- TextStrikeout eTextStrikeout);
-
- /// data read access
- double getHeight() const { return mfHeight; }
- double getOffset() const { return mfOffset; }
- TextStrikeout getTextStrikeout() const { return meTextStrikeout; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx
deleted file mode 100644
index e58c530fa71f..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx
+++ /dev/null
@@ -1,84 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TransformPrimitive2D class
-
- This is one of the basic grouping primitives and it provides
- embedding a sequence of primitives (a geometry) into a
- transformation. All renderers have to handle this, usually by
- building a current transformation stack (linear combination)
- and applying this to all to-be-rendered geometry. If not handling
- this, the output will be mostly wrong since this primitive is
- widely used.
-
- It does transform by embedding an existing geometry into a
- transformation as Child-content. This allows re-usage of the
- refcounted Uno-Api primitives and their existung, buffered
- decompositions.
-
- It could e.g. be used to show a single object geometry in 1000
- different, transformed states without the need to create those
- thousand primitive contents.
- */
- class DRAWINGLAYER_DLLPUBLIC TransformPrimitive2D : public GroupPrimitive2D
- {
- private:
- // the transformation to apply to the child geometry
- basegfx::B2DHomMatrix maTransformation;
-
- public:
- /// constructor
- TransformPrimitive2D(
- const basegfx::B2DHomMatrix& rTransformation,
- const Primitive2DSequence& rChildren);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx
deleted file mode 100644
index 1c742da909d3..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx
+++ /dev/null
@@ -1,88 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TransparencePrimitive2D class
-
- This is the basic primitive for applying freely defined transparence
- to freely defined content. The basic idea is to associate a content
- which is defined as a sequence of primitives and hold as child content
- in the GroupPrimitive2D with a transparence channel also defined as a sequence
- of primitives and hold in the transparence member.
-
- The basic definition is to use the transparence content as transparence-Mask by
- interpreting the transparence-content not as RGB, but as Luminance transparence mask
- using the common RGB_to_luminance definition as e.g. used by VCL.
-
- The defining geometry is the Range of the child primitive sequence,
- this means the renderers will/shall use this geometric information for
- rendering, not the transparent one. The transparent one should/will be clipped
- accordingly.
- */
- class DRAWINGLAYER_DLLPUBLIC TransparencePrimitive2D : public GroupPrimitive2D
- {
- private:
- /// The transparence-Mask who's RGB-Values are interpreted as Luminance
- Primitive2DSequence maTransparence;
-
- public:
- /** constructor
-
- @param rChildren
- The content which is defined to have a transparency. The
- range of this primitive is defined by this content
-
- @param rTransparence
- The definition of the Transparence-channel for this primitive. It
- will be interpreted as mask by interpreting as gray values
- using the common RGB_to_luminance definitions
- */
- TransparencePrimitive2D(
- const Primitive2DSequence& rChildren,
- const Primitive2DSequence& rTransparence);
-
- /// data read access
- const Primitive2DSequence& getTransparence() const { return maTransparence; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
deleted file mode 100644
index e30de32107f6..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
+++ /dev/null
@@ -1,76 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** UnifiedTransparencePrimitive2D class
-
- This primitive encapsualtes a child hierarchy and defines
- that it shall be visualized with the given transparency. That
- transparency is unique for all contained geometry, so that
- e.g. overlapping polygons in the child geometry will not show
- regions of combined transparency, but be all rendered with the
- defined, single transparency.
- */
- class DRAWINGLAYER_DLLPUBLIC UnifiedTransparencePrimitive2D : public GroupPrimitive2D
- {
- private:
- /// the unified transparence
- double mfTransparence;
-
- public:
- /// constructor
- UnifiedTransparencePrimitive2D(
- const Primitive2DSequence& rChildren,
- double fTransparence);
-
- /// data read access
- double getTransparence() const { return mfTransparence; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// own getB2DRange implementation to include transparent geometries to BoundRect calculations
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// create decomposition
- virtual Primitive2DSequence get2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
deleted file mode 100644
index 0e370b74dab0..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
+++ /dev/null
@@ -1,87 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/primitivetools2d.hxx>
-#include <vcl/bitmapex.hxx>
-#include <vcl/wall.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** WallpaperBitmapPrimitive2D class
-
- This is a specialized primtive for the Wallpaper definitions included in
- VCL and Metafiles. The extraordinary about the bitmap definition part of
- the Wallpaper is that it uses PIXEL size of the given Bitmap and not
- the logic and/or discrete size derived by PrefMapMode/PrefSize methods.
- To emulate this, a ViewTransformation dependent primitive is needed which
- takes over the correct scaling(s).
-
- Since a specialized primitive is needed anyways, i opted to also add the
- layouting which is dependent from WallpaperStyle; thus it does not need
- to be handled anywhere else in the future.
- */
- class DRAWINGLAYER_DLLPUBLIC WallpaperBitmapPrimitive2D : public ViewTransformationDependentPrimitive2D
- {
- private:
- basegfx::B2DRange maObjectRange;
- BitmapEx maBitmapEx;
- WallpaperStyle meWallpaperStyle;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- WallpaperBitmapPrimitive2D(
- const basegfx::B2DRange& rObjectRange,
- const BitmapEx& rBitmapEx,
- WallpaperStyle eWallpaperStyle);
-
- /// data read access
- const basegfx::B2DRange& getLocalObjectRange() const { return maObjectRange; }
- const BitmapEx& getBitmapEx() const { return maBitmapEx ; }
- WallpaperStyle getWallpaperStyle() const { return meWallpaperStyle; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
deleted file mode 100644
index cafd40f40aa3..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
+++ /dev/null
@@ -1,92 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// WrongSpellPrimitive2D class
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** WrongSpellPrimitive2D class
-
- This is a helper primitive to hold evtl. WrongSpell visualisations
- in the sequence of primitives. The primitive holds this information
- separated form the TextPortions to where it belongs to tot expand the
- TextSimplePortionPrimitive2D more as needed.
-
- A renderer who does not want to visualize this (if contained at all)
- can detect and ignore this primitive. If it's decomposition is used,
- it will be visualized as red wavelines.
-
- The geometric definition defines a line on the X-Axis (no Y-coordinates)
- which will when transformed by Transformation, create the coordinate data.
- */
- class DRAWINGLAYER_DLLPUBLIC WrongSpellPrimitive2D : public BufferedDecompositionPrimitive2D
- {
- private:
- /// geometry definition
- basegfx::B2DHomMatrix maTransformation;
- double mfStart;
- double mfStop;
-
- /// color (usually red)
- basegfx::BColor maColor;
-
- protected:
- /// create local decomposition
- virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
-
- public:
- /// constructor
- WrongSpellPrimitive2D(
- const basegfx::B2DHomMatrix& rTransformation,
- double fStart,
- double fStop,
- const basegfx::BColor& rColor);
-
- /// data read access
- const basegfx::B2DHomMatrix& getTransformation() const { return maTransformation; }
- double getStart() const { return mfStart; }
- double getStop() const { return mfStop; }
- const basegfx::BColor& getColor() const { return maColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive2DIDBlock()
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx
deleted file mode 100644
index 974c47d9e485..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx
+++ /dev/null
@@ -1,213 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <cppuhelper/compbase1.hxx>
-#include <boost/utility.hpp>
-#include <com/sun/star/graphic/XPrimitive3D.hpp>
-#include <comphelper/broadcasthelper.hxx>
-#include <basegfx/range/b3drange.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-/** defines for DeclPrimitrive3DIDBlock and ImplPrimitrive3DIDBlock
- Added to be able to simply change identification stuff later, e.g. add
- a identification string and/or ID to the interface and to the implementation
- ATM used to delclare implement getPrimitive3DID()
- */
-
-#define DeclPrimitrive3DIDBlock() \
- virtual sal_uInt32 getPrimitive3DID() const;
-
-#define ImplPrimitrive3DIDBlock(TheClass, TheID) \
- sal_uInt32 TheClass::getPrimitive3DID() const { return TheID; }
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace geometry {
- class ViewInformation3D;
-}}
-
-namespace drawinglayer { namespace primitive3d {
- /// typedefs for basePrimitive3DImplBase, Primitive3DSequence and Primitive3DReference
- typedef cppu::WeakComponentImplHelper1< ::com::sun::star::graphic::XPrimitive3D > BasePrimitive3DImplBase;
- typedef ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive3D > Primitive3DReference;
- typedef ::com::sun::star::uno::Sequence< Primitive3DReference > Primitive3DSequence;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-// basePrimitive3D class
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** BasePrimitive3D class
-
- Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D
-
- The description/functionality is identical with the 2D case in baseprimitive2d.hxx,
- please see there for detailed information.
-
- Current Basic 3D Primitives are:
-
- - PolygonHairlinePrimitive3D (for 3D hairlines)
- - PolyPolygonMaterialPrimitive3D (for 3D filled plane polygons)
-
- That's all for 3D!
- */
- class DRAWINGLAYER_DLLPUBLIC BasePrimitive3D
- : private boost::noncopyable,
- protected comphelper::OBaseMutex,
- public BasePrimitive3DImplBase
- {
- private:
- protected:
- public:
- // constructor/destructor
- BasePrimitive3D();
- virtual ~BasePrimitive3D();
-
- /** the ==operator is mainly needed to allow testing newly-created high level primitives against their last
- incarnation which buffers/holds the decompositionsThe default implementation
- uses getPrimitive3DID()-calls to test if it's the same ID at last. Overloaded implementation are then
- based on this implementation.
- */
- virtual bool operator==( const BasePrimitive3D& rPrimitive ) const;
- bool operator!=( const BasePrimitive3D& rPrimitive ) const { return !operator==(rPrimitive); }
-
- /** This method is for places where using the C++ implementation directly is possible. The subprocessing
- and range merging is more efficient when working directly on basegfx::B3DRange. The default implementation
- will use getDecomposition results to create the range
- */
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /** provide unique ID for fast identifying of known primitive implementations in renderers. These use
- the defines from primitivetypes3d.hxx to define unique IDs.
- */
- virtual sal_uInt32 getPrimitive3DID() const = 0;
-
- /// The default implementation returns an empty sequence
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- //
- // Methods from XPrimitive3D
- //
-
- /** The getDecomposition implementation for UNO API will use getDecomposition from this implementation. It
- will get the ViewInformation from the ViewParameters for that purpose
- */
- virtual Primitive3DSequence SAL_CALL getDecomposition( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException );
-
- /** the getRange default implemenation will use getDecomposition to create the range information from merging
- getRange results from the single local decomposition primitives.
- */
- virtual ::com::sun::star::geometry::RealRectangle3D SAL_CALL getRange( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rViewParameters ) throw ( ::com::sun::star::uno::RuntimeException );
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// BufferedDecompositionPrimitive3D class
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** BufferedDecompositionPrimitive3D class
-
- Baseclass for all C++ implementations of com::sun::star::graphic::XPrimitive2D
-
- The description/functionality is identical with the 2D case in baseprimitive2d.hxx,
- please see there for detailed information
- */
- class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive3D
- : public BasePrimitive3D
- {
- private:
- /// a sequence used for buffering the last create3DDecomposition() result
- Primitive3DSequence maBuffered3DDecomposition;
-
- protected:
- /** access methods to maBuffered3DDecomposition. The usage of this methods may allow
- later thread-safe stuff to be added if needed. Only to be used by getDecomposition()
- implementations for buffering the last decomposition.
- */
- const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
- void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; }
-
- /** method which is to be used to implement the local decomposition of a 2D primitive. The default
- implementation will just return an empty decomposition
- */
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- // constructor
- BufferedDecompositionPrimitive3D();
-
- /** The getDecomposition default implementation will on demand use create3DDecomposition() if
- maBuffered3DDecomposition is empty. It will set maBuffered3DDecomposition to this obtained decomposition
- to buffer it. If the decomposition is also ViewInformation-dependent, this method needs to be
- overloaded and the ViewInformation for the last decomposition needs to be remembered, too, and
- be used in the next call to decide if the buffered decomposition may be reused or not.
- */
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-// tooling
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /// get B3DRange from a given Primitive3DReference
- basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DReference(const Primitive3DReference& rCandidate, const geometry::ViewInformation3D& aViewInformation);
-
- /// get range3D from a given Primitive3DSequence
- basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation);
-
- /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D)
- and using compare operator
- */
- bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DReferencesEqual(const Primitive3DReference& rA, const Primitive3DReference& rB);
-
- /// compare two Primitive3DReferences for equality, uses arePrimitive3DReferencesEqual internally
- bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DSequencesEqual(const Primitive3DSequence& rA, const Primitive3DSequence& rB);
-
- /// concatenate sequence
- void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource);
-
- /// concatenate single Primitive3D
- void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource);
-
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx
deleted file mode 100644
index 3be15ad5e8bb..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx
+++ /dev/null
@@ -1,55 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX
-
-//////////////////////////////////////////////////////////////////////////////
-// define ranges for other libraries
-
-#define PRIMITIVE3D_ID_RANGE_DRAWINGLAYER (0 << 16)
-
-//////////////////////////////////////////////////////////////////////////////
-// local primitives
-
-#define PRIMITIVE3D_ID_GROUPPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 0)
-#define PRIMITIVE3D_ID_HATCHTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 1)
-#define PRIMITIVE3D_ID_MODIFIEDCOLORPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 2)
-#define PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 3)
-#define PRIMITIVE3D_ID_POLYGONSTROKEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 4)
-#define PRIMITIVE3D_ID_POLYGONTUBEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 5)
-#define PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 6)
-#define PRIMITIVE3D_ID_SDRCUBEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 7)
-#define PRIMITIVE3D_ID_SDREXTRUDEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 8)
-#define PRIMITIVE3D_ID_SDRLATHEPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 9)
-#define PRIMITIVE3D_ID_SDRPOLYPOLYGONPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 10)
-#define PRIMITIVE3D_ID_SDRSPHEREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 11)
-#define PRIMITIVE3D_ID_SHADOWPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 12)
-#define PRIMITIVE3D_ID_UNIFIEDTRANSPARENCETEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 13)
-#define PRIMITIVE3D_ID_GRADIENTTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 14)
-#define PRIMITIVE3D_ID_BITMAPTEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 15)
-#define PRIMITIVE3D_ID_TRANSPARENCETEXTUREPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 16)
-#define PRIMITIVE3D_ID_TRANSFORMPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 17)
-#define PRIMITIVE3D_ID_HIDDENGEOMETRYPRIMITIVE3D (PRIMITIVE3D_ID_RANGE_DRAWINGLAYER| 18)
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_PRIMITIVETYPES3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx
deleted file mode 100644
index d8d3f5b77446..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** GroupPrimitive3D class
-
- Baseclass for all grouping 3D primitives
-
- The description/functionality is identical with the 2D case in groupprimitive2d.hxx,
- please see there for detailed information.
-
- Current Basic 3D StatePrimitives are:
-
- - ModifiedColorPrimitive3D (for a stack of color modifications)
- - ShadowPrimitive3D (for 3D objects with shadow; this is a special case
- since the shadow of a 3D primitive is a 2D primitive set)
- - TexturePrimitive3D (with the following variations)
- - GradientTexturePrimitive3D (for 3D gradient fill)
- - BitmapTexturePrimitive3D (for 3D Bitmap fill)
- - TransparenceTexturePrimitive3D (for 3D transparence)
- - HatchTexturePrimitive3D (for 3D hatch fill)
- - TransformPrimitive3D (for a transformation stack)
- */
- class DRAWINGLAYER_DLLPUBLIC GroupPrimitive3D : public BasePrimitive3D
- {
- private:
- /// the children. Declared private since this shall never be changed at all after construction
- Primitive3DSequence maChildren;
-
- public:
- /// constructor
- explicit GroupPrimitive3D(const Primitive3DSequence& rChildren);
-
- /// data read access
- Primitive3DSequence getChildren() const { return maChildren; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive3D& rPrimitive ) const;
-
- /// local decomposition. Implementation will just return children
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
deleted file mode 100644
index 981027a1615b..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
+++ /dev/null
@@ -1,86 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/textureprimitive3d.hxx>
-#include <drawinglayer/attribute/fillhatchattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** HatchTexturePrimitive3D class
-
- HatchTexturePrimitive3D is derived from GroupPrimitive3D, but implements
- a decomposition which is complicated enough for buffering. Since the group
- primitive has no default buffering, it is necessary here to add a local
- buffering mechanism for the decomposition
- */
- class DRAWINGLAYER_DLLPUBLIC HatchTexturePrimitive3D : public TexturePrimitive3D
- {
- private:
- /// the hatch definition
- attribute::FillHatchAttribute maHatch;
-
- /// the buffered decomposed hatch
- Primitive3DSequence maBuffered3DDecomposition;
-
- protected:
- /// helper: local decomposition
- Primitive3DSequence impCreate3DDecomposition() const;
-
- /// local access methods to maBufferedDecomposition
- const Primitive3DSequence& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
- void setBuffered3DDecomposition(const Primitive3DSequence& rNew) { maBuffered3DDecomposition = rNew; }
-
- public:
- /// constructor
- HatchTexturePrimitive3D(
- const attribute::FillHatchAttribute& rHatch,
- const Primitive3DSequence& rChildren,
- const basegfx::B2DVector& rTextureSize,
- bool bModulate,
- bool bFilter);
-
- /// data read access
- const attribute::FillHatchAttribute& getHatch() const { return maHatch; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// local decomposition.
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
deleted file mode 100644
index 7fe7359b4824..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
+++ /dev/null
@@ -1,66 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/groupprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- // This primitive is used to represent geometry for non-visible objects,
- // e.g. a 3D cube without fill attributes. To still be able to use
- // primitives for HitTest functionality, the 3d decompositions produce
- // an as much as possible simplified fill geometry encapsulated in this
- // primtive when there is no fill geometry. Currently, the 3d hit test
- // uses only areas, so maybe in a further enchanced version this will change
- // to 'if neither filled nor lines' creation criteria. The whole primitive
- // decomposes to nothing, so no one not knowing it will be influenced. Only
- // helper processors for hit test (and maybe BoundRect extractors) will
- // use it and it's children subcontent.
- class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive3D : public GroupPrimitive3D
- {
- public:
- explicit HiddenGeometryPrimitive3D(const Primitive3DSequence& rChildren);
-
- // despite returning an empty decomposition since it's no visualisation data,
- // range calculation is intended to use hidden geometry, so
- // the local implementation will return the children's range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// The default implementation returns an empty sequence
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- // provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
deleted file mode 100644
index 0e5fe4329e12..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
+++ /dev/null
@@ -1,69 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/groupprimitive3d.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** ModifiedColorPrimitive3D class
-
- This primitive is a grouping primitive and allows to define
- how the colors of it's child content shall be modified for
- visualisation. Please see the ModifiedColorPrimitive2D
- description for more info.
- */
- class DRAWINGLAYER_DLLPUBLIC ModifiedColorPrimitive3D : public GroupPrimitive3D
- {
- private:
- /// The ColorModifier to use
- basegfx::BColorModifier maColorModifier;
-
- public:
- /// constructor
- ModifiedColorPrimitive3D(
- const Primitive3DSequence& rChildren,
- const basegfx::BColorModifier& rColorModifier);
-
- /// data read access
- const basegfx::BColorModifier& getColorModifier() const { return maColorModifier; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_MODIFIEDCOLORPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx
deleted file mode 100644
index 62fb60265732..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx
+++ /dev/null
@@ -1,129 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/polygon/b3dpolygon.hxx>
-#include <drawinglayer/attribute/lineattribute.hxx>
-#include <drawinglayer/attribute/strokeattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** PolygonHairlinePrimitive3D class
-
- This primitive defines a Hairline in 3D. Since hairlines are view-dependent,
- this primitive is view-dependent, too.
-
- This is one of the non-decomposable 3D primitives, so a renderer
- should proccess it.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonHairlinePrimitive3D : public BasePrimitive3D
- {
- private:
- /// the hairline geometry
- basegfx::B3DPolygon maPolygon;
-
- /// the hairline color
- basegfx::BColor maBColor;
-
- public:
- /// constructor
- PolygonHairlinePrimitive3D(
- const basegfx::B3DPolygon& rPolygon,
- const basegfx::BColor& rBColor);
-
- /// data read access
- const basegfx::B3DPolygon& getB3DPolygon() const { return maPolygon; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** PolygonStrokePrimitive3D class
-
- This primitive defines a 3D line with line width, line join, line color
- and stroke attributes. It will be decomposed dependent on the definition
- to the needed primitives, e.g. filled Tubes for fat lines.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonStrokePrimitive3D : public BufferedDecompositionPrimitive3D
- {
- private:
- /// the line geometry
- basegfx::B3DPolygon maPolygon;
-
- /// the line attributes like width, join and color
- attribute::LineAttribute maLineAttribute;
-
- /// the line stroking (if used)
- attribute::StrokeAttribute maStrokeAttribute;
-
- protected:
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonStrokePrimitive3D(
- const basegfx::B3DPolygon& rPolygon,
- const attribute::LineAttribute& rLineAttribute,
- const attribute::StrokeAttribute& rStrokeAttribute);
-
- /// data read access
- basegfx::B3DPolygon getB3DPolygon() const { return maPolygon; }
- const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; }
- const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
deleted file mode 100644
index 56f7dc4b4d4a..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
+++ /dev/null
@@ -1,108 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/polygonprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class B3DPolyPolygon;
- class B3DHomMatrix;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** PolygonStrokePrimitive3D class
-
- This 3D primitive extends a 3D hairline to a 3D tube which is
- e.g. used for fat lines in 3D. It's decomposition will create all
- 3D objects needed for the line tubes and the edge roundings
- in full 3D.
- */
- class DRAWINGLAYER_DLLPUBLIC PolygonTubePrimitive3D : public PolygonHairlinePrimitive3D
- {
- private:
- /// hold the last decompositon since it's expensive
- Primitive3DSequence maLast3DDecomposition;
-
- /// visualisation parameters
- double mfRadius;
- double mfDegreeStepWidth;
- double mfMiterMinimumAngle;
- basegfx::B2DLineJoin maLineJoin;
- com::sun::star::drawing::LineCap maLineCap;
-
- protected:
- /** access methods to maLast3DDecomposition. The usage of this methods may allow
- later thread-safe stuff to be added if needed. Only to be used by getDecomposition()
- implementations for buffering the last decomposition.
- */
- const Primitive3DSequence& getLast3DDecomposition() const { return maLast3DDecomposition; }
- void setLast3DDecomposition(const Primitive3DSequence& rNew) { maLast3DDecomposition = rNew; }
-
- /// local decomposition.
- Primitive3DSequence impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonTubePrimitive3D(
- const basegfx::B3DPolygon& rPolygon,
- const basegfx::BColor& rBColor,
- double fRadius,
- basegfx::B2DLineJoin aLineJoin,
- com::sun::star::drawing::LineCap aLineCap,
- double fDegreeStepWidth = 10.0 * F_PI180,
- double fMiterMinimumAngle = 15.0 * F_PI180);
-
- /// data read access
- double getRadius() const { return mfRadius; }
- double getDegreeStepWidth() const { return mfDegreeStepWidth; }
- double getMiterMinimumAngle() const { return mfMiterMinimumAngle; }
- basegfx::B2DLineJoin getLineJoin() const { return maLineJoin; }
- com::sun::star::drawing::LineCap getLineCap() const { return maLineCap; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /** local decomposition. Use own buffering since we are not derived from
- BufferedDecompositionPrimitive3D
- */
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx
deleted file mode 100644
index 7f916afe978c..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx
+++ /dev/null
@@ -1,83 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <basegfx/polygon/b3dpolypolygon.hxx>
-#include <drawinglayer/attribute/materialattribute3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** PolyPolygonMaterialPrimitive3D class
-
- This primitive defines a planar 3D PolyPolygon filled with a single color.
- This is one of the non-decomposable primitives, so a renderer
- should proccess it.
-
- It is assumed here that the PolyPolgon is a single plane in 3D.
- */
- class DRAWINGLAYER_DLLPUBLIC PolyPolygonMaterialPrimitive3D : public BasePrimitive3D
- {
- private:
- /// the PolyPolygon geometry
- basegfx::B3DPolyPolygon maPolyPolygon;
-
- /// the fill parameters
- attribute::MaterialAttribute3D maMaterial;
-
- /// bitfield
- unsigned mbDoubleSided : 1;
-
- public:
- /// constructor
- PolyPolygonMaterialPrimitive3D(
- const basegfx::B3DPolyPolygon& rPolyPolygon,
- const attribute::MaterialAttribute3D& rMaterial,
- bool bDoubleSided);
-
- /// data read access
- const basegfx::B3DPolyPolygon& getB3DPolyPolygon() const { return maPolyPolygon; }
- const attribute::MaterialAttribute3D& getMaterial() const { return maMaterial; }
- bool getDoubleSided() const { return mbDoubleSided; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYPOLYGONPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx
deleted file mode 100644
index 513d120c5343..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx
+++ /dev/null
@@ -1,69 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SdrCubePrimitive3D class
-
- This 3D primitive expands the SdrPrimitive3D to a 3D cube definition.
- The cube is implicitely in unit coordinates and the given transformation
- defines it's geometry in space.
- */
- class DRAWINGLAYER_DLLPUBLIC SdrCubePrimitive3D : public SdrPrimitive3D
- {
- protected:
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- SdrCubePrimitive3D(
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute);
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRCUBEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
deleted file mode 100644
index ffe0e2cea676..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
+++ /dev/null
@@ -1,98 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <com/sun/star/drawing/TextureProjectionMode.hpp>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class B3DPolygon;
- class B3DPolyPolygon;
- class B3DHomMatrix;
- class B2DVector;
-}
-
-namespace drawinglayer { namespace attribute {
- class SdrLineAttribute;
- class SdrFillAttribute;
- class Sdr3DObjectAttribute;
- class FillGradientAttribute;
- class SdrShadowAttribute;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- // #i98295#
- basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getRangeFrom3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill);
- void DRAWINGLAYER_DLLPUBLIC applyNormalsKindSphereTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill, const basegfx::B3DRange& rRange);
- void DRAWINGLAYER_DLLPUBLIC applyNormalsKindFlatTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill);
- void DRAWINGLAYER_DLLPUBLIC applyNormalsInvertTo3DGeometry(::std::vector< basegfx::B3DPolyPolygon >& rFill);
-
- // #i98314#
- void DRAWINGLAYER_DLLPUBLIC applyTextureTo3DGeometry(
- ::com::sun::star::drawing::TextureProjectionMode eModeX,
- ::com::sun::star::drawing::TextureProjectionMode eModeY,
- ::std::vector< basegfx::B3DPolyPolygon >& rFill,
- const basegfx::B3DRange& rRange,
- const basegfx::B2DVector& rTextureSize);
-
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonLinePrimitives(
- const basegfx::B3DPolyPolygon& rUnitPolyPolygon,
- const basegfx::B3DHomMatrix& rObjectTransform,
- const attribute::SdrLineAttribute& rLine);
-
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonFillPrimitives(
- const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
- const basegfx::B3DHomMatrix& rObjectTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::Sdr3DObjectAttribute& aSdr3DObjectAttribute,
- const attribute::SdrFillAttribute& rFill,
- const attribute::FillGradientAttribute& rFillGradient);
-
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createShadowPrimitive3D(
- const Primitive3DSequence& rSource,
- const attribute::SdrShadowAttribute& rShadow,
- bool bShadow3D);
-
- Primitive3DSequence DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives3D(
- const ::std::vector< basegfx::B3DPolyPolygon >& r3DPolyPolygonVector,
- const basegfx::B3DHomMatrix& rObjectTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::Sdr3DObjectAttribute& aSdr3DObjectAttribute);
-
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_PRIMITIVE3D_SDRDECOMPOSITIONTOOLS3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx
deleted file mode 100644
index d741b4c1b223..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx
+++ /dev/null
@@ -1,137 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <basegfx/polygon/b3dpolypolygon.hxx>
-#include <basegfx/polygon/b2dpolypolygontools.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace drawinglayer { namespace geometry {
- class ViewInformation3D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SliceType3D definition */
- enum SliceType3D
- {
- SLICETYPE3D_REGULAR, // normal geoemtry Slice3D
- SLICETYPE3D_FRONTCAP, // front cap
- SLICETYPE3D_BACKCAP // back cap
- };
-
- /// class to hold one Slice3D
- class DRAWINGLAYER_DLLPUBLIC Slice3D
- {
- protected:
- basegfx::B3DPolyPolygon maPolyPolygon;
- SliceType3D maSliceType;
-
- public:
- Slice3D(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- const basegfx::B3DHomMatrix& aTransform,
- SliceType3D aSliceType = SLICETYPE3D_REGULAR)
- : maPolyPolygon(basegfx::tools::createB3DPolyPolygonFromB2DPolyPolygon(rPolyPolygon)),
- maSliceType(aSliceType)
- {
- maPolyPolygon.transform(aTransform);
- }
-
- explicit Slice3D(
- const basegfx::B3DPolyPolygon& rPolyPolygon,
- SliceType3D aSliceType = SLICETYPE3D_REGULAR)
- : maPolyPolygon(rPolyPolygon),
- maSliceType(aSliceType)
- {
- }
-
- // data access
- const basegfx::B3DPolyPolygon& getB3DPolyPolygon() const { return maPolyPolygon; }
- SliceType3D getSliceType() const { return maSliceType; }
- };
-
- /// typedef for a group of Slice3Ds
- typedef ::std::vector< Slice3D > Slice3DVector;
-
- /// helpers for creation
- void DRAWINGLAYER_DLLPUBLIC createLatheSlices(
- Slice3DVector& rSliceVector,
- const basegfx::B2DPolyPolygon& rSource,
- double fBackScale,
- double fDiagonal,
- double fRotation,
- sal_uInt32 nSteps,
- bool bCharacterMode,
- bool bCloseFront,
- bool bCloseBack);
-
- void DRAWINGLAYER_DLLPUBLIC createExtrudeSlices(
- Slice3DVector& rSliceVector,
- const basegfx::B2DPolyPolygon& rSource,
- double fBackScale,
- double fDiagonal,
- double fDepth,
- bool bCharacterMode,
- bool bCloseFront,
- bool bCloseBack);
-
- /// helpers for geometry extraction
- basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC extractHorizontalLinesFromSlice(const Slice3DVector& rSliceVector, bool bCloseHorLines);
- basegfx::B3DPolyPolygon DRAWINGLAYER_DLLPUBLIC extractVerticalLinesFromSlice(const Slice3DVector& rSliceVector);
-
- void DRAWINGLAYER_DLLPUBLIC extractPlanesFromSlice(
- ::std::vector< basegfx::B3DPolyPolygon >& rFill,
- const Slice3DVector& rSliceVector,
- bool bCreateNormals,
- bool bSmoothHorizontalNormals,
- bool bSmoothNormals,
- bool bSmoothLids,
- bool bClosed,
- double fSmoothNormalsMix,
- double fSmoothLidsMix,
- bool bCreateTextureCoordinates,
- const basegfx::B2DHomMatrix& rTexTransform);
-
- void DRAWINGLAYER_DLLPUBLIC createReducedOutlines(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B3DHomMatrix& rObjectTransform,
- const basegfx::B3DPolygon& rLoopA,
- const basegfx::B3DPolygon& rLoopB,
- basegfx::B3DPolyPolygon& rTarget);
-
- } // end of namespace overlay
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDELATHETOOLS3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx
deleted file mode 100644
index 055e7e71dd4c..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx
+++ /dev/null
@@ -1,129 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SdrExtrudePrimitive3D class
-
- This 3D primitive expands the SdrPrimitive3D to a 3D extrude definition.
- The given 2D PolyPolygon geometry is imagined as lying on the XY-plane in 3D
- and gets extruded in Z-Direction by Depth.
-
- Various possibilities e.g. for creating diagonals (edge roudings in 3D)
- and similar are given.
-
- The decomposition will create all necessary 3D planes for visualisation.
- */
- class DRAWINGLAYER_DLLPUBLIC SdrExtrudePrimitive3D : public SdrPrimitive3D
- {
- private:
- /// geometry helper for slices
- basegfx::B2DPolyPolygon maCorrectedPolyPolygon;
- Slice3DVector maSlices;
-
- /// primitive geometry data
- basegfx::B2DPolyPolygon maPolyPolygon;
- double mfDepth;
- double mfDiagonal;
- double mfBackScale;
-
- /// decomposition data when ReducedLineGeometry is used, see get3DDecomposition
- geometry::ViewInformation3D* mpLastRLGViewInformation;
-
- /// bitfield
- unsigned mbSmoothNormals : 1; // Plane self
- unsigned mbSmoothHorizontalNormals : 1; // always
- unsigned mbSmoothLids : 1; // Front/back
- unsigned mbCharacterMode : 1;
- unsigned mbCloseFront : 1;
- unsigned mbCloseBack : 1;
-
- /// create slices
- void impCreateSlices();
-
- /// get (evtl. create) slices
- const Slice3DVector& getSlices() const;
-
- protected:
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- SdrExtrudePrimitive3D(
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute,
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- double fDepth,
- double fDiagonal,
- double fBackScale,
- bool bSmoothNormals,
- bool bSmoothHorizontalNormals,
- bool bSmoothLids,
- bool bCharacterMode,
- bool bCloseFront,
- bool bCloseBack);
- virtual ~SdrExtrudePrimitive3D();
-
- /// data read access
- const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; }
- double getDepth() const { return mfDepth; }
- double getDiagonal() const { return mfDiagonal; }
- double getBackScale() const { return mfBackScale; }
- bool getSmoothNormals() const { return mbSmoothNormals; }
- bool getSmoothHorizontalNormals() const { return mbSmoothHorizontalNormals; }
- bool getSmoothLids() const { return mbSmoothLids; }
- bool getCharacterMode() const { return mbCharacterMode; }
- bool getCloseFront() const { return mbCloseFront; }
- bool getCloseBack() const { return mbCloseBack; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// Overloaded to allow for reduced line mode to decide if to buffer decomposition or not
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDREXTRUDEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx
deleted file mode 100644
index 7632e8e5985c..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx
+++ /dev/null
@@ -1,147 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SdrLathePrimitive3D class
-
- This 3D primitive expands the SdrPrimitive3D to a 3D rotation definition.
- The given 2D PolyPolygon geometry is imagined as lying on the XY-plane in 3D
- and gets rotated around the Y-Axis.
-
- Various possibilities e.g. for creating diagonals (edge roudings in 3D)
- and similar are given.
-
- The decomposition will create all necessary 3D planes for visualisation.
- */
- class DRAWINGLAYER_DLLPUBLIC SdrLathePrimitive3D : public SdrPrimitive3D
- {
- private:
- /// geometry helper for slices
- basegfx::B2DPolyPolygon maCorrectedPolyPolygon;
- Slice3DVector maSlices;
-
- /// primitive geometry data
- basegfx::B2DPolyPolygon maPolyPolygon;
- sal_uInt32 mnHorizontalSegments;
- sal_uInt32 mnVerticalSegments;
- double mfDiagonal;
- double mfBackScale;
- double mfRotation;
-
- /// decomposition data when ReducedLineGeometry is used, see get3DDecomposition
- geometry::ViewInformation3D* mpLastRLGViewInformation;
-
- /// bitfield
- unsigned mbSmoothNormals : 1; // Plane self
- unsigned mbSmoothHorizontalNormals : 1; // always
- unsigned mbSmoothLids : 1; // Front/back
- unsigned mbCharacterMode : 1;
- unsigned mbCloseFront : 1;
- unsigned mbCloseBack : 1;
-
- /// create slices
- void impCreateSlices();
-
- /// get (evtl. create) slices
- const Slice3DVector& getSlices() const;
-
- protected:
- /// local helpers
- void impCreateOutlines(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B3DPolygon& rLoopA,
- const basegfx::B3DPolygon& rLoopB,
- basegfx::B3DPolyPolygon& rTarget) const;
-
- bool impHasCutWith(
- const basegfx::B2DPolygon& rPoly,
- const basegfx::B2DPoint& rStart,
- const basegfx::B2DPoint& rEnd) const;
-
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- SdrLathePrimitive3D(
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute,
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- sal_uInt32 nHorizontalSegments,
- sal_uInt32 nVerticalSegments,
- double fDiagonal,
- double fBackScale,
- double fRotation,
- bool bSmoothNormals,
- bool bSmoothHorizontalNormals,
- bool bSmoothLids,
- bool bCharacterMode,
- bool bCloseFront,
- bool bCloseBack);
- virtual ~SdrLathePrimitive3D();
-
- /// data read access
- const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; }
- sal_uInt32 getHorizontalSegments() const { return mnHorizontalSegments; }
- sal_uInt32 getVerticalSegments() const { return mnVerticalSegments; }
- double getDiagonal() const { return mfDiagonal; }
- double getBackScale() const { return mfBackScale; }
- double getRotation() const { return mfRotation; }
- bool getSmoothNormals() const { return mbSmoothNormals; }
- bool getSmoothHorizontalNormals() const { return mbSmoothHorizontalNormals; }
- bool getSmoothLids() const { return mbSmoothLids; }
- bool getCharacterMode() const { return mbCharacterMode; }
- bool getCloseFront() const { return mbCloseFront; }
- bool getCloseBack() const { return mbCloseBack; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// Overloaded to allow for reduced line mode to decide if to buffer decomposition or not
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRLATHEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx
deleted file mode 100644
index 2d9976224e6b..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx
+++ /dev/null
@@ -1,81 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SdrPolyPolygonPrimitive3D class
-
- This 3D primitive defines a PolyPolgon in space which may have
- Line- and FillStyles and extra 3D surface attributes. It is assumed
- that the given 3D PolyPolgon (which may contain texture and normal
- information) is planar in 3D.
-
- The decomposition will include all needed 3D data for visualisation,
- including FatLines and fill styles.
- */
- class DRAWINGLAYER_DLLPUBLIC SdrPolyPolygonPrimitive3D : public SdrPrimitive3D
- {
- private:
- /// the planar polyPolygon evtl with normals and texture coordinates
- basegfx::B3DPolyPolygon maPolyPolygon3D;
-
- protected:
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- SdrPolyPolygonPrimitive3D(
- const basegfx::B3DPolyPolygon& rPolyPolygon3D,
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute);
-
- /// data access
- const basegfx::B3DPolyPolygon& getPolyPolygon3D() const { return maPolyPolygon3D; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPOLYPOLYGONPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx
deleted file mode 100644
index 6563f5172f67..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx
+++ /dev/null
@@ -1,88 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-#include <basegfx/vector/b2dvector.hxx>
-#include <drawinglayer/attribute/sdrallattribute3d.hxx>
-#include <drawinglayer/primitive3d/sdrextrudelathetools3d.hxx>
-#include <drawinglayer/attribute/sdrobjectattribute3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- /** SdrPrimitive3D class
-
- Base class for the more complicated geometric primitives, so
- derive from buffered primitive to allow overloading of
- create3DDecomposition there.
- */
- namespace primitive3d
- {
- class DRAWINGLAYER_DLLPUBLIC SdrPrimitive3D : public BufferedDecompositionPrimitive3D
- {
- private:
- /// object surface attributes
- basegfx::B3DHomMatrix maTransform;
- basegfx::B2DVector maTextureSize;
- attribute::SdrLineFillShadowAttribute3D maSdrLFSAttribute;
- attribute::Sdr3DObjectAttribute maSdr3DObjectAttribute;
-
- protected:
- /** Standard implementation for primitive3D which
- will use maTransform as range and expand by evtl. line width / 2
- */
- basegfx::B3DRange getStandard3DRange() const;
-
- /** implementation for primitive3D which
- will use given Slice3Ds and expand by evtl. line width / 2
- */
- basegfx::B3DRange get3DRangeFromSlices(const Slice3DVector& rSlices) const;
-
- public:
- /// constructor
- SdrPrimitive3D(
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute);
-
- /// data read access
- const basegfx::B3DHomMatrix& getTransform() const { return maTransform; }
- const basegfx::B2DVector& getTextureSize() const { return maTextureSize; }
- const attribute::SdrLineFillShadowAttribute3D& getSdrLFSAttribute() const { return maSdrLFSAttribute; }
- const attribute::Sdr3DObjectAttribute getSdr3DObjectAttribute() const { return maSdr3DObjectAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx
deleted file mode 100644
index 48e7ee42ceb2..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx
+++ /dev/null
@@ -1,80 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** SdrSpherePrimitive3D class
-
- This 3D primitive expands the SdrPrimitive3D to a 3D sphere definition.
- The sphere is implicitely in unit coordinates and the given transformation
- defines it's geometry in space.
- */
- class DRAWINGLAYER_DLLPUBLIC SdrSpherePrimitive3D : public SdrPrimitive3D
- {
- private:
- /// additional geometry definitions
- sal_uInt32 mnHorizontalSegments;
- sal_uInt32 mnVerticalSegments;
-
- protected:
- /// local decomposition.
- virtual Primitive3DSequence create3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- SdrSpherePrimitive3D(
- const basegfx::B3DHomMatrix& rTransform,
- const basegfx::B2DVector& rTextureSize,
- const attribute::SdrLineFillShadowAttribute3D& rSdrLFSAttribute,
- const attribute::Sdr3DObjectAttribute& rSdr3DObjectAttribute,
- sal_uInt32 nHorizontalSegments,
- sal_uInt32 nVerticalSegments);
-
- /// data read access
- sal_uInt32 getHorizontalSegments() const { return mnHorizontalSegments; }
- sal_uInt32 getVerticalSegments() const { return mnVerticalSegments; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SDRSPHEREPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx
deleted file mode 100644
index 76be7e7742f4..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx
+++ /dev/null
@@ -1,84 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/groupprimitive3d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** ShadowPrimitive3D class
-
- This 3D grouping primitive is used to define a shadow for
- 3d geometry by embedding it. The shadow of 3D objects are
- 2D polygons, so the shadow transformation is a 2D transformation.
-
- If the Shadow3D flag is set, the shadow definition has to be
- combined with the scene and camera definition to create the correct
- projected shadow 2D-Polygons.
- */
- class DRAWINGLAYER_DLLPUBLIC ShadowPrimitive3D : public GroupPrimitive3D
- {
- protected:
- /// 2D shadow definition
- basegfx::B2DHomMatrix maShadowTransform;
- basegfx::BColor maShadowColor;
- double mfShadowTransparence;
-
- /// bitfield
- unsigned mbShadow3D : 1;
-
- public:
- /// constructor
- ShadowPrimitive3D(
- const basegfx::B2DHomMatrix& rShadowTransform,
- const basegfx::BColor& rShadowColor,
- double fShadowTransparence,
- bool bShadow3D,
- const Primitive3DSequence& rChildren);
-
- /// data read access
- const basegfx::B2DHomMatrix& getShadowTransform() const { return maShadowTransform; }
- const basegfx::BColor& getShadowColor() const { return maShadowColor; }
- double getShadowTransparence() const { return mfShadowTransparence; }
- bool getShadow3D() const { return mbShadow3D; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx
deleted file mode 100644
index 1ce8e9bcd57c..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx
+++ /dev/null
@@ -1,230 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/groupprimitive3d.hxx>
-#include <drawinglayer/attribute/fillbitmapattribute.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/vector/b2dvector.hxx>
-#include <drawinglayer/attribute/fillgradientattribute.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** TexturePrimitive3D class
-
- This 3D grouping primitive is used to define a texture for
- 3d geometry by embedding it. It is used as bae class for
- extended texture definitions
- */
- class DRAWINGLAYER_DLLPUBLIC TexturePrimitive3D : public GroupPrimitive3D
- {
- private:
- /// texture geometry definition
- basegfx::B2DVector maTextureSize;
-
- /// bitfield
- /// flag if texture shall be modulated with white interpolated color
- unsigned mbModulate : 1;
-
- /// flag if texture shall be filtered
- unsigned mbFilter : 1;
-
- public:
- /// constructor
- TexturePrimitive3D(
- const Primitive3DSequence& rChildren,
- const basegfx::B2DVector& rTextureSize,
- bool bModulate,
- bool bFilter);
-
- /// data read access
- const basegfx::B2DVector& getTextureSize() const { return maTextureSize; }
- bool getModulate() const { return mbModulate; }
- bool getFilter() const { return mbFilter; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** UnifiedTransparenceTexturePrimitive3D class
-
- This 3D primitive expands TexturePrimitive3D to a unified
- transparence texture definition. All 3D primitives
- embedded here will be shown with the given transparency.
- */
- class DRAWINGLAYER_DLLPUBLIC UnifiedTransparenceTexturePrimitive3D : public TexturePrimitive3D
- {
- private:
- /// transparency definition
- double mfTransparence;
-
- public:
- /// constructor
- UnifiedTransparenceTexturePrimitive3D(
- double fTransparence,
- const Primitive3DSequence& rChildren);
-
- /// data read access
- double getTransparence() const { return mfTransparence; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// own getB3DRange implementation to include transparent geometries to BoundRect calculations
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// local decomposition.
- virtual Primitive3DSequence get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** GradientTexturePrimitive3D class
-
- This 3D primitive expands TexturePrimitive3D to a gradient texture
- definition. All 3D primitives embedded here will be shown with the
- defined gradient.
- */
- class DRAWINGLAYER_DLLPUBLIC GradientTexturePrimitive3D : public TexturePrimitive3D
- {
- private:
- /// the gradient definition
- attribute::FillGradientAttribute maGradient;
-
- public:
- /// constructor
- GradientTexturePrimitive3D(
- const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
- const basegfx::B2DVector& rTextureSize,
- bool bModulate,
- bool bFilter);
-
- /// data read access
- const attribute::FillGradientAttribute& getGradient() const { return maGradient; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** BitmapTexturePrimitive3D class
-
- This 3D primitive expands TexturePrimitive3D to a bitmap texture
- definition. All 3D primitives embedded here will be shown with the
- defined bitmap (maybe tiled if defined).
- */
- class DRAWINGLAYER_DLLPUBLIC BitmapTexturePrimitive3D : public TexturePrimitive3D
- {
- private:
- /// bitmap fill attribute
- attribute::FillBitmapAttribute maFillBitmapAttribute;
-
- public:
- /// constructor
- BitmapTexturePrimitive3D(
- const attribute::FillBitmapAttribute& rFillBitmapAttribute,
- const Primitive3DSequence& rChildren,
- const basegfx::B2DVector& rTextureSize,
- bool bModulate,
- bool bFilter);
-
- /// data read access
- const attribute::FillBitmapAttribute& getFillBitmapAttribute() const { return maFillBitmapAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** TransparenceTexturePrimitive3D class
-
- This 3D primitive expands TexturePrimitive3D to a transparence texture
- definition. For transparence definition, a gradient is used. The values in
- that gradient will be interpreted as luminance Transparence-Values. All 3D
- primitives embedded here will be shown with the defined transparence.
- */
- class DRAWINGLAYER_DLLPUBLIC TransparenceTexturePrimitive3D : public GradientTexturePrimitive3D
- {
- public:
- /// constructor
- TransparenceTexturePrimitive3D(
- const attribute::FillGradientAttribute& rGradient,
- const Primitive3DSequence& rChildren,
- const basegfx::B2DVector& rTextureSize);
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx
deleted file mode 100644
index 85a88a330d77..000000000000
--- a/drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx
+++ /dev/null
@@ -1,74 +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 INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/groupprimitive3d.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace primitive3d
- {
- /** TransformPrimitive3D class
-
- This is one of the basic grouping 3D primitives and it provides
- embedding a sequence of primitives (a geometry) into a
- 3D transformation.
-
- Please see the description for TransformPrimitive2D since these
- primitives are pretty similar.
- */
- class DRAWINGLAYER_DLLPUBLIC TransformPrimitive3D : public GroupPrimitive3D
- {
- private:
- // the 3D transformation to apply
- basegfx::B3DHomMatrix maTransformation;
-
- public:
- /// constructor
- TransformPrimitive3D(
- const basegfx::B3DHomMatrix& rTransformation,
- const Primitive3DSequence& rChildren);
-
- /// data read access
- const basegfx::B3DHomMatrix& getTransformation() const { return maTransformation; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const;
-
- /// get range
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const;
-
- /// provide unique ID
- DeclPrimitrive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TRANSFORMPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx
deleted file mode 100644
index 62a0f874a9ae..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx
+++ /dev/null
@@ -1,196 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/geometry/viewinformation2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** BaseProcessor2D class
-
- Baseclass for all C++ implementations of instances which process
- primitives.
-
- Instances which process primitives can be renderers, but also stuff
- for HitTests, BoundRect calculations and/or animation processing. The
- main usage are renderers, but they are supposed to handle any primitive
- processing.
-
- The base implementation is constructed with a ViewInformation2D which
- is accessible throughout the processor implementations. The idea is
- to construct any processor with a given ViewInformation2D. To be able
- to handle primitives which need to change the current transformation
- (as e.g. TransformPrimitive2D) it is allowed for the processor implementation
- to change tis local value using updateViewInformation.
-
- The basic processing method is process(..) which gets handed over the
- sequence of primitives to process. For convenience of the C++ implementations,
- the default implementation of process(..) maps all accesses to primitives to
- single calls to processBasePrimitive2D(..) where the primitive in question is
- already casted to the C++ implementation class.
-
- The process(..) implementation makes a complete iteration over the given
- sequence of primitives. If the Primitive is not derived from BasePrimitive2D
- and thus not part of the C++ implementations, it converts ViewInformation2D
- to the corresponding API implementation (an uno::Sequence< beans::PropertyValue >)
- and recursively calls the method process(..) at the primitive with the decomposition
- derived from that primitive. This is the preparation to handle unknown implementations
- of the com::sun::star::graphic::XPrimitive2D interface in the future.
-
- So, to implement a basic processor, it is necessary to overload and implement the
- processBasePrimitive2D(..) method. A minimal renderer has to support the
- Basic Primitives (see baseprimitive2d.hxx) and the Grouping Primitives (see
- groupprimitive2d.hxx). These are (currently):
-
- Basic Primitives:
-
- - BitmapPrimitive2D (bitmap data, evtl. with transparence)
- - PointArrayPrimitive2D (single points)
- - PolygonHairlinePrimitive2D (hairline curves/polygons)
- - PolyPolygonColorPrimitive2D (colored polygons)
-
- Grouping Primitives:
-
- - TransparencePrimitive2D (objects with freely defined transparence)
- - InvertPrimitive2D (for XOR)
- - MaskPrimitive2D (for masking)
- - ModifiedColorPrimitive2D (for a stack of color modifications)
- - TransformPrimitive2D (for a transformation stack)
-
- A processor doing so is a minimal processor. Of course a processor may
- handle any higher-level prmitive (that has a decomposition implementation)
- for more direct data access or performance reasons, too.
-
- The main part of a processBasePrimitive2D implementation is a switch..case
- construct, looking like the following:
-
- void foo::processBasePrimitive2D(const BasePrimitive2D& rCandidate)
- {
- switch(rCandidate.getPrimitive2DID())
- {
- case PRIMITIVE2D_ID_??? :
- {
- // process PRIMITIVE2D_ID_??? here...
-
- ...
-
- break;
- }
-
- ...
-
- default :
- {
- // process recursively
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
- break;
- }
- }
- }
-
- The default case makes the processor work with all complex primitives
- by recursively using their decomposition.
-
- You can also add a case for ignoring primitives by using:
-
- case PRIMITIVE2D_ID_...IGNORE.A.. :
- case PRIMITIVE2D_ID_...IGNORE.B.. :
- case PRIMITIVE2D_ID_...IGNORE.C.. :
- {
- // ignore these primitives by neither processing nor
- // recursively processing their decomposition
- break;
- }
-
- Another useful case is embedding the processing of a complex primitive by
- bracketing it with some actions:
-
- case PRIMITIVE2D_ID_SOME_TEXT :
- {
- // encapsulate e.g. with changing local varibles, e.g.
- // sometimes it's good to know if a basic primitive is
- // part of a text, especially when not handling the text
- // self but by purpose want to handle the decomposed
- // geometries in the processor
- startText();
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
- endText();
- break;
- }
-
- As an example a processor collecting the outlines of a sequence of primitives
- only needs to handle some Basic Primitives and create outline and collect
- outline polygons e.g. for primitives with area like BitmapPrimitive2D (a
- rectangle) and PolyPolygonColorPrimitive2D. When also handling the Grouping
- Primitives MaskPrimitive2D (e.g. ignoring it's content, using the mask polyPolygon)
- and TransformPrimitive2D (to have the correct local transformation), a processor
- creating the outline can be written using just four (4) primitives. As a tipp, it can
- be helpful to add many for the purpose not interesting higher level primitives
- to not force their decomposition to be created and/or parsed.
- */
- class DRAWINGLAYER_DLLPUBLIC BaseProcessor2D
- {
- private:
- /// The ViewInformation2D itself. It's private to isolate accesses to it
- geometry::ViewInformation2D maViewInformation2D;
-
- protected:
- /* access method to allow the implementations to change the current
- ViewInformation2D if needed. This allows isolating these accesses
- later if needed
- */
- void updateViewInformation(const geometry::ViewInformation2D& rViewInformation2D)
- {
- maViewInformation2D = rViewInformation2D;
- }
-
- /* as tooling, the process() implementation takes over API handling and calls this
- virtual render method when the primitive implementation is BasePrimitive2D-based.
- Default implementation does nothing
- */
- virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- /// constructor/destructor
- explicit BaseProcessor2D(const geometry::ViewInformation2D& rViewInformation);
- virtual ~BaseProcessor2D();
-
- /// the central processing method
- virtual void process(const primitive2d::Primitive2DSequence& rSource);
-
- /// data read access
- const geometry::ViewInformation2D& getViewInformation2D() const { return maViewInformation2D; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PROCESSOR2D_BASEPROCESSOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx b/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx
deleted file mode 100644
index 5dea3b450c19..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx
+++ /dev/null
@@ -1,122 +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 _DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX
-#define _DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-#include <svtools/optionsdrawinglayer.hxx>
-#include <com/sun/star/rendering/ViewState.hpp>
-#include <com/sun/star/rendering/RenderState.hpp>
-#include <i18nlangtag/lang.h>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <vcl/mapmod.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// forward declaration
-
-namespace basegfx {
- class BColor;
- class B2DPolygon;
-}
-
-namespace com { namespace sun { namespace star { namespace rendering {
- class XCanvas;
- class XPolyPolygon2D;
-}}}}
-
-namespace drawinglayer { namespace primitive2d {
- class MaskPrimitive2D;
- class MetafilePrimitive2D;
- class TextSimplePortionPrimitive2D;
- class BitmapPrimitive2D;
- class TransparencePrimitive2D;
- class PolygonStrokePrimitive2D;
- class FillBitmapPrimitive2D;
- class UnifiedTransparencePrimitive2D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** canvasProcessor2D class
-
- A basic implementation of a renderer for com::sun::star::rendering::XCanvas
- as a target
- */
- class DRAWINGLAYER_DLLPUBLIC canvasProcessor2D : public BaseProcessor2D
- {
- private:
- // the (current) destination OutDev and canvas
- OutputDevice* mpOutputDevice;
- com::sun::star::uno::Reference< com::sun::star::rendering::XCanvas > mxCanvas;
- com::sun::star::rendering::ViewState maViewState;
- com::sun::star::rendering::RenderState maRenderState;
-
- // the modifiedColorPrimitive stack
- basegfx::BColorModifierStack maBColorModifierStack;
-
- // SvtOptionsDrawinglayer incarnation to react on diverse settings
- const SvtOptionsDrawinglayer maDrawinglayerOpt;
-
- // the current clipping PolyPolygon from MaskPrimitive2D, always in
- // object coordinates
- basegfx::B2DPolyPolygon maClipPolyPolygon;
-
- // determined LanguageType
- LanguageType meLang;
-
- // as tooling, the process() implementation takes over API handling and calls this
- // virtual render method when the primitive implementation is BasePrimitive2D-based.
- virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- // direct primitive renderer support
- void impRenderMaskPrimitive2D(const primitive2d::MaskPrimitive2D& rMaskCandidate);
- void impRenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rMetaCandidate);
- void impRenderTextSimplePortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate);
- void impRenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate);
- void impRenderTransparencePrimitive2D(const primitive2d::TransparencePrimitive2D& rTransparenceCandidate);
- void impRenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokePrimitive);
- void impRenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapPrimitive2D);
- void impRenderUnifiedTransparencePrimitive2D(const primitive2d::UnifiedTransparencePrimitive2D& rUniTransparenceCandidate);
-
- public:
- canvasProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
- OutputDevice& rOutDev);
- virtual ~canvasProcessor2D();
-
- // access to Drawinglayer configuration options
- const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_PROCESSOR_CANVASPROCESSOR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx
deleted file mode 100644
index af390a8cd7b7..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx
+++ /dev/null
@@ -1,68 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** ContourExtractor2D class
-
- A processor who extracts the contour of the primtives feeded to it
- in the single local PolyPolygon
- */
- class DRAWINGLAYER_DLLPUBLIC ContourExtractor2D : public BaseProcessor2D
- {
- private:
- /// the extracted contour
- basegfx::B2DPolyPolygonVector maExtractedContour;
-
- /// bitfield
- bool mbExtractFillOnly : 1;
-
- /// tooling methods
- void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- explicit ContourExtractor2D(
- const geometry::ViewInformation2D& rViewInformation,
- bool bExtractFillOnly);
-
- virtual ~ContourExtractor2D();
-
- const basegfx::B2DPolyPolygonVector& getExtractedContour() const { return maExtractedContour; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_CONTOUREXTRACTOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx
deleted file mode 100644
index fc2ab3252558..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx
+++ /dev/null
@@ -1,108 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predeclarations
-
-namespace basegfx { class B2DPolygon; }
-namespace basegfx { class B2DPolyPolygon; }
-namespace drawinglayer { namespace primitive2d { class ScenePrimitive2D; }}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** HitTestProcessor2D class
-
- This processor implements a HitTest with the feeded primitives,
- given tolerance and extras
- */
- class DRAWINGLAYER_DLLPUBLIC HitTestProcessor2D : public BaseProcessor2D
- {
- private:
- /// discrete HitTest position
- basegfx::B2DPoint maDiscreteHitPosition;
-
- /// discrete HitTolerance
- double mfDiscreteHitTolerance;
-
- /// bitfield
- unsigned mbHit : 1;
- unsigned mbHitToleranceUsed : 1;
-
- /* this flag decides if primitives which are embedded to an
- UnifiedTransparencePrimitive2D and are invisible will be taken into account for
- HitTesting or not. Those primitives are created for objects which are else
- completely invisible and normally their content exists of hairline
- primitives describing the object's contour
- */
- unsigned mbUseInvisiblePrimitiveContent : 1;
-
- /// flag to concentraze on text hits only
- unsigned mbHitTextOnly : 1;
-
- /// tooling methods
- void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
- bool checkHairlineHitWithTolerance(
- const basegfx::B2DPolygon& rPolygon,
- double fDiscreteHitTolerance);
- bool checkFillHitWithTolerance(
- const basegfx::B2DPolyPolygon& rPolyPolygon,
- double fDiscreteHitTolerance);
- void check3DHit(const primitive2d::ScenePrimitive2D& rCandidate);
-
- public:
- HitTestProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
- const basegfx::B2DPoint& rLogicHitPosition,
- double fLogicHitTolerance,
- bool bHitTextOnly);
- virtual ~HitTestProcessor2D();
-
- /// data write access
- void setUseInvisiblePrimitiveContent(bool bNew)
- {
- if((bool)mbUseInvisiblePrimitiveContent != bNew) mbUseInvisiblePrimitiveContent = bNew;
- }
-
- /// data read access
- const basegfx::B2DPoint& getDiscreteHitPosition() const { return maDiscreteHitPosition; }
- double getDiscreteHitTolerance() const { return mfDiscreteHitTolerance; }
- bool getHit() const { return mbHit; }
- bool getHitToleranceUsed() const { return mbHitToleranceUsed; }
- bool getUseInvisiblePrimitiveContent() const { return mbUseInvisiblePrimitiveContent;}
- bool getHitTextOnly() const { return mbHitTextOnly; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_HITTESTPROCESSOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx
deleted file mode 100644
index 4905f4062c5f..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx
+++ /dev/null
@@ -1,66 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** LineGeometryExtractor2D class
-
- This processor can extract the line geometry from feeded primpitives. The
- hairlines and the fille geometry from fat lines are separated.
- */
- class DRAWINGLAYER_DLLPUBLIC LineGeometryExtractor2D : public BaseProcessor2D
- {
- private:
- basegfx::B2DPolygonVector maExtractedHairlines;
- basegfx::B2DPolyPolygonVector maExtractedLineFills;
-
- /// bitfield
- unsigned mbInLineGeometry : 1;
-
- /// tooling methods
- void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- LineGeometryExtractor2D(const geometry::ViewInformation2D& rViewInformation);
- virtual ~LineGeometryExtractor2D();
-
- const basegfx::B2DPolygonVector& getExtractedHairlines() const { return maExtractedHairlines; }
- const basegfx::B2DPolyPolygonVector& getExtractedLineFills() const { return maExtractedLineFills; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_LINEGEOMETRYEXTRACTOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx
deleted file mode 100644
index 42f4fb3970de..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/objectinfoextractor2d.hxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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_OBJECTINFOEXTRACTOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_OBJECTINFOEXTRACTOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer { namespace primitive2d { class ObjectInfoPrimitive2D; }}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** ObjectInfoPrimitiveExtractor2D class
-
- A processor to find the first incarnation of ObjectInfoPrimitive2D
- in a given hierarchy
- */
- class DRAWINGLAYER_DLLPUBLIC ObjectInfoPrimitiveExtractor2D : public BaseProcessor2D
- {
- private:
- /// the target
- const primitive2d::ObjectInfoPrimitive2D* mpFound;
-
- /// tooling methods
- void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- ObjectInfoPrimitiveExtractor2D(const geometry::ViewInformation2D& rViewInformation);
- virtual ~ObjectInfoPrimitiveExtractor2D();
-
- const primitive2d::ObjectInfoPrimitive2D* getResult() const { return mpFound; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_OBJECTINFOEXTRACTOR2D_HXX
-
-// eof
diff --git a/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx b/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx
deleted file mode 100644
index cd149db71e6d..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/processorfromoutputdevice.hxx
+++ /dev/null
@@ -1,55 +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 _PROCESSOR_FROM_OUTPUTDEVICE_HXX
-#define _PROCESSOR_FROM_OUTPUTDEVICE_HXX
-
-#include <drawinglayer/geometry/viewinformation2d.hxx>
-#include "drawinglayer/drawinglayerdllapi.h"
-
-//////////////////////////////////////////////////////////////////////////////
-// predeclarations
-
-class OutputDevice;
-
-namespace drawinglayer { namespace processor2d {
- class BaseProcessor2D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- // create a mating VCL-Provessor for given OutputDevice. This includes
- // looking for MetaFile-recording. The returned renderer changes owner,
- // deletion is duty of the caller
- DRAWINGLAYER_DLLPUBLIC drawinglayer::processor2d::BaseProcessor2D* createBaseProcessor2DFromOutputDevice(
- OutputDevice& rTargetOutDev,
- const drawinglayer::geometry::ViewInformation2D& rViewInformation2D);
-
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_PROCESSOR_FROM_OUTPUTDEVICE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx
deleted file mode 100644
index 239e624ccced..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx
+++ /dev/null
@@ -1,98 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /// helper data structure for returning the result
- struct DRAWINGLAYER_DLLPUBLIC TextAsPolygonDataNode
- {
- private:
- basegfx::B2DPolyPolygon maB2DPolyPolygon;
- basegfx::BColor maBColor;
- bool mbIsFilled;
-
- public:
- TextAsPolygonDataNode(
- const basegfx::B2DPolyPolygon& rB2DPolyPolygon,
- const basegfx::BColor& rBColor,
- bool bIsFilled)
- : maB2DPolyPolygon(rB2DPolyPolygon),
- maBColor(rBColor),
- mbIsFilled(bIsFilled)
- {
- }
-
- // data read access
- const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maB2DPolyPolygon; }
- const basegfx::BColor& getBColor() const { return maBColor; }
- bool getIsFilled() const { return mbIsFilled; }
- };
-
- /// typedef for a vector of that helper data
- typedef ::std::vector< TextAsPolygonDataNode > TextAsPolygonDataNodeVector;
-
- /** TextAsPolygonExtractor2D class
-
- This processor extracts text in the feeded primitives to filled polygons
- */
- class DRAWINGLAYER_DLLPUBLIC TextAsPolygonExtractor2D : public BaseProcessor2D
- {
- private:
- // extraction target
- TextAsPolygonDataNodeVector maTarget;
-
- // the modifiedColorPrimitive stack
- basegfx::BColorModifierStack maBColorModifierStack;
-
- // flag if we are in a decomposed text
- sal_uInt32 mnInText;
-
- // tooling methods
- void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- explicit TextAsPolygonExtractor2D(const geometry::ViewInformation2D& rViewInformation);
- virtual ~TextAsPolygonExtractor2D();
-
- // data read access
- const TextAsPolygonDataNodeVector& getTarget() const { return maTarget; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_TEXTASPOLYGONEXTRACTOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx
deleted file mode 100644
index fa85105939c8..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx
+++ /dev/null
@@ -1,151 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/vclprocessor2d.hxx>
-#include <com/sun/star/i18n/XBreakIterator.hpp>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// vcl::PDFExtOutDevData support
-
-#include <vcl/pdfextoutdevdata.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-class GDIMetaFile;
-class Rectangle;
-class Gradient;
-class SvtGraphicFill;
-class SvtGraphicStroke;
-
-namespace drawinglayer { namespace attribute {
- class FillGradientAttribute;
- class LineAttribute;
- class StrokeAttribute;
- class LineStartEndAttribute;
-}}
-
-namespace basegfx {
- class BColor;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** VclMetafileProcessor2D class
-
- This processor derived from VclProcessor2D is the base class for rendering
- all feeded primitives to a classical VCL-Metafile, including all over the
- time grown extra data in comments and PDF exception data creations. Also
- printing needs some exception stuff.
-
- All in all it is needed to emulate the old ::paint output from the old
- Drawinglayer as long as exporters and/or filters still use the Metafile
- and the extra-data added to it (which can be seen mostly as 'extensions'
- or simply as 'hacks').
- */
- class DRAWINGLAYER_DLLPUBLIC VclMetafileProcessor2D : public VclProcessor2D
- {
- private:
- /// local helper(s)
- Rectangle impDumpToMetaFile(
- const primitive2d::Primitive2DSequence& rContent,
- GDIMetaFile& o_rContentMetafile);
- void impConvertFillGradientAttributeToVCLGradient(
- Gradient& o_rVCLGradient,
- const attribute::FillGradientAttribute& rFiGrAtt,
- bool bIsTransparenceGradient);
- void impStartSvtGraphicFill(SvtGraphicFill* pSvtGraphicFill);
- void impEndSvtGraphicFill(SvtGraphicFill* pSvtGraphicFill);
- SvtGraphicStroke* impTryToCreateSvtGraphicStroke(
- const basegfx::B2DPolygon& rB2DPolygon,
- const basegfx::BColor* pColor,
- const attribute::LineAttribute* pLineAttribute,
- const attribute::StrokeAttribute* pStrokeAttribute,
- const attribute::LineStartEndAttribute* pStart,
- const attribute::LineStartEndAttribute* pEnd);
- void impStartSvtGraphicStroke(SvtGraphicStroke* pSvtGraphicStroke);
- void impEndSvtGraphicStroke(SvtGraphicStroke* pSvtGraphicStroke);
-
- /// Convert the fWidth to the same space as its coordinates.
- double getTransformedLineWidth( double fWidth ) const;
-
- /// the current clipping PolyPolygon from MaskPrimitive2D
- basegfx::B2DPolyPolygon maClipPolyPolygon;
-
- /// the target MetaFile
- GDIMetaFile* mpMetaFile;
-
- /* do not allow embedding SvtGraphicFills into each other,
- use a counter to prevent that
- */
- sal_uInt32 mnSvtGraphicFillCount;
-
- /// same for SvtGraphicStroke
- sal_uInt32 mnSvtGraphicStrokeCount;
-
- /* hold the last unified transparence value to have it handy
- on SvtGraphicStroke creation
- */
- double mfCurrentUnifiedTransparence;
-
- /* break iterator support
- made static so it only needs to be fetched once, even with many single
- constructed VclMetafileProcessor2D. It's still incarnated on demand,
- but exists for OOo runtime now by purpose.
- */
- static ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XBreakIterator > mxBreakIterator;
-
- /* vcl::PDFExtOutDevData support
- For the first step, some extra actions at vcl::PDFExtOutDevData need to
- be emulated with the VclMetafileProcessor2D. These are potentially temporarily
- since PDF export may use PrimitiveSequences one day directly.
- */
- vcl::PDFExtOutDevData* mpPDFExtOutDevData;
-
- protected:
- /* the local processor for BasePrinitive2D-Implementation based primitives,
- called from the common process()-implementation
- */
- virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- /// constructor/destructor
- VclMetafileProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
- OutputDevice& rOutDev);
- virtual ~VclMetafileProcessor2D();
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLMETAFILEPROCESSOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx
deleted file mode 100644
index c3003f096467..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx
+++ /dev/null
@@ -1,63 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/vclprocessor2d.hxx>
-#include <vcl/outdev.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** VclPixelProcessor2D class
-
- This processor derived from VclProcessor2D is the base class for rendering
- 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
- {
- private:
- protected:
- /* the local processor for BasePrinitive2D-Implementation based primitives,
- called from the common process()-implementation
- */
- virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
-
- public:
- /// constructor/destructor
- VclPixelProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
- OutputDevice& rOutDev);
- virtual ~VclPixelProcessor2D();
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPIXELPROCESSOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
deleted file mode 100644
index 32dafbc42b0a..000000000000
--- a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
+++ /dev/null
@@ -1,136 +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 INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor2d/baseprocessor2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-#include <svtools/optionsdrawinglayer.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-class OutputDevice;
-
-namespace drawinglayer { namespace primitive2d {
- class TextSimplePortionPrimitive2D;
- class PolygonHairlinePrimitive2D;
- class BitmapPrimitive2D;
- class FillBitmapPrimitive2D;
- class PolyPolygonGradientPrimitive2D;
- class PolyPolygonBitmapPrimitive2D;
- class PolyPolygonColorPrimitive2D;
- class MetafilePrimitive2D;
- class MaskPrimitive2D;
- class UnifiedTransparencePrimitive2D;
- class TransparencePrimitive2D;
- class TransformPrimitive2D;
- class MarkerArrayPrimitive2D;
- class PointArrayPrimitive2D;
- class ModifiedColorPrimitive2D;
- class PolygonStrokePrimitive2D;
- class ControlPrimitive2D;
- class PagePreviewPrimitive2D;
- class EpsPrimitive2D;
- class SvgLinearAtomPrimitive2D;
- class SvgRadialAtomPrimitive2D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor2d
- {
- /** VclProcessor2D class
-
- 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
- {
- protected:
- // the destination OutDev
- OutputDevice* mpOutputDevice;
-
- // the modifiedColorPrimitive stack
- basegfx::BColorModifierStack maBColorModifierStack;
-
- // the current transformation. Since VCL pixel renderer transforms to pixels
- // and VCL MetaFile renderer to World (logic) coordinates, the local
- // ViewInformation2D cannot directly be used, but needs to be kept up to date
- basegfx::B2DHomMatrix maCurrentTransformation;
-
- // SvtOptionsDrawinglayer incarnation to react on diverse settings
- const SvtOptionsDrawinglayer maDrawinglayerOpt;
-
- // stack value (increment and decrement) to count how deep we are in
- // PolygonStrokePrimitive2D's decompositions (normally only one)
- sal_uInt32 mnPolygonStrokePrimitive2D;
-
- //////////////////////////////////////////////////////////////////////////////
- // common VCL rendering support
-
- void RenderTextSimpleOrDecoratedPortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate);
- void RenderPolygonHairlinePrimitive2D(const primitive2d::PolygonHairlinePrimitive2D& rPolygonCandidate, bool bPixelBased);
- void RenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate);
- void RenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapCandidate);
- void RenderPolyPolygonGradientPrimitive2D(const primitive2d::PolyPolygonGradientPrimitive2D& rPolygonCandidate);
- void RenderPolyPolygonBitmapPrimitive2D(const primitive2d::PolyPolygonBitmapPrimitive2D& rPolygonCandidate);
- void RenderPolyPolygonColorPrimitive2D(const primitive2d::PolyPolygonColorPrimitive2D& rPolygonCandidate);
- void RenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rPolygonCandidate);
- void RenderMaskPrimitive2DPixel(const primitive2d::MaskPrimitive2D& rMaskCandidate);
- void RenderModifiedColorPrimitive2D(const primitive2d::ModifiedColorPrimitive2D& rModifiedCandidate);
- void RenderUnifiedTransparencePrimitive2D(const primitive2d::UnifiedTransparencePrimitive2D& rTransCandidate);
- void RenderTransparencePrimitive2D(const primitive2d::TransparencePrimitive2D& rTransCandidate);
- void RenderTransformPrimitive2D(const primitive2d::TransformPrimitive2D& rTransformCandidate);
- void RenderPagePreviewPrimitive2D(const primitive2d::PagePreviewPrimitive2D& rPagePreviewCandidate);
- void RenderMarkerArrayPrimitive2D(const primitive2d::MarkerArrayPrimitive2D& rMarkerArrayCandidate);
- void RenderPointArrayPrimitive2D(const primitive2d::PointArrayPrimitive2D& rPointArrayCandidate);
- void RenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokeCandidate);
- void RenderEpsPrimitive2D(const primitive2d::EpsPrimitive2D& rEpsPrimitive2D);
- void RenderSvgLinearAtomPrimitive2D(const primitive2d::SvgLinearAtomPrimitive2D& rCandidate);
- void RenderSvgRadialAtomPrimitive2D(const primitive2d::SvgRadialAtomPrimitive2D& rCandidate);
-
- /////////////////////////////////////////////////////////////////////////////
- // DrawMode adaption support
- void adaptLineToFillDrawMode() const;
- void adaptTextToFillDrawMode() const;
-
- public:
- // constructor/destructor
- VclProcessor2D(
- const geometry::ViewInformation2D& rViewInformation,
- OutputDevice& rOutDev);
- virtual ~VclProcessor2D();
-
- // access to Drawinglayer configuration options
- const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; }
- };
- } // end of namespace processor2d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR2D_VCLPROCESSOR2D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx
deleted file mode 100644
index 834779982ba5..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx
+++ /dev/null
@@ -1,75 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
-#include <drawinglayer/geometry/viewinformation3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** BaseProcessor3D class
-
- Baseclass for all C++ implementations of instances which process
- primitives.
-
- Please have a look at baseprocessor2d.hxx for more comments.
- */
- class DRAWINGLAYER_DLLPUBLIC BaseProcessor3D
- {
- private:
- geometry::ViewInformation3D maViewInformation3D;
-
- protected:
- void updateViewInformation(const geometry::ViewInformation3D& rViewInformation3D)
- {
- maViewInformation3D = rViewInformation3D;
- }
-
- /* as tooling, the process() implementation takes over API handling and calls this
- virtual render method when the primitive implementation is BasePrimitive3D-based.
- Default implementation does nothing
- */
- virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
-
- public:
- explicit BaseProcessor3D(const geometry::ViewInformation3D& rViewInformation);
- virtual ~BaseProcessor3D();
-
- // the central processing method
- virtual void process(const primitive3d::Primitive3DSequence& rSource);
-
- // data access
- const geometry::ViewInformation3D& getViewInformation3D() const { return maViewInformation3D; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_PROCESSOR3D_BASEPROCESSOR3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx
deleted file mode 100644
index 2b4714ca3054..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx
+++ /dev/null
@@ -1,91 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor3d/defaultprocessor3d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** CutFindProcessor class
-
- This processor extracts all cuts of 3D plane geometries in the feeded primitives
- with the given cut vector, based on the ViewInformation3D given.
- */
- class DRAWINGLAYER_DLLPUBLIC CutFindProcessor : public BaseProcessor3D
- {
- private:
- /// the start and stop point for the cut vector
- basegfx::B3DPoint maFront;
- basegfx::B3DPoint maBack;
-
- /// the found cut points
- ::std::vector< basegfx::B3DPoint > maResult;
-
- /* #i102956# the transformation change from TransformPrimitive3D processings
- needs to be remembered to be able to transform found cuts to the
- basic coordinate system the processor starts with
- */
- basegfx::B3DHomMatrix maCombinedTransform;
-
- /// bitfield
- bool mbAnyHit : 1;
-
- /* this flag decides if primitives which are invisible will be taken into account for
- HitTesting or not.
- */
- bool mbUseInvisiblePrimitiveContent : 1;
-
- /* as tooling, the process() implementation takes over API handling and calls this
- virtual render method when the primitive implementation is BasePrimitive3D-based.
- */
- virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
-
- public:
- CutFindProcessor(const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B3DPoint& rFront,
- const basegfx::B3DPoint& rBack,
- bool bAnyHit);
-
- /// data write access
- void setUseInvisiblePrimitiveContent(bool bNew)
- {
- if((bool)mbUseInvisiblePrimitiveContent != bNew) mbUseInvisiblePrimitiveContent = bNew;
- }
-
- /// data read access
- const ::std::vector< basegfx::B3DPoint >& getCutPoints() const { return maResult; }
- bool getAnyHit() const { return mbAnyHit; }
- bool getUseInvisiblePrimitiveContent() const { return mbUseInvisiblePrimitiveContent;}
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx
deleted file mode 100644
index 010fba3b1f1d..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx
+++ /dev/null
@@ -1,158 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor3d/baseprocessor3d.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-#include <basegfx/range/b2drange.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-#include <svtools/optionsdrawinglayer.hxx>
-#include <boost/shared_ptr.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BZPixelRaster;
- class B3DPolygon;
- class B3DPolyPolygon;
-}
-
-namespace drawinglayer { namespace attribute {
- class SdrSceneAttribute;
- class SdrLightingAttribute;
- class MaterialAttribute3D;
-}}
-
-namespace drawinglayer { namespace primitive3d {
- class PolygonHairlinePrimitive3D;
- class PolyPolygonMaterialPrimitive3D;
- class GradientTexturePrimitive3D;
- class HatchTexturePrimitive3D;
- class BitmapTexturePrimitive3D;
- class TransformPrimitive3D;
- class ModifiedColorPrimitive3D;
-}}
-
-namespace drawinglayer { namespace texture {
- class GeoTexSvx;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** DefaultProcessor3D class
-
- This processor renders all feeded primitives to a 2D raster where for all
- primitives the two basic methods rasterconvertB3DPolygon for hairlines and
- 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
- {
- protected:
- /// read-only scene infos (normal handling, etc...)
- const attribute::SdrSceneAttribute& mrSdrSceneAttribute;
-
- /// read-only light infos (lights, etc...)
- const attribute::SdrLightingAttribute& mrSdrLightingAttribute;
-
- /// renderer range. Need to be correctly set by the derived implementations
- /// normally the (0, 0, W, H) range from mpBZPixelRaster
- basegfx::B2DRange maRasterRange;
-
- /// the modifiedColorPrimitive stack
- basegfx::BColorModifierStack maBColorModifierStack;
-
- /// the current active texture
- boost::shared_ptr< texture::GeoTexSvx > mpGeoTexSvx;
-
- /// the current active transparence texture
- boost::shared_ptr< texture::GeoTexSvx > mpTransparenceGeoTexSvx;
-
- /// SvtOptionsDrawinglayer incarnation to react on diverse settings
- const SvtOptionsDrawinglayer maDrawinglayerOpt;
-
- /// counter for entered transparence textures
- sal_uInt32 mnTransparenceCounter;
-
- /// bitfield
- unsigned mbModulate : 1;
- unsigned mbFilter : 1;
- unsigned mbSimpleTextureActive : 1;
-
- //////////////////////////////////////////////////////////////////////////////
- // rendering support
-
- void impRenderGradientTexturePrimitive3D(const primitive3d::GradientTexturePrimitive3D& rPrimitive, bool bTransparence);
- void impRenderHatchTexturePrimitive3D(const primitive3d::HatchTexturePrimitive3D& rPrimitive);
- void impRenderBitmapTexturePrimitive3D(const primitive3d::BitmapTexturePrimitive3D& rPrimitive);
- void impRenderModifiedColorPrimitive3D(const primitive3d::ModifiedColorPrimitive3D& rModifiedCandidate);
- void impRenderPolygonHairlinePrimitive3D(const primitive3d::PolygonHairlinePrimitive3D& rPrimitive);
- void impRenderPolyPolygonMaterialPrimitive3D(const primitive3d::PolyPolygonMaterialPrimitive3D& rPrimitive);
- void impRenderTransformPrimitive3D(const primitive3d::TransformPrimitive3D& rTransformCandidate);
-
- //////////////////////////////////////////////////////////////////////////////
- // rasterconversions for filled and non-filled polygons. These NEED to be
- // implemented from derivations
-
- virtual void rasterconvertB3DPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolygon& rHairline) const = 0;
- virtual void rasterconvertB3DPolyPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolyPolygon& rFill) const = 0;
-
- // the processing method for a single, known primitive
- virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rBasePrimitive);
-
- public:
- DefaultProcessor3D(
- const geometry::ViewInformation3D& rViewInformation,
- const attribute::SdrSceneAttribute& rSdrSceneAttribute,
- const attribute::SdrLightingAttribute& rSdrLightingAttribute);
- virtual ~DefaultProcessor3D();
-
- /// data read access
- const attribute::SdrSceneAttribute& getSdrSceneAttribute() const { return mrSdrSceneAttribute; }
- const attribute::SdrLightingAttribute& getSdrLightingAttribute() const { return mrSdrLightingAttribute; }
-
- /// data read access renderer stuff
- const basegfx::BColorModifierStack& getBColorModifierStack() const { return maBColorModifierStack; }
- const boost::shared_ptr< texture::GeoTexSvx >& getGeoTexSvx() const { return mpGeoTexSvx; }
- const boost::shared_ptr< texture::GeoTexSvx >& getTransparenceGeoTexSvx() const { return mpTransparenceGeoTexSvx; }
- sal_uInt32 getTransparenceCounter() const { return mnTransparenceCounter; }
- bool getModulate() const { return mbModulate; }
- bool getFilter() const { return mbFilter; }
- bool getSimpleTextureActive() const { return mbSimpleTextureActive; }
-
- /// access to Drawinglayer configuration options
- const SvtOptionsDrawinglayer& getOptionsDrawinglayer() const { return maDrawinglayerOpt; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_PROCESSOR3D_DEFAULTPROCESSOR3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx b/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx
deleted file mode 100644
index d85e6843f54d..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx
+++ /dev/null
@@ -1,75 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor3d/baseprocessor3d.hxx>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** Geometry2DExtractingProcessor class
-
- This processor extracts the 2D geometry (projected geometry) of all feeded primitives.
- It is e.g. used as sub-processor for contour extraction where 3D geometry is only
- useful as 2D projected geometry.
- */
- class DRAWINGLAYER_DLLPUBLIC Geometry2DExtractingProcessor : public BaseProcessor3D
- {
- private:
- /// result holding vector (2D)
- primitive2d::Primitive2DSequence maPrimitive2DSequence;
-
- /// object transformation for scene for 2d definition
- basegfx::B2DHomMatrix maObjectTransformation;
-
- /// the modifiedColorPrimitive stack
- basegfx::BColorModifierStack maBColorModifierStack;
-
- /* as tooling, the process() implementation takes over API handling and calls this
- virtual render method when the primitive implementation is BasePrimitive3D-based.
- */
- virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
-
- public:
- Geometry2DExtractingProcessor(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B2DHomMatrix& rObjectTransformation);
-
- // data read access
- const primitive2d::Primitive2DSequence& getPrimitive2DSequence() const { return maPrimitive2DSequence; }
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- const basegfx::BColorModifierStack& getBColorModifierStack() const { return maBColorModifierStack; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx b/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx
deleted file mode 100644
index 183d61271c83..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx
+++ /dev/null
@@ -1,110 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor3d/baseprocessor3d.hxx>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-#include <basegfx/polygon/b3dpolygon.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/polygon/b3dpolypolygon.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** Shadow3DExtractingProcessor class
-
- This processor extracts the 2D shadow geometry (projected geometry) of all feeded primitives.
- It is used to create the shadow of 3D objects which consists of 2D geometry. It needs quite
- some data to do so since we do not only offer flat projected 2D shadow, but also projections
- dependent on the light source
- */
- class DRAWINGLAYER_DLLPUBLIC Shadow3DExtractingProcessor : public BaseProcessor3D
- {
- private:
- /// result holding vector (2D) and target vector for stacking (inited to &maPrimitive2DSequence)
- primitive2d::Primitive2DVector maPrimitive2DSequence;
- primitive2d::Primitive2DVector* mpPrimitive2DSequence;
-
- /// object transformation for scene for 2d definition
- basegfx::B2DHomMatrix maObjectTransformation;
-
- /// prepared data (transformations) for 2D/3D shadow calculations
- basegfx::B3DHomMatrix maWorldToEye;
- basegfx::B3DHomMatrix maEyeToView;
- basegfx::B3DVector maLightNormal;
- basegfx::B3DVector maShadowPlaneNormal;
- basegfx::B3DPoint maPlanePoint;
- double mfLightPlaneScalar;
-
- /* the shadow color used for sub-primitives. Can stay at black since
- the encapsulating 2d shadow primitive will contain the color
- */
- basegfx::BColor maPrimitiveColor;
-
- /// bitfield
- /// flag if shadow plane projection preparation leaded to valid results
- unsigned mbShadowProjectionIsValid : 1;
-
- /// flag if conversion is switched on
- unsigned mbConvert : 1;
-
- /// flag if conversion shall use projection
- unsigned mbUseProjection : 1;
-
- /// local helpers
- basegfx::B2DPolygon impDoShadowProjection(const basegfx::B3DPolygon& rSource);
- basegfx::B2DPolyPolygon impDoShadowProjection(const basegfx::B3DPolyPolygon& rSource);
-
- /* as tooling, the process() implementation takes over API handling and calls this
- virtual render method when the primitive implementation is BasePrimitive3D-based.
- */
- virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
-
- public:
- Shadow3DExtractingProcessor(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B2DHomMatrix& rObjectTransformation,
- const basegfx::B3DVector& rLightNormal,
- double fShadowSlant,
- const basegfx::B3DRange& rContained3DRange);
- virtual ~Shadow3DExtractingProcessor();
-
- /// data read access
- const primitive2d::Primitive2DSequence getPrimitive2DSequence() const;
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- const basegfx::B3DHomMatrix& getWorldToEye() const { return maWorldToEye; }
- const basegfx::B3DHomMatrix& getEyeToView() const { return maEyeToView; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-#endif //_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx b/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx
deleted file mode 100644
index 8570809b465d..000000000000
--- a/drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx
+++ /dev/null
@@ -1,113 +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 INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/processor3d/defaultprocessor3d.hxx>
-#include <vcl/bitmapex.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predefines
-
-namespace basegfx {
- class BZPixelRaster;
-}
-
-namespace drawinglayer {
- namespace attribute {
- class SdrSceneAttribute;
- class SdrLightingAttribute;
- class MaterialAttribute3D;
- }
- namespace geometry {
- class ViewInformation2D;
- }
-}
-
-class ZBufferRasterConverter3D;
-class RasterPrimitive3D;
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** ZBufferProcessor3D class
-
- This 3D renderer derived from DefaultProcessor3D renders all feeded primitives to a 2D
- raster bitmap using a Z-Buffer based approach. It is able to supersample and to handle
- transparent content.
- */
- class DRAWINGLAYER_DLLPUBLIC ZBufferProcessor3D : public DefaultProcessor3D
- {
- private:
- /// the raster target, a Z-Buffer
- basegfx::BZPixelRaster* mpBZPixelRaster;
-
- /// inverse of EyeToView for rasterconversion with evtl. Phong shading
- basegfx::B3DHomMatrix maInvEyeToView;
-
- /// The raster converter for Z-Buffer
- ZBufferRasterConverter3D* mpZBufferRasterConverter3D;
-
- /* AA value. Defines how many oversámples will be used in X and Y. Values 0, 1
- will switch it off while e.g. 2 will use 2x2 pixels for each pixel to create
- */
- sal_uInt16 mnAntiAlialize;
-
- /* remembered RasterPrimitive3D's which need to be painted back to front
- for transparent 3D parts
- */
- std::vector< RasterPrimitive3D >* mpRasterPrimitive3Ds;
-
- //////////////////////////////////////////////////////////////////////////////
- // rasterconversions for filled and non-filled polygons
-
- virtual void rasterconvertB3DPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolygon& rHairline) const;
- virtual void rasterconvertB3DPolyPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolyPolygon& rFill) const;
-
- public:
- ZBufferProcessor3D(
- const geometry::ViewInformation3D& rViewInformation3D,
- const geometry::ViewInformation2D& rViewInformation2D,
- const attribute::SdrSceneAttribute& rSdrSceneAttribute,
- const attribute::SdrLightingAttribute& rSdrLightingAttribute,
- double fSizeX,
- double fSizeY,
- const basegfx::B2DRange& rVisiblePart,
- sal_uInt16 nAntiAlialize);
- virtual ~ZBufferProcessor3D();
-
- void finish();
-
- /// get the result as bitmapEx
- BitmapEx getBitmapEx() const;
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/texture/texture.hxx b/drawinglayer/inc/drawinglayer/texture/texture.hxx
deleted file mode 100644
index 5d1751d70889..000000000000
--- a/drawinglayer/inc/drawinglayer/texture/texture.hxx
+++ /dev/null
@@ -1,260 +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 INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE_HXX
-#define INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/range/b2drange.hxx>
-#include <basegfx/color/bcolor.hxx>
-#include <basegfx/tools/gradienttools.hxx>
-#include <vector>
-
-//////////////////////////////////////////////////////////////////////////////
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvx
- {
- public:
- GeoTexSvx();
- virtual ~GeoTexSvx();
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const;
- bool operator!=(const GeoTexSvx& rGeoTexSvx) const { return !operator==(rGeoTexSvx); }
-
- // virtual base methods
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradient : public GeoTexSvx
- {
- protected:
- basegfx::ODFGradientInfo maGradientInfo;
- basegfx::B2DRange maTargetRange;
- basegfx::BColor maStart;
- basegfx::BColor maEnd;
- double mfBorder;
-
- // helpers
- void impAppendMatrix(::std::vector< basegfx::B2DHomMatrix >& rMatrices, const basegfx::B2DRange& rRange);
- void impAppendColorsRadial(::std::vector< basegfx::BColor >& rColors);
-
- public:
- GeoTexSvxGradient(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder);
- virtual ~GeoTexSvxGradient();
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const;
-
- // virtual base methods
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors) = 0;
-
- // data access
- const basegfx::BColor& getStart() const { return maStart; }
- const basegfx::BColor& getEnd() const { return maEnd; }
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientLinear : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientLinear(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fAngle);
- virtual ~GeoTexSvxGradientLinear();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientAxial : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientAxial(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fAngle);
- virtual ~GeoTexSvxGradientAxial();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRadial : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientRadial(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY);
- virtual ~GeoTexSvxGradientRadial();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientElliptical : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientElliptical(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle);
- virtual ~GeoTexSvxGradientElliptical();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientSquare : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientSquare(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle);
- virtual ~GeoTexSvxGradientSquare();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxGradientRect : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientRect(const basegfx::B2DRange& rTargetRange, const basegfx::BColor& rStart, const basegfx::BColor& rEnd, sal_uInt32 nSteps, double fBorder, double fOffsetX, double fOffsetY, double fAngle);
- virtual ~GeoTexSvxGradientRect();
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- virtual void appendColors(::std::vector< basegfx::BColor >& rColors);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxHatch : public GeoTexSvx
- {
- protected:
- basegfx::B2DHomMatrix maTextureTransform;
- basegfx::B2DHomMatrix maBackTextureTransform;
- double mfDistance;
- double mfAngle;
- sal_uInt32 mnSteps;
-
- public:
- GeoTexSvxHatch(const basegfx::B2DRange& rTargetRange, double fDistance, double fAngle);
- virtual ~GeoTexSvxHatch();
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const;
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- double getDistanceToHatch(const basegfx::B2DPoint& rUV) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxTiled : public GeoTexSvx
- {
- protected:
- basegfx::B2DPoint maTopLeft;
- basegfx::B2DVector maSize;
-
- public:
- GeoTexSvxTiled(const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize);
- virtual ~GeoTexSvxTiled();
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const;
-
- virtual void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif //_DRAWINGLAYER_TEXTURE_TEXTURE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/texture/texture3d.hxx b/drawinglayer/inc/drawinglayer/texture/texture3d.hxx
deleted file mode 100644
index 713cea76c928..000000000000
--- a/drawinglayer/inc/drawinglayer/texture/texture3d.hxx
+++ /dev/null
@@ -1,159 +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 INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX
-#define INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/texture/texture.hxx>
-#include <vcl/bitmap.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-// predeclarations
-
-namespace drawinglayer { namespace primitive3d {
- class HatchTexturePrimitive3D;
-}}
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxMono : public GeoTexSvx
- {
- protected:
- basegfx::BColor maSingleColor;
- double mfOpacity;
-
- public:
- GeoTexSvxMono(const basegfx::BColor& rSingleColor, double fOpacity);
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxBitmap : public GeoTexSvx
- {
- protected:
- Bitmap maBitmap;
- BitmapReadAccess* mpRead;
- basegfx::B2DPoint maTopLeft;
- basegfx::B2DVector maSize;
- double mfMulX;
- double mfMulY;
-
- // helpers
- bool impIsValid(const basegfx::B2DPoint& rUV, sal_Int32& rX, sal_Int32& rY) const;
-
- public:
- GeoTexSvxBitmap(const Bitmap& rBitmap, const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize);
- virtual ~GeoTexSvxBitmap();
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxBitmapTiled : public GeoTexSvxBitmap
- {
- protected:
- // helpers
- basegfx::B2DPoint impGetCorrected(const basegfx::B2DPoint& rUV) const
- {
- double fX(fmod(rUV.getX() - maTopLeft.getX(), maSize.getX()));
- double fY(fmod(rUV.getY() - maTopLeft.getY(), maSize.getY()));
-
- if(fX < 0.0)
- {
- fX += maSize.getX();
- }
-
- if(fY < 0.0)
- {
- fY += maSize.getY();
- }
-
- return basegfx::B2DPoint(fX + maTopLeft.getX(), fY + maTopLeft.getY());
- }
-
- public:
- GeoTexSvxBitmapTiled(const Bitmap& rBitmap, const basegfx::B2DPoint& rTopLeft, const basegfx::B2DVector& rSize);
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace texture
- {
- class DRAWINGLAYER_DLLPUBLIC GeoTexSvxMultiHatch : public GeoTexSvx
- {
- protected:
- basegfx::BColor maColor;
- double mfLogicPixelSize;
- GeoTexSvxHatch* mp0;
- GeoTexSvxHatch* mp1;
- GeoTexSvxHatch* mp2;
-
- // bitfield
- unsigned mbFillBackground : 1;
-
- // helpers
- bool impIsOnHatch(const basegfx::B2DPoint& rUV) const;
-
- public:
- GeoTexSvxMultiHatch(const primitive3d::HatchTexturePrimitive3D& rPrimitive, double fLogicPixelSize);
- virtual ~GeoTexSvxMultiHatch();
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const;
-
- // dada access
- bool getFillBackground() const { return mbFillBackground; }
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/tools/converters.hxx b/drawinglayer/inc/drawinglayer/tools/converters.hxx
deleted file mode 100644
index 5bc9ddbb18e4..000000000000
--- a/drawinglayer/inc/drawinglayer/tools/converters.hxx
+++ /dev/null
@@ -1,47 +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 INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
-#define INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-#include <vcl/bitmapex.hxx>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace drawinglayer
-{
- namespace tools
- {
- BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx(
- const drawinglayer::primitive2d::Primitive2DSequence& rSeq,
- const geometry::ViewInformation2D& rViewInformation2D,
- sal_uInt32 nDiscreteWidth,
- sal_uInt32 nDiscreteHeight,
- sal_uInt32 nMaxQuadratPixels);
-
- } // end of namespace tools
-} // end of namespace drawinglayer
-
-//////////////////////////////////////////////////////////////////////////////
-
-#endif // INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */