tdf#42949 Fix IWYU warnings in include/vcl/[n-r]*

Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I5a4951e983078ab6b6cbf0e96b00a20584b85e20
Reviewed-on: https://gerrit.libreoffice.org/64398
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
diff --git a/drawinglayer/inc/wmfemfhelper.hxx b/drawinglayer/inc/wmfemfhelper.hxx
index 2af7cce..d88a638 100644
--- a/drawinglayer/inc/wmfemfhelper.hxx
+++ b/drawinglayer/inc/wmfemfhelper.hxx
@@ -25,6 +25,7 @@
#include <vcl/font.hxx>
#include <vcl/outdevstate.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <memory>

// predefines
diff --git a/drawinglayer/source/processor2d/processor2dtools.cxx b/drawinglayer/source/processor2d/processor2dtools.cxx
index 9d7e1ae..1149e52 100644
--- a/drawinglayer/source/processor2d/processor2dtools.cxx
+++ b/drawinglayer/source/processor2d/processor2dtools.cxx
@@ -18,6 +18,7 @@
 */
#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <o3tl/make_unique.hxx>
#include <vcl/gdimtf.hxx>
#include "vclpixelprocessor2d.hxx"
#include "vclmetafileprocessor2d.hxx"

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 8b372cf..ea069da 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -42,6 +42,7 @@
#include <com/sun/star/view/XSelectionSupplier.hpp>
#include <com/sun/star/security/DocumentDigitalSignatures.hpp>
#include <com/sun/star/security/XCertificate.hpp>
#include <com/sun/star/beans/XMaterialHolder.hpp>

