remove Size arg from Window::Draw and depend on GetSizePixel

90% of cases pass GetSizePixel as the Size arg already
and this aligns Window::Draw with how Window::PaintToDevice
works

Change-Id: If5b024179a4b7a3b099177c2f6d4b1fb006b95ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94644
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/forms/source/richtext/richtextcontrol.cxx b/forms/source/richtext/richtextcontrol.cxx
index 1c96b98..a22d36d 100644
--- a/forms/source/richtext/richtextcontrol.cxx
+++ b/forms/source/richtext/richtextcontrol.cxx
@@ -325,17 +325,13 @@ namespace frm
        if ( !pTargetDevice )
            return;

        ::Size aSize = pControl->GetSizePixel();
        const MapUnit eTargetUnit = pTargetDevice->GetMapMode().GetMapUnit();
        if ( eTargetUnit != MapUnit::MapPixel )
            aSize = pTargetDevice->PixelToLogic( aSize );

        ::Point aPos( _nX, _nY );
        // the XView::draw API talks about pixels, always ...
        if ( eTargetUnit != MapUnit::MapPixel )
            aPos = pTargetDevice->PixelToLogic( aPos );

        pControl->Draw( pTargetDevice, aPos, aSize, DrawFlags::NoControls );
        pControl->Draw( pTargetDevice, aPos, DrawFlags::NoControls );
    }


diff --git a/forms/source/richtext/richtextvclcontrol.cxx b/forms/source/richtext/richtextvclcontrol.cxx
index 492b081..0df1416 100644
--- a/forms/source/richtext/richtextvclcontrol.cxx
+++ b/forms/source/richtext/richtextvclcontrol.cxx
@@ -288,13 +288,11 @@ namespace frm
        return bDone || Control::EventNotify(_rNEvt);
    }


    void RichTextControl::Draw( OutputDevice* _pDev, const Point& _rPos, const Size& _rSize, DrawFlags /*_nFlags*/ )
    void RichTextControl::Draw( OutputDevice* _pDev, const Point& _rPos, DrawFlags /*_nFlags*/ )
    {
        m_pImpl->Draw( _pDev, _rPos, _rSize );
        m_pImpl->Draw( _pDev, _rPos, _pDev->PixelToLogic(GetSizePixel()) );
    }


    EditView& RichTextControl::getView()
    {
        return *m_pImpl->getView( RichTextControlImpl::GrantAccess() );
diff --git a/forms/source/richtext/richtextvclcontrol.hxx b/forms/source/richtext/richtextvclcontrol.hxx
index 9f34f74..f241e93 100644
--- a/forms/source/richtext/richtextvclcontrol.hxx
+++ b/forms/source/richtext/richtextvclcontrol.hxx
@@ -97,7 +97,7 @@ namespace frm
              EditView& getView();

        // Window overridables
        virtual void        Draw( OutputDevice* _pDev, const Point& _rPos, const Size& _rSize, DrawFlags _nFlags ) override;
        virtual void        Draw( OutputDevice* _pDev, const Point& _rPos, DrawFlags _nFlags ) override;

    protected:
        // Window overridables
diff --git a/include/svtools/brwbox.hxx b/include/svtools/brwbox.hxx
index 4c98102..0b0d3af 100644
--- a/include/svtools/brwbox.hxx
+++ b/include/svtools/brwbox.hxx
@@ -390,7 +390,7 @@ public:
    virtual void    GetFocus() override;
    virtual void    Resize() override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Command( const CommandEvent& rEvt ) override;
    virtual void    StartDrag( sal_Int8 _nAction, const Point& _rPosPixel ) override;

diff --git a/include/svtools/editbrowsebox.hxx b/include/svtools/editbrowsebox.hxx
index 175dbe6..6492896 100644
--- a/include/svtools/editbrowsebox.hxx
+++ b/include/svtools/editbrowsebox.hxx
@@ -285,7 +285,7 @@ namespace svt
        virtual void GetFocus() override;
        virtual bool PreNotify(NotifyEvent& rEvt) override;
        virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rClientRect) override;
        virtual void Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
        virtual void Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
        virtual void StateChanged( StateChangedType nStateChange ) override;
        virtual void DataChanged( const DataChangedEvent& _rEvent ) override;
        virtual void Resize() override;
diff --git a/include/vcl/button.hxx b/include/vcl/button.hxx
index 39a397e..a702a79 100644
--- a/include/vcl/button.hxx
+++ b/include/vcl/button.hxx
@@ -122,7 +122,7 @@ public:
    virtual void    KeyInput( const KeyEvent& rKEvt ) override;
    virtual void    KeyUp( const KeyEvent& rKEvt ) override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    GetFocus() override;
    virtual void    LoseFocus() override;
@@ -310,7 +310,7 @@ public:
    virtual void    KeyInput( const KeyEvent& rKEvt ) override;
    virtual void    KeyUp( const KeyEvent& rKEvt ) override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    GetFocus() override;
    virtual void    LoseFocus() override;
@@ -418,7 +418,7 @@ public:
    virtual void    KeyInput( const KeyEvent& rKEvt ) override;
    virtual void    KeyUp( const KeyEvent& rKEvt ) override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    GetFocus() override;
    virtual void    LoseFocus() override;
diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx
index 66304d3..e48c574 100644
--- a/include/vcl/edit.hxx
+++ b/include/vcl/edit.hxx
@@ -157,7 +157,7 @@ public:
    virtual void        KeyInput( const KeyEvent& rKEvt ) override;
    virtual void        Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void        Resize() override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void        GetFocus() override;
    virtual void        LoseFocus() override;
    virtual void        Tracking( const TrackingEvent& rTEvt ) override;
