summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-03-20 12:09:42 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-03-21 10:30:07 +0100
commitad38105f45b517e09bf65a76e66517ece41fb62e (patch)
treec22546143d65369aa50fabba41112b84e50809a4 /include
parentc663d0bcc93b278f50c8f6802928a7a6154207f2 (diff)
move headers inside modules
Change-Id: Iad5c414861eb807e6246b8a988b94d66ef5f687d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90776 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r--include/drawinglayer/primitive2d/cropprimitive2d.hxx96
-rw-r--r--include/drawinglayer/primitive2d/epsprimitive2d.hxx74
-rw-r--r--include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx102
-rw-r--r--include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx66
-rw-r--r--include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx79
-rw-r--r--include/drawinglayer/primitive2d/texteffectprimitive2d.hxx100
-rw-r--r--include/drawinglayer/primitive2d/textlineprimitive2d.hxx78
-rw-r--r--include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx143
-rw-r--r--include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx80
-rw-r--r--include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx81
-rw-r--r--include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx64
-rw-r--r--include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx95
-rw-r--r--include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx95
-rw-r--r--include/drawinglayer/primitive3d/shadowprimitive3d.hxx80
-rw-r--r--include/drawinglayer/primitive3d/textureprimitive3d.hxx222
-rw-r--r--include/drawinglayer/processor3d/defaultprocessor3d.hxx149
-rw-r--r--include/drawinglayer/processor3d/geometry2dextractor.hxx72
-rw-r--r--include/drawinglayer/processor3d/shadow3dextractor.hxx102
-rw-r--r--include/drawinglayer/processor3d/zbufferprocessor3d.hxx99
-rw-r--r--include/drawinglayer/texture/texture.hxx342
-rw-r--r--include/drawinglayer/texture/texture3d.hxx146
21 files changed, 0 insertions, 2365 deletions
diff --git a/include/drawinglayer/primitive2d/cropprimitive2d.hxx b/include/drawinglayer/primitive2d/cropprimitive2d.hxx
deleted file mode 100644
index ba427eb6fba6..000000000000
--- a/include/drawinglayer/primitive2d/cropprimitive2d.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 .
- */
-
-#pragma once
-
-#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 current 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 existing content to get it to the uncropped state
- and 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; in the 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 CropPrimitive2D final : 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 Primitive2DContainer& 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 override;
-
- /// local decomposition
- virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/epsprimitive2d.hxx b/include/drawinglayer/primitive2d/epsprimitive2d.hxx
deleted file mode 100644
index eb4a38678af6..000000000000
--- a/include/drawinglayer/primitive2d/epsprimitive2d.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 .
- */
-
-#pragma once
-
-#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 EpsPrimitive2D final : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the geometry definition
- basegfx::B2DHomMatrix maEpsTransform;
-
- /// the Eps content definition
- GfxLink maGfxLink;
-
- /// the replacement content definition
- GDIMetaFile maMetaFile;
-
- /// create local decomposition
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- 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 override;
-
- /// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/include/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
deleted file mode 100644
index 4b741cef44d6..000000000000
--- a/include/drawinglayer/primitive2d/fillhatchprimitive2d.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 .
- */
-
-#pragma once
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <drawinglayer/primitive2d/primitivetools2d.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.
-
- #i120230# This primitive is now evtl. metric dependent due to the value
- MinimalDiscreteDistance in the FillHatchAttribute if the value is not zero.
- This is used for a more appealing, VCL-like visualisation by not letting the
- distances get too small between lines.
-
- The decomposition will deliver the hatch lines.
- */
- class FillHatchPrimitive2D final : public DiscreteMetricDependentPrimitive2D
- {
- private:
- /// the geometrically visible area
- basegfx::B2DRange maOutputRange;
-
- /// the area the gradient definition is based on
- /// in the simplest case identical to OutputRange
- basegfx::B2DRange maDefinitionRange;
-
- /// the hatch definition
- attribute::FillHatchAttribute maFillHatch;
-
- /// hatch background color (if used)
- basegfx::BColor maBColor;
-
- /// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- public:
- /// constructors. The one without definition range will use output range as definition range
- FillHatchPrimitive2D(
- const basegfx::B2DRange& rOutputRange,
- const basegfx::BColor& rBColor,
- const attribute::FillHatchAttribute& rFillHatch);
- FillHatchPrimitive2D(
- const basegfx::B2DRange& rOutputRange,
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rBColor,
- const attribute::FillHatchAttribute& rFillHatch);
-
- /// data read access
- const basegfx::B2DRange& getOutputRange() const { return maOutputRange; }
- const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
- const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; }
- const basegfx::BColor& getBColor() const { return maBColor; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// Override standard getDecomposition to be view-dependent here
- virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
deleted file mode 100644
index cd1cc99ebf51..000000000000
--- a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.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 .
- */
-
-#pragma once
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <vcl/GraphicObject.hxx>
-
-
-// predefines
-
-class Graphic;
-
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** Helper method with supports decomposing a Graphic with all
- possible contents to lower level primitives.
-
- #i121194# Unified to use this helper for FillGraphicPrimitive2D
- and GraphicPrimitive2D at the same time. It is able to handle
- Bitmaps (with the sub-categories animated bitmap, and SVG),
- and Metafiles.
- */
- void create2DDecompositionOfGraphic(
- Primitive2DContainer& rContainer,
- const Graphic& rGraphic,
- const basegfx::B2DHomMatrix& rTransform);
-
- /** Helper to embed given sequence of primitives to evtl. a stack
- of ModifiedColorPrimitive2D's to get all the needed modifications
- applied.
- */
- Primitive2DContainer create2DColorModifierEmbeddingsAsNeeded(
- const Primitive2DContainer& rChildren,
- GraphicDrawMode aGraphicDrawMode,
- double fLuminance = 0.0, // [-1.0 .. 1.0]
- double fContrast = 0.0, // [-1.0 .. 1.0]
- double fRed = 0.0, // [-1.0 .. 1.0]
- double fGreen = 0.0, // [-1.0 .. 1.0]
- double fBlue = 0.0, // [-1.0 .. 1.0]
- double fGamma = 1.0, // ]0.0 .. 10.0]
- bool bInvert = false);
-
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/include/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
deleted file mode 100644
index e83220df1726..000000000000
--- a/include/drawinglayer/primitive2d/pointarrayprimitive2d.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 .
- */
-
-#pragma once
-
-#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 process it (Currently it is only used for grid visualisation,
- but this may change).
- */
- class PointArrayPrimitive2D final : 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 override;
-
- /// get range
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx
deleted file mode 100644
index a39256453f17..000000000000
--- a/include/drawinglayer/primitive2d/texteffectprimitive2d.hxx
+++ /dev/null
@@ -1,100 +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 .
- */
-
-#pragma once
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- /** TextEffectStyle2D definition */
- enum class TextEffectStyle2D
- {
- ReliefEmbossedDefault,
- ReliefEngravedDefault,
- ReliefEmbossed,
- ReliefEngraved,
- 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 TextEffectPrimitive2D final : public BufferedDecompositionPrimitive2D
- {
- private:
- /// the text (or other) content
- Primitive2DContainer 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;
-
- /// create local decomposition
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- public:
- /// constructor
- TextEffectPrimitive2D(
- const Primitive2DContainer& rTextContent,
- const basegfx::B2DPoint& rRotationCenter,
- double fDirection,
- TextEffectStyle2D eTextEffectStyle2D);
-
- /// data read access
- const Primitive2DContainer& 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 override;
-
- /** 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 its
- own basegfx::B2DRange
- */
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
-
- /// Override standard getDecomposition to be view-dependent here
- virtual void get2DDecomposition(Primitive2DDecompositionVisitor& rVisitor, const geometry::ViewInformation2D& rViewInformation) const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/textlineprimitive2d.hxx b/include/drawinglayer/primitive2d/textlineprimitive2d.hxx
deleted file mode 100644
index 059c69bd7ca3..000000000000
--- a/include/drawinglayer/primitive2d/textlineprimitive2d.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 .
- */
-
-#pragma once
-
-#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 TextLinePrimitive2D final : public BufferedDecompositionPrimitive2D
- {
- private:
- /// geometric definitions
- basegfx::B2DHomMatrix maObjectTransformation;
- double mfWidth;
- double mfOffset;
- double mfHeight;
-
- /// decoration definitions
- TextLine meTextLine;
- basegfx::BColor maLineColor;
-
- /// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- 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 override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
deleted file mode 100644
index 1e1e75f7ced1..000000000000
--- a/include/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
+++ /dev/null
@@ -1,143 +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 .
- */
-
-#pragma once
-
-#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 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 override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class TextCharacterStrikeoutPrimitive2D final : public BaseTextStrikeoutPrimitive2D
- {
- private:
- sal_Unicode maStrikeoutChar;
- attribute::FontAttribute maFontAttribute;
- css::lang::Locale maLocale;
-
- /// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- public:
- /// constructor
- TextCharacterStrikeoutPrimitive2D(
- const basegfx::B2DHomMatrix& rObjectTransformation,
- double fWidth,
- const basegfx::BColor& rFontColor,
- sal_Unicode aStrikeoutChar,
- const attribute::FontAttribute& rFontAttribute,
- const css::lang::Locale& rLocale);
-
- /// data read access
- sal_Unicode getStrikeoutChar() const { return maStrikeoutChar; }
- const attribute::FontAttribute& getFontAttribute() const { return maFontAttribute; }
- const css::lang::Locale& getLocale() const { return maLocale; }
-
- /// compare operator
- virtual bool operator==( const BasePrimitive2D& rPrimitive ) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace primitive2d
- {
- class TextGeometryStrikeoutPrimitive2D final : public BaseTextStrikeoutPrimitive2D
- {
- private:
- double mfHeight;
- double mfOffset;
- TextStrikeout meTextStrikeout;
-
- /// local decomposition.
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- 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 override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/include/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
deleted file mode 100644
index a8e4b158f30e..000000000000
--- a/include/drawinglayer/primitive2d/wallpaperprimitive2d.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 .
- */
-
-#pragma once
-
-#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 primitive 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 WallpaperBitmapPrimitive2D final : public ViewTransformationDependentPrimitive2D
- {
- private:
- basegfx::B2DRange maObjectRange;
- BitmapEx maBitmapEx;
- WallpaperStyle meWallpaperStyle;
-
- /// create local decomposition
- virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
- 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 override;
-
- /// get B2Drange
- virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
- /// provide unique ID
- virtual sal_uInt32 getPrimitive2DID() const override;
- };
- } // end of namespace primitive2d
-} // end of namespace drawinglayer
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx b/include/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
deleted file mode 100644
index cb71a402fce5..000000000000
--- a/include/drawinglayer/primitive3d/hatchtextureprimitive3d.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_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 HatchTexturePrimitive3D final : public TexturePrimitive3D
- {
- /// the hatch definition
- attribute::FillHatchAttribute maHatch;
-
- /// the buffered decomposed hatch
- Primitive3DContainer maBuffered3DDecomposition;
-
- /// helper: local decomposition
- Primitive3DContainer impCreate3DDecomposition() const;
-
- /// local access methods to maBufferedDecomposition
- const Primitive3DContainer& getBuffered3DDecomposition() const { return maBuffered3DDecomposition; }
-
- public:
- /// constructor
- HatchTexturePrimitive3D(
- const attribute::FillHatchAttribute& rHatch,
- const Primitive3DContainer& 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 override;
-
- /// local decomposition.
- virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx b/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
deleted file mode 100644
index 4a474e9db7fc..000000000000
--- a/include/drawinglayer/primitive3d/hiddengeometryprimitive3d.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_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
- // primitive when there is no fill geometry. Currently, the 3d hit test
- // uses only areas, so maybe in a further enhanced 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 its children subcontent.
- class HiddenGeometryPrimitive3D final : public GroupPrimitive3D
- {
- public:
- explicit HiddenGeometryPrimitive3D(const Primitive3DContainer& 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 override;
-
- /// The default implementation returns an empty sequence
- virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
-
- // provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx b/include/drawinglayer/primitive3d/polygontubeprimitive3d.hxx
deleted file mode 100644
index 2f7e85ac8094..000000000000
--- a/include/drawinglayer/primitive3d/polygontubeprimitive3d.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_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-#define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-
-#include <drawinglayer/drawinglayerdllapi.h>
-
-#include <drawinglayer/primitive3d/polygonprimitive3d.hxx>
-
-
-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 PolygonTubePrimitive3D final : public PolygonHairlinePrimitive3D
- {
- /// hold the last decomposition since it's expensive
- Primitive3DContainer maLast3DDecomposition;
-
- /// visualisation parameters
- double mfRadius;
- double mfDegreeStepWidth;
- double mfMiterMinimumAngle;
- basegfx::B2DLineJoin maLineJoin;
- css::drawing::LineCap maLineCap;
-
- /** 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 Primitive3DContainer& getLast3DDecomposition() const { return maLast3DDecomposition; }
-
- /// local decomposition.
- Primitive3DContainer impCreate3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const;
-
- public:
- /// constructor
- PolygonTubePrimitive3D(
- const basegfx::B3DPolygon& rPolygon,
- const basegfx::BColor& rBColor,
- double fRadius,
- basegfx::B2DLineJoin aLineJoin,
- css::drawing::LineCap aLineCap,
- double fDegreeStepWidth = basegfx::deg2rad(10.0),
- double fMiterMinimumAngle = basegfx::deg2rad(15.0));
-
- /// data read access
- double getRadius() const { return mfRadius; }
- double getDegreeStepWidth() const { return mfDegreeStepWidth; }
- double getMiterMinimumAngle() const { return mfMiterMinimumAngle; }
- basegfx::B2DLineJoin getLineJoin() const { return maLineJoin; }
- css::drawing::LineCap getLineCap() const { return maLineCap; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const override;
-
- /** local decomposition. Use own buffering since we are not derived from
- BufferedDecompositionPrimitive3D
- */
- virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_POLYGONTUBEPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx b/include/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx
deleted file mode 100644
index ac158615a19e..000000000000
--- a/include/drawinglayer/primitive3d/sdrdecompositiontools3d.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_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 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(
- css::drawing::TextureProjectionMode eModeX,
- css::drawing::TextureProjectionMode eModeY,
- ::std::vector< basegfx::B3DPolyPolygon >& rFill,
- const basegfx::B3DRange& rRange,
- const basegfx::B2DVector& rTextureSize);
-
- Primitive3DContainer DRAWINGLAYER_DLLPUBLIC create3DPolyPolygonLinePrimitives(
- const basegfx::B3DPolyPolygon& rUnitPolyPolygon,
- const basegfx::B3DHomMatrix& rObjectTransform,
- const attribute::SdrLineAttribute& rLine);
-
- Primitive3DContainer 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);
-
- Primitive3DContainer DRAWINGLAYER_DLLPUBLIC createShadowPrimitive3D(
- const Primitive3DContainer& rSource,
- const attribute::SdrShadowAttribute& rShadow,
- bool bShadow3D);
-
- Primitive3DContainer 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/include/drawinglayer/primitive3d/shadowprimitive3d.hxx b/include/drawinglayer/primitive3d/shadowprimitive3d.hxx
deleted file mode 100644
index e47804a00346..000000000000
--- a/include/drawinglayer/primitive3d/shadowprimitive3d.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_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 ShadowPrimitive3D final : public GroupPrimitive3D
- {
- /// 2D shadow definition
- basegfx::B2DHomMatrix maShadowTransform;
- basegfx::BColor maShadowColor;
- double mfShadowTransparence;
-
- bool mbShadow3D : 1;
-
- public:
- /// constructor
- ShadowPrimitive3D(
- const basegfx::B2DHomMatrix& rShadowTransform,
- const basegfx::BColor& rShadowColor,
- double fShadowTransparence,
- bool bShadow3D,
- const Primitive3DContainer& 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 override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_SHADOWPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive3d/textureprimitive3d.hxx b/include/drawinglayer/primitive3d/textureprimitive3d.hxx
deleted file mode 100644
index 248c6b09350b..000000000000
--- a/include/drawinglayer/primitive3d/textureprimitive3d.hxx
+++ /dev/null
@@ -1,222 +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/fillgraphicattribute.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 base class for
- extended texture definitions
- */
- class TexturePrimitive3D : public GroupPrimitive3D
- {
- private:
- /// texture geometry definition
- basegfx::B2DVector maTextureSize;
-
- /// flag if texture shall be modulated with white interpolated color
- bool mbModulate : 1;
-
- /// flag if texture shall be filtered
- bool mbFilter : 1;
-
- public:
- /// constructor
- TexturePrimitive3D(
- const Primitive3DContainer& 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 override;
- };
- } // 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 UnifiedTransparenceTexturePrimitive3D final : public TexturePrimitive3D
- {
- private:
- /// transparency definition
- double mfTransparence;
-
- public:
- /// constructor
- UnifiedTransparenceTexturePrimitive3D(
- double fTransparence,
- const Primitive3DContainer& rChildren);
-
- /// data read access
- double getTransparence() const { return mfTransparence; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const override;
-
- /// own getB3DRange implementation to include transparent geometries to BoundRect calculations
- virtual basegfx::B3DRange getB3DRange(const geometry::ViewInformation3D& rViewInformation) const override;
-
- /// local decomposition.
- virtual Primitive3DContainer get3DDecomposition(const geometry::ViewInformation3D& rViewInformation) const override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // 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 GradientTexturePrimitive3D : public TexturePrimitive3D
- {
- private:
- /// the gradient definition
- attribute::FillGradientAttribute maGradient;
-
- public:
- /// constructor
- GradientTexturePrimitive3D(
- const attribute::FillGradientAttribute& rGradient,
- const Primitive3DContainer& 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 override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // 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 BitmapTexturePrimitive3D final : public TexturePrimitive3D
- {
- private:
- /// bitmap fill attribute
- attribute::FillGraphicAttribute maFillGraphicAttribute;
-
- public:
- /// constructor
- BitmapTexturePrimitive3D(
- const attribute::FillGraphicAttribute& rFillGraphicAttribute,
- const Primitive3DContainer& rChildren,
- const basegfx::B2DVector& rTextureSize,
- bool bModulate,
- bool bFilter);
-
- /// data read access
- const attribute::FillGraphicAttribute& getFillGraphicAttribute() const { return maFillGraphicAttribute; }
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // 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 TransparenceTexturePrimitive3D final : public GradientTexturePrimitive3D
- {
- public:
- /// constructor
- TransparenceTexturePrimitive3D(
- const attribute::FillGradientAttribute& rGradient,
- const Primitive3DContainer& rChildren,
- const basegfx::B2DVector& rTextureSize);
-
- /// compare operator
- virtual bool operator==(const BasePrimitive3D& rPrimitive) const override;
-
- /// provide unique ID
- DeclPrimitive3DIDBlock()
- };
- } // end of namespace primitive3d
-} // end of namespace drawinglayer
-
-
-#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE3D_TEXTUREPRIMITIVE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/processor3d/defaultprocessor3d.hxx b/include/drawinglayer/processor3d/defaultprocessor3d.hxx
deleted file mode 100644
index 6e4548b94710..000000000000
--- a/include/drawinglayer/processor3d/defaultprocessor3d.hxx
+++ /dev/null
@@ -1,149 +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/processor3d/baseprocessor3d.hxx>
-#include <basegfx/range/b2drange.hxx>
-#include <basegfx/color/bcolormodifier.hxx>
-#include <svtools/optionsdrawinglayer.hxx>
-
-// predefines
-
-namespace basegfx {
- 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 fed 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 baseclass to
- e.g. base a Z-Buffer supported renderer on the 3D primitive processing.
- */
- class 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
- std::shared_ptr< texture::GeoTexSvx > mpGeoTexSvx;
-
- /// the current active transparence texture
- std::shared_ptr< texture::GeoTexSvx > mpTransparenceGeoTexSvx;
-
- /// SvtOptionsDrawinglayer incarnation to react on diverse settings
- const SvtOptionsDrawinglayer maDrawinglayerOpt;
-
- /// counter for entered transparence textures
- sal_uInt32 mnTransparenceCounter;
-
- bool mbModulate : 1;
- bool mbFilter : 1;
- bool 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) const;
- void impRenderPolyPolygonMaterialPrimitive3D(const primitive3d::PolyPolygonMaterialPrimitive3D& rPrimitive) const;
- 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) override;
-
- public:
- DefaultProcessor3D(
- const geometry::ViewInformation3D& rViewInformation,
- const attribute::SdrSceneAttribute& rSdrSceneAttribute,
- const attribute::SdrLightingAttribute& rSdrLightingAttribute);
- virtual ~DefaultProcessor3D() override;
-
- /// 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 std::shared_ptr< texture::GeoTexSvx >& getGeoTexSvx() const { return mpGeoTexSvx; }
- const std::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/include/drawinglayer/processor3d/geometry2dextractor.hxx b/include/drawinglayer/processor3d/geometry2dextractor.hxx
deleted file mode 100644
index e9b13e1ccfc6..000000000000
--- a/include/drawinglayer/processor3d/geometry2dextractor.hxx
+++ /dev/null
@@ -1,72 +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/color/bcolormodifier.hxx>
-
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** Geometry2DExtractingProcessor class
-
- This processor extracts the 2D geometry (projected geometry) of all fed primitives.
- It is e.g. used as sub-processor for contour extraction where 3D geometry is only
- useful as 2D projected geometry.
- */
- class Geometry2DExtractingProcessor final : public BaseProcessor3D
- {
- private:
- /// result holding vector (2D)
- primitive2d::Primitive2DContainer 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) override;
-
- public:
- Geometry2DExtractingProcessor(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B2DHomMatrix& rObjectTransformation);
-
- // data read access
- const primitive2d::Primitive2DContainer& getPrimitive2DSequence() const { return maPrimitive2DSequence; }
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_GEOMETRY2DEXTRACTOR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/processor3d/shadow3dextractor.hxx b/include/drawinglayer/processor3d/shadow3dextractor.hxx
deleted file mode 100644
index ed8cf966347c..000000000000
--- a/include/drawinglayer/processor3d/shadow3dextractor.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_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/polygon/b2dpolygon.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
-
-namespace basegfx { class B3DPolyPolygon; }
-namespace basegfx { class B3DPolygon; }
-
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /** Shadow3DExtractingProcessor class
-
- This processor extracts the 2D shadow geometry (projected geometry) of all fed 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 Shadow3DExtractingProcessor final : public BaseProcessor3D
- {
- private:
- /// result holding vector (2D) and target vector for stacking (inited to &maPrimitive2DSequence)
- primitive2d::Primitive2DContainer maPrimitive2DSequence;
- primitive2d::Primitive2DContainer* 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;
-
- /// flag if shadow plane projection preparation led to valid results
- bool mbShadowProjectionIsValid : 1;
-
- /// flag if conversion is switched on
- bool mbConvert : 1;
-
- /// flag if conversion shall use projection
- bool 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) override;
-
- public:
- Shadow3DExtractingProcessor(
- const geometry::ViewInformation3D& rViewInformation,
- const basegfx::B2DHomMatrix& rObjectTransformation,
- const basegfx::B3DVector& rLightNormal,
- double fShadowSlant,
- const basegfx::B3DRange& rContained3DRange);
- virtual ~Shadow3DExtractingProcessor() override;
-
- /// data read access
- const primitive2d::Primitive2DContainer& getPrimitive2DSequence() const;
- const basegfx::B2DHomMatrix& getObjectTransformation() const { return maObjectTransformation; }
- const basegfx::B3DHomMatrix& getWorldToEye() const { return maWorldToEye; }
- };
- } // end of namespace processor3d
-} // end of namespace drawinglayer
-
-#endif //_DRAWINGLAYER_PROCESSOR3D_SHADOW3DEXTRACTOR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/processor3d/zbufferprocessor3d.hxx b/include/drawinglayer/processor3d/zbufferprocessor3d.hxx
deleted file mode 100644
index 94b4ae4cb837..000000000000
--- a/include/drawinglayer/processor3d/zbufferprocessor3d.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_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX
-#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_ZBUFFERPROCESSOR3D_HXX
-
-#include <drawinglayer/processor3d/defaultprocessor3d.hxx>
-#include <basegfx/matrix/b3dhommatrix.hxx>
-#include <memory>
-
-namespace basegfx {
- class BZPixelRaster;
-}
-
-namespace drawinglayer {
- namespace attribute {
- class SdrSceneAttribute;
- class SdrLightingAttribute;
- class MaterialAttribute3D;
- }
-}
-
-class ZBufferRasterConverter3D;
-class RasterPrimitive3D;
-
-namespace drawinglayer
-{
- namespace processor3d
- {
- /**
- This 3D renderer derived from DefaultProcessor3D renders all fed primitives to a 2D
- raster bitmap using a Z-Buffer based approach. It is able to supersample and to handle
- transparent content.
- */
- class ZBufferProcessor3D final : public DefaultProcessor3D
- {
- private:
- /// inverse of EyeToView for rasterconversion with evtl. Phong shading
- basegfx::B3DHomMatrix maInvEyeToView;
-
- /// The raster converter for Z-Buffer
- std::unique_ptr<ZBufferRasterConverter3D> mpZBufferRasterConverter3D;
-
- /* AA value. Defines how many oversamples 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::unique_ptr<std::vector< RasterPrimitive3D >> mpRasterPrimitive3Ds;
-
- sal_uInt32 mnStartLine;
- sal_uInt32 mnStopLine;
-
- // rasterconversions for filled and non-filled polygons
-
- virtual void rasterconvertB3DPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolygon& rHairline) const override;
- virtual void rasterconvertB3DPolyPolygon(const attribute::MaterialAttribute3D& rMaterial, const basegfx::B3DPolyPolygon& rFill) const override;
-
- public:
- ZBufferProcessor3D(
- const geometry::ViewInformation3D& rViewInformation3D,
- const attribute::SdrSceneAttribute& rSdrSceneAttribute,
- const attribute::SdrLightingAttribute& rSdrLightingAttribute,
- const basegfx::B2DRange& rVisiblePart,
- sal_uInt16 nAntiAlialize,
- double fFullViewSizeX,
- double fFullViewSizeY,
- basegfx::BZPixelRaster& rBZPixelRaster,
- sal_uInt32 nStartLine,
- sal_uInt32 nStopLine);
- virtual ~ZBufferProcessor3D() override;
-
- void finish();
- };
- }
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/texture/texture.hxx b/include/drawinglayer/texture/texture.hxx
deleted file mode 100644
index a8656f962454..000000000000
--- a/include/drawinglayer/texture/texture.hxx
+++ /dev/null
@@ -1,342 +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/utils/gradienttools.hxx>
-#include <vector>
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class 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 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
- {
- /// helper class for processing equal number of matrices and colors
- /// for texture processing
- struct B2DHomMatrixAndBColor
- {
- basegfx::B2DHomMatrix maB2DHomMatrix;
- basegfx::BColor maBColor;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradient : public GeoTexSvx
- {
- protected:
- basegfx::ODFGradientInfo maGradientInfo;
- basegfx::B2DRange maDefinitionRange;
- basegfx::BColor maStart;
- basegfx::BColor maEnd;
- double mfBorder;
-
- public:
- GeoTexSvxGradient(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- double fBorder);
- virtual ~GeoTexSvxGradient() override;
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const override;
-
- // virtual base methods
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) = 0;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientLinear final : public GeoTexSvxGradient
- {
- double mfUnitMinX;
- double mfUnitWidth;
- double mfUnitMaxY;
-
- public:
- GeoTexSvxGradientLinear(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::B2DRange& rOutputRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fAngle);
- virtual ~GeoTexSvxGradientLinear() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientAxial final : public GeoTexSvxGradient
- {
- double mfUnitMinX;
- double mfUnitWidth;
-
- public:
- GeoTexSvxGradientAxial(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::B2DRange& rOutputRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fAngle);
- virtual ~GeoTexSvxGradientAxial() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientRadial final : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientRadial(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fOffsetX,
- double fOffsetY);
- virtual ~GeoTexSvxGradientRadial() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientElliptical final : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientElliptical(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fOffsetX,
- double fOffsetY,
- double fAngle);
- virtual ~GeoTexSvxGradientElliptical() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientSquare final : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientSquare(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fOffsetX,
- double fOffsetY,
- double fAngle);
- virtual ~GeoTexSvxGradientSquare() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxGradientRect final : public GeoTexSvxGradient
- {
- public:
- GeoTexSvxGradientRect(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::BColor& rStart,
- const basegfx::BColor& rEnd,
- sal_uInt32 nSteps,
- double fBorder,
- double fOffsetX,
- double fOffsetY,
- double fAngle);
- virtual ~GeoTexSvxGradientRect() override;
-
- virtual void appendTransformationsAndColors(
- std::vector< B2DHomMatrixAndBColor >& rEntries,
- basegfx::BColor& rOuterColor) override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxHatch final : public GeoTexSvx
- {
- basegfx::B2DRange maOutputRange;
- basegfx::B2DHomMatrix maTextureTransform;
- basegfx::B2DHomMatrix maBackTextureTransform;
- double mfDistance;
- double mfAngle;
- sal_uInt32 mnSteps;
-
- bool mbDefinitionRangeEqualsOutputRange : 1;
-
- public:
- GeoTexSvxHatch(
- const basegfx::B2DRange& rDefinitionRange,
- const basegfx::B2DRange& rOutputRange,
- double fDistance,
- double fAngle);
- virtual ~GeoTexSvxHatch() override;
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const override;
-
- void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices);
- double getDistanceToHatch(const basegfx::B2DPoint& rUV) const;
- const basegfx::B2DHomMatrix& getBackTextureTransform() const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-namespace drawinglayer
-{
- namespace texture
- {
- // This class applies a tiling to the unit range. The given range
- // will be repeated inside the unit range in X and Y and for each
- // tile a matrix will be created (by appendTransformations) that
- // represents the needed transformation to map a filling in unit
- // coordinates to that tile.
- // When offsetX is given, every 2nd line will be offsetted by the
- // given percentage value (offsetX has to be 0.0 <= offsetX <= 1.0).
- // Accordingly to offsetY. If both are given, offsetX is preferred
- // and offsetY is ignored.
- class GeoTexSvxTiled final : public GeoTexSvx
- {
- basegfx::B2DRange maRange;
- double mfOffsetX;
- double mfOffsetY;
-
- sal_Int32 iterateTiles(::std::vector< basegfx::B2DHomMatrix >* pMatrices) const;
-
- public:
- GeoTexSvxTiled(
- const basegfx::B2DRange& rRange,
- double fOffsetX = 0.0,
- double fOffsetY = 0.0);
- virtual ~GeoTexSvxTiled() override;
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const override;
-
- void appendTransformations(::std::vector< basegfx::B2DHomMatrix >& rMatrices) const;
- sal_uInt32 getNumberOfTiles() const;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-
-#endif //_DRAWINGLAYER_TEXTURE_TEXTURE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/texture/texture3d.hxx b/include/drawinglayer/texture/texture3d.hxx
deleted file mode 100644
index 43e0c1cd67de..000000000000
--- a/include/drawinglayer/texture/texture3d.hxx
+++ /dev/null
@@ -1,146 +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/bitmapex.hxx>
-
-namespace drawinglayer { namespace primitive3d {
- class HatchTexturePrimitive3D;
-}}
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxMono final : public GeoTexSvx
- {
- basegfx::BColor maSingleColor;
- double mfOpacity;
-
- public:
- GeoTexSvxMono(
- const basegfx::BColor& rSingleColor,
- double fOpacity);
-
- // compare operator
- virtual bool operator==(const GeoTexSvx& rGeoTexSvx) const override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxBitmapEx : public GeoTexSvx
- {
- protected:
- BitmapEx maBitmapEx;
- Bitmap maBitmap; // Bitmap held within maBitmapEx, to exist during mpReadBitmap scope
- Bitmap::ScopedReadAccess mpReadBitmap;
- Bitmap maTransparence;
- Bitmap::ScopedReadAccess mpReadTransparence;
- basegfx::B2DPoint maTopLeft;
- basegfx::B2DVector maSize;
- double mfMulX;
- double mfMulY;
-
- bool mbIsAlpha : 1;
- bool mbIsTransparent : 1;
-
- // helpers
- bool impIsValid(const basegfx::B2DPoint& rUV, sal_Int32& rX, sal_Int32& rY) const;
- sal_uInt8 impGetTransparence(sal_Int32 rX, sal_Int32 rY) const;
-
- public:
- GeoTexSvxBitmapEx(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DRange& rRange);
- virtual ~GeoTexSvxBitmapEx() override;
-
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxBitmapExTiled final : public GeoTexSvxBitmapEx
- {
- double mfOffsetX;
- double mfOffsetY;
-
- bool mbUseOffsetX : 1;
- bool mbUseOffsetY : 1;
-
- // helpers
- basegfx::B2DPoint impGetCorrected(const basegfx::B2DPoint& rUV) const;
-
- public:
- GeoTexSvxBitmapExTiled(
- const BitmapEx& rBitmapEx,
- const basegfx::B2DRange& rRange,
- double fOffsetX,
- double fOffsetY);
-
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-namespace drawinglayer
-{
- namespace texture
- {
- class GeoTexSvxMultiHatch final : public GeoTexSvx
- {
- basegfx::BColor maColor;
- double mfLogicPixelSize;
- std::unique_ptr<GeoTexSvxHatch> mp0;
- std::unique_ptr<GeoTexSvxHatch> mp1;
- std::unique_ptr<GeoTexSvxHatch> mp2;
-
- bool mbFillBackground : 1;
-
- // helpers
- bool impIsOnHatch(const basegfx::B2DPoint& rUV) const;
-
- public:
- GeoTexSvxMultiHatch(const primitive3d::HatchTexturePrimitive3D& rPrimitive, double fLogicPixelSize);
- virtual ~GeoTexSvxMultiHatch() override;
- virtual void modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& rfOpacity) const override;
- virtual void modifyOpacity(const basegfx::B2DPoint& rUV, double& rfOpacity) const override;
- };
- } // end of namespace texture
-} // end of namespace drawinglayer
-
-#endif // INCLUDED_DRAWINGLAYER_TEXTURE_TEXTURE3D_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */