summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svx/svdoashp.hxx23
-rw-r--r--svx/source/svdraw/svdoashp.cxx40
2 files changed, 36 insertions, 27 deletions
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index 4194b2d62191..261b8f62bb8c 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -28,6 +28,7 @@
#include <com/sun/star/drawing/XCustomShapeEngine.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
#include <svx/svxdllapi.h>
+#include <o3tl/typed_flags_set.hxx>
// Initial Declarations
@@ -57,18 +58,26 @@ class SdrAShapeObjGeoData : public SdrTextObjGeoData
aAdjustmentSeq;
};
-#define CUSTOMSHAPE_HANDLE_RESIZE_FIXED 1
-#define CUSTOMSHAPE_HANDLE_CREATE_FIXED 2
-#define CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X 4
-#define CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y 8
-#define CUSTOMSHAPE_HANDLE_MOVE_SHAPE 16
-#define CUSTOMSHAPE_HANDLE_ORTHO4 32
+enum class CustomShapeHandleModes
+{
+ NONE = 0,
+ RESIZE_FIXED = 1,
+ CREATE_FIXED = 2,
+ RESIZE_ABSOLUTE_X = 4,
+ RESIZE_ABSOLUTE_Y = 8,
+ MOVE_SHAPE = 16,
+ ORTHO4 = 32,
+};
+namespace o3tl
+{
+ template<> struct typed_flags<CustomShapeHandleModes> : is_typed_flags<CustomShapeHandleModes, 63> {};
+}
struct SdrCustomShapeInteraction
{
com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeHandle > xInteraction;
com::sun::star::awt::Point aPosition;
- sal_Int32 nMode;
+ CustomShapeHandleModes nMode;
};
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index fca168742a9d..4ea4c4de24c5 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -619,15 +619,15 @@ std::vector< SdrCustomShapeInteraction > SdrObjCustomShape::GetInteractionHandle
aSdrCustomShapeInteraction.xInteraction = xInteractionHandles[ i ];
aSdrCustomShapeInteraction.aPosition = xInteractionHandles[ i ]->getPosition();
- sal_Int32 nMode = 0;
+ CustomShapeHandleModes nMode = CustomShapeHandleModes::NONE;
switch( ImpGetCustomShapeType( *this ) )
{
case mso_sptAccentBorderCallout90 : // 2 ortho
{
if (i == 0)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED | CUSTOMSHAPE_HANDLE_CREATE_FIXED;
+ nMode |= CustomShapeHandleModes::RESIZE_FIXED | CustomShapeHandleModes::CREATE_FIXED;
else if (i == 1)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X | CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y | CUSTOMSHAPE_HANDLE_MOVE_SHAPE | CUSTOMSHAPE_HANDLE_ORTHO4;
+ nMode |= CustomShapeHandleModes::RESIZE_ABSOLUTE_X | CustomShapeHandleModes::RESIZE_ABSOLUTE_Y | CustomShapeHandleModes::MOVE_SHAPE | CustomShapeHandleModes::ORTHO4;
}
break;
@@ -637,24 +637,24 @@ std::vector< SdrCustomShapeInteraction > SdrObjCustomShape::GetInteractionHandle
case mso_sptWedgeEllipseCallout :
{
if (i == 0)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED;
+ nMode |= CustomShapeHandleModes::RESIZE_FIXED;
}
break;
case mso_sptBorderCallout1 : // 2 diag
{
if (i == 0)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED | CUSTOMSHAPE_HANDLE_CREATE_FIXED;
+ nMode |= CustomShapeHandleModes::RESIZE_FIXED | CustomShapeHandleModes::CREATE_FIXED;
else if (i == 1)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X | CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y | CUSTOMSHAPE_HANDLE_MOVE_SHAPE;
+ nMode |= CustomShapeHandleModes::RESIZE_ABSOLUTE_X | CustomShapeHandleModes::RESIZE_ABSOLUTE_Y | CustomShapeHandleModes::MOVE_SHAPE;
}
break;
case mso_sptBorderCallout2 : // 3
{
if (i == 0)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED | CUSTOMSHAPE_HANDLE_CREATE_FIXED;
+ nMode |= CustomShapeHandleModes::RESIZE_FIXED | CustomShapeHandleModes::CREATE_FIXED;
else if (i == 2)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X | CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y | CUSTOMSHAPE_HANDLE_MOVE_SHAPE;
+ nMode |= CustomShapeHandleModes::RESIZE_ABSOLUTE_X | CustomShapeHandleModes::RESIZE_ABSOLUTE_Y | CustomShapeHandleModes::MOVE_SHAPE;
}
break;
case mso_sptCallout90 :
@@ -672,7 +672,7 @@ std::vector< SdrCustomShapeInteraction > SdrObjCustomShape::GetInteractionHandle
case mso_sptAccentBorderCallout3 :
{
if (i == 0)
- nMode |= CUSTOMSHAPE_HANDLE_RESIZE_FIXED | CUSTOMSHAPE_HANDLE_CREATE_FIXED;
+ nMode |= CustomShapeHandleModes::RESIZE_FIXED | CustomShapeHandleModes::CREATE_FIXED;
}
break;
default: break;
@@ -1603,14 +1603,14 @@ void SdrObjCustomShape::NbcResize( const Point& rRef, const Fraction& rxFact, co
{
try
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_FIXED )
aIter->xInteraction->setControllerPosition( aIter->aPosition );
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_ABSOLUTE_X )
{
sal_Int32 nX = ( aIter->aPosition.X - aOld.Left() ) + maRect.Left();
aIter->xInteraction->setControllerPosition( com::sun::star::awt::Point( nX, aIter->xInteraction->getPosition().Y ) );
}
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_ABSOLUTE_Y )
{
sal_Int32 nY = ( aIter->aPosition.Y - aOld.Top() ) + maRect.Top();
aIter->xInteraction->setControllerPosition( com::sun::star::awt::Point( aIter->xInteraction->getPosition().X, nY ) );
@@ -2022,9 +2022,9 @@ void SdrObjCustomShape::DragResizeCustomShape( const Rectangle& rNewRect )
{
try
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_FIXED )
aIter->xInteraction->setControllerPosition( aIter->aPosition );
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_X )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_ABSOLUTE_X )
{
sal_Int32 nX;
if ( bOldMirroredX )
@@ -2045,7 +2045,7 @@ void SdrObjCustomShape::DragResizeCustomShape( const Rectangle& rNewRect )
}
aIter->xInteraction->setControllerPosition( com::sun::star::awt::Point( nX, aIter->xInteraction->getPosition().Y ) );
}
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_ABSOLUTE_Y )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_ABSOLUTE_Y )
{
sal_Int32 nY;
if ( bOldMirroredY )
@@ -2086,7 +2086,7 @@ void SdrObjCustomShape::DragMoveCustomShapeHdl( const Point& rDestination,
try
{
com::sun::star::awt::Point aPt( rDestination.X(), rDestination.Y() );
- if ( aInteractionHandle.nMode & CUSTOMSHAPE_HANDLE_MOVE_SHAPE && bMoveCalloutRectangle )
+ if ( aInteractionHandle.nMode & CustomShapeHandleModes::MOVE_SHAPE && bMoveCalloutRectangle )
{
sal_Int32 nXDiff = aPt.X - aInteractionHandle.aPosition.X;
sal_Int32 nYDiff = aPt.Y - aInteractionHandle.aPosition.Y;
@@ -2100,7 +2100,7 @@ void SdrObjCustomShape::DragMoveCustomShapeHdl( const Point& rDestination,
for (std::vector< SdrCustomShapeInteraction >::const_iterator aIter( aInteractionHandles.begin() ), aEnd( aInteractionHandles.end() ) ;
aIter != aEnd; ++aIter)
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_FIXED )
{
if ( aIter->xInteraction.is() )
aIter->xInteraction->setControllerPosition( aIter->aPosition );
@@ -2190,7 +2190,7 @@ void SdrObjCustomShape::DragCreateObject( SdrDragStat& rStat )
{
try
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_CREATE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::CREATE_FIXED )
aIter->xInteraction->setControllerPosition( awt::Point( rStat.GetStart().X(), rStat.GetStart().Y() ) );
}
catch ( const uno::RuntimeException& )
@@ -2526,7 +2526,7 @@ bool SdrObjCustomShape::NbcAdjustTextFrameWidthAndHeight(bool bHgt, bool bWdt)
{
try
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_FIXED )
aIter->xInteraction->setControllerPosition( aIter->aPosition );
}
catch ( const uno::RuntimeException& )
@@ -2558,7 +2558,7 @@ bool SdrObjCustomShape::AdjustTextFrameWidthAndHeight(bool bHgt, bool bWdt)
{
try
{
- if ( aIter->nMode & CUSTOMSHAPE_HANDLE_RESIZE_FIXED )
+ if ( aIter->nMode & CustomShapeHandleModes::RESIZE_FIXED )
aIter->xInteraction->setControllerPosition( aIter->aPosition );
}
catch ( const uno::RuntimeException& )