diff --git a/include/vcl/fixed.hxx b/include/vcl/fixed.hxx
index fc15639..9c40055 100644
--- a/include/vcl/fixed.hxx
+++ b/include/vcl/fixed.hxx
@@ -59,7 +59,7 @@ public:
    virtual void    ApplySettings(vcl::RenderContext& rRenderContext) override;

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
@@ -107,7 +107,7 @@ public:
    virtual void    ApplySettings(vcl::RenderContext&) override;

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
@@ -132,7 +132,7 @@ public:
    virtual void    ApplySettings(vcl::RenderContext&) override;

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
@@ -161,7 +161,7 @@ public:
    virtual void    ApplySettings(vcl::RenderContext&) override;

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
diff --git a/include/vcl/headbar.hxx b/include/vcl/headbar.hxx
index 1a803a9..12d5c59 100644
--- a/include/vcl/headbar.hxx
+++ b/include/vcl/headbar.hxx
@@ -258,7 +258,7 @@ public:
    virtual void        MouseMove( const MouseEvent& rMEvt ) override;
    virtual void        Tracking( const TrackingEvent& rTEvt ) override;
    virtual void        Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void        Resize() override;
    virtual void        Command( const CommandEvent& rCEvt ) override;
    virtual void        RequestHelp( const HelpEvent& rHEvt ) override;
diff --git a/include/vcl/lstbox.hxx b/include/vcl/lstbox.hxx
index b8df2ab..c145f08 100644
--- a/include/vcl/lstbox.hxx
+++ b/include/vcl/lstbox.hxx
@@ -123,7 +123,7 @@ public:
    virtual void        dispose() override;

    virtual void        ApplySettings(vcl::RenderContext& rRenderContext) override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void        Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void        Resize() override;
    virtual bool        PreNotify( NotifyEvent& rNEvt ) override;
    virtual void        StateChanged( StateChangedType nType ) override;
diff --git a/include/vcl/scrbar.hxx b/include/vcl/scrbar.hxx
index 68fdf08..e3474ee 100644
--- a/include/vcl/scrbar.hxx
+++ b/include/vcl/scrbar.hxx
@@ -93,7 +93,7 @@ public:
    virtual void Tracking(const TrackingEvent& rTEvt) override;
    virtual void KeyInput(const KeyEvent& rKEvt) override;
    virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
    virtual void Draw(OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags) override;
    virtual void Draw(OutputDevice* pDev, const Point& rPos, DrawFlags nFlags) override;
    virtual void Move() override;
    virtual void Resize() override;
    virtual void StateChanged(StateChangedType nType) override;
diff --git a/include/vcl/spinfld.hxx b/include/vcl/spinfld.hxx
index 217e70d..7ef61be 100644
--- a/include/vcl/spinfld.hxx
+++ b/include/vcl/spinfld.hxx
@@ -44,7 +44,7 @@ public:
    virtual void    MouseButtonUp( const MouseEvent& rMEvt ) override;
    virtual void    MouseMove( const MouseEvent& rMEvt ) override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index fd2cf24..0dc11e4 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -42,7 +42,7 @@ public:
    virtual void    dispose() override;

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;

    virtual void    StateChanged( StateChangedType nStateChange ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
diff --git a/include/vcl/toolkit/combobox.hxx b/include/vcl/toolkit/combobox.hxx
index 81bd8c2..9541b11 100644
--- a/include/vcl/toolkit/combobox.hxx
+++ b/include/vcl/toolkit/combobox.hxx
@@ -58,7 +58,7 @@ public:
    virtual         ~ComboBox() override;
    virtual void    dispose() override;

    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual bool    EventNotify( NotifyEvent& rNEvt ) override;
    virtual void    StateChanged( StateChangedType nType ) override;
diff --git a/include/vcl/toolkit/dialog.hxx b/include/vcl/toolkit/dialog.hxx
index c16d63e..c663f21 100644
--- a/include/vcl/toolkit/dialog.hxx
+++ b/include/vcl/toolkit/dialog.hxx
@@ -86,7 +86,7 @@ public:
protected:
    explicit        Dialog( WindowType nType );
    explicit        Dialog( vcl::Window* pParent, const OUString& rID, const OUString& rUIXMLDescription);
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    settingOptimalLayoutSize(Window *pBox) override;

protected:
diff --git a/include/vcl/toolkit/group.hxx b/include/vcl/toolkit/group.hxx
index 29a5cfa..2bbd344 100644
--- a/include/vcl/toolkit/group.hxx
+++ b/include/vcl/toolkit/group.hxx
@@ -49,7 +49,7 @@ public:
    explicit        GroupBox( vcl::Window* pParent, WinBits nStyle );

    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Resize() override;
    virtual void    StateChanged( StateChangedType nType ) override;
    virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
diff --git a/include/vcl/toolkit/imgctrl.hxx b/include/vcl/toolkit/imgctrl.hxx
index 6e7f2c5..00ac76f 100644
--- a/include/vcl/toolkit/imgctrl.hxx
+++ b/include/vcl/toolkit/imgctrl.hxx
@@ -41,7 +41,7 @@ public:
    ::sal_Int16     GetScaleMode() const { return mnScaleMode; }

    virtual void    Resize() override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    GetFocus() override;
    virtual void    LoseFocus() override;
diff --git a/include/vcl/toolkit/spin.hxx b/include/vcl/toolkit/spin.hxx
index beafb90..cc68f9d 100644
--- a/include/vcl/toolkit/spin.hxx
+++ b/include/vcl/toolkit/spin.hxx
@@ -61,7 +61,7 @@ public:

    virtual void    Resize() override;
    virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
    virtual void    MouseButtonDown( const MouseEvent& rMEvt ) override;
    virtual void    MouseButtonUp( const MouseEvent& rMEvt ) override;
    virtual void    MouseMove( const MouseEvent& rMEvt ) override;
diff --git a/include/vcl/vclmedit.hxx b/include/vcl/vclmedit.hxx
index 61367af..307d218 100644
--- a/include/vcl/vclmedit.hxx
+++ b/include/vcl/vclmedit.hxx
@@ -158,7 +158,7 @@ public:
    Size            CalcBlockSize( sal_uInt16 nColumns, sal_uInt16 nLines ) const;
    void            GetMaxVisColumnsAndLines( sal_uInt16& rnCols, sal_uInt16& rnLines ) const;

    void            Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    void            Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;

    void            DisableSelectionOnFocus();

diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index 4b484ea..360c982 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -786,7 +786,7 @@ public:
    using OutputDevice::Erase;
    void                                Erase(vcl::RenderContext& rRenderContext);

    virtual void                        Draw( ::OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags );
    virtual void                        Draw( ::OutputDevice* pDev, const Point& rPos, DrawFlags nFlags );
    virtual void                        Move();
    virtual void                        Resize();
    virtual void                        Activate();
diff --git a/svtools/source/brwbox/brwbox2.cxx b/svtools/source/brwbox/brwbox2.cxx
index 92cd50a..e9e7251 100644
--- a/svtools/source/brwbox/brwbox2.cxx
+++ b/svtools/source/brwbox/brwbox2.cxx
@@ -631,14 +631,13 @@ void BrowseBox::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle
    }
}


void BrowseBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void BrowseBox::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    // we need pixel coordinates
    Size aRealSize = pDev->LogicToPixel(rSize);
    Size aRealSize = GetSizePixel();
    Point aRealPos = pDev->LogicToPixel(rPos);

    if ((rSize.Width() < 3) || (rSize.Height() < 3))
    if ((aRealSize.Width() < 3) || (aRealSize.Height() < 3))
        // we want to have two pixels frame ...
        return;

@@ -712,9 +711,11 @@ void BrowseBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, 

        // the header's draw expects logic coordinates, again
        aHeaderPos = pDev->PixelToLogic(aHeaderPos);
        aHeaderSize = pDev->PixelToLogic(aHeaderSize);

        pBar->Draw(pDev, aHeaderPos, aHeaderSize, nFlags);
        Size aOrigSize(pBar->GetSizePixel());
        pBar->SetSizePixel(aHeaderSize);
        pBar->Draw(pDev, aHeaderPos, nFlags);
        pBar->SetSizePixel(aOrigSize);

        // draw the "upper left cell" (the intersection between the header bar and the handle column)
        if (pFirstCol && (pFirstCol->GetId() == 0) && (pFirstCol->Width() > 4))
@@ -771,7 +772,6 @@ void BrowseBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, 
    pDev->Pop();
}


void BrowseBox::ImplPaintData(OutputDevice& _rOut, const tools::Rectangle& _rRect, bool _bForeignDevice)
{
    Point aOverallAreaPos = _bForeignDevice ? _rRect.TopLeft() : Point(0,0);
diff --git a/svtools/source/brwbox/ebbcontrols.cxx b/svtools/source/brwbox/ebbcontrols.cxx
index 9c39882..2c6291f 100644
--- a/svtools/source/brwbox/ebbcontrols.cxx
+++ b/svtools/source/brwbox/ebbcontrols.cxx
@@ -228,13 +228,11 @@ namespace svt
            pBox->SetZoom(GetZoom());
    }


    void CheckBoxControl::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
    void CheckBoxControl::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
    {
        pBox->Draw(pDev,rPos,rSize,nFlags);
        pBox->Draw(pDev, rPos, nFlags);
    }


    void CheckBoxControl::GetFocus()
    {
        if (pBox)
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 0700e03..fcbb633 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -946,7 +946,6 @@ void DbCellControl::AlignControl(sal_Int16 nAlignment)
        lcl_implAlign( m_pPainter, nAlignmentBit );
}


void DbCellControl::PaintCell( OutputDevice& _rDev, const tools::Rectangle& _rRect )
{
    if ( m_pPainter->GetParent() == &_rDev )
@@ -970,10 +969,12 @@ void DbCellControl::PaintCell( OutputDevice& _rDev, const tools::Rectangle& _rRe
        m_pPainter->SetParentUpdateMode( true );
    }
    else
        m_pPainter->Draw( &_rDev, _rRect.TopLeft(), _rRect.GetSize(), DrawFlags::NONE );
    {
        m_pPainter->SetSizePixel( _rRect.GetSize() );
        m_pPainter->Draw( &_rDev, _rRect.TopLeft(), DrawFlags::NONE );
    }
}


void DbCellControl::PaintFieldToCell( OutputDevice& _rDev, const tools::Rectangle& _rRect, const Reference< XColumn >& _rxField, const Reference< XNumberFormatter >& _rxFormatter )
{
    m_pPainter->SetText( GetFormatText( _rxField, _rxFormatter ) );
diff --git a/sw/inc/AnnotationWin.hxx b/sw/inc/AnnotationWin.hxx
index 50d2eb0..080d8de 100644
--- a/sw/inc/AnnotationWin.hxx
+++ b/sw/inc/AnnotationWin.hxx
@@ -176,7 +176,7 @@ class SAL_DLLPUBLIC_RTTI SwAnnotationWin : public vcl::Window
        void ChangeSidebarItem( SwSidebarItem const & rSidebarItem );
        virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override;

        virtual void    Draw(OutputDevice* pDev, const Point&, const Size&, DrawFlags) override;
        virtual void    Draw(OutputDevice* pDev, const Point&, DrawFlags) override;
        virtual void KeyInput(const KeyEvent& rKeyEvt) override;
        virtual void MouseButtonDown(const MouseEvent& rMouseEvent) override;
        virtual void MouseButtonUp(const MouseEvent& rMouseEvent) override;
diff --git a/sw/source/uibase/docvw/AnnotationWin2.cxx b/sw/source/uibase/docvw/AnnotationWin2.cxx
index 335cee0..2801159 100644
--- a/sw/source/uibase/docvw/AnnotationWin2.cxx
+++ b/sw/source/uibase/docvw/AnnotationWin2.cxx
@@ -257,52 +257,52 @@ void SwAnnotationWin::SetCursorLogicPosition(const Point& rPosition, bool bPoint
    mpSidebarTextControl->Pop();
}

void SwAnnotationWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, DrawFlags nInFlags)
void SwAnnotationWin::Draw(OutputDevice* pDev, const Point& rPt, DrawFlags nInFlags)
{
    Size aSz = pDev->PixelToLogic(GetSizePixel());

    if (mpMetadataAuthor->IsVisible() )
    {
        pDev->SetFillColor(mColorDark);
        pDev->SetLineColor();
        pDev->DrawRect( tools::Rectangle( rPt, rSz ) );
        pDev->DrawRect( tools::Rectangle( rPt, aSz ) );
    }

    if (mpMetadataAuthor->IsVisible())
    {
        vcl::Font aOrigFont(mpMetadataAuthor->GetControlFont());
        Size aSize(PixelToLogic(mpMetadataAuthor->GetSizePixel()));
        Point aPos(PixelToLogic(mpMetadataAuthor->GetPosPixel()));
        aPos += rPt;
        vcl::Font aFont( mpMetadataAuthor->GetSettings().GetStyleSettings().GetFieldFont() );
        mpMetadataAuthor->SetControlFont( aFont );
        mpMetadataAuthor->Draw(pDev, aPos, aSize, nInFlags);
        mpMetadataAuthor->Draw(pDev, aPos, nInFlags);
        mpMetadataAuthor->SetControlFont( aOrigFont );
    }

    if (mpMetadataDate->IsVisible())
    {
        vcl::Font aOrigFont(mpMetadataDate->GetControlFont());
        Size aSize(PixelToLogic(mpMetadataDate->GetSizePixel()));
        Point aPos(PixelToLogic(mpMetadataDate->GetPosPixel()));
        aPos += rPt;
        vcl::Font aFont( mpMetadataDate->GetSettings().GetStyleSettings().GetFieldFont() );
        mpMetadataDate->SetControlFont( aFont );
        mpMetadataDate->Draw(pDev, aPos, aSize, nInFlags);
        mpMetadataDate->SetControlFont( aOrigFont );
    }

    if (mpMetadataResolved->IsVisible())
    {
        vcl::Font aOrigFont(mpMetadataResolved->GetControlFont());
        Size aSize(PixelToLogic(mpMetadataResolved->GetSizePixel()));
        Point aPos(PixelToLogic(mpMetadataResolved->GetPosPixel()));
        aPos += rPt;
        vcl::Font aFont( mpMetadataResolved->GetSettings().GetStyleSettings().GetFieldFont() );
        mpMetadataResolved->SetControlFont( aFont );
        mpMetadataResolved->Draw(pDev, aPos, aSize, nInFlags);
        mpMetadataResolved->SetControlFont( aOrigFont );
    }

    mpSidebarTextControl->Draw(pDev, rPt, rSz, nInFlags);
    Size aOrigSize(mpSidebarTextControl->GetSizePixel());
    mpSidebarTextControl->SetSizePixel(aSz);
    mpSidebarTextControl->Draw(pDev, rPt, nInFlags);
    mpSidebarTextControl->SetSizePixel(aOrigSize);

    const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
    std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor(
@@ -322,7 +322,6 @@ void SwAnnotationWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz
    Color aOrigBg( mpMetadataDate->GetControlBackground() );
    OUString sOrigText(mpMetadataDate->GetText());

    Size aSize(PixelToLogic(mpMenuButton->GetSizePixel()));
    Point aPos(PixelToLogic(mpMenuButton->GetPosPixel()));
    aPos += rPt;

@@ -330,12 +329,14 @@ void SwAnnotationWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz
    mpMetadataDate->SetControlFont( aFont );
    mpMetadataDate->SetControlBackground( Color(0xFFFFFF) );
    mpMetadataDate->SetText("...");
    mpMetadataDate->Draw(pDev, aPos, aSize, nInFlags);
    aOrigSize = mpMetadataDate->GetSizePixel();
    mpMetadataDate->SetSizePixel(mpMenuButton->GetSizePixel());
    mpMetadataDate->Draw(pDev, aPos, nInFlags);
    mpMetadataDate->SetSizePixel(aOrigSize);

    mpMetadataDate->SetText(sOrigText);
    mpMetadataDate->SetControlFont( aOrigFont );
    mpMetadataDate->SetControlBackground( aOrigBg );

}

void SwAnnotationWin::KeyInput(const KeyEvent& rKeyEvent)
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 2c96a04..1d68a7c 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -963,8 +963,7 @@ void SwPostItMgr::DrawNotesForPage(OutputDevice *pOutDev, sal_uInt32 nPage)
        if (!pPostIt)
            continue;
        Point aPoint(mpEditWin->PixelToLogic(pPostIt->GetPosPixel()));
        Size aSize(pPostIt->PixelToLogic(pPostIt->GetSizePixel()));
        pPostIt->Draw(pOutDev, aPoint, aSize, DrawFlags::NONE);
        pPostIt->Draw(pOutDev, aPoint, DrawFlags::NONE);
    }
}

diff --git a/sw/source/uibase/docvw/SidebarTxtControl.cxx b/sw/source/uibase/docvw/SidebarTxtControl.cxx
index 544b3c6..65c67d0 100644
--- a/sw/source/uibase/docvw/SidebarTxtControl.cxx
+++ b/sw/source/uibase/docvw/SidebarTxtControl.cxx
@@ -129,11 +129,10 @@ void SidebarTextControl::RequestHelp(const HelpEvent &rEvt)
    }
}

void SidebarTextControl::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, DrawFlags)
void SidebarTextControl::Draw(OutputDevice* pDev, const Point& rPt, DrawFlags)
{
    //Take the control's height, but overwrite the scrollbar area if there was one
    Size aSize(PixelToLogic(GetSizePixel()));
    aSize.setWidth( rSz.Width() );

    if ( GetTextView() )
    {
diff --git a/sw/source/uibase/docvw/SidebarTxtControl.hxx b/sw/source/uibase/docvw/SidebarTxtControl.hxx
index af2d2ff..ab9c760 100644
--- a/sw/source/uibase/docvw/SidebarTxtControl.hxx
+++ b/sw/source/uibase/docvw/SidebarTxtControl.hxx
@@ -67,7 +67,7 @@ class SidebarTextControl : public Control

        virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override;

        virtual void Draw(OutputDevice* pDev, const Point&, const Size&, DrawFlags) override;
        virtual void Draw(OutputDevice* pDev, const Point&, DrawFlags) override;
};

} // end of namespace sw::sidebarwindows
diff --git a/toolkit/inc/controls/filectrl.hxx b/toolkit/inc/controls/filectrl.hxx
index 2aea66f..1ffcb67 100644
--- a/toolkit/inc/controls/filectrl.hxx
+++ b/toolkit/inc/controls/filectrl.hxx
@@ -58,7 +58,7 @@ public:
    Edit&           GetEdit() { return *maEdit; }
    PushButton&     GetButton() { return *maButton; }

    void            Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags ) override;
    void            Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;

    void            SetText( const OUString& rStr ) override;
    OUString        GetText() const override;
diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx b/toolkit/source/awt/vclxtabpagecontainer.cxx
index bc5d199..d51fedc 100644
--- a/toolkit/source/awt/vclxtabpagecontainer.cxx
+++ b/toolkit/source/awt/vclxtabpagecontainer.cxx
@@ -64,12 +64,8 @@ void SAL_CALL VCLXTabPageContainer::draw( sal_Int32 nX, sal_Int32 nY )
        if (pTabPage && pDev)
        {
            ::Point aPos( nX, nY );
            ::Size  aSize = pTabPage->GetSizePixel();

            aPos  = pDev->PixelToLogic( aPos );
            aSize = pDev->PixelToLogic( aSize );

            pTabPage->Draw( pDev, aPos, aSize, DrawFlags::NONE );
            pTabPage->Draw( pDev, aPos, DrawFlags::NONE );
        }
    }

diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx
index 8aeb3a4..8c7b306 100644
--- a/toolkit/source/awt/vclxwindow.cxx
+++ b/toolkit/source/awt/vclxwindow.cxx
@@ -2217,12 +2217,8 @@ void VCLXWindow::draw( sal_Int32 nX, sal_Int32 nY )
        if ( pTabPage )
        {
            Point aPos( nX, nY );
            Size  aSize = pWindow->GetSizePixel();

            aPos  = pDev->PixelToLogic( aPos );
            aSize = pDev->PixelToLogic( aSize );

            pTabPage->Draw( pDev, aPos, aSize, DrawFlags::NONE );
            aPos = pDev->PixelToLogic( aPos );
            pTabPage->Draw( pDev, aPos, DrawFlags::NONE );
            return;
        }

@@ -2269,8 +2265,6 @@ void VCLXWindow::draw( sal_Int32 nX, sal_Int32 nY )
        }
        else if ( pDev )
        {
            Size aSz = pWindow->GetSizePixel();
            aSz = pDev->PixelToLogic( aSz );
            Point aP = pDev->PixelToLogic( aPos );

            vcl::PDFExtOutDevData* pPDFExport   = dynamic_cast<vcl::PDFExtOutDevData*>(pDev->GetExtOutDevData());
@@ -2279,7 +2273,7 @@ void VCLXWindow::draw( sal_Int32 nX, sal_Int32 nY )
                               || ( pPDFExport != nullptr );
            if ( bDrawSimple )
            {
                pWindow->Draw( pDev, aP, aSz, DrawFlags::NoControls );
                pWindow->Draw( pDev, aP, DrawFlags::NoControls );
            }
            else
            {
diff --git a/toolkit/source/awt/vclxwindows.cxx b/toolkit/source/awt/vclxwindows.cxx
index ab19052..fd47e1d 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -2386,10 +2386,8 @@ void SAL_CALL VCLXDialog::draw( sal_Int32 nX, sal_Int32 nY )
        if ( !pDev )
            pDev = pWindow->GetParent();

        Size aSize = pDev->PixelToLogic( pWindow->GetSizePixel() );
        Point aPos = pDev->PixelToLogic( Point( nX, nY ) );

        pWindow->Draw( pDev, aPos, aSize, DrawFlags::NoControls );
        pWindow->Draw( pDev, aPos, DrawFlags::NoControls );
    }
}

