20 #ifndef INCLUDED_SVX_ENHANCEDCUSTOMSHAPE2D_HXX
21 #define INCLUDED_SVX_ENHANCEDCUSTOMSHAPE2D_HXX
26 #include <com/sun/star/awt/Size.hpp>
27 #include <com/sun/star/uno/Sequence.h>
28 #include <com/sun/star/beans/PropertyValues.hpp>
30 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
31 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
32 #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
33 #include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
34 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
110 std::vector< std::shared_ptr< EnhancedCustomShape::ExpressionNode > >
vNodesSharedPtr;
113 css::uno::Sequence< css::drawing::EnhancedCustomShapeSegment >
seqSegments;
114 css::uno::Sequence< css::drawing::EnhancedCustomShapeParameterPair>
seqCoordinates;
115 css::uno::Sequence< css::drawing::EnhancedCustomShapeTextFrame >
seqTextFrames;
116 css::uno::Sequence< css::drawing::EnhancedCustomShapeParameterPair>
seqGluePoints;
128 SAL_DLLPRIVATE
bool SetAdjustValueAsDouble(
const double& rValue,
const sal_Int32 nIndex );
129 SAL_DLLPRIVATE sal_Int32 GetLuminanceChange( sal_uInt32 nIndex )
const;
130 SAL_DLLPRIVATE
Color GetColorData(
const Color& rFillColor, sal_uInt32 nIndex,
double dBrightness )
const;
131 SAL_DLLPRIVATE
void AdaptObjColor(
135 sal_uInt32& nColorIndex,
136 sal_uInt32 nColorCount);
137 SAL_DLLPRIVATE
Point GetPoint(
const css::drawing::EnhancedCustomShapeParameterPair&,
138 const bool bScale =
true,
const bool bReplaceGeoSize =
false )
const;
139 SAL_DLLPRIVATE
basegfx::B2DPoint GetPointAsB2DPoint(
const css::drawing::EnhancedCustomShapeParameterPair&,
140 const bool bScale =
true,
const bool bReplaceGeoSize =
false )
const;
142 SAL_DLLPRIVATE
void CreateSubPath(
144 sal_Int32& rSegmentInd,
145 std::vector< std::pair< SdrPathObj*, double> >& rObjectList,
146 bool bLineGeometryNeededOnly,
147 bool bSortFilledObjectsToBack,
149 SAL_DLLPRIVATE
SdrObject* CreatePathObj(
bool bLineGeometryNeededOnly );
152 SAL_DLLPRIVATE
void SetPathSize( sal_Int32 nIndex = 0 );
160 css::drawing::EnhancedCustomShapeParameterPair
aPosition;
161 css::drawing::EnhancedCustomShapeParameterPair
aPolar;
190 SdrObject* CreateObject(
bool bLineGeometryNeededOnly );
195 sal_uInt32 GetHdlCount()
const;
196 bool GetHandlePosition(
const sal_uInt32 nIndex, Point& rReturnPosition )
const;
197 bool SetHandleControllerPosition(
const sal_uInt32 nIndex,
const css::awt::Point& rPosition );
204 void GetParameter(
double& rParameterReturnValue,
const css::drawing::EnhancedCustomShapeParameter&,
205 const bool bReplaceGeoWidth,
const bool bReplaceGeoHeight )
const;
206 SAL_DLLPRIVATE
double GetAdjustValueAsDouble(
const sal_Int32 nIndex )
const;
207 SAL_DLLPRIVATE
double GetEquationValueAsDouble(
const sal_Int32 nIndex )
const;
209 static OUString GetEquation(
const sal_uInt16 nFlags, sal_Int32 nPara1, sal_Int32 nPara2, sal_Int32 nPara3 );
211 SAL_DLLPRIVATE
static void AppendEnhancedCustomShapeEquationParameter( OUString& rParameter,
const sal_Int32 nPara,
const bool bIsSpecialValue );
213 static void SetEnhancedCustomShapeParameter( css::drawing::EnhancedCustomShapeParameter&
214 rParameter,
const sal_Int32
nValue );
215 static void SetEnhancedCustomShapeHandleParameter( css::drawing::EnhancedCustomShapeParameter&
216 rParameter,
const sal_Int32 nPara,
const bool bIsSpecialValue,
bool bHorz );
217 SAL_DLLPRIVATE
static bool ConvertSequenceToEnhancedCustomShape2dHandle(
const css::beans::PropertyValues& rHandleProperties,
219 SAL_DLLPRIVATE
static void SwapStartAndEndArrow(
SdrObject* pObj );
css::drawing::EnhancedCustomShapeParameter aYRangeMinimum
SdrObjCustomShape & mrSdrObjCustomShape
SAL_DLLPRIVATE bool IsFlipHorz() const
SAL_DLLPRIVATE Degree100 GetRotateAngle() const
std::vector< EquationResult > vEquationResults
tools::Rectangle aLogicRect
css::drawing::EnhancedCustomShapeParameter aRadiusRangeMaximum
css::drawing::EnhancedCustomShapeParameter aXRangeMaximum
css::uno::Sequence< css::drawing::EnhancedCustomShapeTextFrame > seqTextFrames
static void GetPoint(const tools::Polygon &rPoly, const std::vector< double > &rDistances, const double &fX, double &fx1, double &fy1)
css::uno::Sequence< css::awt::Size > seqSubViewSize
css::drawing::EnhancedCustomShapeParameterPair aPolar
css::uno::Sequence< OUString > seqEquations
css::drawing::EnhancedCustomShapeParameterPair aPosition
css::drawing::EnhancedCustomShapeParameter aRadiusRangeMinimum
SAL_DLLPRIVATE bool IsFlipVert() const
std::vector< std::shared_ptr< EnhancedCustomShape::ExpressionNode > > vNodesSharedPtr
css::uno::Sequence< css::beans::PropertyValues > seqHandles
css::drawing::EnhancedCustomShapeParameter aXRangeMinimum
css::uno::Sequence< css::drawing::EnhancedCustomShapeAdjustmentValue > seqAdjustmentValues
#define SVXCORE_DLLPUBLIC
css::uno::Sequence< css::drawing::EnhancedCustomShapeParameterPair > seqGluePoints
css::uno::Sequence< css::drawing::EnhancedCustomShapeParameterPair > seqCoordinates
css::uno::Sequence< css::drawing::EnhancedCustomShapeSegment > seqSegments
const tools::Rectangle & GetLogicRect() const
css::drawing::EnhancedCustomShapeParameter aYRangeMaximum