static OUString PDFFilterResId(const char* pId)
{
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index 88f212f..2f788b9 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -72,6 +72,8 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/drawing/XShapes.hpp>
#include <com/sun/star/graphic/XGraphicProvider.hpp>
#include <com/sun/star/security/XCertificate.hpp>
#include <com/sun/star/beans/XMaterialHolder.hpp>

#include <memory>

diff --git a/include/IwyuFilter_include.yaml b/include/IwyuFilter_include.yaml
index 3d6389e..0615d34 100644
--- a/include/IwyuFilter_include.yaml
+++ b/include/IwyuFilter_include.yaml
@@ -326,4 +326,11 @@
    # Needed for macros
    - com/sun/star/awt/Key.hpp
    - com/sun/star/awt/KeyGroup.hpp

    include/vcl/outdevstate.hxx:
    # Full definition needed for boost::optional
    - vcl/mapmod.hxx
    - tools/color.hxx
    - tools/gen.hxx
    include/vcl/prntypes.hxx:
    # Needed for macro
    - tools/solar.h
diff --git a/include/vcl/NotebookbarContextControl.hxx b/include/vcl/NotebookbarContextControl.hxx
index b338d8d..ce557c54 100644
--- a/include/vcl/NotebookbarContextControl.hxx
+++ b/include/vcl/NotebookbarContextControl.hxx
@@ -12,8 +12,6 @@

#include <vcl/EnumContext.hxx>

class NotebookBar;

class NotebookbarContextControl
{
public:
diff --git a/include/vcl/notebookbar.hxx b/include/vcl/notebookbar.hxx
index 1e9ab28..4a03175 100644
--- a/include/vcl/notebookbar.hxx
+++ b/include/vcl/notebookbar.hxx
@@ -12,11 +12,11 @@

#include <vcl/builder.hxx>
#include <vcl/ctrl.hxx>
#include <vcl/EnumContext.hxx>
#include <vcl/NotebookbarContextControl.hxx>
#include <com/sun/star/ui/XContextChangeEventListener.hpp>
#include <vector>

namespace com { namespace sun { namespace star { namespace ui { class XContextChangeEventListener; } } } }

class NotebookbarContextControl;
class SystemWindow;

/// This implements Widget Layout-based notebook-like menu bar.
diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx
index a7b227a..b17ada7 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -15,22 +15,16 @@
#include <epoxy/gl.h>

#include <vcl/dllapi.h>
#include <vcl/window.hxx>
#include <tools/gen.hxx>
#include <vcl/syschild.hxx>
#include <rtl/crc.h>
#include <rtl/ref.hxx>

#include <map>
#include <memory>
#include <set>
#include <unordered_map>

class OpenGLFramebuffer;
class OpenGLProgram;
class OpenGLTexture;
class SalGraphicsImpl;
class OpenGLTests;
class RenderState;

/// Holds the information of our new child window
diff --git a/include/vcl/opengl/OpenGLHelper.hxx b/include/vcl/opengl/OpenGLHelper.hxx
index 1502fc5..9475aeb 100644
--- a/include/vcl/opengl/OpenGLHelper.hxx
+++ b/include/vcl/opengl/OpenGLHelper.hxx
@@ -11,11 +11,12 @@
#define INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX

#include <epoxy/gl.h>
#include <sal/log.hxx>
#include <sal/detail/log.h>
#include <vcl/dllapi.h>
#include <vcl/bitmapex.hxx>

#include <rtl/ustring.hxx>
#include <sstream>

/// Helper to do a SAL_INFO as well as a GL log.
#define VCL_GL_INFO(stream) \
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 81c47e6..0d6b80e 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -31,7 +31,6 @@
#include <vcl/devicecoordinate.hxx>
#include <vcl/dllapi.h>
#include <vcl/font.hxx>
#include <vcl/glyphitem.hxx>
#include <vcl/region.hxx>
#include <vcl/mapmod.hxx>
#include <vcl/wall.hxx>
@@ -55,7 +54,6 @@

struct ImplOutDevData;
class LogicalFontInstance;
class OutDevState;
struct SystemGraphicsData;
struct SystemFontData;
struct SystemTextLayoutData;
@@ -68,7 +66,6 @@
class Gradient;
class Hatch;
class AllSettings;
class Bitmap;
class BitmapReadAccess;
class BitmapEx;
class Image;
@@ -86,35 +83,26 @@
class ImplLayoutArgs;
class VirtualDevice;
struct SalTwoRect;
class VirtualDevice;
class Printer;
class FontSelectPattern;
class VCLXGraphics;
class OutDevStateStack;
struct BitmapSystemData;
class SalLayoutGlyphs;

namespace vcl
{
    class PDFWriterImpl;
    class ExtOutDevData;
    class ITextLayout;
    struct FontCapabilities;
    class TextLayoutCache;
    class Window;
    class FontInfo;
    namespace font {
        struct Feature;
    }
}

namespace com { namespace sun { namespace star { namespace rendering {
    class XCanvas;
}}}}

namespace basegfx {
    class B2DHomMatrix;
    class B2DPolygon;
    class B2DPolyPolygon;
    class B2IVector;
    typedef B2IVector B2ISize;
}
diff --git a/include/vcl/outdevstate.hxx b/include/vcl/outdevstate.hxx
index d1f1ff6..d3c469e 100644
--- a/include/vcl/outdevstate.hxx
+++ b/include/vcl/outdevstate.hxx
@@ -21,18 +21,18 @@
#define INCLUDED_VCL_OUTDEVSTATE_HXX

#include <vcl/mapmod.hxx>
#include <vcl/region.hxx>
#include <vcl/font.hxx>
#include <vcl/vclenum.hxx>

#include <tools/solar.h>
#include <tools/color.hxx>
#include <tools/gen.hxx>
#include <tools/fontenum.hxx>
#include <o3tl/typed_flags_set.hxx>
#include <memory>
#include <boost/optional.hpp>
#include <i18nlangtag/lang.h>

class Color;
namespace vcl { class Font; }
namespace vcl { class Region; }

// Flags for OutputDevice::Push() and OutDevState
enum class PushFlags {
diff --git a/include/vcl/pdfextoutdevdata.hxx b/include/vcl/pdfextoutdevdata.hxx
index fa218655..4c54b7e 100644
--- a/include/vcl/pdfextoutdevdata.hxx
+++ b/include/vcl/pdfextoutdevdata.hxx
@@ -24,14 +24,11 @@

#include <vcl/pdfwriter.hxx>
#include <vcl/extoutdevdata.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/mapmod.hxx>
#include <vector>
#include <memory>

class Graphic;

namespace vcl { class PDFWriter; }
class GDIMetaFile;

namespace vcl
{
diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx
index 3029202..c8cd7ec 100644
--- a/include/vcl/pdfwriter.hxx
+++ b/include/vcl/pdfwriter.hxx
@@ -26,23 +26,20 @@
#include <rtl/strbuf.hxx>

#include <vcl/dllapi.h>
#include <vcl/vclenum.hxx>
#include <vcl/font.hxx>
#include <vcl/graphictools.hxx>
#include <vcl/outdev.hxx>
#include <vcl/graph.hxx>

#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/beans/XMaterialHolder.hpp>
#include <com/sun/star/security/XCertificate.hpp>
#include <com/sun/star/lang/Locale.hpp>

#include <memory>
#include <vector>
#include <set>

namespace vcl { class Font; }
class Point;
class OutputDevice;
namespace com { namespace sun { namespace star { namespace beans { class XMaterialHolder; } } } }
namespace com { namespace sun { namespace star { namespace io { class XOutputStream; } } } }
namespace com { namespace sun { namespace star { namespace security { class XCertificate; } } } }

class GDIMetaFile;
class MapMode;
class LineInfo;
@@ -52,7 +49,6 @@
}
class Bitmap;
class BitmapEx;
class Image;
class Gradient;
class Hatch;
class Wallpaper;
diff --git a/include/vcl/pngwrite.hxx b/include/vcl/pngwrite.hxx
index fe1b2c3..4aa4924 100644
--- a/include/vcl/pngwrite.hxx
+++ b/include/vcl/pngwrite.hxx
@@ -20,13 +20,16 @@
#ifndef INCLUDED_VCL_PNGWRITE_HXX
#define INCLUDED_VCL_PNGWRITE_HXX

#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <vcl/dllapi.h>
#include <vcl/bitmapex.hxx>
#include <memory>
#include <vector>

namespace com { namespace sun { namespace star { namespace beans { struct PropertyValue; } } } }
namespace com { namespace sun { namespace star { namespace uno { template <typename > class Sequence; } } } }

class BitmapEx;
class SvStream;

namespace vcl
{
    class PNGWriterImpl;
diff --git a/include/vcl/ppdparser.hxx b/include/vcl/ppdparser.hxx
index ce578c1..7ea9154 100644
--- a/include/vcl/ppdparser.hxx
+++ b/include/vcl/ppdparser.hxx
@@ -28,14 +28,11 @@
#include <tools/solar.h>
#include <vcl/dllapi.h>

#include <com/sun/star/lang/Locale.hpp>

#define PRINTER_PPDDIR "driver"

namespace psp {

class PPDCache;
class PPDParser;
class PPDTranslator;

enum PPDValueType { eInvocation, eQuoted, eSymbol, eString, eNo };
@@ -114,9 +111,6 @@
 * PPDParser - parses a PPD file and contains all available keys from it
 */

class PPDContext;
class CUPSManager;

class VCL_DLLPUBLIC PPDParser
{
    friend class PPDContext;
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index a8069d2..2d1c17e 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -21,24 +21,22 @@
#define INCLUDED_VCL_PRINT_HXX

#include <rtl/ustring.hxx>
#include <i18nutil/paper.hxx>

#include <vcl/errcode.hxx>
#include <tools/solar.h>
#include <vcl/dllapi.h>
#include <vcl/outdev.hxx>
#include <vcl/prntypes.hxx>
#include <vcl/jobset.hxx>
#include <vcl/gdimtf.hxx>
#include <tools/multisel.hxx>

#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/view/PrintableState.hpp>

#include <memory>
#include <set>
#include <unordered_map>

class GDIMetaFile;
class SalInfoPrinter;
struct SalPrinterQueueInfo;
class SalPrinter;
@@ -47,7 +45,6 @@

namespace vcl {
    class PrinterController;
    class PrintDialog;
    class Window;
}

diff --git a/include/vcl/prntypes.hxx b/include/vcl/prntypes.hxx
index dc7bd64..de85aca 100644
--- a/include/vcl/prntypes.hxx
+++ b/include/vcl/prntypes.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_VCL_PRNTYPES_HXX

#include <tools/solar.h>
#include <i18nutil/paper.hxx>
#include <o3tl/typed_flags_set.hxx>


diff --git a/include/vcl/region.hxx b/include/vcl/region.hxx
index ba67154..80feefc 100644
--- a/include/vcl/region.hxx
+++ b/include/vcl/region.hxx
@@ -25,7 +25,6 @@
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <memory>

class ImplRegionBand;
class RegionBand;

namespace tools {
diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index 583c89c..e3a88e6 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -32,6 +32,7 @@
#include <comphelper/storagehelper.hxx>
#include <comphelper/servicehelper.hxx>
#include <sot/storage.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/svapp.hxx>
#include <vcl/virdev.hxx>
#include <vcl/wrkwin.hxx>
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
index 717ea08..7f47724 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -38,6 +38,7 @@
#include <SlideSorterViewShell.hxx>
#include <DrawDocShell.hxx>

#include <tools/multisel.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx
index 0c8f6d21..f9b3dad 100644
--- a/sfx2/source/doc/new.cxx
+++ b/sfx2/source/doc/new.cxx
@@ -22,6 +22,7 @@
#include <vcl/builderfactory.hxx>
#include <vcl/layout.hxx>
#include <vcl/idle.hxx>
#include <vcl/gdimtf.hxx>
#include <svtools/svmedit.hxx>
#include <svl/itemset.hxx>
#include <svl/eitem.hxx>
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx
index d163a5d..aaf494b 100644
--- a/sfx2/source/doc/objcont.cxx
+++ b/sfx2/source/doc/objcont.cxx
@@ -49,6 +49,7 @@
#include <vcl/virdev.hxx>
#include <vcl/oldprintadaptor.hxx>
#include <vcl/settings.hxx>
#include <vcl/gdimtf.hxx>

#include <sfx2/app.hxx>
#include <sfx2/dinfdlg.hxx>
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 72a4b7b..254177e 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -76,6 +76,7 @@
#include <osl/mutex.hxx>
#include <vcl/errcode.hxx>
#include <vcl/salctype.hxx>
#include <vcl/gdimtf.hxx>
#include <comphelper/classids.hxx>
#include <sot/storinfo.hxx>
#include <comphelper/fileformat.h>
diff --git a/svtools/source/filter/DocumentToGraphicRenderer.cxx b/svtools/source/filter/DocumentToGraphicRenderer.cxx
index 1c11438..3dbfcdd5 100644
--- a/svtools/source/filter/DocumentToGraphicRenderer.cxx
+++ b/svtools/source/filter/DocumentToGraphicRenderer.cxx
@@ -19,6 +19,7 @@

#include <svtools/DocumentToGraphicRenderer.hxx>

#include <vcl/gdimtf.hxx>
#include <vcl/graphicfilter.hxx>
#include <vcl/svapp.hxx>
#include <vcl/outdev.hxx>
diff --git a/vcl/inc/jobset.h b/vcl/inc/jobset.h
index af9fec4..c404f0c 100644
--- a/vcl/inc/jobset.h
+++ b/vcl/inc/jobset.h
@@ -21,6 +21,7 @@
#define INCLUDED_VCL_INC_JOBSET_H

#include <rtl/ustring.hxx>
#include <i18nutil/paper.hxx>
#include <vcl/prntypes.hxx>
#include <unordered_map>

diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx
index 5fe9228..5cf84e0 100644
--- a/vcl/inc/printdlg.hxx
+++ b/vcl/inc/printdlg.hxx
@@ -32,6 +32,11 @@
#include <vcl/tabctrl.hxx>
#include <vcl/tabpage.hxx>
#include <vcl/virdev.hxx>
#include <vcl/gdimtf.hxx>

namespace vcl {
    class PrintDialog;
}

namespace vcl
{
diff --git a/vcl/inc/salprn.hxx b/vcl/inc/salprn.hxx
index d966979..f13d819 100644
--- a/vcl/inc/salprn.hxx
+++ b/vcl/inc/salprn.hxx
@@ -20,6 +20,7 @@
#ifndef INCLUDED_VCL_INC_SALPRN_HXX
#define INCLUDED_VCL_INC_SALPRN_HXX

#include <i18nutil/paper.hxx>
#include <vcl/prntypes.hxx>
#include <vcl/dllapi.h>

diff --git a/vcl/osx/salprn.cxx b/vcl/osx/salprn.cxx
index 08f6963..4f1981b 100644
--- a/vcl/osx/salprn.cxx
+++ b/vcl/osx/salprn.cxx
@@ -19,6 +19,7 @@

#include <officecfg/Office/Common.hxx>

#include <vcl/gdimtf.hxx>
#include <vcl/print.hxx>
#include <sal/macros.h>
#include <osl/diagnose.h>
diff --git a/vcl/source/filter/ipdf/pdfdocument.cxx b/vcl/source/filter/ipdf/pdfdocument.cxx
index 83ecf67..aa2cf03 100644
--- a/vcl/source/filter/ipdf/pdfdocument.cxx
+++ b/vcl/source/filter/ipdf/pdfdocument.cxx
@@ -14,6 +14,7 @@
#include <vector>

#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/security/XCertificate.hpp>

#include <comphelper/scopeguard.hxx>
#include <comphelper/string.hxx>
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index e23bfdf..5a7bc38 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -41,6 +41,7 @@
#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <memory>
#include <com/sun/star/io/XOutputStream.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/util/URL.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index 699ab7a..a6f2f73 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -35,6 +35,7 @@
#include <tools/gen.hxx>
#include <vcl/bitmapex.hxx>
#include <vcl/gradient.hxx>
#include <vcl/graphictools.hxx>
#include <vcl/hatch.hxx>
#include <vcl/virdev.hxx>
#include <vcl/pdfwriter.hxx>
diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx b/vcl/source/gdi/pdfwriter_impl2.cxx
index 82f99a3..d7b7cf2 100644
--- a/vcl/source/gdi/pdfwriter_impl2.cxx
+++ b/vcl/source/gdi/pdfwriter_impl2.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/io/XSeekable.hpp>
#include <com/sun/star/graphic/GraphicProvider.hpp>
#include <com/sun/star/graphic/XGraphicProvider.hpp>
#include <com/sun/star/beans/XMaterialHolder.hpp>

#include <cppuhelper/implbase.hxx>

diff --git a/vcl/source/gdi/pngwrite.cxx b/vcl/source/gdi/pngwrite.cxx
index 7189791..4122c5f 100644
--- a/vcl/source/gdi/pngwrite.cxx
+++ b/vcl/source/gdi/pngwrite.cxx
@@ -18,6 +18,9 @@
 */

#include <vcl/pngwrite.hxx>
#include <vcl/bitmapex.hxx>

#include <com/sun/star/beans/PropertyValue.hpp>

#include <cmath>
#include <limits>
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index 6908067..6b7f089 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -38,6 +38,7 @@
#include <rtl/ustring.hxx>
#include <sal/log.hxx>

#include <vcl/gdimtf.hxx>
#include <vcl/idle.hxx>
#include <vcl/print.hxx>
#include <vcl/pdfwriter.hxx>