include/vcl/outdev.hxx | 4 ++++ include/vcl/window.hxx | 1 + vcl/source/outdev/map.cxx | 14 ++++---------- vcl/source/window/window3.cxx | 9 ++++++++- 4 files changed, 17 insertions(+), 11 deletions(-)
New commits: commit fcc0fea62a6985699dfa88136f22cb19be6232bd Author: Adrien Ollier <adr.oll...@hotmail.fr> AuthorDate: Sun Nov 24 11:08:15 2019 +0100 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sun Jan 19 11:33:40 2020 +0100 tdf#74702: clean up of OutputDevice::SetMapMode All changes are formatted using clang-format utility. Change-Id: Icfa7ae22bc06e57c7f7cb512813966dcefd4fc40 Signed-off-by: Adrien Ollier <adr.oll...@hotmail.fr> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/83601 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index d0578b39095a..64ba3f135ad2 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -1673,6 +1673,10 @@ public: void SetRelativeMapMode( const MapMode& rNewMapMode ); const MapMode& GetMapMode() const { return maMapMode; } +protected: + virtual void ImplInitMapModeObjects(); + +public: // #i75163# basegfx::B2DHomMatrix GetViewTransformation() const; basegfx::B2DHomMatrix GetInverseViewTransformation() const; diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx index 8ea622a8898e..a78259c5f222 100644 --- a/include/vcl/window.hxx +++ b/include/vcl/window.hxx @@ -746,6 +746,7 @@ protected: void ImplClearFontData(bool bNewFontLists) override; void ImplRefreshFontData(bool bNewFontLists) override; + void ImplInitMapModeObjects() override; // FIXME: this is a hack to workaround missing layout functionality virtual void ImplAdjustNWFSizes(); diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx index 7ac99f6b4a37..92d9e63224e7 100644 --- a/vcl/source/outdev/map.cxx +++ b/vcl/source/outdev/map.cxx @@ -666,11 +666,7 @@ void OutputDevice::SetMapMode() // create new objects (clip region are not re-scaled) mbNewFont = true; mbInitFont = true; - if ( GetOutDevType() == OUTDEV_WINDOW ) - { - if ( static_cast<vcl::Window*>(this)->mpWindowImpl->mpCursor ) - static_cast<vcl::Window*>(this)->mpWindowImpl->mpCursor->ImplNew(); - } + ImplInitMapModeObjects(); // #106426# Adapt logical offset when changing mapmode mnOutOffLogicX = mnOutOffOrigX; // no mapping -> equal offsets @@ -760,11 +756,7 @@ void OutputDevice::SetMapMode( const MapMode& rNewMapMode ) // create new objects (clip region are not re-scaled) mbNewFont = true; mbInitFont = true; - if ( GetOutDevType() == OUTDEV_WINDOW ) - { - if ( static_cast<vcl::Window*>(this)->mpWindowImpl->mpCursor ) - static_cast<vcl::Window*>(this)->mpWindowImpl->mpCursor->ImplNew(); - } + ImplInitMapModeObjects(); // #106426# Adapt logical offset when changing mapmode mnOutOffLogicX = ImplPixelToLogic( mnOutOffOrigX, mnDPIX, @@ -778,6 +770,8 @@ void OutputDevice::SetMapMode( const MapMode& rNewMapMode ) ImplInvalidateViewTransform(); } +void OutputDevice::ImplInitMapModeObjects() {} + void OutputDevice::SetRelativeMapMode( const MapMode& rNewMapMode ) { // do nothing if MapMode did not change diff --git a/vcl/source/window/window3.cxx b/vcl/source/window/window3.cxx index 565a81eb292e..c99d085f41e5 100644 --- a/vcl/source/window/window3.cxx +++ b/vcl/source/window/window3.cxx @@ -20,6 +20,7 @@ #include <vcl/window.hxx> #include <vcl/waitobj.hxx> #include <window.h> +#include <vcl/cursor.hxx> WaitObject::~WaitObject() { @@ -55,7 +56,13 @@ void Window::ImplRefreshFontData(bool bNewFontLists) pChild->ImplRefreshFontData(bNewFontLists); } -} /* namespace vcl */ +void Window::ImplInitMapModeObjects() +{ + OutputDevice::ImplInitMapModeObjects(); + if (mpWindowImpl->mpCursor) + mpWindowImpl->mpCursor->ImplNew(); +} +} /* namespace vcl */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits