chart2/qa/extras/chart2export.cxx                                 |    2 
 chart2/qa/extras/chart2export3.cxx                                |    1 
 chart2/qa/extras/chart2import.cxx                                 |    1 
 drawinglayer/inc/processor3d/shadow3dextractor.hxx                |    1 
 drawinglayer/source/attribute/sdrlineattribute.cxx                |    2 
 drawinglayer/source/attribute/sdrsceneattribute3d.cxx             |    2 
 drawinglayer/source/geometry/viewinformation2d.cxx                |    1 
 drawinglayer/source/primitive2d/BufferedDecompositionFlusher.cxx  |    2 
 drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx       |    1 
 drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx         |    1 
 drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx      |    1 
 drawinglayer/source/primitive2d/sceneprimitive2d.cxx              |    1 
 drawinglayer/source/primitive2d/shadowprimitive2d.cxx             |    1 
 drawinglayer/source/primitive3d/baseprimitive3d.cxx               |    1 
 drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx     |    1 
 drawinglayer/source/primitive3d/polygonprimitive3d.cxx            |    1 
 drawinglayer/source/primitive3d/polypolygonprimitive3d.cxx        |    1 
 drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx            |    2 
 drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx       |    4 +
 drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx         |    2 
 drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx           |    2 
 drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx     |    2 
 drawinglayer/source/primitive3d/sdrprimitive3d.cxx                |    1 
 drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx          |    2 
 drawinglayer/source/primitive3d/textureprimitive3d.cxx            |    1 
 drawinglayer/source/primitive3d/transformprimitive3d.cxx          |    1 
 drawinglayer/source/processor2d/hittestprocessor2d.cxx            |    2 
 drawinglayer/source/processor3d/baseprocessor3d.cxx               |    1 
 drawinglayer/source/processor3d/defaultprocessor3d.cxx            |    1 
 drawinglayer/source/processor3d/shadow3dextractor.cxx             |    1 
 drawinglayer/source/processor3d/zbufferprocessor3d.cxx            |    1 
 drawinglayer/source/tools/primitive2dxmldump.cxx                  |    7 +++
 emfio/qa/cppunit/emf/EmfImportTest.cxx                            |    1 
 include/IwyuFilter_include.yaml                                   |    3 -
 include/drawinglayer/attribute/fillgradientattribute.hxx          |    6 ++
 include/drawinglayer/attribute/sdrlineattribute.hxx               |    4 -
 include/drawinglayer/attribute/sdrobjectattribute3d.hxx           |    8 +--
 include/drawinglayer/attribute/sdrsceneattribute3d.hxx            |    4 -
 include/drawinglayer/converters.hxx                               |   23 
+++++++++-
 include/drawinglayer/geometry/viewinformation2d.hxx               |    3 -
 include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx |   12 ++++-
 include/drawinglayer/primitive2d/Tools.hxx                        |   11 +++-
 include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx        |    1 
 include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx      |    1 
 include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx     |    7 ++-
 include/drawinglayer/primitive2d/patternfillprimitive2d.hxx       |    2 
 include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx      |    2 
 include/drawinglayer/primitive2d/structuretagprimitive2d.hxx      |    2 
 include/drawinglayer/primitive2d/textlayoutdevice.hxx             |    2 
 include/drawinglayer/primitive3d/baseprimitive3d.hxx              |    3 -
 include/drawinglayer/processor2d/baseprocessor2d.hxx              |    3 -
 include/drawinglayer/processor2d/processor2dtools.hxx             |    2 
 include/drawinglayer/processor3d/baseprocessor3d.hxx              |    3 -
 include/drawinglayer/processor3d/cutfindprocessor3d.hxx           |    2 
 include/drawinglayer/tools/primitive2dxmldump.hxx                 |    5 +-
 sdext/source/pdfimport/tree/pdfiprocessor.cxx                     |    1 
 sfx2/source/control/templateviewitem.cxx                          |    1 
 svx/inc/sdr/overlay/overlaytools.hxx                              |    1 
 svx/source/sdr/contact/viewcontactofe3dscene.cxx                  |    2 
 svx/source/sdr/overlay/overlaytools.cxx                           |    1 
 svx/source/table/viewcontactoftableobj.cxx                        |    1 
 61 files changed, 137 insertions(+), 31 deletions(-)

New commits:
commit eb087d25b304192ffa51457f9613d7f7cb8ccee0
Author:     Gabor Kelemen <[email protected]>
AuthorDate: Wed Feb 11 14:08:59 2026 +0100
Commit:     Gabor Kelemen <[email protected]>
CommitDate: Sun Feb 22 12:08:33 2026 +0100

    tdf#146619 Use more forward declarations in include/drawinglayer
    
    Change-Id: I5911dfb1cfc2bfd291758334b69123cfbce559a5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199387
    Reviewed-by: Gabor Kelemen <[email protected]>
    Tested-by: Jenkins

