56 case css::awt::GradientStyle_LINEAR :
66 aStartPos = aEndPos + (aFullVec * fLen);
74 aStartPos *= aTransformation;
75 aEndPos *= aTransformation;
79 case css::awt::GradientStyle_AXIAL :
89 aEndPos = aStartPos + (aFullVec * fLen);
97 aStartPos *= aTransformation;
98 aEndPos *= aTransformation;
102 case css::awt::GradientStyle_RADIAL :
103 case css::awt::GradientStyle_SQUARE :
113 aStartPos = aEndPos + (aFullVec * fLen);
121 aStartPos *= aTransformation;
122 aEndPos *= aTransformation;
131 aStartPos += aOffset;
137 case css::awt::GradientStyle_ELLIPTICAL :
138 case css::awt::GradientStyle_RECT :
148 aStartPos = aEndPos + (aFullVec * fLen);
156 aStartPos *= aTransformation;
157 aEndPos *= aTransformation;
166 aStartPos += aOffset;
183 bool bMoveSingle,
bool bMoveFirst)
209 case css::awt::GradientStyle_LINEAR :
211 if(!bMoveSingle || !bMoveFirst)
217 aFullVec = aEndPos - aCenter;
223 fNewFullAngle *= -10.0;
224 fNewFullAngle += 900.0;
227 while(fNewFullAngle < 0.0)
229 fNewFullAngle += 3600.0;
232 while(fNewFullAngle >= 3600.0)
234 fNewFullAngle -= 3600.0;
246 if(!bMoveSingle || bMoveFirst)
249 const basegfx::B2DPoint aBottomLeft(aRange.getMinX(), aRange.getMaximum().getY());
252 const double fFullLen(aFullVec.
getLength());
253 const double fOldLen(aOldVec.getLength());
254 const double fNewBorder((fFullLen * 100.0) / fOldLen);
255 sal_Int32 nNewBorder(100 -
FRound(fNewBorder));
277 case css::awt::GradientStyle_AXIAL :
279 if(!bMoveSingle || !bMoveFirst)
283 const double fFullLen(aFullVec.
getLength());
284 const double fOldLen(aOldVec.
getLength());
285 const double fNewBorder((fFullLen * 100.0) / fOldLen);
286 sal_Int32 nNewBorder = 100 -
FRound(fNewBorder);
307 fNewFullAngle *= -10.0;
308 fNewFullAngle += 900.0;
311 while(fNewFullAngle < 0.0)
313 fNewFullAngle += 3600.0;
316 while(fNewFullAngle >= 3600.0)
318 fNewFullAngle -= 3600.0;
332 case css::awt::GradientStyle_RADIAL :
333 case css::awt::GradientStyle_SQUARE :
335 if(!bMoveSingle || !bMoveFirst)
339 sal_Int32 nNewXOffset(
FRound((aOffset.getX() * 100.0) / aRange.getWidth()));
340 sal_Int32 nNewYOffset(
FRound((aOffset.getY() * 100.0) / aRange.getHeight()));
348 if(nNewXOffset > 100)
358 if(nNewYOffset > 100)
366 aStartPos -= aOffset;
370 if(!bMoveSingle || bMoveFirst)
373 const basegfx::B2DPoint aBottomLeft(aRange.getMinX(), aRange.getMaximum().getY());
376 const double fFullLen(aFullVec.
getLength());
377 const double fOldLen(aOldVec.getLength());
378 const double fNewBorder((fFullLen * 100.0) / fOldLen);
379 sal_Int32 nNewBorder(100 -
FRound(fNewBorder));
402 fNewFullAngle *= -10.0;
403 fNewFullAngle += 900.0;
406 while(fNewFullAngle < 0.0)
408 fNewFullAngle += 3600.0;
411 while(fNewFullAngle >= 3600.0)
413 fNewFullAngle -= 3600.0;
427 case css::awt::GradientStyle_ELLIPTICAL :
428 case css::awt::GradientStyle_RECT :
430 if(!bMoveSingle || !bMoveFirst)
434 sal_Int32 nNewXOffset(
FRound((aOffset.getX() * 100.0) / aRange.getWidth()));
435 sal_Int32 nNewYOffset(
FRound((aOffset.getY() * 100.0) / aRange.getHeight()));
443 if(nNewXOffset > 100)
453 if(nNewYOffset > 100)
461 aStartPos -= aOffset;
465 if(!bMoveSingle || bMoveFirst)
471 const double fFullLen(aFullVec.
getLength());
472 const double fOldLen(aOldVec.getLength());
473 const double fNewBorder((fFullLen * 100.0) / fOldLen);
474 sal_Int32 nNewBorder(100 -
FRound(fNewBorder));
497 fNewFullAngle *= -10.0;
498 fNewFullAngle += 900.0;
501 while(fNewFullAngle < 0.0)
503 fNewFullAngle += 3600.0;
506 while(fNewFullAngle >= 3600.0)
508 fNewFullAngle -= 3600.0;
Degree10 GetAngle() const
basegfx::B2DPoint maPositionB
void SetBorder(sal_uInt16 nNewBorder)
void SetEndColor(const Color &rColor)
constexpr double rad2deg(double v)
sal_uInt16 GetStartIntens() const
virtual const tools::Rectangle & GetSnapRect() const
const Color & GetStartColor() const
sal_uInt16 GetYOffset() const
sal_uInt16 GetXOffset() const
void SetEndIntens(sal_uInt16 nNewIntens)
sal_uInt16 GetBorder() const
void SetStartColor(const Color &rColor)
tools::Long FRound(double fVal)
basegfx::B2DPoint maPositionA
void SetYOffset(sal_uInt16 nNewOffset)
void SetStartIntens(sal_uInt16 nNewIntens)
css::awt::GradientStyle GetGradientStyle() const
void SetXOffset(sal_uInt16 nNewOffset)
B2DHomMatrix createRotateAroundPoint(double fPointX, double fPointY, double fRadiant)
basegfx::BColor getBColor() const
sal_uInt16 GetEndIntens() const
void SetAngle(Degree10 nNewAngle)
const Color & GetEndColor() const