Resolves: tdf#149858 embedded starmath not using correct initial zoom
since...
commit ea21b870f8549d0110ef65187af50694a06458ca
Date: Mon Apr 19 15:22:22 2021 +0100
weld SmGraphicWindow
where the outer Window is not directly drawn into any more
Change-Id: I70f45590f0fb7ff2f7af80da8873d580d219aca4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138280
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index a8e02ad..99fb506 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -55,9 +55,6 @@ private:
DECL_LINK(ScrollHdl, weld::ScrolledWindow&, void);
void SetGraphicMapMode(const MapMode& rNewMapMode);
MapMode GetGraphicMapMode() const;
public:
explicit SmGraphicWindow(SmViewShell& rShell);
virtual void dispose() override;
@@ -74,6 +71,9 @@ public:
virtual void Resize() override;
void ShowContextMenu(const CommandEvent& rCEvt);
void SetGraphicMapMode(const MapMode& rNewMapMode);
MapMode GetGraphicMapMode() const;
SmGraphicWidget& GetGraphicWidget()
{
return *mxGraphic;
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 62e8b01..544a7dc 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -1037,8 +1037,12 @@ void SmViewShell::InnerResizePixel(const Point &rOfs, const Size &rSize, bool)
if ( !aObjSize.IsEmpty() )
{
Size aProvidedSize = GetWindow()->PixelToLogic(rSize, MapMode(MapUnit::Map100thMM));
SfxViewShell::SetZoomFactor( Fraction( aProvidedSize.Width(), aObjSize.Width() ),
Fraction( aProvidedSize.Height(), aObjSize.Height() ) );
Fraction aZoomX(aProvidedSize.Width(), aObjSize.Width());
Fraction aZoomY(aProvidedSize.Height(), aObjSize.Height());
MapMode aMap(mxGraphicWindow->GetGraphicMapMode());
aMap.SetScaleX(aZoomX);
aMap.SetScaleY(aZoomY);
mxGraphicWindow->SetGraphicMapMode(aMap);
}
SetBorderPixel( SvBorder() );