avmedia/source/gstreamer/gstframegrabber.cxx                 |    1 
 avmedia/source/win/framegrabber.cxx                          |    1 
 basic/source/runtime/methods.cxx                             |    1 
 canvas/source/vcl/canvashelper_texturefill.cxx               |    1 
 chart2/qa/extras/chart2export2.cxx                           |    2 
 chart2/qa/extras/chart2export3.cxx                           |    1 
 chart2/qa/extras/chart2import2.cxx                           |    1 
 chart2/source/controller/dialogs/tp_Scale.cxx                |    1 
 cui/source/dialogs/cuigrfflt.cxx                             |    1 
 cui/source/dialogs/screenshotannotationdlg.cxx               |    1 
 drawinglayer/source/attribute/fillgraphicattribute.cxx       |    2 
 drawinglayer/source/attribute/sdrfillgraphicattribute.cxx    |    3 
 drawinglayer/source/primitive2d/glowprimitive2d.cxx          |    1 
 drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx |    1 
 drawinglayer/source/primitive2d/shadowprimitive2d.cxx        |    1 
 drawinglayer/source/primitive2d/softedgeprimitive2d.cxx      |    1 
 drawinglayer/source/processor2d/vclprocessor2d.cxx           |    1 
 drawinglayer/source/tools/emfphelperdata.cxx                 |    1 
 drawinglayer/source/tools/wmfemfhelper.cxx                   |    1 
 editeng/source/editeng/StripPortionsHelper.cxx               |    1 
 editeng/source/editeng/impedit3.cxx                          |    1 
 editeng/source/outliner/outliner.cxx                         |    1 
 editeng/source/uno/unofdesc.cxx                              |    1 
 emfio/qa/cppunit/emf/EmfImportTest.cxx                       |    1 
 emfio/source/reader/emfreader.cxx                            |    1 
 filter/qa/pdf.cxx                                            |    3 
 filter/source/pdf/pdfexport.cxx                              |    1 
 filter/source/svg/svgwriter.cxx                              |    1 
 fpicker/source/office/iodlg.cxx                              |    1 
 framework/source/uielement/recentfilesmenucontroller.cxx     |    1 
 include/IwyuFilter_include.yaml                              |    6 +
 include/svtools/DocumentToGraphicRenderer.hxx                |    3 
 include/svtools/embedhlp.hxx                                 |    3 
 include/svx/xoutbmp.hxx                                      |    1 
 include/vcl/dibtools.hxx                                     |    2 
 include/vcl/dndlistenercontainer.hxx                         |    3 
 include/vcl/fieldvalues.hxx                                  |    4 
 include/vcl/filter/PDFiumLibrary.hxx                         |   49 +++++---
 include/vcl/filter/PngImageReader.hxx                        |    4 
 include/vcl/filter/PngImageWriter.hxx                        |   24 +++-
 include/vcl/filter/SvmReader.hxx                             |    9 +
 include/vcl/filter/SvmWriter.hxx                             |   61 ++++++++++-
 include/vcl/font.hxx                                         |    6 -
 include/vcl/font/EOTConverter.hxx                            |    8 +
 include/vcl/formatter.hxx                                    |    7 +
 include/vcl/gradient.hxx                                     |    4 
 include/vcl/graph.hxx                                        |   19 ++-
 include/vcl/graphic/BitmapHelper.hxx                         |   10 +
 include/vcl/graphicfilter.hxx                                |    3 
 include/vcl/qt/QtUtils.hxx                                   |    2 
 lotuswordpro/qa/cppunit/import_test.cxx                      |    1 
 oox/source/drawingml/fillproperties.cxx                      |    1 
 oox/source/export/drawingml.cxx                              |    2 
 reportdesign/source/ui/report/EndMarker.cxx                  |    2 
 reportdesign/source/ui/report/StartMarker.cxx                |    2 
 sc/qa/extras/new_cond_format.cxx                             |    1 
 sc/qa/extras/scpdfexport.cxx                                 |    1 
 sc/source/filter/inc/rtfparse.hxx                            |    1 
 sc/source/ui/cctrl/tbzoomsliderctrl.cxx                      |    1 
 sd/qa/unit/SdrPdfImportTest.cxx                              |    1 
 sd/qa/unit/export-tests.cxx                                  |    1 
 sd/qa/unit/import-tests.cxx                                  |    1 
 sd/qa/unit/tiledrendering/LOKitSearchTest.cxx                |    1 
 sd/source/filter/eppt/pptx-epptooxml.cxx                     |    1 
 sd/source/filter/eppt/text.hxx                               |    1 
 sd/source/filter/grf/sdgrffilter.cxx                         |    1 
 sd/source/ui/dlg/animobjs.cxx                                |    1 
 sd/source/ui/slidesorter/cache/SlsBitmapCompressor.cxx       |    1 
 sd/source/ui/view/Outliner.cxx                               |    2 
 sdext/source/pdfimport/filterdet.cxx                         |    1 
 sfx2/source/appl/sfxpicklist.cxx                             |    1 
 slideshow/source/engine/shapes/drawshape.cxx                 |    1 
 svtools/qa/unit/GraphicObjectTest.cxx                        |    1 
 svx/source/dialog/_contdlg.cxx                               |    1 
 svx/source/dialog/grfflt.cxx                                 |    1 
 svx/source/gallery2/galleryfilestorage.cxx                   |    1 
 svx/source/gallery2/galtheme.cxx                             |    1 
 svx/source/inc/svdpdf.hxx                                    |    2 
 svx/source/sdr/attribute/sdrallfillattributeshelper.cxx      |    1 
 svx/source/sdr/properties/defaultproperties.cxx              |    1 
 svx/source/svdraw/svdedtv2.cxx                               |    1 
 svx/source/svdraw/svdograf.cxx                               |    1 
 svx/source/svdraw/svdpdf.cxx                                 |    5 
 svx/source/unodraw/unoshap4.cxx                              |    1 
 svx/source/xoutdev/_xoutbmp.cxx                              |    1 
 sw/qa/core/text/itrform2.cxx                                 |    4 
 sw/qa/core/text/text.cxx                                     |    4 
 sw/qa/extras/fodfexport/fodfexport.cxx                       |    1 
 sw/qa/extras/globalfilter/globalfilter.cxx                   |    3 
 sw/qa/writerfilter/dmapper/GraphicImport.cxx                 |    1 
 sw/source/core/docnode/ndnotxt.cxx                           |    1 
 sw/source/core/graphic/ndgrf.cxx                             |    1 
 sw/source/core/inc/swfont.hxx                                |    1 
 sw/source/core/text/inftxt.cxx                               |    1 
 sw/source/filter/html/htmlflywriter.cxx                      |    2 
 sw/source/filter/ww8/docxattributeoutput.cxx                 |    1 
 sw/source/filter/ww8/rtfattributeoutput.cxx                  |    1 
 sw/source/filter/xml/xmltexte.cxx                            |    1 
 sw/source/uibase/docvw/SidebarTxtControl.cxx                 |    2 
 test/source/text/baseindex.cxx                               |    2 
 vcl/backendtest/VisualBackendTest.cxx                        |    1 
 vcl/backendtest/outputdevice/gradient.cxx                    |    2 
 vcl/headless/CairoCommon.cxx                                 |    2 
 vcl/inc/filter/BmpReader.hxx                                 |    2 
 vcl/inc/filter/EpsReader.hxx                                 |    2 
 vcl/inc/filter/EpsWriter.hxx                                 |    2 
 vcl/inc/graphic/UnoGraphicDescriptor.hxx                     |    2 
 vcl/qa/api/XGraphicTest.cxx                                  |    1 
 vcl/qa/cppunit/PDFiumLibraryTest.cxx                         |    3 
 vcl/qa/cppunit/TypeSerializerTest.cxx                        |    1 
 vcl/qa/cppunit/UnitConversionTest.cxx                        |    2 
 vcl/qa/cppunit/VectorGraphicSearchTest.cxx                   |    1 
 vcl/qa/cppunit/pdfexport/pdfexport.cxx                       |    6 +
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx                      |    4 
 vcl/qa/cppunit/png/PngFilterTest.cxx                         |    2 
 vcl/qa/cppunit/text.cxx                                      |    1 
 vcl/skia/gdiimpl.cxx                                         |    2 
 vcl/source/filter/bmp/BmpWriter.cxx                          |    1 
 vcl/source/filter/egif/egif.cxx                              |    1 
 vcl/source/filter/etiff/etiff.cxx                            |    1 
 vcl/source/filter/ipdf/pdfcompat.cxx                         |    1 
 vcl/source/filter/ipdf/pdfread.cxx                           |    4 
 vcl/source/filter/iras/iras.cxx                              |    1 
 vcl/source/filter/png/PngImageWriter.cxx                     |    6 +
 vcl/source/filter/svm/SvmWriter.cxx                          |    1 
 vcl/source/filter/wmf/wmf.cxx                                |    2 
 vcl/source/gdi/TypeSerializer.cxx                            |    5 
 vcl/source/gdi/graph.cxx                                     |    2 
 vcl/source/gdi/wall.cxx                                      |    2 
 vcl/source/graphic/GraphicID.cxx                             |    1 
 vcl/source/graphic/GraphicObject.cxx                         |    1 
 vcl/source/graphic/VectorGraphicSearch.cxx                   |    4 
 vcl/source/image/ImplImageTree.cxx                           |    1 
 vcl/source/outdev/font.cxx                                   |    1 
 vcl/source/outdev/text.cxx                                   |    1 
 vcl/source/pdf/PDFiumLibrary.cxx                             |   15 ++
 vcl/source/pdf/pdfwriter_impl.cxx                            |    4 
 vcl/source/window/toolbox.cxx                                |    2 
 vcl/workben/svptest.cxx                                      |    1 
 vcl/workben/vcldemo.cxx                                      |    1 
 writerperfect/source/writer/EPUBExportFilter.cxx             |    1 
 xmlsecurity/source/helper/pdfsignaturehelper.cxx             |    1 
 142 files changed, 382 insertions(+), 49 deletions(-)

New commits:
commit b63115f3fa7928ecffa66de7d8e06ca796094c8a
Author:     Gabor Kelemen <[email protected]>
AuthorDate: Mon Dec 29 19:53:11 2025 +0100
Commit:     Gabor Kelemen <[email protected]>
CommitDate: Sun Jan 11 21:38:37 2026 +0100

    tdf#146619 Use more forward declarations in include/vcl/[d-g]*
    
    Found after running bin/find-unneeded-includes --headersfwd 
include/vcl/[d-g]*
    
    This shaves off about 150M input
    
    Change-Id: I2b15257451d4b392dca3e5d07f4a443ee653b04c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196395
    Tested-by: Jenkins
    Reviewed-by: Gabor Kelemen <[email protected]>

diff --git a/avmedia/source/gstreamer/gstframegrabber.cxx 
b/avmedia/source/gstreamer/gstframegrabber.cxx
index e53892e3d9fc..137a86cc6d2f 100644
--- a/avmedia/source/gstreamer/gstframegrabber.cxx
+++ b/avmedia/source/gstreamer/gstframegrabber.cxx
@@ -23,6 +23,7 @@
 
 #include <gst/gstbuffer.h>
 #include <o3tl/safeint.hxx>
+#include <vcl/bitmap.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/BitmapTools.hxx>
 
diff --git a/avmedia/source/win/framegrabber.cxx 
b/avmedia/source/win/framegrabber.cxx
index 8e7ca8d32251..5ed4e2d9637f 100644
--- a/avmedia/source/win/framegrabber.cxx
+++ b/avmedia/source/win/framegrabber.cxx
@@ -37,6 +37,7 @@
 #include <cppuhelper/supportsservice.hxx>
 #include <osl/file.hxx>
 #include <tools/stream.hxx>
