summaryrefslogtreecommitdiff
path: root/sw/source/uibase/frmdlg
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2017-09-22 15:28:33 +0200
committerArmin Le Grand <Armin.Le.Grand@cib.de>2017-10-20 14:13:20 +0200
commita42b0985c7619efdc934bb1cf19e5e2c2b6faea2 (patch)
treeb91427e905792292220b01aba45fc80d66d19349 /sw/source/uibase/frmdlg
parent2e001b40ad0d19c8db528bb4df739e289163779d (diff)
RotGrfFlyFrame: Initial adaptions
To allow free rotation of Graphic FlyFrames in Writer, several adaptions are necessary. This change takes care of all needed changes to internally support a freely definable rotation angle for that case. Save/Load round trip is working, the graphic does no longer get modified and added in 90-degree-changed state to the object, the original will be preserved. Support for needed slot in core/ui is implemented. Rotation can be applied from Menus/Toolbars in the known 90/180 degree steps. Added a slot/Button/command to reset rotation in these cases. Added support in Sidebar to rotate using the rotation wheel and/or numeric field. These fields and support added to Image TabPage, too, fully functional. Missing now is a solution for displaying the rotated Graphic. For now, it just gets rotated, but this will not be the final state of this change. Change-Id: I6f3b85ebb5be2b4ad3311c536d54f27a37a494e7 RotGrfFlyFrame: Linux build adaptions Change-Id: I365287ecd6525b1972e8436d61332f7121d88649
Diffstat (limited to 'sw/source/uibase/frmdlg')
-rw-r--r--sw/source/uibase/frmdlg/frmmgr.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/sw/source/uibase/frmdlg/frmmgr.cxx b/sw/source/uibase/frmdlg/frmmgr.cxx
index 73df037c9fdf..fdc883b6a22a 100644
--- a/sw/source/uibase/frmdlg/frmmgr.cxx
+++ b/sw/source/uibase/frmdlg/frmmgr.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
#include <com/sun/star/text/RelOrientation.hpp>
+#include <grfatr.hxx>
using namespace ::com::sun::star;
@@ -568,6 +569,16 @@ void SwFlyFrameAttrMgr::SetHeightSizeType( SwFrameSize eType )
m_aSet.Put( aSize );
}
+void SwFlyFrameAttrMgr::SetRotation(sal_uInt32 nOld, sal_uInt32 nNew, Size aUnrotatedSize)
+{
+ // RotGrfFlyFrame: Central handling of real change of rotation here. Adaption of pos/size
+ // may be wanted in the future
+ if(nOld != nNew)
+ {
+ m_pOwnSh->SetAttrItem(SwRotationGrf(static_cast<sal_uInt16>(nNew), aUnrotatedSize));
+ }
+}
+
void SwFlyFrameAttrMgr::SetSize( const Size& rSize )
{
SwFormatFrameSize aSize( GetFrameSize() );