diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2017-11-14 18:07:32 +0100 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@cib.de> | 2017-11-18 13:07:46 +0100 |
commit | 1059e234f4b3b3f6b770b2e4d973923e54e7045b (patch) | |
tree | fa1da45be1f2e4c3880a747ddde3f35c1e2da687 /sw/source/core/inc/frame.hxx | |
parent | 7d391f9a563041aae416c7017dcec36bbf4dfb2c (diff) |
RotateFlyFrame3: Made interactions work properly
Have now created working interactive Rotation, Scale, Move
and Crop. Using as much of the old code as possible since
it does corrections based on BorderWidth/s stuff and similar.
To do so, need to back-transform and execute in unrotated/
untransformed state as much as possible. Had some problems
with SwVirtFlyDrawObj::NbcMove usages and hacks there, had
to restructure some of these.
Change-Id: Ibedf6d834f96b2f8e9c1ace2a0c984aa26cedc74
Diffstat (limited to 'sw/source/core/inc/frame.hxx')
-rw-r--r-- | sw/source/core/inc/frame.hxx | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx index b8a2d7ab0370..811bd390d82d 100644 --- a/sw/source/core/inc/frame.hxx +++ b/sw/source/core/inc/frame.hxx @@ -29,8 +29,8 @@ #include <svl/SfxBroadcaster.hxx> #include <o3tl/typed_flags_set.hxx> #include <IDocumentDrawModelAccess.hxx> - #include <com/sun/star/style/TabStop.hpp> +#include <basegfx/matrix/b2dhommatrix.hxx> class SwLayoutFrame; class SwRootFrame; @@ -207,10 +207,7 @@ public: virtual basegfx::B2DHomMatrix getFramePrintAreaTransformation() const; // RotateFlyFrame3 - Support for Transformations - // Diverse transformations, starting with a concrete translate that has - // to be mapped and currently directly changes SwRect(s) at SwFrames. For - // now stay on sigle actions (*_translate), bu tmaybe later unified to - // a single transform with a single B2DHomMatrix to apply + // Modify current transformations by applying given translation virtual void transform_translate(const Point& rOffset); }; @@ -228,7 +225,10 @@ private: basegfx::B2DHomMatrix maFrameAreaTransformation; basegfx::B2DHomMatrix maFramePrintAreaTransformation; - // last saved versions of SwRect(s) from SwFrameAreaDefinition + // last saved versions of SwRect(s) from SwFrameAreaDefinition, + // set from adaptFrameAreasToTransformations before modifying + // SwFrameAreaDefinition(s), used for restore from + // restoreFrameAreas SwRect maSavedFrameArea; SwRect maSavedFramePrintArea; @@ -262,17 +262,17 @@ public: // Tooling method to reset the SwRect(s) in the current // SwFrameAreaDefinition which are already apapted to // Transformation back to the untransformed state that was - // last saved (see resetAreaDefinitionsToTransformed). + // last saved (see adaptFrameAreasToTransformations). // Only the SwRect(s) are changed back, not the transformations. - void resetAreaDefinitionsToUntransformed(); + void restoreFrameAreas(); // Re-Creates the SwRect(s) as BoundAreas based on the current // set Transformations, also saves the last SwRect(s) to the save // values. - void resetAreaDefinitionsToTransformed(); + void adaptFrameAreasToTransformations(); - // transform by given B2DHomMatrix - void doTransform(const basegfx::B2DHomMatrix aTransform); + // Modify current definitions by applying the given transformation + void transform(const basegfx::B2DHomMatrix aTransform); }; /** |