@@ -2509,10 +2507,8 @@ void SAL_CALL VCLXMultiPage::draw( sal_Int32 nX, sal_Int32 nY )
        if ( !pDev )
            pDev = pWindow->GetParent();

        Size aSize = pDev->PixelToLogic( pWindow->GetSizePixel() );
        Point aPos = pDev->PixelToLogic( Point( nX, nY ) );

        pWindow->Draw( pDev, aPos, aSize, DrawFlags::NoControls );
        pWindow->Draw( pDev, aPos, DrawFlags::NoControls );
    }
}

@@ -2756,10 +2752,8 @@ void SAL_CALL VCLXTabPage::draw( sal_Int32 nX, sal_Int32 nY )
        if ( !pDev )
            pDev = pWindow->GetParent();

        Size aSize = pDev->PixelToLogic( pWindow->GetSizePixel() );
        Point aPos = pDev->PixelToLogic( Point( nX, nY ) );

        pWindow->Draw( pDev, aPos, aSize, DrawFlags::NoControls );
        pWindow->Draw( pDev, aPos, DrawFlags::NoControls );
    }
}

@@ -6618,10 +6612,8 @@ void SAL_CALL VCLXFrame::draw( sal_Int32 nX, sal_Int32 nY )
        if ( !pDev )
            pDev = pWindow->GetParent();

        Size aSize = pDev->PixelToLogic( pWindow->GetSizePixel() );
        Point aPos = pDev->PixelToLogic( Point( nX, nY ) );

        pWindow->Draw( pDev, aPos, aSize, DrawFlags::NoControls );
        pWindow->Draw( pDev, aPos, DrawFlags::NoControls );
    }
}

diff --git a/toolkit/source/controls/filectrl.cxx b/toolkit/source/controls/filectrl.cxx
index 3757f91..9f6dce0 100644
--- a/toolkit/source/controls/filectrl.cxx
+++ b/toolkit/source/controls/filectrl.cxx
@@ -187,12 +187,15 @@ void FileControl::SetEditModifyHdl( const Link<Edit&,void>& rLink )
    maEdit->SetModifyHdl(rLink);
}

void FileControl::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void FileControl::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    WinBits nOldEditStyle = GetEdit().GetStyle();
    if ( GetStyle() & WB_BORDER )
        GetEdit().SetStyle( nOldEditStyle|WB_BORDER );
    GetEdit().Draw( pDev, rPos, rSize, nFlags );
    Size aOrigSize(GetEdit().GetSizePixel());
    GetEdit().SetSizePixel(GetSizePixel());
    GetEdit().Draw( pDev, rPos, nFlags );
    GetEdit().SetSizePixel(aOrigSize);
    if ( GetStyle() & WB_BORDER )
        GetEdit().SetStyle( nOldEditStyle );
}
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index a0b65b9..e6d52df 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -1288,11 +1288,11 @@ void PushButton::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangl
    ImplDrawPushButton(rRenderContext);
}

void PushButton::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void PushButton::Draw( OutputDevice* pDev, const Point& rPos,
                       DrawFlags nFlags )
{
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    tools::Rectangle   aRect( aPos, aSize );
    vcl::Font   aFont = GetDrawPixelFont( pDev );

@@ -2349,14 +2349,14 @@ void RadioButton::Paint( vcl::RenderContext& rRenderContext, const tools::Rectan
    ImplDrawRadioButton(rRenderContext);
}

void RadioButton::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void RadioButton::Draw( OutputDevice* pDev, const Point& rPos,
                        DrawFlags nFlags )
{
    if ( !maImage )
    {
        MapMode     aResMapMode( MapUnit::Map100thMM );
        Point       aPos  = pDev->LogicToPixel( rPos );
        Size        aSize = pDev->LogicToPixel( rSize );
        Size        aSize = GetSizePixel();
        Size        aImageSize = pDev->LogicToPixel( Size( 300, 300 ), aResMapMode );
        Size        aBrd1Size = pDev->LogicToPixel( Size( 20, 20 ), aResMapMode );
        Size        aBrd2Size = pDev->LogicToPixel( Size( 60, 60 ), aResMapMode );
@@ -3197,12 +3197,12 @@ void CheckBox::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&
    ImplDrawCheckBox(rRenderContext);
}

void CheckBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void CheckBox::Draw( OutputDevice* pDev, const Point& rPos,
                     DrawFlags nFlags )
{
    MapMode     aResMapMode( MapUnit::Map100thMM );
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    Size        aImageSize = pDev->LogicToPixel( Size( 300, 300 ), aResMapMode );
    Size        aBrd1Size = pDev->LogicToPixel( Size( 20, 20 ), aResMapMode );
    Size        aBrd2Size = pDev->LogicToPixel( Size( 30, 30 ), aResMapMode );
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 1ca1d39..18913f7 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -1145,12 +1145,12 @@ void ComboBox::GetMaxVisColumnsAndLines( sal_uInt16& rnCols, sal_uInt16& rnLines
    }
}

void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    m_pImpl->m_pImplLB->GetMainWindow()->ApplySettings(*pDev);

    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();
    vcl::Font aFont = m_pImpl->m_pImplLB->GetMainWindow()->GetDrawPixelFont( pDev );

    pDev->Push();
@@ -1187,7 +1187,10 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, D
        DrawTextFlags nTextStyle = DrawTextFlags::VCenter;

        // First, draw the edit part
        m_pImpl->m_pSubEdit->Draw( pDev, aPos, Size( aSize.Width(), nEditHeight ), nFlags );
        Size aOrigSize(m_pImpl->m_pSubEdit->GetSizePixel());
        m_pImpl->m_pSubEdit->SetSizePixel(Size(aSize.Width(), nEditHeight));
        m_pImpl->m_pSubEdit->Draw( pDev, aPos, nFlags );
        m_pImpl->m_pSubEdit->SetSizePixel(aOrigSize);

        // Second, draw the listbox
        if ( GetStyle() & WB_CENTER )
@@ -1242,10 +1245,12 @@ void ComboBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, D
    // Call Edit::Draw after restoring the MapMode...
    if ( IsDropDownBox() )
    {
        m_pImpl->m_pSubEdit->Draw( pDev, rPos, rSize, nFlags );
        Size aOrigSize(m_pImpl->m_pSubEdit->GetSizePixel());
        m_pImpl->m_pSubEdit->SetSizePixel(GetSizePixel());
        m_pImpl->m_pSubEdit->Draw( pDev, rPos, nFlags );
        m_pImpl->m_pSubEdit->SetSizePixel(aOrigSize);
        // DD-Button ?
    }

}

void ComboBox::SetUserDrawHdl(const Link<UserDrawEvent*, void>& rLink)
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index 3f8cbaf..fe79d66 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -1733,12 +1733,12 @@ void Edit::Resize()
    }
}

void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void Edit::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    ApplySettings(*pDev);

    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();
    vcl::Font aFont = GetDrawPixelFont( pDev );

    pDev->Push();
@@ -1817,7 +1817,10 @@ void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawF

    if ( GetSubEdit() )
    {
        GetSubEdit()->Draw( pDev, rPos, rSize, nFlags );
        Size aOrigSize(GetSubEdit()->GetSizePixel());
        GetSubEdit()->SetSizePixel(GetSizePixel());
        GetSubEdit()->Draw(pDev, rPos, nFlags);
        GetSubEdit()->SetSizePixel(aOrigSize);
    }
}

diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx
index d64494e..4a3b7c1 100644
--- a/vcl/source/control/fixed.cxx
+++ b/vcl/source/control/fixed.cxx
@@ -199,13 +199,13 @@ void FixedText::Paint( vcl::RenderContext& rRenderContext, const tools::Rectangl
    ImplDraw(&rRenderContext, DrawFlags::NONE, Point(), GetOutputSizePixel());
}

void FixedText::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void FixedText::Draw( OutputDevice* pDev, const Point& rPos,
                      DrawFlags nFlags )
{
    ApplySettings(*pDev);

    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    vcl::Font   aFont = GetDrawPixelFont( pDev );

    pDev->Push();
@@ -590,7 +590,7 @@ void FixedLine::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle
    ImplDraw(rRenderContext);
}

void FixedLine::Draw( OutputDevice*, const Point&, const Size&, DrawFlags )
void FixedLine::Draw( OutputDevice*, const Point&, DrawFlags )
{
}

@@ -719,11 +719,11 @@ void FixedBitmap::Paint(vcl::RenderContext& rRenderContext, const tools::Rectang
    ImplDraw(&rRenderContext, Point(), GetOutputSizePixel());
}

void FixedBitmap::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void FixedBitmap::Draw( OutputDevice* pDev, const Point& rPos,
                        DrawFlags )
{
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    tools::Rectangle   aRect( aPos, aSize );

    pDev->Push();
@@ -866,11 +866,11 @@ Size FixedImage::GetOptimalSize() const
    return maImage.GetSizePixel();
}

void FixedImage::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void FixedImage::Draw( OutputDevice* pDev, const Point& rPos,
                       DrawFlags )
{
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    tools::Rectangle   aRect( aPos, aSize );

    pDev->Push();
diff --git a/vcl/source/control/imgctrl.cxx b/vcl/source/control/imgctrl.cxx
index 3c60d92..4ecda5b 100644
--- a/vcl/source/control/imgctrl.cxx
+++ b/vcl/source/control/imgctrl.cxx
@@ -149,10 +149,10 @@ void ImageControl::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan

}

void ImageControl::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags )
void ImageControl::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags )
{
    const Point     aPos  = pDev->LogicToPixel( rPos );
    const Size      aSize = pDev->LogicToPixel( rSize );
    const Size      aSize = GetSizePixel();
    tools::Rectangle aRect( aPos, aSize );

    pDev->Push();
diff --git a/vcl/source/control/listbox.cxx b/vcl/source/control/listbox.cxx
index 7dae303..ff80f575 100644
--- a/vcl/source/control/listbox.cxx
+++ b/vcl/source/control/listbox.cxx
@@ -315,12 +315,12 @@ void ListBox::ApplySettings(vcl::RenderContext& rRenderContext)
    rRenderContext.SetBackground();
}

void ListBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void ListBox::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    mpImplLB->GetMainWindow()->ApplySettings(*pDev);

    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();
    vcl::Font aFont = mpImplLB->GetMainWindow()->GetDrawPixelFont( pDev );

    pDev->Push();