diff --git a/chart2/qa/extras/chart2export.cxx 
b/chart2/qa/extras/chart2export.cxx
index 1e8458106232..4a08eca5c155 100644
--- a/chart2/qa/extras/chart2export.cxx
+++ b/chart2/qa/extras/chart2export.cxx
@@ -19,6 +19,8 @@
 #include <com/sun/star/chart/DataLabelPlacement.hpp>
 #include <com/sun/star/chart2/PieChartSubType.hpp>
 
+#include <tools/color.hxx>
+
 using uno::Reference;
 using beans::XPropertySet;
 
diff --git a/chart2/qa/extras/chart2export3.cxx 
b/chart2/qa/extras/chart2export3.cxx
index b2dab0abf36c..c726e42cb4a6 100644
--- a/chart2/qa/extras/chart2export3.cxx
+++ b/chart2/qa/extras/chart2export3.cxx
@@ -15,6 +15,7 @@
 #include <com/sun/star/awt/FontUnderline.hpp>
 #include <com/sun/star/text/XTextRange.hpp>
 #include <com/sun/star/util/DateTime.hpp>
+#include <tools/color.hxx>
 
 using uno::Reference;
 using beans::XPropertySet;
diff --git a/chart2/qa/extras/chart2import.cxx 
b/chart2/qa/extras/chart2import.cxx
index 645b959ae129..5468f22bc880 100644
--- a/chart2/qa/extras/chart2import.cxx
+++ b/chart2/qa/extras/chart2import.cxx
@@ -36,6 +36,7 @@
 #include <com/sun/star/awt/Gradient2.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <docmodel/uno/UnoGradientTools.hxx>
