diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2019-04-10 15:13:53 +0200 |
---|---|---|
committer | Marco Cecchetti <mrcekets@gmail.com> | 2019-05-20 10:34:16 +0200 |
commit | c2e30949e0fb7c6a73742450f646e0d8d59d5e4f (patch) | |
tree | 593af47a02e181f6ac53be1a3e8668ea08f72a05 /svx/source/svdraw | |
parent | 62605b16b0fd6a4a9429b8b185242f91eae67581 (diff) |
lok: writer: svg export transformed images
Change-Id: I908a6e01573c35c0641519f4995730af0b033c33
Reviewed-on: https://gerrit.libreoffice.org/70565
Tested-by: Jenkins
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index fa4ea376ae90..3bbf3b4a72ed 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -560,13 +560,10 @@ void SdrMarkView::showMarkHandles() bool SdrMarkView::ImpIsFrameHandles() const { - // There can be multiple mark views, but we're only interested in the one that has a window associated. - const bool bTiledRendering = comphelper::LibreOfficeKit::isActive() && GetFirstOutputDevice() && GetFirstOutputDevice()->GetOutDevType() == OUTDEV_WINDOW; - const size_t nMarkCount=GetMarkedObjectCount(); bool bFrmHdl=nMarkCount>static_cast<size_t>(mnFrameHandlesLimit) || mbForceFrameHandles; bool bStdDrag=meDragMode==SdrDragMode::Move; - if (!bTiledRendering && nMarkCount==1 && bStdDrag && bFrmHdl) + if (nMarkCount==1 && bStdDrag && bFrmHdl) { const SdrObject* pObj=GetMarkedObjectByIndex(0); if (pObj->GetObjInventor()==SdrInventor::Default) @@ -648,7 +645,7 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) bool bSingleTextObjMark=false; bool bLimitedRotation(false); - if (!bTiledRendering && nMarkCount==1) + if (nMarkCount==1) { mpMarkedObj=GetMarkedObjectByIndex(0); @@ -781,15 +778,33 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) } if(SfxViewShell* pViewShell = GetSfxViewShell()) { - - long nRotAngle(0); - if(GetMarkedObjectCount()) + if (GetMarkedObjectCount()) { - SdrMark* pM = GetSdrMarkByIndex(0); - SdrObject* pO = pM->GetMarkedSdrObj(); + SdrObject* pO = mpMarkedObj; + long nRotAngle = pO->GetRotateAngle(); + // true if we are delaing with a RotGrfFlyFrame + // (SwVirtFlyDrawObj with a SwGrfNode) + bool bWriterGraphic = pO->HasLimitedRotation(); + + if (bWriterGraphic) + { + nRotAngle *= 10; + } - nRotAngle = pO->GetRotateAngle(); sSelection += OString(", ") + OString::number(nRotAngle); + + OString sProperties; + + if (bWriterGraphic) + { + sProperties = "{ WriterGraphic=true }"; + } + + if (!sProperties.isEmpty()) + { + sSelection += ", "; + sSelection += sProperties; + } } if (pOtherShell) |