+#include <vcl/bitmap.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/dibtools.hxx>
 #include <vcl/BitmapTools.hxx>
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index ca4a8438427f..2dd3a936b0e8 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -23,6 +23,7 @@
 #include <basic/sbxvar.hxx>
 #include <basic/sbuno.hxx>
 #include <osl/process.h>
+#include <vcl/bitmap.hxx>
 #include <vcl/dibtools.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx 
b/canvas/source/vcl/canvashelper_texturefill.cxx
index 49c9e56438e7..4d62b1b0d2c0 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -32,6 +32,7 @@
 #include <basegfx/utils/keystoplerp.hxx>
 #include <basegfx/utils/lerp.hxx>
 #include <basegfx/utils/tools.hxx>
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/rendering/TexturingMode.hpp>
 #include <rtl/math.hxx>
 #include <comphelper/diagnose_ex.hxx>
diff --git a/chart2/qa/extras/chart2export2.cxx 
b/chart2/qa/extras/chart2export2.cxx
index 3ee326e61b3b..c15d9786f91a 100644
--- a/chart2/qa/extras/chart2export2.cxx
+++ b/chart2/qa/extras/chart2export2.cxx
@@ -17,6 +17,8 @@
 #include <com/sun/star/chart/DataLabelPlacement.hpp>
 #include <com/sun/star/graphic/XGraphic.hpp>
 
+#include <vcl/gfxlink.hxx>
+
 using uno::Reference;
 using beans::XPropertySet;
 
diff --git a/chart2/qa/extras/chart2export3.cxx 
b/chart2/qa/extras/chart2export3.cxx
index 7fc7bfea2dd3..53be3f484c4d 100644
--- a/chart2/qa/extras/chart2export3.cxx
+++ b/chart2/qa/extras/chart2export3.cxx
@@ -14,6 +14,7 @@
 #include <com/sun/star/awt/FontSlant.hpp>
 #include <com/sun/star/awt/FontUnderline.hpp>
 #include <com/sun/star/text/XTextRange.hpp>
+#include <com/sun/star/util/DateTime.hpp>
 
 using uno::Reference;
 using beans::XPropertySet;
diff --git a/chart2/qa/extras/chart2import2.cxx 
b/chart2/qa/extras/chart2import2.cxx
index 159884c12268..67538463be17 100644
--- a/chart2/qa/extras/chart2import2.cxx
+++ b/chart2/qa/extras/chart2import2.cxx
@@ -19,6 +19,7 @@
 #include <com/sun/star/chart/DataLabelPlacement.hpp>
 #include <com/sun/star/text/XText.hpp>
 #include <com/sun/star/drawing/FillStyle.hpp>
+#include <sal/log.hxx>
 
 class Chart2ImportTest2 : public ChartTest
 {
diff --git a/chart2/source/controller/dialogs/tp_Scale.cxx 
b/chart2/source/controller/dialogs/tp_Scale.cxx
index 99767190f5a7..27095da7d3fa 100644
--- a/chart2/source/controller/dialogs/tp_Scale.cxx
+++ b/chart2/source/controller/dialogs/tp_Scale.cxx
@@ -34,6 +34,7 @@
 #include <vcl/formatter.hxx>
 #include <vcl/weld/weld.hxx>
 #include <svl/zformat.hxx>
+#include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/chart2/AxisType.hpp>
diff --git a/cui/source/dialogs/cuigrfflt.cxx b/cui/source/dialogs/cuigrfflt.cxx
index fb2f80ac342d..85e0963461e3 100644
--- a/cui/source/dialogs/cuigrfflt.cxx
+++ b/cui/source/dialogs/cuigrfflt.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <vcl/animate/Animation.hxx>
 #include <vcl/bitmap/BitmapMosaicFilter.hxx>
 #include <vcl/bitmap/BitmapSharpenFilter.hxx>
 #include <vcl/bitmap/BitmapEmbossGreyFilter.hxx>
diff --git a/cui/source/dialogs/screenshotannotationdlg.cxx 
b/cui/source/dialogs/screenshotannotationdlg.cxx
index e1967c645981..c1ff3c15aca7 100644
--- a/cui/source/dialogs/screenshotannotationdlg.cxx
+++ b/cui/source/dialogs/screenshotannotationdlg.cxx
@@ -41,6 +41,7 @@
 #include <vcl/bitmap.hxx>
 #include <vcl/event.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
+#include <vcl/graph.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/salgtype.hxx>
 #include <vcl/virdev.hxx>
diff --git a/drawinglayer/source/attribute/fillgraphicattribute.cxx 
b/drawinglayer/source/attribute/fillgraphicattribute.cxx
index 5a401dbc0133..ce0ad9e1ae39 100644
--- a/drawinglayer/source/attribute/fillgraphicattribute.cxx
+++ b/drawinglayer/source/attribute/fillgraphicattribute.cxx
@@ -21,8 +21,10 @@
 
 #include <algorithm>
 
+#include <basegfx/range/b2drange.hxx>
 #include <drawinglayer/attribute/fillgraphicattribute.hxx>
 #include <utility>
+#include <vcl/bitmap.hxx>
 #include <vcl/graph.hxx>
 
 namespace drawinglayer::attribute
diff --git a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx 
b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx
index b78f3e322c38..9c886cd692db 100644
--- a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx
+++ b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx
@@ -21,6 +21,9 @@
 
 #include <algorithm>
 
+#include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/range/b2drange.hxx>
+#include <basegfx/vector/b2dvector.hxx>
 #include <drawinglayer/attribute/sdrfillgraphicattribute.hxx>
 #include <drawinglayer/attribute/fillgraphicattribute.hxx>
 #include <utility>
diff --git a/drawinglayer/source/primitive2d/glowprimitive2d.cxx 
b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
index d155d311bc25..821042ee44f5 100644
--- a/drawinglayer/source/primitive2d/glowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
@@ -23,6 +23,7 @@
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/converters.hxx>
+#include <vcl/graph.hxx>
 #include "GlowSoftEgdeShadowTools.hxx"
 
 #ifdef DBG_UTIL
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx 
b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index e991049f1d1c..f1c6e977884a 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -48,6 +48,7 @@
 #include <vcl/virdev.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/skia/SkiaHelper.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 namespace drawinglayer::primitive2d
 {
diff --git a/drawinglayer/source/primitive2d/shadowprimitive2d.cxx 
b/drawinglayer/source/primitive2d/shadowprimitive2d.cxx
index 5847e209e82a..9f8a6c2c9f95 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 <vcl/graph.hxx>
 #include "GlowSoftEgdeShadowTools.hxx"
 
 #ifdef DBG_UTIL
diff --git a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx 
b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
index 90dc16e87fc8..8529a967b44b 100644
--- a/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/softedgeprimitive2d.cxx
@@ -23,6 +23,7 @@
 #include <drawinglayer/primitive2d/bitmapprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <drawinglayer/converters.hxx>
+#include <vcl/graph.hxx>
 #include "GlowSoftEgdeShadowTools.hxx"
 
 #ifdef DBG_UTIL
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 8c4fd4eb4e09..2167af670862 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -27,6 +27,7 @@
 #include <tools/fract.hxx>
 #include <utility>
 #include <vcl/canvastools.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/glyphitemcache.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/kernarray.hxx>
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx 
b/drawinglayer/source/tools/emfphelperdata.cxx
index 94cf9500c98a..b911e5ec1272 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -47,6 +47,7 @@
 #include <basegfx/polygon/b2dpolygonclipper.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygoncutter.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <sal/log.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
diff --git a/drawinglayer/source/tools/wmfemfhelper.cxx 
b/drawinglayer/source/tools/wmfemfhelper.cxx
index f8016abd037d..a86d92caf7b0 100644
--- a/drawinglayer/source/tools/wmfemfhelper.cxx
+++ b/drawinglayer/source/tools/wmfemfhelper.cxx
@@ -21,6 +21,7 @@
 #include <drawinglayer/primitive2d/pointarrayprimitive2d.hxx>
 #include <vcl/alpha.hxx>
 #include <vcl/BitmapColor.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/lineinfo.hxx>
 #include <vcl/metaact.hxx>
 #include <drawinglayer/primitive2d/transformprimitive2d.hxx>
diff --git a/editeng/source/editeng/StripPortionsHelper.cxx 
b/editeng/source/editeng/StripPortionsHelper.cxx
index 6447575919af..e04a25316960 100644
--- a/editeng/source/editeng/StripPortionsHelper.cxx
+++ b/editeng/source/editeng/StripPortionsHelper.cxx
@@ -30,6 +30,7 @@
 #include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
 #include <drawinglayer/primitive2d/wrongspellprimitive2d.hxx>
 #include <drawinglayer/primitive2d/graphicprimitive2d.hxx>
+#include <vcl/fntstyle.hxx>
 
 // anonymous Outline/EditEngine decompose helpers
 namespace
diff --git a/editeng/source/editeng/impedit3.cxx 
b/editeng/source/editeng/impedit3.cxx
index e49e06c6cbde..88804e0e68e7 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -18,6 +18,7 @@
  */
 
 
+#include <vcl/fntstyle.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/window.hxx>
diff --git a/editeng/source/outliner/outliner.cxx 
b/editeng/source/outliner/outliner.cxx
index 760b7dca4eb0..d86a259f0411 100644
--- a/editeng/source/outliner/outliner.cxx
+++ b/editeng/source/outliner/outliner.cxx
@@ -35,6 +35,7 @@
 #include <editeng/editstat.hxx>
 #include <editeng/overflowingtxt.hxx>
 #include <editeng/editobj.hxx>
+#include <vcl/fntstyle.hxx>
 #include <svl/itemset.hxx>
 #include <vcl/metric.hxx>
 #include <editeng/numitem.hxx>
diff --git a/editeng/source/uno/unofdesc.cxx b/editeng/source/uno/unofdesc.cxx
index 0022e16597af..a9b619ee21fa 100644
--- a/editeng/source/uno/unofdesc.cxx
+++ b/editeng/source/uno/unofdesc.cxx
@@ -32,6 +32,7 @@
 #include <editeng/memberids.h>
 #include <svl/itempool.hxx>
 #include <vcl/font.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/unohelp.hxx>
 #include <tools/gen.hxx>
 
diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx 
b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 0b2119628463..67751c5451cc 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -23,6 +23,7 @@
 #include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
 #include <drawinglayer/tools/primitive2dxmldump.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <memory>
 #include <string_view>
diff --git a/emfio/source/reader/emfreader.cxx 
b/emfio/source/reader/emfreader.cxx
index c90db53b7dbc..ec6eb4dcbd62 100644
--- a/emfio/source/reader/emfreader.cxx
+++ b/emfio/source/reader/emfreader.cxx
@@ -32,6 +32,7 @@
 #include <vcl/alpha.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/pdfread.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <rtl/bootstrap.hxx>
 
 #ifdef DBG_UTIL
diff --git a/filter/qa/pdf.cxx b/filter/qa/pdf.cxx
index d6c37af1c359..617d7ea50b77 100644
--- a/filter/qa/pdf.cxx
+++ b/filter/qa/pdf.cxx
@@ -16,12 +16,15 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/graphic/XGraphic.hpp>
 
+#include <basegfx/matrix/b2dhommatrix.hxx>
 #include <comphelper/lok.hxx>
 #include <comphelper/propertyvalue.hxx>
+#include <tools/color.hxx>
 #include <tools/stream.hxx>
 #include <unotools/streamwrap.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
 #include <vcl/ITiledRenderable.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <tools/helpers.hxx>
 
 using namespace ::com::sun::star;
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index c70cb599cbe6..582f23a4baac 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -37,6 +37,7 @@
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <toolkit/awt/vclxdevice.hxx>
 #include <unotools/configmgr.hxx>
 #include <comphelper/compbase.hxx>
diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index 196e9a0455a0..7dd1ad527811 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -31,6 +31,7 @@
 #include <vcl/settings.hxx>
 #include <vcl/filter/SvmReader.hxx>
 #include <vcl/filter/SvmWriter.hxx>
+#include <vcl/fntstyle.hxx>
 #include <tools/fract.hxx>
 #include <tools/helpers.hxx>
 #include <tools/stream.hxx>
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index 7f563ebcc388..e8f45be78cca 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -30,6 +30,7 @@
 #include <comphelper/diagnose_ex.hxx>
 #include <tools/stream.hxx>
 #include <tools/urlobj.hxx>
+#include <vcl/bitmap.hxx>
 #include <vcl/errinf.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/svapp.hxx>
diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx 
b/framework/source/uielement/recentfilesmenucontroller.cxx
index 50e94cbb0156..56fdf9963324 100644
--- a/framework/source/uielement/recentfilesmenucontroller.cxx
+++ b/framework/source/uielement/recentfilesmenucontroller.cxx
@@ -31,6 +31,7 @@
 #include <toolkit/awt/vclxmenu.hxx>
 #include <unotools/historyoptions.hxx>
 #include <vcl/abstdlg.hxx>
+#include <vcl/bitmap.hxx>
 #include <vcl/commandinfoprovider.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/settings.hxx>
diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index aea1d746f5f4..004fe2eec294 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -332,6 +332,12 @@ excludelist:
     include/vcl/CairoFormats.hxx:
     # Needed for macro #define
     - vcl/Scanline.hxx
+    include/vcl/dndlistenercontainer.hxx:
+    # base class has to be a complete type
+    - com/sun/star/datatransfer/dnd/XDragGestureRecognizer.hpp
+    - com/sun/star/datatransfer/dnd/XDropTarget.hpp
+    - com/sun/star/datatransfer/dnd/XDropTargetDragContext.hpp
+    - com/sun/star/datatransfer/dnd/XDropTargetDropContext.hpp
     include/vcl/keycodes.hxx:
     # Needed for macros
     - com/sun/star/awt/Key.hpp
diff --git a/include/svtools/DocumentToGraphicRenderer.hxx 
b/include/svtools/DocumentToGraphicRenderer.hxx
index a5dc8e115a8e..b196ae3dc21b 100644
--- a/include/svtools/DocumentToGraphicRenderer.hxx
+++ b/include/svtools/DocumentToGraphicRenderer.hxx
@@ -22,10 +22,13 @@
 
 #include <vector>
 
+#include <tools/color.hxx>
 #include <vcl/graph.hxx>
 
 #include <svtools/svtdllapi.h>
 
+#include <com/sun/star/uno/Reference.hxx>
+
 namespace com :: sun :: star :: awt { class XToolkit; }
 namespace com :: sun :: star :: frame { class XModel; }
 namespace com :: sun :: star :: lang { class XComponent; }
diff --git a/include/svtools/embedhlp.hxx b/include/svtools/embedhlp.hxx
index e87ebfbf9b6e..753084f76aca 100644
--- a/include/svtools/embedhlp.hxx
+++ b/include/svtools/embedhlp.hxx
@@ -21,10 +21,13 @@
 
 #include <svtools/svtdllapi.h>
 #include <com/sun/star/uno/Reference.hxx>
+#include <tools/link.hxx>
 #include <vcl/graph.hxx>
 #include <rtl/ustring.hxx>
 #include <memory>
 
+class SvStream;
+
 namespace com :: sun :: star :: io { class XInputStream; }
 
 namespace comphelper
diff --git a/include/svx/xoutbmp.hxx b/include/svx/xoutbmp.hxx
index 2a3c04c68397..215429fb94cb 100644
--- a/include/svx/xoutbmp.hxx
+++ b/include/svx/xoutbmp.hxx
@@ -21,6 +21,7 @@
 #ifndef INCLUDED_SVX_XOUTBMP_HXX
 #define INCLUDED_SVX_XOUTBMP_HXX
 
+#include <vcl/bitmap.hxx>
 #include <vcl/graph.hxx>
 #include <comphelper/errcode.hxx>
 #include <com/sun/star/uno/Sequence.h>
diff --git a/include/vcl/dibtools.hxx b/include/vcl/dibtools.hxx
index 9009a1494372..e066bc1f65ee 100644
--- a/include/vcl/dibtools.hxx
+++ b/include/vcl/dibtools.hxx
@@ -20,13 +20,13 @@
 #define INCLUDED_VCL_DIBTOOLS_HXX
 
 #include <vcl/dllapi.h>
-#include <vcl/Scanline.hxx>
 
 // predefines
 
 class SvStream;
 class Bitmap;
 class AlphaMask;
+enum class ScanlineFormat : sal_uInt8;
 
 // - Compression defines
 
diff --git a/include/vcl/dndlistenercontainer.hxx 
b/include/vcl/dndlistenercontainer.hxx
index a359796d1894..2d2c6a80d954 100644
--- a/include/vcl/dndlistenercontainer.hxx
+++ b/include/vcl/dndlistenercontainer.hxx
@@ -20,13 +20,14 @@
 #pragma once
 
 #include <com/sun/star/datatransfer/dnd/XDragGestureRecognizer.hpp>
-#include <com/sun/star/datatransfer/dnd/XDragSource.hpp>
 #include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
 #include <com/sun/star/datatransfer/dnd/XDropTargetDragContext.hpp>
 #include <com/sun/star/datatransfer/dnd/XDropTargetDropContext.hpp>
 #include <comphelper/compbase.hxx>
 #include <comphelper/interfacecontainer4.hxx>
 
+namespace com::sun::star::datatransfer::dnd { class XDragSource; }
+
 class DNDListenerContainer final :
                                 public ::comphelper::WeakComponentImplHelper<
     css::datatransfer::dnd::XDragGestureRecognizer,
diff --git a/include/vcl/fieldvalues.hxx b/include/vcl/fieldvalues.hxx
index c5a58e80cec6..9cc22bb5d9c7 100644
--- a/include/vcl/fieldvalues.hxx
+++ b/include/vcl/fieldvalues.hxx
@@ -25,10 +25,10 @@
 #include <string_view>
 
 #include <vcl/dllapi.h>
-#include <tools/fldunit.hxx>
-#include <tools/mapunit.hxx>
 
 class LocaleDataWrapper;
+enum class FieldUnit : sal_uInt16;
+enum class MapUnit : sal_uInt8;
 
 namespace vcl
 {
diff --git a/include/vcl/filter/PDFiumLibrary.hxx 
b/include/vcl/filter/PDFiumLibrary.hxx
index d99af6f386fa..473c52df8966 100644
--- a/include/vcl/filter/PDFiumLibrary.hxx
+++ b/include/vcl/filter/PDFiumLibrary.hxx
@@ -12,32 +12,32 @@
 
 #include <memory>
 
-#include <com/sun/star/util/DateTime.hpp>
-
 #include <vcl/dllapi.h>
-#include <basegfx/vector/b2dsize.hxx>
 #include <basegfx/range/b2drectangle.hxx>
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/matrix/b2dhommatrix.hxx>
 #include <rtl/ustring.hxx>
-#include <tools/color.hxx>
-#include <tools/gen.hxx>
 #include <vcl/checksum.hxx>
 #include <vcl/Scanline.hxx>
-#include <vcl/pdf/PDFAnnotationSubType.hxx>
-#include <vcl/pdf/PDFPageObjectType.hxx>
-#include <vcl/pdf/PDFSegmentType.hxx>
-#include <vcl/pdf/PDFBitmapType.hxx>
-#include <vcl/pdf/PDFObjectType.hxx>
-#include <vcl/pdf/PDFTextRenderMode.hxx>
-#include <vcl/pdf/PDFFillMode.hxx>
-#include <vcl/pdf/PDFFindFlags.hxx>
-#include <vcl/pdf/PDFErrorType.hxx>
-#include <vcl/pdf/PDFFormFieldType.hxx>
-#include <vcl/pdf/PDFAnnotAActionType.hxx>
 
-class SvMemoryStream;
 class Bitmap;
+class Color;
+class Size;
+class SvMemoryStream;
+namespace basegfx
+{
+class B2DHomMatrix;
+}
+namespace basegfx
+{
+class B2DPoint;
+}
+namespace basegfx
+{
+class B2DSize;
+}
+namespace com::sun::star::util
+{
+struct DateTime;
+}
 
 namespace vcl::pdf
 {
@@ -52,6 +52,17 @@ inline constexpr OString constDictionaryKey_RichContent = 
"RC"_ostr;
 class PDFiumBitmap;
 class PDFiumDocument;
 class PDFiumPageObject;
+enum class PDFAnnotAActionType;
+enum class PDFAnnotationSubType;
+enum class PDFBitmapType;
+enum class PDFErrorType;
+enum class PDFFillMode;
+enum class PDFFindFlags : sal_uInt32;
+enum class PDFFormFieldType;
+enum class PDFObjectType;
+enum class PDFPageObjectType;
+enum class PDFSegmentType;
+enum class PDFTextRenderMode;
 
 class PDFiumFont
 {
diff --git a/include/vcl/filter/PngImageReader.hxx 
b/include/vcl/filter/PngImageReader.hxx
index c4e17044b46d..7080f6fb91b4 100644
--- a/include/vcl/filter/PngImageReader.hxx
+++ b/include/vcl/filter/PngImageReader.hxx
@@ -13,8 +13,6 @@
 #include <sal/config.h>
 
 #include <vcl/dllapi.h>
-#include <vcl/BinaryDataContainer.hxx>
-#include <vcl/filter/ImportOutput.hxx>
 
 #include <com/sun/star/uno/Reference.hxx>
 
@@ -40,7 +38,9 @@ namespace com::sun::star::task
 class XStatusIndicator;
 }
 
+class BinaryDataContainer;
 class Bitmap;
+class ImportOutput;
 class SvStream;
 
 namespace vcl
diff --git a/include/vcl/filter/PngImageWriter.hxx 
b/include/vcl/filter/PngImageWriter.hxx
index b43c304fc1d8..f3739b74d50b 100644
--- a/include/vcl/filter/PngImageWriter.hxx
+++ b/include/vcl/filter/PngImageWriter.hxx
@@ -8,15 +8,29 @@
  */
 
 #include <vcl/dllapi.h>
-#include <com/sun/star/task/XStatusIndicator.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <tools/stream.hxx>
-#include <vcl/graph.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+
+#include <array>
+#include <stdint.h>
 #include <vector>
 
 #pragma once
 
+class Graphic;
+class SvStream;
+namespace com::sun::star::beans
+{
+struct PropertyValue;
+}
+namespace com::sun::star::task
+{
+class XStatusIndicator;
+}
+namespace com::sun::star::uno
+{
+template <class E> class Sequence;
+}
+
 namespace vcl
 {
 // Similar to png_unknown_chunk
diff --git a/include/vcl/filter/SvmReader.hxx b/include/vcl/filter/SvmReader.hxx
index c4a6869b064e..d7f47ad84383 100644
--- a/include/vcl/filter/SvmReader.hxx
+++ b/include/vcl/filter/SvmReader.hxx
@@ -19,10 +19,17 @@
 
 #pragma once
 
-#include <vcl/gdimtf.hxx>
+#include <vcl/dllapi.h>
 
+class Color;
+class GDIMetaFile;
+class MetaAction;
 class SvStream;
 struct ImplMetaReadData;
+namespace rtl
+{
+template <class reference_type> class Reference;
+}
 
 class SvmReader
 {
diff --git a/include/vcl/filter/SvmWriter.hxx b/include/vcl/filter/SvmWriter.hxx
index 48be319b5083..8a258840fb31 100644
--- a/include/vcl/filter/SvmWriter.hxx
+++ b/include/vcl/filter/SvmWriter.hxx
@@ -19,10 +19,67 @@
 
 #pragma once
 
-#include <vcl/gdimtf.hxx>
-#include <vcl/metaact.hxx>
+#include <vcl/checksum.hxx>
+#include <vcl/dllapi.h>
 
 class SvStream;
+class Color;
+class GDIMetaFile;
+class MetaAction;
+class MetaArcAction;
+class MetaBmpAction;
+class MetaBmpExAction;
+class MetaBmpExScaleAction;
+class MetaBmpExScalePartAction;
+class MetaBmpScaleAction;
+class MetaBmpScalePartAction;
+class MetaChordAction;
+class MetaClipRegionAction;
+class MetaCommentAction;
+class MetaEPSAction;
+class MetaEllipseAction;
+class MetaFillColorAction;
+class MetaFloatTransparentAction;
+class MetaFontAction;
+class MetaGradientAction;
+class MetaGradientExAction;
+class MetaHatchAction;
+class MetaISectRectClipRegionAction;
+class MetaISectRegionClipRegionAction;
+class MetaLayoutModeAction;
+class MetaLineAction;
+class MetaLineColorAction;
+class MetaMapModeAction;
+class MetaMaskAction;
+class MetaMaskScaleAction;
+class MetaMaskScalePartAction;
+class MetaMoveClipRegionAction;
+class MetaOverlineColorAction;
+class MetaPieAction;
+class MetaPixelAction;
+class MetaPointAction;
+class MetaPolyLineAction;
+class MetaPolyPolygonAction;
+class MetaPolygonAction;
+class MetaPopAction;
+class MetaPushAction;
+class MetaRasterOpAction;
+class MetaRectAction;
+class MetaRefPointAction;
+class MetaRoundRectAction;
+class MetaStretchTextAction;
+class MetaTextAction;
+class MetaTextAlignAction;
+class MetaTextArrayAction;
+class MetaTextColorAction;
+class MetaTextFillColorAction;
+class MetaTextLanguageAction;
+class MetaTextLineAction;
+class MetaTextLineColorAction;
+class MetaTextRectAction;
+class MetaTransparentAction;
+class MetaWallpaperAction;
+struct ImplMetaWriteData;
 
 class SvmWriter
 {
diff --git a/include/vcl/font.hxx b/include/vcl/font.hxx
index 16f946fc61cd..a7c1cc3c9659 100644
--- a/include/vcl/font.hxx
+++ b/include/vcl/font.hxx
@@ -23,14 +23,13 @@
 #include <rtl/ustring.hxx>
 #include <sal/types.h>
 #include <vcl/dllapi.h>
-#include <tools/color.hxx>
 #include <tools/fontenum.hxx>
 #include <tools/long.hxx>
 #include <tools/degree.hxx>
 #include <i18nlangtag/lang.h>
-#include <vcl/fntstyle.hxx>
 #include <o3tl/cow_wrapper.hxx>
 
+class Color;
 class Size;
 class LanguageTag;
 class SvStream;
@@ -38,6 +37,9 @@ class SvStream;
 class ImplFont;
 class FontAttributes;
 namespace vcl { class Font; }
+enum class FontKerning;
+enum class FontRelief;
+
 // need to first declare these outside the vcl namespace, or the friend 
declarations won't work right
 VCL_DLLPUBLIC SvStream&  ReadFont( SvStream& rIStm, vcl::Font& );
 VCL_DLLPUBLIC SvStream&  WriteFont( SvStream& rOStm, const vcl::Font& );
diff --git a/include/vcl/font/EOTConverter.hxx 
b/include/vcl/font/EOTConverter.hxx
index cf55420455c5..6006a1289162 100644
--- a/include/vcl/font/EOTConverter.hxx
+++ b/include/vcl/font/EOTConverter.hxx
@@ -10,7 +10,13 @@
 #pragma once
 
 #include <vcl/dllapi.h>
-#include <vcl/font/FontDataContainer.hxx>
+
+#include <vector>
+
+namespace font
+{
+class FontDataContainer;
+}
 
 namespace font
 {
diff --git a/include/vcl/formatter.hxx b/include/vcl/formatter.hxx
index 4656bf113279..7eac35a6bf23 100644
--- a/include/vcl/formatter.hxx
+++ b/include/vcl/formatter.hxx
@@ -21,13 +21,18 @@
 
 #include <config_options.h>
 #include <i18nlangtag/lang.h>
+#include <tools/gen.hxx>
 #include <tools/link.hxx>
 #include <tools/solar.h>
-#include <vcl/settings.hxx>
+#include <rtl/ustring.hxx>
+#include <vcl/dllapi.h>
 #include <map>
+#include <optional>
 #include <string_view>
 
+class Color;
 class SvNumberFormatter;
+enum class SelectionOptions;
 
 namespace validation
 {
diff --git a/include/vcl/gradient.hxx b/include/vcl/gradient.hxx
index 6c0f580b842c..c25ac22f5374 100644
--- a/include/vcl/gradient.hxx
+++ b/include/vcl/gradient.hxx
@@ -21,16 +21,16 @@
 #define INCLUDED_VCL_GRADIENT_HXX
 
 #include <sal/types.h>
-#include <tools/color.hxx>
 #include <tools/degree.hxx>
 #include <tools/long.hxx>
 #include <o3tl/cow_wrapper.hxx>
 
 #include <vcl/dllapi.h>
-#include <com/sun/star/awt/GradientStyle.hpp>
 
+namespace com::sun::star::awt { enum class GradientStyle; }
 namespace tools { class Rectangle; }
 
+class Color;
 class Point;
 class GDIMetaFile;
 
diff --git a/include/vcl/graph.hxx b/include/vcl/graph.hxx
index e1875cd8fd90..4598b1bcedb3 100644
--- a/include/vcl/graph.hxx
+++ b/include/vcl/graph.hxx
@@ -22,14 +22,10 @@
 #include <memory>
 #include <vcl/dllapi.h>
 #include <tools/solar.h>
+#include <tools/gen.hxx>
+#include <tools/long.hxx>
 #include <rtl/ustring.hxx>
-#include <vcl/bitmap.hxx>
-#include <vcl/animate/Animation.hxx>
-#include <vcl/gfxlink.hxx>
-#include <com/sun/star/uno/Reference.hxx>
-#include <vcl/vectorgraphicdata.hxx>
-#include <basegfx/vector/b2dsize.hxx>
-#include <vcl/GraphicExternalLink.hxx>
+#include <vcl/checksum.hxx>
 
 enum class GraphicType
 {
@@ -41,10 +37,19 @@ enum class GraphicType
 
 namespace com::sun::star::graphic { class XGraphic; }
 namespace vcl { class Font; }
+namespace basegfx { class B2DSize; }
+namespace com::sun::star::uno { template <class interface_type> class 
Reference; }
+template <typename Arg, typename Ret> class Link;
 
+class Animation;
+class Bitmap;
 class GDIMetaFile;
+class GfxLink;
+class GraphicExternalLink;
 class ImpGraphic;
+class MapMode;
 class OutputDevice;
+class VectorGraphicData;
 
 class SAL_WARN_UNUSED VCL_DLLPUBLIC GraphicConversionParameters
 {
diff --git a/include/vcl/graphic/BitmapHelper.hxx 
b/include/vcl/graphic/BitmapHelper.hxx
index 64faaaa38936..caf05d27ed22 100644
--- a/include/vcl/graphic/BitmapHelper.hxx
+++ b/include/vcl/graphic/BitmapHelper.hxx
@@ -9,11 +9,10 @@
 
 #pragma once
 
-#include <com/sun/star/uno/Reference.hxx>
-
-#include <vcl/bitmap.hxx>
 #include <vcl/dllapi.h>
 
+class Bitmap;
+
 namespace com::sun::star::awt
 {
 class XBitmap;
@@ -27,6 +26,11 @@ namespace com::sun::star::uno
 class Any;
 }
 
+namespace com::sun::star::uno
+{
+template <class interface_type> class Reference;
+}
+
 namespace vcl
 {
 VCL_DLLPUBLIC Bitmap GetBitmap(const css::uno::Reference<css::awt::XBitmap>& 
xBitmap);
diff --git a/include/vcl/graphicfilter.hxx b/include/vcl/graphicfilter.hxx
index b3e540906515..ee808c0f2630 100644
--- a/include/vcl/graphicfilter.hxx
+++ b/include/vcl/graphicfilter.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_VCL_GRAPHICFILTER_HXX
 
 #include <tools/gen.hxx>
+#include <tools/link.hxx>
 #include <vcl/dllapi.h>
 #include <vcl/graph.hxx>
 #include <com/sun/star/task/XInteractionHandler.hpp>
@@ -28,6 +29,8 @@
 #include <o3tl/typed_flags_set.hxx>
 #include <vcl/BinaryDataContainer.hxx>
 #include <vcl/graphic/GraphicMetadata.hxx>
+#include <vcl/gfxlink.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <memory>
 
diff --git a/include/vcl/qt/QtUtils.hxx b/include/vcl/qt/QtUtils.hxx
index 1faee199696b..1a48601cab3d 100644
--- a/include/vcl/qt/QtUtils.hxx
+++ b/include/vcl/qt/QtUtils.hxx
@@ -19,6 +19,8 @@
  **/
 
 #include <rtl/ustring.hxx>
+#include <tools/stream.hxx>
+#include <vcl/graph.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
 #include <vcl/image.hxx>
 #include <vcl/outdev.hxx>
diff --git a/lotuswordpro/qa/cppunit/import_test.cxx 
b/lotuswordpro/qa/cppunit/import_test.cxx
index 2e8ffe21ebd9..547c8883ee9d 100644
--- a/lotuswordpro/qa/cppunit/import_test.cxx
+++ b/lotuswordpro/qa/cppunit/import_test.cxx
@@ -8,6 +8,7 @@
  */
 
 #include <test/unoapi_test.hxx>
+#include <tools/color.hxx>
 
 #include <com/sun/star/awt/FontWeight.hpp>
 #include <com/sun/star/awt/FontSlant.hpp>
diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index 065c616911d3..31a5183c157f 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -26,6 +26,7 @@
 #include <vcl/alpha.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/bitmap/BitmapMonochromeFilter.hxx>
+#include <vcl/gfxlink.hxx>
 #include <docmodel/uno/UnoComplexColor.hxx>
 #include <docmodel/uno/UnoGradientTools.hxx>
 #include <basegfx/utils/gradienttools.hxx>
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 34bd8a2d710e..cf987e96c210 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -120,8 +120,10 @@
 #include <unotools/fontdefs.hxx>
 #include <vcl/alpha.hxx>
 #include <vcl/cvtgrf.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/embeddedfontsmanager.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <rtl/strbuf.hxx>
 #include <filter/msfilter/escherex.hxx>
 #include <filter/msfilter/util.hxx>
diff --git a/reportdesign/source/ui/report/EndMarker.cxx 
b/reportdesign/source/ui/report/EndMarker.cxx
index 9a63d446df72..6706a5bd5041 100644
--- a/reportdesign/source/ui/report/EndMarker.cxx
+++ b/reportdesign/source/ui/report/EndMarker.cxx
@@ -20,6 +20,8 @@
 #include <ColorChanger.hxx>
 #include <SectionWindow.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/gradient.hxx>
diff --git a/reportdesign/source/ui/report/StartMarker.cxx 
b/reportdesign/source/ui/report/StartMarker.cxx
index 8e9d4fc56ca9..372fce1297c4 100644
--- a/reportdesign/source/ui/report/StartMarker.cxx
+++ b/reportdesign/source/ui/report/StartMarker.cxx
@@ -33,6 +33,8 @@
 #include <unotools/syslocale.hxx>
 #include <unotools/localedatawrapper.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #define CORNER_SPACE     5
 
 
diff --git a/sc/qa/extras/new_cond_format.cxx b/sc/qa/extras/new_cond_format.cxx
index 37a70d092bc9..91376ac41c8d 100644
--- a/sc/qa/extras/new_cond_format.cxx
+++ b/sc/qa/extras/new_cond_format.cxx
@@ -8,6 +8,7 @@
  */
 
 #include <test/unoapi_test.hxx>
+#include <tools/color.hxx>
 
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/sheet/XConditionalFormats.hpp>
diff --git a/sc/qa/extras/scpdfexport.cxx b/sc/qa/extras/scpdfexport.cxx
index 6ef9267e4ee5..5a35a95fe022 100644
--- a/sc/qa/extras/scpdfexport.cxx
+++ b/sc/qa/extras/scpdfexport.cxx
@@ -26,6 +26,7 @@
 #include <comphelper/propertyvalue.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
 
 #if USE_TLS_NSS
 #include <nss.h>
diff --git a/sc/source/filter/inc/rtfparse.hxx 
b/sc/source/filter/inc/rtfparse.hxx
index ac0f81e14807..73c49b8c449f 100644
--- a/sc/source/filter/inc/rtfparse.hxx
+++ b/sc/source/filter/inc/rtfparse.hxx
@@ -24,6 +24,7 @@
 #include <vector>
 #include <memory>
 #include <o3tl/sorted_vector.hxx>
+#include <tools/link.hxx>
 
 struct ScRTFCellDefault
 {
diff --git a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx 
b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
index 4d84615b5265..da9c58b05e24 100644
--- a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
+++ b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
@@ -32,6 +32,7 @@
 #include <set>
 #include <bitmaps.hlst>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 
diff --git a/sd/qa/unit/SdrPdfImportTest.cxx b/sd/qa/unit/SdrPdfImportTest.cxx
index 0111be40b293..ee80166c32a0 100644
--- a/sd/qa/unit/SdrPdfImportTest.cxx
+++ b/sd/qa/unit/SdrPdfImportTest.cxx
@@ -19,6 +19,7 @@
 #include <editeng/editobj.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
 #include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <Annotation.hxx>
 #include <DrawDocShell.hxx>
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 0aca8feb5d77..9e32e2ffbc7e 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -45,6 +45,7 @@
 
 #include <svx/svdotable.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 using namespace css;
 using namespace css::animations;
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 9e2f2066e5c2..1e41aea912ab 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -72,6 +72,7 @@
 #include <osl/file.hxx>
 #include <svx/svdograf.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 using namespace ::com::sun::star;
 
diff --git a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx 
b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
index 9bcf2893fea9..8a541ebaf096 100644
--- a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
+++ b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx
@@ -23,6 +23,7 @@
 #include <sdpage.hxx>
 #include <svx/svdograf.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 using namespace css;
 
diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx 
b/sd/source/filter/eppt/pptx-epptooxml.cxx
index 05161ab133a3..8217f17735f6 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -96,6 +96,7 @@
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/font/EOTConverter.hxx>
+#include <vcl/font/FontDataContainer.hxx>
 
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <com/sun/star/document/XStorageBasedDocument.hpp>
diff --git a/sd/source/filter/eppt/text.hxx b/sd/source/filter/eppt/text.hxx
index cc9a37759ab7..9b123f652062 100644
--- a/sd/source/filter/eppt/text.hxx
+++ b/sd/source/filter/eppt/text.hxx
@@ -23,6 +23,7 @@
 
 #include <com/sun/star/awt/FontDescriptor.hpp>
 #include <com/sun/star/lang/Locale.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
 #include <editeng/svxenum.hxx>
 #include <vector>
 #include <memory>
diff --git a/sd/source/filter/grf/sdgrffilter.cxx 
b/sd/source/filter/grf/sdgrffilter.cxx
index 4e54327ca562..4ad8ce9e6c87 100644
--- a/sd/source/filter/grf/sdgrffilter.cxx
+++ b/sd/source/filter/grf/sdgrffilter.cxx
@@ -33,6 +33,7 @@
 #include <DrawDocShell.hxx>
 
 #include <comphelper/processfactory.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/graphicfilter.hxx>
 #include <vcl/svapp.hxx>
diff --git a/sd/source/ui/dlg/animobjs.cxx b/sd/source/ui/dlg/animobjs.cxx
index 1958bec2c35f..be09068ccd6c 100644
--- a/sd/source/ui/dlg/animobjs.cxx
+++ b/sd/source/ui/dlg/animobjs.cxx
@@ -25,6 +25,7 @@
 #include <svx/svdpagv.hxx>
 #include <sfx2/dispatch.hxx>
 #include <sfx2/progress.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/help.hxx>
 #include <vcl/svapp.hxx>
diff --git a/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.cxx 
b/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.cxx
index d11fcb1bce93..2d8755afe012 100644
--- a/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.cxx
+++ b/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.cxx
@@ -23,6 +23,7 @@
 #include <vcl/bitmap.hxx>
 #include <vcl/filter/PngImageReader.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
+#include <vcl/graph.hxx>
 
 namespace sd::slidesorter::cache {
 
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 60242a19eac5..041ef3743799 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -19,8 +19,10 @@
 
 #include <Outliner.hxx>
 #include <boost/property_tree/json_parser.hpp>
+#include <basegfx/vector/b2dsize.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <svl/srchitem.hxx>
 #include <svl/intitem.hxx>
diff --git a/sdext/source/pdfimport/filterdet.cxx 
b/sdext/source/pdfimport/filterdet.cxx
index b05295347df3..d805252ca7cf 100644
--- a/sdext/source/pdfimport/filterdet.cxx
+++ b/sdext/source/pdfimport/filterdet.cxx
@@ -37,6 +37,7 @@
 #include <comphelper/diagnose_ex.hxx>
 #include <tools/stream.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFErrorType.hxx>
 #include <vcl/pdf/pwdinteract.hxx>
 #include <memory>
 #include <utility>
diff --git a/sfx2/source/appl/sfxpicklist.cxx b/sfx2/source/appl/sfxpicklist.cxx
index c52080259148..e27faa1b592e 100644
--- a/sfx2/source/appl/sfxpicklist.cxx
+++ b/sfx2/source/appl/sfxpicklist.cxx
@@ -26,6 +26,7 @@
 #include <tools/urlobj.hxx>
 #include <svl/inethist.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
+#include <vcl/graph.hxx>
 #include <vcl/svapp.hxx>
 #include <officecfg/Office/Common.hxx>
 
diff --git a/slideshow/source/engine/shapes/drawshape.cxx 
b/slideshow/source/engine/shapes/drawshape.cxx
index 2f882c017da4..7fe3b5c58265 100644
--- a/slideshow/source/engine/shapes/drawshape.cxx
+++ b/slideshow/source/engine/shapes/drawshape.cxx
@@ -24,6 +24,7 @@
 #include <o3tl/safeint.hxx>
 
 #include <utility>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/metaact.hxx>
 #include <vcl/gdimtf.hxx>
 #include <vcl/graph.hxx>
diff --git a/svtools/qa/unit/GraphicObjectTest.cxx 
b/svtools/qa/unit/GraphicObjectTest.cxx
index ba8df8e842ec..a8ec8c538496 100644
--- a/svtools/qa/unit/GraphicObjectTest.cxx
+++ b/svtools/qa/unit/GraphicObjectTest.cxx
@@ -12,6 +12,7 @@
 #include <cppunit/plugin/TestPlugIn.h>
 
 #include <test/bootstrapfixture.hxx>
+#include <vcl/bitmap.hxx>
 
 #include <com/sun/star/frame/Desktop.hpp>
 #include <unotest/macros_test.hxx>
diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx
index 65a76832068f..f699983081db 100644
--- a/svx/source/dialog/_contdlg.cxx
+++ b/svx/source/dialog/_contdlg.cxx
@@ -33,6 +33,7 @@
 #include "contwnd.hxx"
 #include <svx/svdopath.hxx>
 #include <vcl/alpha.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
diff --git a/svx/source/dialog/grfflt.cxx b/svx/source/dialog/grfflt.cxx
index 8c6d5643fd54..877a6c857b4c 100644
--- a/svx/source/dialog/grfflt.cxx
+++ b/svx/source/dialog/grfflt.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <vcl/animate/Animation.hxx>
 #include <vcl/bitmap/BitmapSharpenFilter.hxx>
 #include <vcl/bitmap/BitmapMedianFilter.hxx>
 #include <vcl/bitmap/BitmapSobelGreyFilter.hxx>
diff --git a/svx/source/gallery2/galleryfilestorage.cxx 
b/svx/source/gallery2/galleryfilestorage.cxx
index aab66a4af491..afd24eac29a4 100644
--- a/svx/source/gallery2/galleryfilestorage.cxx
+++ b/svx/source/gallery2/galleryfilestorage.cxx
@@ -28,6 +28,7 @@
 #include "gallerydrawmodel.hxx"
 #include <vcl/cvtgrf.hxx>
 #include <vcl/filter/SvmWriter.hxx>
+#include <vcl/gfxlink.hxx>
 
 #include <sal/log.hxx>
 
diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx
index 1af26215cdd8..92346eca4f31 100644
--- a/svx/source/gallery2/galtheme.cxx
+++ b/svx/source/gallery2/galtheme.cxx
@@ -31,6 +31,7 @@
 #include <sot/storage.hxx>
 #include <sot/formats.hxx>
 #include <sot/filelist.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/weld/weld.hxx>
 #include <avmedia/mediawindow.hxx>
diff --git a/svx/source/inc/svdpdf.hxx b/svx/source/inc/svdpdf.hxx
index 38a977ea33b5..6baedab42411 100644
--- a/svx/source/inc/svdpdf.hxx
+++ b/svx/source/inc/svdpdf.hxx
@@ -27,11 +27,13 @@
 
 #include <tools/fract.hxx>
 #include <vcl/virdev.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/graph.hxx>
 #include <svx/svdobj.hxx>
 #include <svx/xdash.hxx>
 
 #include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
 
diff --git a/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx 
b/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx
index fa0cf7a59c58..49d3a62c9da4 100644
--- a/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx
+++ b/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx
@@ -19,6 +19,7 @@
 #include <svx/sdr/attribute/sdrallfillattributeshelper.hxx>
 #include <sdr/primitive2d/sdrattributecreator.hxx>
 #include <sdr/primitive2d/sdrdecompositiontools.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/utils/bgradient.hxx>
diff --git a/svx/source/sdr/properties/defaultproperties.cxx 
b/svx/source/sdr/properties/defaultproperties.cxx
index 75bef5ff697c..4ecfe91807a1 100644
--- a/svx/source/sdr/properties/defaultproperties.cxx
+++ b/svx/source/sdr/properties/defaultproperties.cxx
@@ -29,6 +29,7 @@
 #include <svx/svdmodel.hxx>
 #include <svx/svdtrans.hxx>
 #include <svx/xbtmpit.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 namespace sdr::properties
 {
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
index 5dc8998e9c87..193a1c9e91f7 100644
--- a/svx/source/svdraw/svdedtv2.cxx
+++ b/svx/source/svdraw/svdedtv2.cxx
@@ -49,6 +49,7 @@
 #include <memory>
 #include <vector>
 #include <vcl/graph.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <svx/svxids.hrc>
 #include <dstribut_enum.hxx>
 #include <osl/diagnose.h>
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index c7e9e03d6470..904a6fb6a494 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -27,6 +27,7 @@
 #include <sot/formats.hxx>
 #include <vcl/GraphicObject.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <sfx2/linkmgr.hxx>
 #include <sfx2/viewsh.hxx>
diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx
index 59f907486657..9b9ee5c0e38f 100644
--- a/svx/source/svdraw/svdpdf.cxx
+++ b/svx/source/svdraw/svdpdf.cxx
@@ -24,6 +24,11 @@
 #include <vcl/canvastools.hxx>
 #include <vcl/embeddedfontsmanager.hxx>
 #include <vcl/graph.hxx>
+#include <vcl/pdf/PDFBitmapType.hxx>
+#include <vcl/pdf/PDFFillMode.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
+#include <vcl/pdf/PDFSegmentType.hxx>
+#include <vcl/pdf/PDFTextRenderMode.hxx>
 #include <vcl/vectorgraphicdata.hxx>
 
 #include <editeng/eeitem.hxx>
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 46c265c64a7c..4b18d87f1ce9 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -48,6 +48,7 @@
 
 #include <utility>
 #include <vcl/gdimtf.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/wmf.hxx>
 #include <svtools/embedhlp.hxx>
 #include <sal/log.hxx>
diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx
index 86f01f652f92..ccff5fcc567f 100644
--- a/svx/source/xoutdev/_xoutbmp.cxx
+++ b/svx/source/xoutdev/_xoutbmp.cxx
@@ -23,6 +23,7 @@
 #include <comphelper/base64.hxx>
 #include <comphelper/graphicmimetype.hxx>
 #include <tools/debug.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/virdev.hxx>
 #include <sfx2/docfile.hxx>
diff --git a/sw/qa/core/text/itrform2.cxx b/sw/qa/core/text/itrform2.cxx
index 10931b0dfa41..b8c9107a8ae3 100644
--- a/sw/qa/core/text/itrform2.cxx
+++ b/sw/qa/core/text/itrform2.cxx
@@ -17,6 +17,10 @@
 #include <editeng/colritem.hxx>
 #include <sfx2/viewfrm.hxx>
 #include <sfx2/dispatch.hxx>
+#include <vcl/pdf/PDFAnnotAActionType.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/pdf/PDFFormFieldType.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
 
 #include <IDocumentLayoutAccess.hxx>
 #include <rootfrm.hxx>
diff --git a/sw/qa/core/text/text.cxx b/sw/qa/core/text/text.cxx
index 5eef468719c7..565889bbdda0 100644
--- a/sw/qa/core/text/text.cxx
+++ b/sw/qa/core/text/text.cxx
@@ -20,6 +20,10 @@
 #include <vcl/gdimtf.hxx>
 #include <vcl/metaact.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFAnnotAActionType.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/pdf/PDFFormFieldType.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
 #include <vcl/filter/pdfdocument.hxx>
 #include <comphelper/propertyvalue.hxx>
 #include <comphelper/sequenceashashmap.hxx>
diff --git a/sw/qa/extras/fodfexport/fodfexport.cxx 
b/sw/qa/extras/fodfexport/fodfexport.cxx
index b92427c3ca2f..a375d9b450cc 100644
--- a/sw/qa/extras/fodfexport/fodfexport.cxx
+++ b/sw/qa/extras/fodfexport/fodfexport.cxx
@@ -10,6 +10,7 @@
 #include <swmodeltestbase.hxx>
 #include <o3tl/string_view.hxx>
 #include <vcl/graph.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 namespace
 {
diff --git a/sw/qa/extras/globalfilter/globalfilter.cxx 
b/sw/qa/extras/globalfilter/globalfilter.cxx
index e8a90fb869ea..16e150b51217 100644
--- a/sw/qa/extras/globalfilter/globalfilter.cxx
+++ b/sw/qa/extras/globalfilter/globalfilter.cxx
@@ -20,6 +20,9 @@
 #include <officecfg/Office/Common.hxx>
 #include <tools/zcodec.hxx>
 #include <vcl/filter/pdfdocument.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/pdf/PDFObjectType.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <sfx2/linkmgr.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <comphelper/sequenceashashmap.hxx>
diff --git a/sw/qa/writerfilter/dmapper/GraphicImport.cxx 
b/sw/qa/writerfilter/dmapper/GraphicImport.cxx
index 848991202bb8..1bac2878ebda 100644
--- a/sw/qa/writerfilter/dmapper/GraphicImport.cxx
+++ b/sw/qa/writerfilter/dmapper/GraphicImport.cxx
@@ -21,6 +21,7 @@
 #include <com/sun/star/drawing/PointSequenceSequence.hpp>
 #include <com/sun/star/qa/XDumper.hpp>
 
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <officecfg/Office/Common.hxx>
 
diff --git a/sw/source/core/docnode/ndnotxt.cxx 
b/sw/source/core/docnode/ndnotxt.cxx
index b7e388a23305..3b8e875126b9 100644
--- a/sw/source/core/docnode/ndnotxt.cxx
+++ b/sw/source/core/docnode/ndnotxt.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <hintids.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <osl/diagnose.h>
 #include <tools/poly.hxx>
 #include <svl/stritem.hxx>
diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx
index 077edc081e06..759976673522 100644
--- a/sw/source/core/graphic/ndgrf.cxx
+++ b/sw/source/core/graphic/ndgrf.cxx
@@ -28,6 +28,7 @@
 #include <tools/UnitConversion.hxx>
 #include <svl/fstathelper.hxx>
 #include <vcl/imap.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <sfx2/docfile.hxx>
 #include <sfx2/linkmgr.hxx>
 #include <editeng/boxitem.hxx>
diff --git a/sw/source/core/inc/swfont.hxx b/sw/source/core/inc/swfont.hxx
index cea189f86cd3..a99fdb6fc3a6 100644
--- a/sw/source/core/inc/swfont.hxx
+++ b/sw/source/core/inc/swfont.hxx
@@ -31,6 +31,7 @@
 #include <editeng/lrspitem.hxx>
 #include <optional>
 #include <o3tl/enumarray.hxx>
+#include <vcl/fntstyle.hxx>
 
 class SfxItemSet;
 class SwAttrSet;
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index 6e0720a76be9..73616f7abd53 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -85,6 +85,7 @@
 #include <unomap.hxx>
 #include <names.hxx>
 #include <com/sun/star/awt/FontSlant.hpp>
+#include <com/sun/star/awt/GradientStyle.hpp>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::linguistic2;
diff --git a/sw/source/filter/html/htmlflywriter.cxx 
b/sw/source/filter/html/htmlflywriter.cxx
index 6ec0045008e0..821d6184f652 100644
--- a/sw/source/filter/html/htmlflywriter.cxx
+++ b/sw/source/filter/html/htmlflywriter.cxx
@@ -24,7 +24,9 @@
 #include <hintids.hxx>
 #include <tools/fract.hxx>
 #include <svl/urihelper.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <sfx2/event.hxx>
 #include <svtools/htmlkywd.hxx>
 #include <svtools/htmlout.hxx>
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 2ca279bbbf2d..caf5ff7c3c19 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -144,6 +144,7 @@
 #include <osl/file.hxx>
 #include <utility>
 #include <vcl/embeddedfontsmanager.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <com/sun/star/i18n/ScriptType.hpp>
 #include <com/sun/star/i18n/XBreakIterator.hpp>
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx 
b/sw/source/filter/ww8/rtfattributeoutput.cxx
index 45c30e3a3ac1..8cb059784ff9 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -87,6 +87,7 @@
 #include <redline.hxx>
 #include <rtf.hxx>
 #include <vcl/cvtgrf.hxx>
+#include <vcl/gfxlink.hxx>
 #include <oox/drawingml/drawingmltypes.hxx>
 #include <oox/mathml/imexport.hxx>
 #include <com/sun/star/i18n/ScriptType.hpp>
diff --git a/sw/source/filter/xml/xmltexte.cxx 
b/sw/source/filter/xml/xmltexte.cxx
index fa24c1b3c54e..644180d429b8 100644
--- a/sw/source/filter/xml/xmltexte.cxx
+++ b/sw/source/filter/xml/xmltexte.cxx
@@ -42,6 +42,7 @@
 #include <sot/exchange.hxx>
 #include <svl/urihelper.hxx>
 #include <sfx2/frmdescr.hxx>
+#include <vcl/mapmod.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
diff --git a/sw/source/uibase/docvw/SidebarTxtControl.cxx 
b/sw/source/uibase/docvw/SidebarTxtControl.cxx
index c7d0349eff1c..085547477051 100644
--- a/sw/source/uibase/docvw/SidebarTxtControl.cxx
+++ b/sw/source/uibase/docvw/SidebarTxtControl.cxx
@@ -50,6 +50,8 @@
 #include <editeng/editview.hxx>
 #include <editeng/flditem.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #include <uitool.hxx>
 #include <view.hxx>
 #include <wrtsh.hxx>
diff --git a/test/source/text/baseindex.cxx b/test/source/text/baseindex.cxx
index a8db182eac79..9c45fc2dbdd1 100644
--- a/test/source/text/baseindex.cxx
+++ b/test/source/text/baseindex.cxx
@@ -14,9 +14,11 @@
 #include <com/sun/star/text/XTextColumns.hpp>
 #include <com/sun/star/text/XTextSection.hpp>
 
+#include <vcl/bitmap.hxx>
 #include <vcl/BitmapTools.hxx>
 #include <vcl/RawBitmap.hxx>
 #include <vcl/filter/PngImageWriter.hxx>
+#include <vcl/graph.hxx>
 #include <unotools/tempfile.hxx>
 #include <tools/color.hxx>
 #include <tools/stream.hxx>
diff --git a/vcl/backendtest/VisualBackendTest.cxx 
b/vcl/backendtest/VisualBackendTest.cxx
index d3d1dfae5737..ab39d72e7283 100644
--- a/vcl/backendtest/VisualBackendTest.cxx
+++ b/vcl/backendtest/VisualBackendTest.cxx
@@ -11,6 +11,7 @@
 
 #include <comphelper/processfactory.hxx>
 #include <cppuhelper/bootstrap.hxx>
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 
diff --git a/vcl/backendtest/outputdevice/gradient.cxx 
b/vcl/backendtest/outputdevice/gradient.cxx
index 2596670b6874..defe5c35cfea 100644
--- a/vcl/backendtest/outputdevice/gradient.cxx
+++ b/vcl/backendtest/outputdevice/gradient.cxx
@@ -11,6 +11,8 @@
 #include <test/outputdevice.hxx>
 #include <vcl/gradient.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 namespace vcl::test
 {
 Bitmap OutputDeviceTestGradient::setupLinearGradient()
diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 3cc7ae56ef8b..0b9be160d743 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -34,6 +34,8 @@
 #include <sal/log.hxx>
 #include <osl/module.h>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 12, 0)
 #error "require at least cairo 1.12.0"
 #endif
diff --git a/vcl/inc/filter/BmpReader.hxx b/vcl/inc/filter/BmpReader.hxx
index 4b6733eeb7f9..506781cc8c97 100644
--- a/vcl/inc/filter/BmpReader.hxx
+++ b/vcl/inc/filter/BmpReader.hxx
@@ -21,6 +21,8 @@
 
 #include <vcl/graph.hxx>
 
+class SvStream;
+
 VCL_DLLPUBLIC bool BmpReader(SvStream& rStream, Graphic& rGraphic);
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/filter/EpsReader.hxx b/vcl/inc/filter/EpsReader.hxx
index 8cc945ee8e74..6b82bed52b33 100644
--- a/vcl/inc/filter/EpsReader.hxx
+++ b/vcl/inc/filter/EpsReader.hxx
@@ -21,6 +21,8 @@
 
 #include <vcl/graph.hxx>
 
+class SvStream;
+
 VCL_DLLPUBLIC bool ImportEpsGraphic(SvStream& rStream, Graphic& rGraphic);
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/filter/EpsWriter.hxx b/vcl/inc/filter/EpsWriter.hxx
index 104b5ff6bf61..56e44fcda0ef 100644
--- a/vcl/inc/filter/EpsWriter.hxx
+++ b/vcl/inc/filter/EpsWriter.hxx
@@ -22,6 +22,8 @@
 #include <vcl/graph.hxx>
 #include <vcl/FilterConfigItem.hxx>
 
+class SvStream;
+
 VCL_DLLPUBLIC bool ExportEpsGraphic(SvStream& rStream, const Graphic& rGraphic,
                                     FilterConfigItem* pFilterConfigItem);
 
diff --git a/vcl/inc/graphic/UnoGraphicDescriptor.hxx 
b/vcl/inc/graphic/UnoGraphicDescriptor.hxx
index e4d4352799dc..4ac5d17da9ab 100644
--- a/vcl/inc/graphic/UnoGraphicDescriptor.hxx
+++ b/vcl/inc/graphic/UnoGraphicDescriptor.hxx
@@ -25,6 +25,8 @@
 #include <comphelper/propertysetinfo.hxx>
 #include <vcl/graph.hxx>
 
+class SvStream;
+
 inline constexpr OUString MIMETYPE_BMP = u"image/x-MS-bmp"_ustr;
 inline constexpr OUString MIMETYPE_GIF = u"image/gif"_ustr;
 inline constexpr OUString MIMETYPE_JPG = u"image/jpeg"_ustr;
diff --git a/vcl/qa/api/XGraphicTest.cxx b/vcl/qa/api/XGraphicTest.cxx
index 366421ca127b..531bf8398f75 100644
--- a/vcl/qa/api/XGraphicTest.cxx
+++ b/vcl/qa/api/XGraphicTest.cxx
@@ -22,6 +22,7 @@
 #include <comphelper/processfactory.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <tools/color.hxx>
+#include <vcl/bitmap.hxx>
 
 namespace
 {
diff --git a/vcl/qa/cppunit/PDFiumLibraryTest.cxx 
b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
index 50f47695c3b7..617a0ef049e2 100644
--- a/vcl/qa/cppunit/PDFiumLibraryTest.cxx
+++ b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
@@ -18,11 +18,14 @@
 
 #include <com/sun/star/util/DateTime.hpp>
 
+#include <basegfx/vector/b2dsize.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/graphicfilter.hxx>
 #include <tools/stream.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
+#include <vcl/pdf/PDFTextRenderMode.hxx>
 #include <vcl/pdfread.hxx>
 #include <vcl/BitmapReadAccess.hxx>
 
diff --git a/vcl/qa/cppunit/TypeSerializerTest.cxx 
b/vcl/qa/cppunit/TypeSerializerTest.cxx
index 147008c39668..9472dfc016ca 100644
--- a/vcl/qa/cppunit/TypeSerializerTest.cxx
+++ b/vcl/qa/cppunit/TypeSerializerTest.cxx
@@ -27,6 +27,7 @@
 #include "CommonTools.hxx"
 
 #include <vcl/TypeSerializer.hxx>
+#include <com/sun/star/awt/GradientStyle.hpp>
 
 #if USE_TLS_NSS
 #include <nss.h>
diff --git a/vcl/qa/cppunit/UnitConversionTest.cxx 
b/vcl/qa/cppunit/UnitConversionTest.cxx
index 2fe03db9a8a2..22579c48fccc 100644
--- a/vcl/qa/cppunit/UnitConversionTest.cxx
+++ b/vcl/qa/cppunit/UnitConversionTest.cxx
@@ -13,6 +13,8 @@
 #include <cppunit/extensions/HelperMacros.h>
 #include <cppunit/plugin/TestPlugIn.h>
 
+#include <tools/fldunit.hxx>
+#include <tools/mapunit.hxx>
 #include <vcl/fieldvalues.hxx>
 
 namespace
diff --git a/vcl/qa/cppunit/VectorGraphicSearchTest.cxx 
b/vcl/qa/cppunit/VectorGraphicSearchTest.cxx
index 53954a778b43..64ad37e95925 100644
--- a/vcl/qa/cppunit/VectorGraphicSearchTest.cxx
+++ b/vcl/qa/cppunit/VectorGraphicSearchTest.cxx
@@ -12,6 +12,7 @@
 #include <cppunit/TestAssert.h>
 #include <cppunit/extensions/HelperMacros.h>
 
+#include <basegfx/vector/b2dsize.hxx>
 #include <unotest/bootstrapfixturebase.hxx>
 #include <unotest/directories.hxx>
 
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 30323c896c0a..7711277424ff 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -21,10 +21,16 @@
 #include <test/unoapi_test.hxx>
 #include <unotools/tempfile.hxx>
 #include <vcl/filter/pdfdocument.hxx>
+#include <tools/color.hxx>
 #include <tools/zcodec.hxx>
 #include <o3tl/string_view.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/pdf/PDFObjectType.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
+#include <vcl/pdf/PDFSegmentType.hxx>
+#include <vcl/pdf/PDFTextRenderMode.hxx>
 
 using namespace ::com::sun::star;
 
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index 2b03fa88270b..c9eb9c26f788 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -27,6 +27,7 @@
 #include <comphelper/scopeguard.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <comphelper/sequenceashashmap.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <test/unoapi_test.hxx>
 #include <unotools/tempfile.hxx>
 #include <vcl/filter/pdfdocument.hxx>
@@ -44,6 +45,9 @@
 #include <docsh.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFFormFieldType.hxx>
+#include <vcl/pdf/PDFObjectType.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
 #include <vcl/pdfread.hxx>
 #include <comphelper/propertyvalue.hxx>
 #include <cmath>
diff --git a/vcl/qa/cppunit/png/PngFilterTest.cxx 
b/vcl/qa/cppunit/png/PngFilterTest.cxx
index 384648411de0..66e000c85c44 100644
--- a/vcl/qa/cppunit/png/PngFilterTest.cxx
+++ b/vcl/qa/cppunit/png/PngFilterTest.cxx
@@ -30,7 +30,9 @@
 #include <vcl/alpha.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/graphicfilter.hxx>
+#include <vcl/filter/ImportOutput.hxx>
 #include <unotools/tempfile.hxx>
+#include <com/sun/star/beans/PropertyValue.hpp>
 
 using namespace css;
 
diff --git a/vcl/qa/cppunit/text.cxx b/vcl/qa/cppunit/text.cxx
index c9ae8f7c7222..ce9542fe3e04 100644
--- a/vcl/qa/cppunit/text.cxx
+++ b/vcl/qa/cppunit/text.cxx
@@ -14,6 +14,7 @@
 
 #include <vcl/BitmapReadAccess.hxx>
 #include <comphelper/errcode.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/graphicfilter.hxx>
 #include <vcl/virdev.hxx>
 
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index d68f02337a0b..65aa0d7499ac 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -30,6 +30,8 @@
 #include <skia/zone.hxx>
 #include <tools/debug.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #include <SkBitmap.h>
 #include <SkCanvas.h>
 #include <SkGradientShader.h>
diff --git a/vcl/source/filter/bmp/BmpWriter.cxx 
b/vcl/source/filter/bmp/BmpWriter.cxx
index c739ca3a3e97..80ce0ed89814 100644
--- a/vcl/source/filter/bmp/BmpWriter.cxx
+++ b/vcl/source/filter/bmp/BmpWriter.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <filter/BmpWriter.hxx>
+#include <vcl/bitmap.hxx>
 #include <vcl/dibtools.hxx>
 
 bool BmpWriter(SvStream& rStream, const Graphic& rGraphic, FilterConfigItem* 
pFilterConfigItem)
diff --git a/vcl/source/filter/egif/egif.cxx b/vcl/source/filter/egif/egif.cxx
index 80edfe673933..d5fb001f1a5a 100644
--- a/vcl/source/filter/egif/egif.cxx
+++ b/vcl/source/filter/egif/egif.cxx
@@ -20,6 +20,7 @@
 
 #include <tools/stream.hxx>
 #include <tools/debug.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/BitmapReadAccess.hxx>
 #include <vcl/alpha.hxx>
diff --git a/vcl/source/filter/etiff/etiff.cxx 
b/vcl/source/filter/etiff/etiff.cxx
index e17205bce92d..cd5f993f7f55 100644
--- a/vcl/source/filter/etiff/etiff.cxx
+++ b/vcl/source/filter/etiff/etiff.cxx
@@ -19,6 +19,7 @@
 
 
 #include <tools/stream.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/outdev.hxx>
diff --git a/vcl/source/filter/ipdf/pdfcompat.cxx 
b/vcl/source/filter/ipdf/pdfcompat.cxx
index 57e53fdb76d0..eea7169bf45c 100644
--- a/vcl/source/filter/ipdf/pdfcompat.cxx
+++ b/vcl/source/filter/ipdf/pdfcompat.cxx
@@ -12,6 +12,7 @@
 #include <o3tl/string_view.hxx>
 #include <tools/solar.h>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFErrorType.hxx>
 #include <vcl/pdf/pwdinteract.hxx>
 #include <sal/log.hxx>
 
diff --git a/vcl/source/filter/ipdf/pdfread.cxx 
b/vcl/source/filter/ipdf/pdfread.cxx
index 84dc9f810922..9a5f80f99a09 100644
--- a/vcl/source/filter/ipdf/pdfread.cxx
+++ b/vcl/source/filter/ipdf/pdfread.cxx
@@ -11,13 +11,17 @@
 #include <pdf/pdfcompat.hxx>
 
 #include <pdf/PdfConfig.hxx>
+#include <basegfx/vector/b2dsize.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/BitmapWriteAccess.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <unotools/ucbstreamhelper.hxx>
 #include <unotools/datetime.hxx>
 #include <tools/UnitConversion.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
 #include <sal/log.hxx>
 
 using namespace com::sun::star;
diff --git a/vcl/source/filter/iras/iras.cxx b/vcl/source/filter/iras/iras.cxx
index 6c6b059c114d..e206629dcd9c 100644
--- a/vcl/source/filter/iras/iras.cxx
+++ b/vcl/source/filter/iras/iras.cxx
@@ -18,6 +18,7 @@
  */
 
 
+#include <vcl/bitmap.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/BitmapTools.hxx>
 #include <vcl/RawBitmap.hxx>
diff --git a/vcl/source/filter/png/PngImageWriter.cxx 
b/vcl/source/filter/png/PngImageWriter.cxx
index 5245ea091226..cad7d1ea068b 100644
--- a/vcl/source/filter/png/PngImageWriter.cxx
+++ b/vcl/source/filter/png/PngImageWriter.cxx
@@ -9,6 +9,10 @@
 
 #include <vcl/filter/PngImageWriter.hxx>
 #include <png.h>
+#include <basegfx/vector/b2dsize.hxx>
+#include <tools/stream.hxx>
+#include <vcl/graph.hxx>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/BitmapWriteAccess.hxx>
 #include <vcl/bitmap.hxx>
@@ -16,6 +20,8 @@
 #include <sal/log.hxx>
 #include <rtl/crc.h>
 
+#include <com/sun/star/beans/PropertyValue.hpp>
+
 namespace
 {
 void combineScanlineChannels(BitmapScopedReadAccess& pAccess, Scanline 
pScanline,
diff --git a/vcl/source/filter/svm/SvmWriter.cxx 
b/vcl/source/filter/svm/SvmWriter.cxx
index 793fa1b3286c..aa7e0087f407 100644
--- a/vcl/source/filter/svm/SvmWriter.cxx
+++ b/vcl/source/filter/svm/SvmWriter.cxx
@@ -20,6 +20,7 @@
 #include <vcl/filter/SvmWriter.hxx>
 #include <vcl/TypeSerializer.hxx>
 #include <vcl/dibtools.hxx>
+#include <vcl/metaact.hxx>
 #include <rtl/crc.h>
 #include <tools/solar.h>
 #include <tools/vcompat.hxx>
diff --git a/vcl/source/filter/wmf/wmf.cxx b/vcl/source/filter/wmf/wmf.cxx
index db615410c1dc..64b01f1e4279 100644
--- a/vcl/source/filter/wmf/wmf.cxx
+++ b/vcl/source/filter/wmf/wmf.cxx
@@ -21,7 +21,9 @@
 #include "wmfwr.hxx"
 #include <vcl/wmf.hxx>
 #include <vcl/gdimetafiletools.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/graph.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 using namespace com::sun::star;
 
diff --git a/vcl/source/gdi/TypeSerializer.cxx 
b/vcl/source/gdi/TypeSerializer.cxx
index 116c849d598b..f83cff921320 100644
--- a/vcl/source/gdi/TypeSerializer.cxx
+++ b/vcl/source/gdi/TypeSerializer.cxx
@@ -18,6 +18,8 @@
  */
 
 #include <vcl/TypeSerializer.hxx>
+#include <vcl/animate/Animation.hxx>
+#include <vcl/BinaryDataContainer.hxx>
 #include <tools/vcompat.hxx>
 #include <tools/fract.hxx>
 #include <sal/log.hxx>
@@ -27,6 +29,9 @@
 #include <vcl/graph.hxx>
 #include <vcl/gdimtf.hxx>
 #include <vcl/dibtools.hxx>
+#include <vcl/gradient.hxx>
+#include <vcl/gfxlink.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 TypeSerializer::TypeSerializer(SvStream& rStream)
     : GenericTypeSerializer(rStream)
diff --git a/vcl/source/gdi/graph.cxx b/vcl/source/gdi/graph.cxx
index 2794deaa03a4..310a2eb7a880 100644
--- a/vcl/source/gdi/graph.cxx
+++ b/vcl/source/gdi/graph.cxx
@@ -20,9 +20,11 @@
 #include <sal/config.h>
 
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <tools/fract.hxx>
 #include <vcl/outdev.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/gfxlink.hxx>
 #include <vcl/graph.hxx>
 #include <vcl/image.hxx>
 #include <impgraph.hxx>
diff --git a/vcl/source/gdi/wall.cxx b/vcl/source/gdi/wall.cxx
index a3a5b8fc96aa..11f669d25c08 100644
--- a/vcl/source/gdi/wall.cxx
+++ b/vcl/source/gdi/wall.cxx
@@ -27,6 +27,8 @@
 #include <vcl/settings.hxx>
 #include <vcl/TypeSerializer.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 SvStream& ReadWallpaper( SvStream& rIStm, Wallpaper& rImplWallpaper )
 {
     VersionCompatRead  aCompat(rIStm);
diff --git a/vcl/source/graphic/GraphicID.cxx b/vcl/source/graphic/GraphicID.cxx
index e7e11d374a68..3f7f15dba7f8 100644
--- a/vcl/source/graphic/GraphicID.cxx
+++ b/vcl/source/graphic/GraphicID.cxx
@@ -22,6 +22,7 @@
 #include <impgraph.hxx>
 #include <rtl/crc.h>
 #include <rtl/strbuf.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 GraphicID::GraphicID(ImpGraphic const& rGraphic)
 {
diff --git a/vcl/source/graphic/GraphicObject.cxx 
b/vcl/source/graphic/GraphicObject.cxx
index 083bcb2aef77..1b500277e950 100644
--- a/vcl/source/graphic/GraphicObject.cxx
+++ b/vcl/source/graphic/GraphicObject.cxx
@@ -26,6 +26,7 @@
 #include <tools/fract.hxx>
 #include <tools/helpers.hxx>
 #include <utility>
+#include <vcl/animate/Animation.hxx>
 #include <vcl/animate/AnimationFrame.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/metaact.hxx>
diff --git a/vcl/source/graphic/VectorGraphicSearch.cxx 
b/vcl/source/graphic/VectorGraphicSearch.cxx
index c2f624417552..45d343baee3a 100644
--- a/vcl/source/graphic/VectorGraphicSearch.cxx
+++ b/vcl/source/graphic/VectorGraphicSearch.cxx
@@ -9,9 +9,13 @@
  */
 
 #include <utility>
+#include <basegfx/vector/b2dsize.hxx>
 #include <vcl/VectorGraphicSearch.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFErrorType.hxx>
+#include <vcl/pdf/PDFFindFlags.hxx>
 #include <tools/UnitConversion.hxx>
 
 #include <sal/config.h>
diff --git a/vcl/source/image/ImplImageTree.cxx 
b/vcl/source/image/ImplImageTree.cxx
index beb64dd9bb31..a883b13c5025 100644
--- a/vcl/source/image/ImplImageTree.cxx
+++ b/vcl/source/image/ImplImageTree.cxx
@@ -49,6 +49,7 @@
 #include <utility>
 #include <vcl/bitmap.hxx>
 #include <vcl/dibtools.hxx>
+#include <vcl/graph.hxx>
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/BitmapTools.hxx>
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 3f350502426e..c1d05b021627 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -28,6 +28,7 @@
 
 #include <vcl/event.hxx>
 #include <vcl/fontcharmap.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/metaact.hxx>
 #include <vcl/metric.hxx>
 #include <vcl/print.hxx>
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 4b1afddcfc14..0b207020cad6 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -27,6 +27,7 @@
 #include <comphelper/configuration.hxx>
 
 #include <vcl/ctrl.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/metaact.hxx>
 #include <vcl/metric.hxx>
 #include <vcl/mnemonic.hxx>
diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx
index 480990fca021..100193da5760 100644
--- a/vcl/source/pdf/PDFiumLibrary.cxx
+++ b/vcl/source/pdf/PDFiumLibrary.cxx
@@ -9,6 +9,17 @@
  */
 
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFAnnotAActionType.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
+#include <vcl/pdf/PDFBitmapType.hxx>
+#include <vcl/pdf/PDFErrorType.hxx>
+#include <vcl/pdf/PDFFillMode.hxx>
+#include <vcl/pdf/PDFFindFlags.hxx>
+#include <vcl/pdf/PDFFormFieldType.hxx>
+#include <vcl/pdf/PDFObjectType.hxx>
+#include <vcl/pdf/PDFPageObjectType.hxx>
+#include <vcl/pdf/PDFSegmentType.hxx>
+#include <vcl/pdf/PDFTextRenderMode.hxx>
 
 #include <cassert>
 
@@ -24,6 +35,8 @@
 #include <fpdf_attachment.h>
 #include <fpdf_structtree.h>
 
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <osl/endian.h>
 #include <vcl/bitmap.hxx>
 #include <vcl/embeddedfontsmanager.hxx>
@@ -37,6 +50,8 @@
 #include <vcl/dibtools.hxx>
 #include <functional>
 
+#include <com/sun/star/util/DateTime.hpp>
+
 using namespace com::sun::star;
 
 static_assert(static_cast<int>(vcl::pdf::PDFPageObjectType::Unknown) == 
FPDF_PAGEOBJ_UNKNOWN,
diff --git a/vcl/source/pdf/pdfwriter_impl.cxx 
b/vcl/source/pdf/pdfwriter_impl.cxx
index cd756e0fd1bb..12b67ab07f7a 100644
--- a/vcl/source/pdf/pdfwriter_impl.cxx
+++ b/vcl/source/pdf/pdfwriter_impl.cxx
@@ -34,7 +34,9 @@
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolypolygoncutter.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
+#include <basegfx/vector/b2dsize.hxx>
 #include <memory>
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/io/XOutputStream.hpp>
 #include <com/sun/star/util/URL.hpp>
 #include <com/sun/star/util/URLTransformer.hpp>
@@ -69,6 +71,7 @@
 #include <vcl/canvastools.hxx>
 #include <vcl/cvtgrf.hxx>
 #include <vcl/fontcharmap.hxx>
+#include <vcl/fntstyle.hxx>
 #include <vcl/glyphitemcache.hxx>
 #include <vcl/kernarray.hxx>
 #include <vcl/lineinfo.hxx>
@@ -78,6 +81,7 @@
 #include <vcl/settings.hxx>
 #include <strhelper.hxx>
 #include <vcl/svapp.hxx>
+#include <vcl/vectorgraphicdata.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/filter/pdfdocument.hxx>
 #include <vcl/filter/PngImageReader.hxx>
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index d3ebc84bf213..2b8c9d21161a 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -37,6 +37,8 @@
 #include <o3tl/string_view.hxx>
 #include <osl/diagnose.h>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
+
 #include <accel.hxx>
 #include <svdata.hxx>
 #include <window.h>
diff --git a/vcl/workben/svptest.cxx b/vcl/workben/svptest.cxx
index b18b1ecb32db..8a4e93bd6d01 100644
--- a/vcl/workben/svptest.cxx
+++ b/vcl/workben/svptest.cxx
@@ -27,6 +27,7 @@
 #include <cppuhelper/bootstrap.hxx>
 #include <comphelper/processfactory.hxx>
 
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/uno/XComponentContext.hpp>
 
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index 11c14f172f32..86a9ca99de5c 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -17,6 +17,7 @@
 #include <comphelper/processfactory.hxx>
 #include <comphelper/random.hxx>
 #include <cppuhelper/bootstrap.hxx>
+#include <com/sun/star/awt/GradientStyle.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/uno/Reference.hxx>
 #include <com/sun/star/uno/Sequence.hxx>
diff --git a/writerperfect/source/writer/EPUBExportFilter.cxx 
b/writerperfect/source/writer/EPUBExportFilter.cxx
index c025c67fb6ae..439122bb6228 100644
--- a/writerperfect/source/writer/EPUBExportFilter.cxx
+++ b/writerperfect/source/writer/EPUBExportFilter.cxx
@@ -27,6 +27,7 @@
 #include <svtools/DocumentToGraphicRenderer.hxx>
 #include <vcl/filter/SvmWriter.hxx>
 #include <vcl/gdimtf.hxx>
+#include <tools/color.hxx>
 #include <tools/stream.hxx>
 #include <unotools/mediadescriptor.hxx>
 
diff --git a/xmlsecurity/source/helper/pdfsignaturehelper.cxx 
b/xmlsecurity/source/helper/pdfsignaturehelper.cxx
index 30e6c49a944d..fa2122f49750 100644
--- a/xmlsecurity/source/helper/pdfsignaturehelper.cxx
+++ b/xmlsecurity/source/helper/pdfsignaturehelper.cxx
@@ -33,6 +33,7 @@
 #include <vcl/checksum.hxx>
 #include <svl/cryptosign.hxx>
 #include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/pdf/PDFAnnotationSubType.hxx>
 #include <sfx2/viewsh.hxx>
 
 using namespace ::com::sun::star;

Reply via email to