+#include <tools/color.hxx>
 
 namespace
 {
diff --git a/drawinglayer/inc/processor3d/shadow3dextractor.hxx 
b/drawinglayer/inc/processor3d/shadow3dextractor.hxx
index 64890b7a630a..0893b62b4569 100644
--- a/drawinglayer/inc/processor3d/shadow3dextractor.hxx
+++ b/drawinglayer/inc/processor3d/shadow3dextractor.hxx
@@ -24,6 +24,7 @@
 #include <basegfx/matrix/b3dhommatrix.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 
 namespace basegfx { class B3DPolyPolygon; }
diff --git a/drawinglayer/source/attribute/sdrlineattribute.cxx 
b/drawinglayer/source/attribute/sdrlineattribute.cxx
index f8d4aefb0a95..ede21fa2a68b 100644
--- a/drawinglayer/source/attribute/sdrlineattribute.cxx
+++ b/drawinglayer/source/attribute/sdrlineattribute.cxx
@@ -19,6 +19,8 @@
 
 #include <drawinglayer/attribute/sdrlineattribute.hxx>
 #include <basegfx/color/bcolor.hxx>
+#include <basegfx/vector/b2enums.hxx>
+#include <com/sun/star/drawing/LineCap.hpp>
 
 
 namespace drawinglayer::attribute
diff --git a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx 
b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx
index 840fe2e3074c..a05542b3a173 100644
--- a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx
+++ b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx
@@ -18,6 +18,8 @@
  */
 
 #include <drawinglayer/attribute/sdrsceneattribute3d.hxx>
+#include <com/sun/star/drawing/ProjectionMode.hpp>
+#include <com/sun/star/drawing/ShadeMode.hpp>
 
 
 namespace drawinglayer::attribute
diff --git a/drawinglayer/source/geometry/viewinformation2d.cxx 
b/drawinglayer/source/geometry/viewinformation2d.cxx
index 6cb2e4536b9a..171c8d55003d 100644
--- a/drawinglayer/source/geometry/viewinformation2d.cxx
+++ b/drawinglayer/source/geometry/viewinformation2d.cxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/geometry/RealRectangle2D.hpp>
 #include <o3tl/temporary.hxx>
 #include <officecfg/Office/Common.hxx>
+#include <tools/color.hxx>
 #include <vcl/rendercontext/DrawModeFlags.hxx>
 
 #include <atomic>
diff --git a/drawinglayer/source/primitive2d/BufferedDecompositionFlusher.cxx 
b/drawinglayer/source/primitive2d/BufferedDecompositionFlusher.cxx
index 50850c39b4c3..da3fdc6ae07f 100644
--- a/drawinglayer/source/primitive2d/BufferedDecompositionFlusher.cxx
+++ b/drawinglayer/source/primitive2d/BufferedDecompositionFlusher.cxx
@@ -20,6 +20,8 @@
 #include <sal/config.h>
 #include <comphelper/solarmutex.hxx>
 #include <drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx>
+#include <drawinglayer/primitive2d/BufferedDecompositionGroupPrimitive2D.hxx>
+#include <drawinglayer/primitive2d/BufferedDecompositionPrimitive2D.hxx>
 
 namespace drawinglayer::primitive2d
 {
diff --git a/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx 
b/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx
index 0f07c2210670..d1d121413a42 100644
--- a/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx
+++ b/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "GlowSoftEgdeShadowTools.hxx"
+#include <tools/color.hxx>
 #include <vcl/bitmap/BitmapBasicMorphologyFilter.hxx>
 #include <vcl/bitmap/BitmapFilterStackBlur.hxx>
 
diff --git a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx 
b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
index 070f9c3b76cc..1b4f64939541 100644
--- a/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/embedded3dprimitive2d.cxx
@@ -20,6 +20,7 @@
 #include <drawinglayer/primitive2d/embedded3dprimitive2d.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/color/bcolor.hxx>
 #include <drawinglayer/primitive2d/PolygonHairlinePrimitive2D.hxx>
 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx 
b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index f1c6e977884a..58b1a55ed84d 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -45,6 +45,7 @@
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/alpha.hxx>
 #include <vcl/graph.hxx>
+#include <vcl/GraphicAttributes.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/skia/SkiaHelper.hxx>
diff --git a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx 
b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
index 76d04c44e5ca..2aadbd28376a 100644
--- a/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/sceneprimitive2d.cxx
@@ -20,6 +20,7 @@
 #include <drawinglayer/primitive2d/sceneprimitive2d.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <drawinglayer/attribute/sdrlightattribute3d.hxx>
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx 
b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index 9f8a6c2c9f95..4b47672704ef 100644
--- a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
@@ -25,6 +25,7 @@
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
 #include <drawinglayer/converters.hxx>
+#include <tools/color.hxx>
 #include <vcl/graph.hxx>
 #include "GlowSoftEgdeShadowTools.hxx"
 
diff --git a/drawinglayer/source/primitive3d/baseprimitive3d.cxx 
b/drawinglayer/source/primitive3d/baseprimitive3d.cxx
index c2c8cc9f7e0f..4fa9e65d1763 100644
--- a/drawinglayer/source/primitive3d/baseprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/baseprimitive3d.cxx
@@ -19,6 +19,7 @@
 
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/utils/canvastools.hxx>
 #include <comphelper/sequence.hxx>
 
diff --git a/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx 
b/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
index 8d69d8741097..bf45448321e4 100644
--- a/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/hiddengeometryprimitive3d.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <basegfx/range/b3drange.hxx>
 #include <primitive3d/hiddengeometryprimitive3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 
diff --git a/drawinglayer/source/primitive3d/polygonprimitive3d.cxx 
b/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
index 6127ac77666b..db87b3b30f1a 100644
--- a/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/polygonprimitive3d.cxx
@@ -20,6 +20,7 @@
 #include <drawinglayer/primitive3d/polygonprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolygontools.hxx>
 #include <basegfx/polygon/b3dpolypolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <primitive3d/polygontubeprimitive3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <utility>
diff --git a/drawinglayer/source/primitive3d/polypolygonprimitive3d.cxx 
b/drawinglayer/source/primitive3d/polypolygonprimitive3d.cxx
index 5a03a89841e0..324555a24715 100644
--- a/drawinglayer/source/primitive3d/polypolygonprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/polypolygonprimitive3d.cxx
@@ -19,6 +19,7 @@
 
 #include <drawinglayer/primitive3d/polypolygonprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <utility>
 
diff --git a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
index aaaa1bc5fad3..1549f308a0ee 100644
--- a/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrcubeprimitive3d.cxx
@@ -17,10 +17,12 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/NormalsKind.hpp>
 #include <drawinglayer/primitive3d/sdrcubeprimitive3d.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
 #include <basegfx/polygon/b3dpolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx 
b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
index d69bb87b865c..0f1b170e2fd4 100644
--- a/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrdecompositiontools3d.cxx
@@ -17,6 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/TextureKind2.hpp>
+#include <com/sun/star/drawing/TextureMode.hpp>
+
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/attribute/strokeattribute.hxx>
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
@@ -31,6 +34,7 @@
 #include <primitive3d/hatchtextureprimitive3d.hxx>
 #include <primitive3d/shadowprimitive3d.hxx>
 #include <basegfx/range/b2drange.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/attribute/sdrlineattribute.hxx>
 #include <drawinglayer/attribute/sdrobjectattribute3d.hxx>
 #include <drawinglayer/attribute/sdrfillattribute.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
index a9540d23c444..ccdab4f8ca3a 100644
--- a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
@@ -21,10 +21,12 @@
 
 #include <cmath>
 
+#include <com/sun/star/drawing/NormalsKind.hpp>
 #include <drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b3dpolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
index 682ea0c54042..6eaf35d9694e 100644
--- a/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx
@@ -17,9 +17,11 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/NormalsKind.hpp>
 #include <drawinglayer/primitive3d/sdrlatheprimitive3d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/polygon/b3dpolygon.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
index 9219cc970c86..b179aeb631e2 100644
--- a/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrpolypolygonprimitive3d.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/NormalsKind.hpp>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
diff --git a/drawinglayer/source/primitive3d/sdrprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrprimitive3d.cxx
index 7a6feb946ebc..d11627e95513 100644
--- a/drawinglayer/source/primitive3d/sdrprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrprimitive3d.cxx
@@ -19,6 +19,7 @@
 
 #include <drawinglayer/primitive3d/sdrprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/attribute/sdrlineattribute.hxx>
 #include <utility>
 
diff --git a/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx 
b/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
index c3127261f502..d98c66d65d9e 100644
--- a/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrsphereprimitive3d.cxx
@@ -17,8 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/NormalsKind.hpp>
 #include <drawinglayer/primitive3d/sdrsphereprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <primitive3d/sdrdecompositiontools3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
diff --git a/drawinglayer/source/primitive3d/textureprimitive3d.cxx 
b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
index 3c4a3639e0da..72b0af7abebb 100644
--- a/drawinglayer/source/primitive3d/textureprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
@@ -20,6 +20,7 @@
 #include <primitive3d/textureprimitive3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
 #include <basegfx/color/bcolor.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <basegfx/utils/bgradient.hxx>
 #include <utility>
 
diff --git a/drawinglayer/source/primitive3d/transformprimitive3d.cxx 
b/drawinglayer/source/primitive3d/transformprimitive3d.cxx
index 135cba2c55ab..d81db068b01b 100644
--- a/drawinglayer/source/primitive3d/transformprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/transformprimitive3d.cxx
@@ -19,6 +19,7 @@
 
 #include <drawinglayer/primitive3d/transformprimitive3d.hxx>
 #include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <utility>
 
 
diff --git a/drawinglayer/source/processor2d/hittestprocessor2d.cxx 
b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
index 9d45cfc6a3dd..e9d7d96a6110 100644
--- a/drawinglayer/source/processor2d/hittestprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/hittestprocessor2d.cxx
@@ -27,6 +27,7 @@
 #include <drawinglayer/primitive2d/BitmapAlphaPrimitive2D.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/primitive2d/transparenceprimitive2d.hxx>
 #include <drawinglayer/primitive2d/maskprimitive2d.hxx>
 #include <drawinglayer/primitive2d/sceneprimitive2d.hxx>
@@ -36,6 +37,7 @@
 #include <drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx>
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
 #include <comphelper/lok.hxx>
+#include <tools/color.hxx>
 
 namespace drawinglayer::processor2d
 {
diff --git a/drawinglayer/source/processor3d/baseprocessor3d.cxx 
b/drawinglayer/source/processor3d/baseprocessor3d.cxx
index 27bcd7ca12aa..02e7b19482ae 100644
--- a/drawinglayer/source/processor3d/baseprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/baseprocessor3d.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/processor3d/baseprocessor3d.hxx>
 #include <utility>
 
diff --git a/drawinglayer/source/processor3d/defaultprocessor3d.cxx 
b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
index d96fc30946c4..217258908d35 100644
--- a/drawinglayer/source/processor3d/defaultprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
@@ -25,6 +25,7 @@
 #include <drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx>
 #include <drawinglayer/primitive3d/polygonprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/attribute/materialattribute3d.hxx>
 #include <drawinglayer/primitive3d/polypolygonprimitive3d.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
diff --git a/drawinglayer/source/processor3d/shadow3dextractor.cxx 
b/drawinglayer/source/processor3d/shadow3dextractor.cxx
index 7970b46cfabb..9fcfb03e8689 100644
--- a/drawinglayer/source/processor3d/shadow3dextractor.cxx
+++ b/drawinglayer/source/processor3d/shadow3dextractor.cxx
@@ -24,6 +24,7 @@
 #include <drawinglayer/primitive3d/transformprimitive3d.hxx>
 #include <drawinglayer/primitive3d/polygonprimitive3d.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/primitive3d/polypolygonprimitive3d.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <drawinglayer/primitive2d/PolygonHairlinePrimitive2D.hxx>
diff --git a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx 
b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
index 22674b414cc6..d8e529fc3717 100644
--- a/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/zbufferprocessor3d.cxx
@@ -26,6 +26,7 @@
 #include <basegfx/polygon/b3dpolypolygon.hxx>
 #include <basegfx/polygon/b3dpolygontools.hxx>
 #include <basegfx/polygon/b3dpolypolygontools.hxx>
+#include <basegfx/range/b3drange.hxx>
 #include <drawinglayer/attribute/sdrlightingattribute3d.hxx>
 #include <o3tl/safeint.hxx>
 #include <svtools/optionsdrawinglayer.hxx>
diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx 
b/drawinglayer/source/tools/primitive2dxmldump.cxx
index 641a9cd71f23..4d113d509c35 100644
--- a/drawinglayer/source/tools/primitive2dxmldump.cxx
+++ b/drawinglayer/source/tools/primitive2dxmldump.cxx
@@ -18,6 +18,13 @@
 #include <libxml/parser.h>
 #include <sal/log.hxx>
 
+#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 <com/sun/star/drawing/ProjectionMode.hpp>
+#include <com/sun/star/drawing/ShadeMode.hpp>
+
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
 #include <drawinglayer/primitive2d/pointarrayprimitive2d.hxx>
 #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx>
diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx 
b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 30ed80b631c1..144b0356af16 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -22,6 +22,7 @@
 
 #include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
 #include <drawinglayer/tools/primitive2dxmldump.hxx>
+#include <tools/color.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
 #include <vcl/gdimtf.hxx>
 #include <vcl/vectorgraphicdata.hxx>
diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index af3216f02a30..e80a7400c254 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -537,9 +537,6 @@ excludelist:
     # base class has to be a complete type
     - com/sun/star/graphic/XPrimitive2D.hpp
     - com/sun/star/util/XAccounting.hpp
-    include/drawinglayer/primitive3d/baseprimitive3d.hxx:
-    # base class has to be a complete type
-    - com/sun/star/graphic/XPrimitive3D.hpp
     include/sfx2/childwin.hxx:
     # Needed in macro #define
     - comphelper/lok.hxx
diff --git a/include/drawinglayer/attribute/fillgradientattribute.hxx 
b/include/drawinglayer/attribute/fillgradientattribute.hxx
index 374953fbf1c4..928ec349a651 100644
--- a/include/drawinglayer/attribute/fillgradientattribute.hxx
+++ b/include/drawinglayer/attribute/fillgradientattribute.hxx
@@ -21,13 +21,17 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 #include <o3tl/cow_wrapper.hxx>
-#include <com/sun/star/awt/GradientStyle.hpp>
 
 namespace basegfx
 {
 class BColorStops;
 }
 
+namespace com::sun::star::awt
+{
+enum class GradientStyle;
+}
+
 namespace drawinglayer::attribute
 {
 class ImpFillGradientAttribute;
diff --git a/include/drawinglayer/attribute/sdrlineattribute.hxx 
b/include/drawinglayer/attribute/sdrlineattribute.hxx
index 2fa9c39f0938..9ff6ed42e614 100644
--- a/include/drawinglayer/attribute/sdrlineattribute.hxx
+++ b/include/drawinglayer/attribute/sdrlineattribute.hxx
@@ -21,8 +21,6 @@
 #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>
 
@@ -36,6 +34,8 @@ namespace basegfx {
 namespace drawinglayer::attribute {
     class ImpSdrLineAttribute;
 }
+namespace basegfx { enum class B2DLineJoin; }
+namespace com::sun::star::drawing { enum class LineCap; }
 
 
 namespace drawinglayer::attribute
diff --git a/include/drawinglayer/attribute/sdrobjectattribute3d.hxx 
b/include/drawinglayer/attribute/sdrobjectattribute3d.hxx
index 0a2889d3ead9..21576a7c04d8 100644
--- a/include/drawinglayer/attribute/sdrobjectattribute3d.hxx
+++ b/include/drawinglayer/attribute/sdrobjectattribute3d.hxx
@@ -22,10 +22,6 @@
 
 #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>
 
 
@@ -35,6 +31,10 @@ namespace drawinglayer::attribute {
     class ImpSdr3DObjectAttribute;
     class MaterialAttribute3D;
 }
+namespace com::sun::star::drawing { enum class NormalsKind; }
+namespace com::sun::star::drawing { enum class TextureKind2; }
+namespace com::sun::star::drawing { enum class TextureMode; }
+namespace com::sun::star::drawing { enum class TextureProjectionMode; }
 
 
 namespace drawinglayer::attribute
diff --git a/include/drawinglayer/attribute/sdrsceneattribute3d.hxx 
b/include/drawinglayer/attribute/sdrsceneattribute3d.hxx
index fa48207d3bcf..62aa7d6fc093 100644
--- a/include/drawinglayer/attribute/sdrsceneattribute3d.hxx
+++ b/include/drawinglayer/attribute/sdrsceneattribute3d.hxx
@@ -22,8 +22,6 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 
-#include <com/sun/star/drawing/ProjectionMode.hpp>
-#include <com/sun/star/drawing/ShadeMode.hpp>
 #include <o3tl/cow_wrapper.hxx>
 
 
@@ -32,6 +30,8 @@
 namespace drawinglayer::attribute {
     class ImpSdrSceneAttribute;
 }
+namespace com::sun::star::drawing { enum class ProjectionMode; }
+namespace com::sun::star::drawing { enum class ShadeMode; }
 
 
 namespace drawinglayer::attribute
diff --git a/include/drawinglayer/converters.hxx 
b/include/drawinglayer/converters.hxx
index fbe89909c9a4..1aaa2bf05b8a 100644
--- a/include/drawinglayer/converters.hxx
+++ b/include/drawinglayer/converters.hxx
@@ -19,8 +19,27 @@
 
 #pragma once
 
-#include <vcl/bitmap.hxx>
-#include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <o3tl/unit_conversion.hxx>
+#include <tools/gen.hxx>
+
+#include <optional>
+
+class AlphaMask;
+class Bitmap;
+
+namespace basegfx
+{
+class B2DRange;
+}
+namespace drawinglayer::primitive2d
+{
+class Primitive2DContainer;
+}
+namespace drawinglayer::geometry
+{
+class ViewInformation2D;
+}
 
 namespace drawinglayer
 {
diff --git a/include/drawinglayer/geometry/viewinformation2d.hxx 
b/include/drawinglayer/geometry/viewinformation2d.hxx
index f552c35b09e7..a3b0f3f1eccf 100644
--- a/include/drawinglayer/geometry/viewinformation2d.hxx
+++ b/include/drawinglayer/geometry/viewinformation2d.hxx
@@ -23,10 +23,11 @@
 
 #include <sal/config.h>
 #include <o3tl/cow_wrapper.hxx>
-#include <tools/color.hxx>
 
 // predefines
 
+class Color;
+
 namespace drawinglayer::geometry
 {
 class ImpViewInformation2D;
diff --git a/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx 
b/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
index 8de29113cc82..e9898f174544 100644
--- a/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
+++ b/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
@@ -19,13 +19,21 @@
 
 #pragma once
 
-#include <drawinglayer/primitive2d/BufferedDecompositionGroupPrimitive2D.hxx>
-#include <drawinglayer/primitive2d/BufferedDecompositionPrimitive2D.hxx>
+#include <drawinglayer/drawinglayerdllapi.h>
 #include <osl/thread.hxx>
 #include <unotools/weakref.hxx>
 #include <condition_variable>
 #include <unordered_map>
 
+namespace drawinglayer::primitive2d
+{
+class BufferedDecompositionGroupPrimitive2D;
+}
+namespace drawinglayer::primitive2d
+{
+class BufferedDecompositionPrimitive2D;
+}
+
 namespace drawinglayer::primitive2d
 {
 class BufferedDecompositionFlusher final : public osl::Thread
diff --git a/include/drawinglayer/primitive2d/Tools.hxx 
b/include/drawinglayer/primitive2d/Tools.hxx
index dd3e714a76c9..45e11534abfc 100644
--- a/include/drawinglayer/primitive2d/Tools.hxx
+++ b/include/drawinglayer/primitive2d/Tools.hxx
@@ -21,8 +21,15 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 #include <drawinglayer/primitive2d/CommonTypes.hxx>
-#include <drawinglayer/geometry/viewinformation2d.hxx>
-#include <basegfx/range/b2drange.hxx>
+
+namespace basegfx
+{
+class B2DRange;
+}
+namespace drawinglayer::geometry
+{
+class ViewInformation2D;
+}
 
 namespace drawinglayer::primitive2d
 {
diff --git a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx 
b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
index 092a21ddf980..e87ee3cad88c 100644
--- a/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
@@ -25,6 +25,7 @@
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/range/b3drange.hxx>
 
 
 // Embedded3DPrimitive2D class
diff --git a/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx 
b/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
index 0654801e8ef8..63d5433c002a 100644
--- a/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
@@ -28,6 +28,7 @@
 // predefines
 
 namespace basegfx { class B2DPolygon; }
+namespace basegfx { class BColor; }
 
 
 // FillGradientPrimitive2D class
diff --git a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx 
b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
index 34412486b202..e7b32926261a 100644
--- a/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
+++ b/include/drawinglayer/primitive2d/graphicprimitivehelper2d.hxx
@@ -19,16 +19,19 @@
 
 #pragma once
 
-#include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
-#include <vcl/GraphicAttributes.hxx>
+#include <drawinglayer/primitive2d/CommonTypes.hxx>
 
 class Graphic;
+enum class GraphicDrawMode;
 
 namespace drawinglayer::attribute
 {
 class FillGraphicAttribute;
 }
 
+namespace basegfx { class B2DHomMatrix; }
+namespace drawinglayer::primitive2d { class Primitive2DContainer; }
+
 namespace drawinglayer::primitive2d
 {
         /** Helper method with supports decomposing a Graphic with all
diff --git a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx 
b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
index abf07c322062..705846eba136 100644
--- a/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
@@ -22,8 +22,8 @@
 #include <drawinglayer/drawinglayerdllapi.h>
 #include <drawinglayer/primitive2d/BufferedDecompositionPrimitive2D.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <vcl/bitmap.hxx>
 
+class Bitmap;
 
 namespace drawinglayer::primitive2d
 {
diff --git a/include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx 
b/include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
index 408abe952a7a..078465ed0c90 100644
--- a/include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
+++ b/include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
@@ -21,7 +21,6 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 
-#include <basegfx/range/b2drange.hxx>
 #include <drawinglayer/primitive2d/CommonTypes.hxx>
 
 
@@ -30,6 +29,7 @@
 namespace basegfx {
     class B2DPolyPolygon;
     class B2DHomMatrix;
+    class B2DRange;
 }
 
 
diff --git a/include/drawinglayer/primitive2d/structuretagprimitive2d.hxx 
b/include/drawinglayer/primitive2d/structuretagprimitive2d.hxx
index 170b44d5d9f3..d172436130ef 100644
--- a/include/drawinglayer/primitive2d/structuretagprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/structuretagprimitive2d.hxx
@@ -22,8 +22,8 @@
 #include <drawinglayer/drawinglayerdllapi.h>
 
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
-#include <vcl/pdfwriter.hxx>
 
+namespace vcl::pdf { enum class StructElement; }
 
 namespace drawinglayer::primitive2d
 {
diff --git a/include/drawinglayer/primitive2d/textlayoutdevice.hxx 
b/include/drawinglayer/primitive2d/textlayoutdevice.hxx
index e63d8edcd2d3..f9dbd05df768 100644
--- a/include/drawinglayer/primitive2d/textlayoutdevice.hxx
+++ b/include/drawinglayer/primitive2d/textlayoutdevice.hxx
@@ -21,7 +21,6 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 
-#include <basegfx/range/b2drange.hxx>
 #include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
 #include <vector>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
@@ -59,6 +58,7 @@ enum class ComplexTextLayoutFlags : sal_uInt8;
 namespace basegfx
 {
 class BColor;
+class B2DRange;
 }
 
 // access to one global impTimedRefDev incarnation in namespace 
drawinglayer::primitive
diff --git a/include/drawinglayer/primitive3d/baseprimitive3d.hxx 
b/include/drawinglayer/primitive3d/baseprimitive3d.hxx
index 0731aa61b642..bb43fa658775 100644
--- a/include/drawinglayer/primitive3d/baseprimitive3d.hxx
+++ b/include/drawinglayer/primitive3d/baseprimitive3d.hxx
@@ -23,7 +23,6 @@
 
 #include <comphelper/compbase.hxx>
 #include <com/sun/star/graphic/XPrimitive3D.hpp>
-#include <basegfx/range/b3drange.hxx>
 #include <deque>
 
 
@@ -46,6 +45,8 @@ namespace drawinglayer::geometry {
     class ViewInformation3D;
 }
 
+namespace basegfx { class B3DRange; }
+
 namespace drawinglayer::primitive3d {
     /// typedefs for basePrimitive3DImplBase, Primitive3DContainer and 
Primitive3DReference
     typedef comphelper::WeakComponentImplHelper< css::graphic::XPrimitive3D > 
BasePrimitive3DImplBase;
diff --git a/include/drawinglayer/processor2d/baseprocessor2d.hxx 
b/include/drawinglayer/processor2d/baseprocessor2d.hxx
index d0f674383f38..1d01c60e08ff 100644
--- a/include/drawinglayer/processor2d/baseprocessor2d.hxx
+++ b/include/drawinglayer/processor2d/baseprocessor2d.hxx
@@ -23,9 +23,10 @@
 #include <drawinglayer/drawinglayerdllapi.h>
 
 #include <drawinglayer/primitive2d/Primitive2DVisitor.hxx>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/geometry/viewinformation2d.hxx>
 
+namespace drawinglayer::primitive2d { class BasePrimitive2D; }
+namespace drawinglayer::primitive2d { class Primitive2DContainer; }
 
 namespace drawinglayer::processor2d
     {
diff --git a/include/drawinglayer/processor2d/processor2dtools.hxx 
b/include/drawinglayer/processor2d/processor2dtools.hxx
index bce2583206ec..91908b303805 100644
--- a/include/drawinglayer/processor2d/processor2dtools.hxx
+++ b/include/drawinglayer/processor2d/processor2dtools.hxx
@@ -20,12 +20,12 @@
 #define INCLUDED_DRAWINGLAYER_PROCESSOR2D_PROCESSOR2DTOOLS_HXX
 
 #include <drawinglayer/drawinglayerdllapi.h>
-#include <vcl/bitmap.hxx>
 #include <memory>
 
 namespace drawinglayer::geometry { class ViewInformation2D; }
 namespace drawinglayer::processor2d { class BaseProcessor2D; }
 
+class Bitmap;
 class OutputDevice;
 
 namespace drawinglayer::processor2d
diff --git a/include/drawinglayer/processor3d/baseprocessor3d.hxx 
b/include/drawinglayer/processor3d/baseprocessor3d.hxx
index 98802e5c744d..3832b9bbb300 100644
--- a/include/drawinglayer/processor3d/baseprocessor3d.hxx
+++ b/include/drawinglayer/processor3d/baseprocessor3d.hxx
@@ -22,9 +22,10 @@
 
 #include <drawinglayer/drawinglayerdllapi.h>
 
-#include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
 
+namespace drawinglayer::primitive3d { class BasePrimitive3D; }
+namespace drawinglayer::primitive3d { class Primitive3DContainer; }
 
 namespace drawinglayer::processor3d
     {
diff --git a/include/drawinglayer/processor3d/cutfindprocessor3d.hxx 
b/include/drawinglayer/processor3d/cutfindprocessor3d.hxx
index b237e9c68d15..0914a33e6132 100644
--- a/include/drawinglayer/processor3d/cutfindprocessor3d.hxx
+++ b/include/drawinglayer/processor3d/cutfindprocessor3d.hxx
@@ -25,6 +25,8 @@
 
 #include <basegfx/matrix/b3dhommatrix.hxx>
 
+#include <vector>
+
 namespace drawinglayer::processor3d
     {
         /** CutFindProcessor class
diff --git a/include/drawinglayer/tools/primitive2dxmldump.hxx 
b/include/drawinglayer/tools/primitive2dxmldump.hxx
index 9fc10c2bea49..8d01633935ef 100644
--- a/include/drawinglayer/tools/primitive2dxmldump.hxx
+++ b/include/drawinglayer/tools/primitive2dxmldump.hxx
@@ -12,12 +12,13 @@
 
 #include <sal/config.h>
 #include <drawinglayer/drawinglayerdllapi.h>
-#include <libxml/tree.h>
-#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <rtl/ustring.hxx>
 #include <test/xmldocptr.hxx>
 #include <vector>
 
 namespace tools { class XmlWriter; }
+namespace drawinglayer::primitive2d { class BasePrimitive2D; }
+namespace drawinglayer::primitive2d { class Primitive2DContainer; }
 
 namespace drawinglayer
 {
diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx 
b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
index 3d083fcbb0f3..075bf81c5398 100644
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
@@ -31,6 +31,7 @@
 #include <com/sun/star/geometry/AffineMatrix2D.hpp>
 
 #include <comphelper/sequence.hxx>
+#include <basegfx/color/bcolor.hxx>
 #include <basegfx/polygon/b2dpolygonclipper.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygoncutter.hxx>
diff --git a/sfx2/source/control/templateviewitem.cxx 
b/sfx2/source/control/templateviewitem.cxx
index d0dd8533ee6d..618942a76023 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -18,6 +18,7 @@
 #include <drawinglayer/primitive2d/PolyPolygonSelectionPrimitive2D.hxx>
 #include <drawinglayer/primitive2d/discretebitmapprimitive2d.hxx>
 #include <drawinglayer/processor2d/baseprocessor2d.hxx>
+#include <tools/color.hxx>
 #include <tools/poly.hxx>
 #include <vcl/graph.hxx>
 
diff --git a/svx/inc/sdr/overlay/overlaytools.hxx 
b/svx/inc/sdr/overlay/overlaytools.hxx
index 8924d37730cb..2ed0c1e117cb 100644
--- a/svx/inc/sdr/overlay/overlaytools.hxx
+++ b/svx/inc/sdr/overlay/overlaytools.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_SVX_INC_SDR_OVERLAY_OVERLAYTOOLS_HXX
 #define INCLUDED_SVX_INC_SDR_OVERLAY_OVERLAYTOOLS_HXX
 
+#include <basegfx/color/bcolor.hxx>
 #include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <vcl/bitmap.hxx>
 #include <basegfx/vector/b2dsize.hxx>
diff --git a/svx/source/sdr/contact/viewcontactofe3dscene.cxx 
b/svx/source/sdr/contact/viewcontactofe3dscene.cxx
index 6bc1a1b4eda0..b76760e35628 100644
--- a/svx/source/sdr/contact/viewcontactofe3dscene.cxx
+++ b/svx/source/sdr/contact/viewcontactofe3dscene.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <com/sun/star/drawing/ProjectionMode.hpp>
+
 #include <svx/sdr/contact/viewcontactofe3dscene.hxx>
 #include <svx/sdr/contact/viewobjectcontact.hxx>
 #include <sdr/primitive2d/sdrattributecreator.hxx>
diff --git a/svx/source/sdr/overlay/overlaytools.cxx 
b/svx/source/sdr/overlay/overlaytools.cxx
index a1a2a771c642..d655b63f4da7 100644
--- a/svx/source/sdr/overlay/overlaytools.cxx
+++ b/svx/source/sdr/overlay/overlaytools.cxx
@@ -32,6 +32,7 @@
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
 #include <drawinglayer/primitive2d/PolyPolygonRGBAPrimitive2D.hxx>
+#include <tools/color.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 
diff --git a/svx/source/table/viewcontactoftableobj.cxx 
b/svx/source/table/viewcontactoftableobj.cxx
index 73940db300f5..96322327232a 100644
--- a/svx/source/table/viewcontactoftableobj.cxx
+++ b/svx/source/table/viewcontactoftableobj.cxx
@@ -43,6 +43,7 @@
 #include <svx/sdooitm.hxx>
 #include <utility>
 #include <vcl/canvastools.hxx>
+#include <vcl/pdfwriter.hxx>
 #include <o3tl/unit_conversion.hxx>
 #include <svx/xfltrit.hxx>
 

Reply via email to