diff --git a/vcl/source/control/scrbar.cxx b/vcl/source/control/scrbar.cxx
index 6d313b0..8e00846 100644
--- a/vcl/source/control/scrbar.cxx
+++ b/vcl/source/control/scrbar.cxx
@@ -370,7 +370,7 @@ void ScrollBar::ImplCalc( bool bUpdate )
    ImplUpdateRects( bUpdate );
}

void ScrollBar::Draw( OutputDevice* pDev, const Point& rPos, const Size& /* rSize */, DrawFlags nFlags )
void ScrollBar::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    Point aPos  = pDev->LogicToPixel( rPos );

diff --git a/vcl/source/control/spinbtn.cxx b/vcl/source/control/spinbtn.cxx
index 826cb31..35e67a1 100644
--- a/vcl/source/control/spinbtn.cxx
+++ b/vcl/source/control/spinbtn.cxx
@@ -120,10 +120,10 @@ void SpinButton::Resize()
    Invalidate();
}

void SpinButton::Draw(OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags)
void SpinButton::Draw(OutputDevice* pDev, const Point& rPos, DrawFlags nFlags)
{
    Point aPos  = pDev->LogicToPixel(rPos);
    Size aSize = pDev->LogicToPixel(rSize);
    Size aSize = GetSizePixel();

    pDev->Push();
    pDev->SetMapMode();
diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx
index 2d91b22..175c082 100644
--- a/vcl/source/control/spinfld.cxx
+++ b/vcl/source/control/spinfld.cxx
@@ -952,16 +952,16 @@ IMPL_LINK( SpinField, ImplTimeout, Timer*, pTimer, void )
    }
}

void SpinField::Draw(OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags)
void SpinField::Draw(OutputDevice* pDev, const Point& rPos, DrawFlags nFlags)
{
    Edit::Draw(pDev, rPos, rSize, nFlags);
    Edit::Draw(pDev, rPos, nFlags);

    WinBits nFieldStyle = GetStyle();
    if ( (nFlags & DrawFlags::NoControls ) || !( nFieldStyle & (WB_SPIN|WB_DROPDOWN) ) )
        return;

    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();
    AllSettings aOldSettings = pDev->GetSettings();

    pDev->Push();
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index fe768e8..021ef76 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -1301,12 +1301,12 @@ void VclMultiLineEdit::DataChanged( const DataChangedEvent& rDCEvt )
        Control::DataChanged( rDCEvt );
}

void VclMultiLineEdit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags nFlags )
void VclMultiLineEdit::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags )
{
    ImplInitSettings(true);

    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();

    vcl::Font aFont = pImpVclMEdit->GetTextWindow()->GetDrawPixelFont(pDev);
    aFont.SetTransparent( true );
diff --git a/vcl/source/toolkit/group.cxx b/vcl/source/toolkit/group.cxx
index 0743518..ef7b287 100644
--- a/vcl/source/toolkit/group.cxx
+++ b/vcl/source/toolkit/group.cxx
@@ -178,11 +178,11 @@ void GroupBox::Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle
    ImplDraw(&rRenderContext, DrawFlags::NONE, Point(), GetOutputSizePixel());
}

void GroupBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void GroupBox::Draw( OutputDevice* pDev, const Point& rPos,
                     DrawFlags nFlags )
{
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    vcl::Font   aFont = GetDrawPixelFont( pDev );

    pDev->Push();
diff --git a/vcl/source/treelist/headbar.cxx b/vcl/source/treelist/headbar.cxx
index 6f9ec3a..e87790e 100644
--- a/vcl/source/treelist/headbar.cxx
+++ b/vcl/source/treelist/headbar.cxx
@@ -874,11 +874,11 @@ void HeaderBar::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle
        ImplDrawItem(rRenderContext, i, (i == nCurItemPos), &rRect);
}

void HeaderBar::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
void HeaderBar::Draw( OutputDevice* pDev, const Point& rPos,
                      DrawFlags nFlags )
{
    Point       aPos  = pDev->LogicToPixel( rPos );
    Size        aSize = pDev->LogicToPixel( rSize );
    Size        aSize = GetSizePixel();
    tools::Rectangle   aRect( aPos, aSize );
    vcl::Font   aFont = GetDrawPixelFont( pDev );

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 53f2a4e..b1d06a5 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1301,10 +1301,10 @@ void Dialog::GetDrawWindowBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder,
    aImplWin->GetBorder( rLeftBorder, rTopBorder, rRightBorder, rBottomBorder );
}

void Dialog::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags )
void Dialog::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags )
{
    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();

    Wallpaper aWallpaper = GetBackground();
    if ( !aWallpaper.IsBitmap() )
diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx
index 365feaf..e4d09cc 100644
--- a/vcl/source/window/tabpage.cxx
+++ b/vcl/source/window/tabpage.cxx
@@ -141,10 +141,10 @@ void TabPage::Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle&
    }
}

void TabPage::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags )
void TabPage::Draw( OutputDevice* pDev, const Point& rPos, DrawFlags )
{
    Point aPos = pDev->LogicToPixel( rPos );
    Size aSize = pDev->LogicToPixel( rSize );
    Size aSize = GetSizePixel();

    Wallpaper aWallpaper = GetBackground();
    if ( !aWallpaper.IsBitmap() )
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 648dbcf..82ce146 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -1821,7 +1821,7 @@ void Window::KeyUp( const KeyEvent& rKEvt )
        mpWindowImpl->mbKeyUp = true;
}

void Window::Draw( OutputDevice*, const Point&, const Size&, DrawFlags )
void Window::Draw( OutputDevice*, const Point&, DrawFlags )
{
}