summaryrefslogtreecommitdiff
path: root/drawinglayer
diff options
context:
space:
mode:
authorArmin Le Grand (allotropia) <armin.le.grand.extern@allotropia.de>2023-03-13 19:39:34 +0100
committerArmin Le Grand <Armin.Le.Grand@me.com>2023-03-19 17:38:38 +0000
commit01d0019c851b9e942f9a3b94d6dd554fb1adb40c (patch)
tree201cb6d13f57f8fa06128785c1ddb330eeacc349 /drawinglayer
parentfd299d209d82495eb6528fb444e0b68f41c8ae0d (diff)
MCGR: Model data changes for ColorSteps
Added tooling replaceStart/EndColor to allow simple transition for code that does not immediately adapt to multi color gradients. Also added createColorStepsFromStartEndColor for the same purpose. Adapted XGradient to no longer have Start/EndColor at all, but only use ColorSteps. Adapted all usages of XGradient to no longer use Get/Set/Start/EndColor, but access the ColorSteps instead. Replaced quite some XGradient constructors that used XGradient() as Start/EndColor since this is already the default. Adapted ColorBlending to black AKA Start/EndIntens in XGradient to work now on all ColorSteps in the required linearly-scaled manner. UNO API changes: Added com::sun::star::awt::ColorStep as basic data element that holds a pair of Offset and Color. Added com::sun::star::awt::ColorStepSequence to handle an array of sorted entries. Added com::sun::star::awt::Gradient2 derived from com::sun::star::awt::Gradient, extended by the needed com::sun::star::awt::ColorStepSequence. Added MID_GRADIENT_COLORSTEPSEQUENCE to UNO API to provide access to ColorSteps directly. Adapted XFillGradientItem::QueryValue/PutValue to make use of new UNO API data structures. To do so, added tooling methods for data transition: - fillColorStepSequenceFromColorSteps - fillGradient2FromXGradient - fillColorStepsFromAny - fillXGradientFromAny and adapted - case '0' (all data) - MID_FILLGRADIENT - MID_GRADIENT_COLORSTEPSEQUENCE - MID_GRADIENT_START/ENDCOLOR to make use of these. Tested usage of these in the office. Renamed from GradientStep to GradientStop after discussions with members on the list to make this closer related to other norms/definitions. Also renamed classes and class members to better reflect to GradientStop, so grepping/finding will be easier (e.g. 'Color' just exists pretty often, but 'StopColor' is more precise). Changed the used UNO API class for reprsenting the Color to better reflect to ranges [0.0 .. 1.0] and usage of RGB. Change-Id: I1eeb3e97e81d6785967615d1ff256551fc3b882d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148849 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/inc/texture/texture.hxx16
-rw-r--r--drawinglayer/qa/unit/vclpixelprocessor2d.cxx8
-rw-r--r--drawinglayer/source/attribute/fillgradientattribute.cxx34
-rw-r--r--drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx12
-rw-r--r--drawinglayer/source/primitive3d/textureprimitive3d.cxx10
-rw-r--r--drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx8
-rw-r--r--drawinglayer/source/processor2d/vclpixelprocessor2d.cxx12
-rw-r--r--drawinglayer/source/processor3d/defaultprocessor3d.cxx14
-rw-r--r--drawinglayer/source/texture/texture.cxx198
-rw-r--r--drawinglayer/source/tools/primitive2dxmldump.cxx17
-rw-r--r--drawinglayer/source/tools/wmfemfhelper.cxx12
11 files changed, 169 insertions, 172 deletions
diff --git a/drawinglayer/inc/texture/texture.hxx b/drawinglayer/inc/texture/texture.hxx
index 567a24417f51..8eff5bee261a 100644
--- a/drawinglayer/inc/texture/texture.hxx
+++ b/drawinglayer/inc/texture/texture.hxx
@@ -57,14 +57,14 @@ namespace drawinglayer::texture
basegfx::ODFGradientInfo maGradientInfo;
basegfx::B2DRange maDefinitionRange;
sal_uInt32 mnRequestedSteps;
- basegfx::ColorSteps mnColorSteps;
+ basegfx::ColorStops mnColorStops;
double mfBorder;
public:
GeoTexSvxGradient(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder);
virtual ~GeoTexSvxGradient() override;
@@ -88,7 +88,7 @@ namespace drawinglayer::texture
const basegfx::B2DRange& rDefinitionRange,
const basegfx::B2DRange& rOutputRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fAngle);
virtual ~GeoTexSvxGradientLinear() override;
@@ -109,7 +109,7 @@ namespace drawinglayer::texture
const basegfx::B2DRange& rDefinitionRange,
const basegfx::B2DRange& rOutputRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fAngle);
virtual ~GeoTexSvxGradientAxial() override;
@@ -126,7 +126,7 @@ namespace drawinglayer::texture
GeoTexSvxGradientRadial(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY);
@@ -144,7 +144,7 @@ namespace drawinglayer::texture
GeoTexSvxGradientElliptical(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
@@ -163,7 +163,7 @@ namespace drawinglayer::texture
GeoTexSvxGradientSquare(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
@@ -182,7 +182,7 @@ namespace drawinglayer::texture
GeoTexSvxGradientRect(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
diff --git a/drawinglayer/qa/unit/vclpixelprocessor2d.cxx b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx
index 343556aec6d1..4c26c2d4bfde 100644
--- a/drawinglayer/qa/unit/vclpixelprocessor2d.cxx
+++ b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx
@@ -60,10 +60,10 @@ public:
basegfx::B2DRange definitionRange(0, 0, 100, 200);
basegfx::B2DRange outputRange(0, 100, 100, 200); // Paint only lower half of the gradient.
- const basegfx::ColorSteps aColorSteps{ basegfx::ColorStep(0.0, COL_WHITE.getBColor()),
- basegfx::ColorStep(1.0, COL_BLACK.getBColor()) };
- attribute::FillGradientAttribute attributes(attribute::GradientStyle::Linear, 0, 0, 0, 0,
- aColorSteps);
+ attribute::FillGradientAttribute attributes(
+ attribute::GradientStyle::Linear, 0, 0, 0, 0,
+ basegfx::utils::createColorStopsFromStartEndColor(COL_WHITE.getBColor(),
+ COL_BLACK.getBColor()));
rtl::Reference<primitive2d::FillGradientPrimitive2D> gradientPrimitive(
new primitive2d::FillGradientPrimitive2D(outputRange, definitionRange, attributes));
primitive2d::Primitive2DContainer primitives;
diff --git a/drawinglayer/source/attribute/fillgradientattribute.cxx b/drawinglayer/source/attribute/fillgradientattribute.cxx
index 3d78273a6428..62bde03a29f6 100644
--- a/drawinglayer/source/attribute/fillgradientattribute.cxx
+++ b/drawinglayer/source/attribute/fillgradientattribute.cxx
@@ -30,7 +30,7 @@ namespace drawinglayer::attribute
double mfOffsetX;
double mfOffsetY;
double mfAngle;
- basegfx::ColorSteps maColorSteps;
+ basegfx::ColorStops maColorStops;
GradientStyle meStyle;
sal_uInt16 mnSteps;
@@ -40,31 +40,31 @@ namespace drawinglayer::attribute
double fOffsetX,
double fOffsetY,
double fAngle,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
sal_uInt16 nSteps)
: mfBorder(fBorder),
mfOffsetX(fOffsetX),
mfOffsetY(fOffsetY),
mfAngle(fAngle),
- maColorSteps(rColorSteps), // copy ColorSteps
+ maColorStops(rColorStops), // copy ColorStops
meStyle(eStyle),
mnSteps(nSteps)
{
- // Correct the local ColorSteps. That will guarantee that the
+ // Correct the local ColorStops. That will guarantee that the
// content does contain no offsets < 0.0, > 1.0 or double
// ones, also secures sorted arrangement and checks for
// double colors, too (see there for more information).
// This is what the usages of this in primitives need.
// Since FillGradientAttribute is read-only doing this
// once here in the constructor is sufficient
- basegfx::utils::sortAndCorrectColorSteps(maColorSteps);
+ basegfx::utils::sortAndCorrectColorStops(maColorStops);
- // sortAndCorrectColorSteps is rigid and can return
+ // sortAndCorrectColorStops is rigid and can return
// an empty result. To keep things simple, add a single
// fallback value
- if (maColorSteps.empty())
+ if (maColorStops.empty())
{
- maColorSteps.emplace_back(0.0, basegfx::BColor());
+ maColorStops.emplace_back(0.0, basegfx::BColor());
}
}
@@ -73,12 +73,12 @@ namespace drawinglayer::attribute
mfOffsetX(0.0),
mfOffsetY(0.0),
mfAngle(0.0),
- maColorSteps(),
+ maColorStops(),
meStyle(GradientStyle::Linear),
mnSteps(0)
{
// always add a fallback color, see above
- maColorSteps.emplace_back(0.0, basegfx::BColor());
+ maColorStops.emplace_back(0.0, basegfx::BColor());
}
// data read access
@@ -87,7 +87,7 @@ namespace drawinglayer::attribute
double getOffsetX() const { return mfOffsetX; }
double getOffsetY() const { return mfOffsetY; }
double getAngle() const { return mfAngle; }
- const basegfx::ColorSteps& getColorSteps() const { return maColorSteps; }
+ const basegfx::ColorStops& getColorStops() const { return maColorStops; }
sal_uInt16 getSteps() const { return mnSteps; }
bool hasSingleColor() const
@@ -96,7 +96,7 @@ namespace drawinglayer::attribute
// or single entry -> no gradient.
// No need to check for all-the-same color since this is checked/done
// in the constructor already, see there
- return maColorSteps.size() < 2;
+ return maColorStops.size() < 2;
}
bool operator==(const ImpFillGradientAttribute& rCandidate) const
@@ -106,7 +106,7 @@ namespace drawinglayer::attribute
&& getOffsetX() == rCandidate.getOffsetX()
&& getOffsetY() == rCandidate.getOffsetY()
&& getAngle() == rCandidate.getAngle()
- && getColorSteps() == rCandidate.getColorSteps()
+ && getColorStops() == rCandidate.getColorStops()
&& getSteps() == rCandidate.getSteps());
}
};
@@ -126,10 +126,10 @@ namespace drawinglayer::attribute
double fOffsetX,
double fOffsetY,
double fAngle,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
sal_uInt16 nSteps)
: mpFillGradientAttribute(ImpFillGradientAttribute(
- eStyle, fBorder, fOffsetX, fOffsetY, fAngle, rColorSteps, nSteps))
+ eStyle, fBorder, fOffsetX, fOffsetY, fAngle, rColorStops, nSteps))
{
}
@@ -167,9 +167,9 @@ namespace drawinglayer::attribute
return rCandidate.mpFillGradientAttribute == mpFillGradientAttribute;
}
- const basegfx::ColorSteps& FillGradientAttribute::getColorSteps() const
+ const basegfx::ColorStops& FillGradientAttribute::getColorStops() const
{
- return mpFillGradientAttribute->getColorSteps();
+ return mpFillGradientAttribute->getColorStops();
}
double FillGradientAttribute::getBorder() const
diff --git a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
index a92a5f9e0d8d..c1246f1cce36 100644
--- a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx
@@ -45,7 +45,7 @@ namespace drawinglayer::primitive2d
getDefinitionRange(),
getOutputRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getAngle());
aGradient.appendTransformationsAndColors(rEntries, rOuterColor);
@@ -57,7 +57,7 @@ namespace drawinglayer::primitive2d
getDefinitionRange(),
getOutputRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getAngle());
aGradient.appendTransformationsAndColors(rEntries, rOuterColor);
@@ -68,7 +68,7 @@ namespace drawinglayer::primitive2d
texture::GeoTexSvxGradientRadial aGradient(
getDefinitionRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getOffsetX(),
getFillGradient().getOffsetY());
@@ -80,7 +80,7 @@ namespace drawinglayer::primitive2d
texture::GeoTexSvxGradientElliptical aGradient(
getDefinitionRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getOffsetX(),
getFillGradient().getOffsetY(),
@@ -93,7 +93,7 @@ namespace drawinglayer::primitive2d
texture::GeoTexSvxGradientSquare aGradient(
getDefinitionRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getOffsetX(),
getFillGradient().getOffsetY(),
@@ -106,7 +106,7 @@ namespace drawinglayer::primitive2d
texture::GeoTexSvxGradientRect aGradient(
getDefinitionRange(),
getFillGradient().getSteps(),
- getFillGradient().getColorSteps(),
+ getFillGradient().getColorStops(),
getFillGradient().getBorder(),
getFillGradient().getOffsetX(),
getFillGradient().getOffsetY(),
diff --git a/drawinglayer/source/primitive3d/textureprimitive3d.cxx b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
index ae89ebbe2ddc..977670446c8a 100644
--- a/drawinglayer/source/primitive3d/textureprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/textureprimitive3d.cxx
@@ -94,12 +94,12 @@ namespace drawinglayer::primitive3d
// create TransparenceTexturePrimitive3D with fixed transparence as replacement
const basegfx::BColor aGray(getTransparence(), getTransparence(), getTransparence());
- // create ColorSteps with StartColor == EndColor == aGray
- const basegfx::ColorSteps aColorSteps {
- basegfx::ColorStep(0.0, aGray),
- basegfx::ColorStep(1.0, aGray) };
+ // create ColorStops with StartColor == EndColor == aGray
+ const basegfx::ColorStops aColorStops {
+ basegfx::ColorStop(0.0, aGray),
+ basegfx::ColorStop(1.0, aGray) };
- const attribute::FillGradientAttribute aFillGradient(attribute::GradientStyle::Linear, 0.0, 0.0, 0.0, 0.0, aColorSteps);
+ const attribute::FillGradientAttribute aFillGradient(attribute::GradientStyle::Linear, 0.0, 0.0, 0.0, 0.0, aColorStops);
const Primitive3DReference xRef(new TransparenceTexturePrimitive3D(aFillGradient, getChildren(), getTextureSize()));
return { xRef };
}
diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
index c2c3ad698b40..d75b67716de8 100644
--- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
@@ -259,8 +259,8 @@ void VclMetafileProcessor2D::impConvertFillGradientAttributeToVCLGradient(
Gradient& o_rVCLGradient, const attribute::FillGradientAttribute& rFiGrAtt,
bool bIsTransparenceGradient) const
{
- const basegfx::BColor aStartColor(rFiGrAtt.getColorSteps().front().getColor());
- const basegfx::BColor aEndColor(rFiGrAtt.getColorSteps().back().getColor());
+ const basegfx::BColor aStartColor(rFiGrAtt.getColorStops().front().getStopColor());
+ const basegfx::BColor aEndColor(rFiGrAtt.getColorStops().back().getStopColor());
if (bIsTransparenceGradient)
{
@@ -2006,9 +2006,9 @@ void VclMetafileProcessor2D::processPolyPolygonGradientPrimitive2D(
return;
}
- if (!rGradientCandidate.getFillGradient().getColorSteps().empty())
+ if (!rGradientCandidate.getFillGradient().getColorStops().empty())
{
- // MCGR: if we have COlorSteps, do not try to fallback to old VCL-Gradient,
+ // MCGR: if we have ColorStops, do not try to fallback to old VCL-Gradient,
// that will *not* be capable of representing this properly. Use the
// correct decomposition instead
process(rGradientCandidate);
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 7efb80db2dfb..1b85cf9d519f 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -500,9 +500,9 @@ void VclPixelProcessor2D::processPolyPolygonGradientPrimitive2D(
// direct draw of gradient
const attribute::FillGradientAttribute& rGradient(rPolygonCandidate.getFillGradient());
basegfx::BColor aStartColor(
- maBColorModifierStack.getModifiedColor(rGradient.getColorSteps().front().getColor()));
+ maBColorModifierStack.getModifiedColor(rGradient.getColorStops().front().getStopColor()));
basegfx::BColor aEndColor(
- maBColorModifierStack.getModifiedColor(rGradient.getColorSteps().back().getColor()));
+ maBColorModifierStack.getModifiedColor(rGradient.getColorStops().back().getStopColor()));
basegfx::B2DPolyPolygon aLocalPolyPolygon(rPolygonCandidate.getB2DPolyPolygon());
if (!aLocalPolyPolygon.count())
@@ -938,9 +938,9 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
{
const attribute::FillGradientAttribute& rFillGradient = rPrimitive.getFillGradient();
- // MCGR: If GradientSteps are used, use decomposition since vcl is not able
+ // MCGR: If GradientStops are used, use decomposition since vcl is not able
// to render multi-color gradients
- if (rFillGradient.getColorSteps().size() > 2)
+ if (rFillGradient.getColorStops().size() > 2)
{
process(rPrimitive);
return;
@@ -994,8 +994,8 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
GradientStyle eGradientStyle = convertGradientStyle(rFillGradient.getStyle());
- Gradient aGradient(eGradientStyle, Color(rFillGradient.getColorSteps().front().getColor()),
- Color(rFillGradient.getColorSteps().back().getColor()));
+ Gradient aGradient(eGradientStyle, Color(rFillGradient.getColorStops().front().getStopColor()),
+ Color(rFillGradient.getColorStops().back().getStopColor()));
aGradient.SetAngle(Degree10(static_cast<int>(basegfx::rad2deg<10>(rFillGradient.getAngle()))));
aGradient.SetBorder(rFillGradient.getBorder() * 100);
diff --git a/drawinglayer/source/processor3d/defaultprocessor3d.cxx b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
index caf31e9aa5dc..a2a5111bc49b 100644
--- a/drawinglayer/source/processor3d/defaultprocessor3d.cxx
+++ b/drawinglayer/source/processor3d/defaultprocessor3d.cxx
@@ -72,7 +72,7 @@ namespace drawinglayer::processor3d
aOutlineRange,
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getAngle());
break;
@@ -83,7 +83,7 @@ namespace drawinglayer::processor3d
aOutlineRange,
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getAngle());
break;
@@ -94,7 +94,7 @@ namespace drawinglayer::processor3d
std::make_shared<texture::GeoTexSvxGradientRadial>(
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getOffsetX(),
rFillGradient.getOffsetY());
@@ -106,7 +106,7 @@ namespace drawinglayer::processor3d
std::make_shared<texture::GeoTexSvxGradientElliptical>(
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getOffsetX(),
rFillGradient.getOffsetY(),
@@ -119,7 +119,7 @@ namespace drawinglayer::processor3d
std::make_shared<texture::GeoTexSvxGradientSquare>(
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getOffsetX(),
rFillGradient.getOffsetY(),
@@ -132,7 +132,7 @@ namespace drawinglayer::processor3d
std::make_shared<texture::GeoTexSvxGradientRect>(
aOutlineRange,
rFillGradient.getSteps(),
- rFillGradient.getColorSteps(),
+ rFillGradient.getColorStops(),
rFillGradient.getBorder(),
rFillGradient.getOffsetX(),
rFillGradient.getOffsetY(),
@@ -146,7 +146,7 @@ namespace drawinglayer::processor3d
else
{
// only one color, so no real gradient -> use simple texture
- const basegfx::BColor aStart(rFillGradient.getColorSteps().front().getColor());
+ const basegfx::BColor aStart(rFillGradient.getColorStops().front().getStopColor());
pNewTex = std::make_shared<texture::GeoTexSvxMono>(aStart, 1.0 - aStart.luminance());
mbSimpleTextureActive = true;
}
diff --git a/drawinglayer/source/texture/texture.cxx b/drawinglayer/source/texture/texture.cxx
index 375e83f9221c..5cd708243143 100644
--- a/drawinglayer/source/texture/texture.cxx
+++ b/drawinglayer/source/texture/texture.cxx
@@ -72,11 +72,11 @@ namespace drawinglayer::texture
GeoTexSvxGradient::GeoTexSvxGradient(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder)
: maDefinitionRange(rDefinitionRange)
, mnRequestedSteps(nRequestedSteps)
- , mnColorSteps(rColorSteps)
+ , mnColorStops(rColorStops)
, mfBorder(fBorder)
{
}
@@ -93,7 +93,7 @@ namespace drawinglayer::texture
&& maGradientInfo == pCompare->maGradientInfo
&& maDefinitionRange == pCompare->maDefinitionRange
&& mnRequestedSteps == pCompare->mnRequestedSteps
- && mnColorSteps == pCompare->mnColorSteps
+ && mnColorStops == pCompare->mnColorStops
&& mfBorder == pCompare->mfBorder);
}
@@ -101,10 +101,10 @@ namespace drawinglayer::texture
const basegfx::B2DRange& rDefinitionRange,
const basegfx::B2DRange& rOutputRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fAngle)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
, mfUnitMinX(0.0)
, mfUnitWidth(1.0)
, mfUnitMaxY(1.0)
@@ -135,14 +135,14 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
- rOuterColor = mnColorSteps.front().getColor();
+ rOuterColor = mnColorStops.front().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
// prepare unit range transform
@@ -156,19 +156,19 @@ namespace drawinglayer::texture
aPattern.scale(mfUnitWidth, 1.0);
aPattern.translate(mfUnitMinX, 0.0);
- // outer loop over ColorSteps, each is from cs_l to cs_r
- for (auto cs_l(mnColorSteps.begin()), cs_r(cs_l + 1); cs_r != mnColorSteps.end(); cs_l++, cs_r++)
+ // outer loop over ColorStops, each is from cs_l to cs_r
+ for (auto cs_l(mnColorStops.begin()), cs_r(cs_l + 1); cs_r != mnColorStops.end(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
// nSteps is >= 1, see getRequestedSteps, so no check needed here
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// for the 1st color range we do not need to create the 1st step
@@ -177,7 +177,7 @@ namespace drawinglayer::texture
// colored using rOuterColor.
// We *need* to create this though for all 'inner' color ranges
// to get a correct start
- const sal_uInt32 nStartInnerLoop(cs_l == mnColorSteps.begin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_l == mnColorStops.begin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -211,29 +211,29 @@ namespace drawinglayer::texture
void GeoTexSvxGradientLinear::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
- rBColor = mnColorSteps.front().getColor();
+ rBColor = mnColorStops.front().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getLinearGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
GeoTexSvxGradientAxial::GeoTexSvxGradientAxial(
const basegfx::B2DRange& rDefinitionRange,
const basegfx::B2DRange& rOutputRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fAngle)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
, mfUnitMinX(0.0)
, mfUnitWidth(1.0)
{
@@ -262,15 +262,15 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
// CAUTION: for GradientAxial the color range is inverted (!)
- rOuterColor = mnColorSteps.back().getColor();
+ rOuterColor = mnColorStops.back().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
// prepare unit range transform
@@ -284,25 +284,25 @@ namespace drawinglayer::texture
aPattern.scale(mfUnitWidth, 1.0);
aPattern.translate(mfUnitMinX, 0.0);
- // outer loop over ColorSteps, each is from cs_l to cs_r
+ // outer loop over ColorStops, each is from cs_l to cs_r
// CAUTION: for GradientAxial the color range is used inverted (!)
// thus, to loop backward, use rbegin/rend
- for (auto cs_r(mnColorSteps.rbegin()), cs_l(cs_r + 1); cs_l != mnColorSteps.rend(); cs_l++, cs_r++)
+ for (auto cs_r(mnColorStops.rbegin()), cs_l(cs_r + 1); cs_l != mnColorStops.rend(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
// nSteps is >= 1, see getRequestedSteps, so no check needed here
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// for the 1st color range we do not need to create the 1st step, see above
- const sal_uInt32 nStartInnerLoop(cs_r == mnColorSteps.rbegin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_r == mnColorStops.rbegin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -326,31 +326,31 @@ namespace drawinglayer::texture
void GeoTexSvxGradientAxial::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
// CAUTION: for GradientAxial the color range is used inverted (!)
- rBColor = mnColorSteps.back().getColor();
+ rBColor = mnColorStops.back().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getAxialGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
GeoTexSvxGradientRadial::GeoTexSvxGradientRadial(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
{
maGradientInfo = basegfx::utils::createRadialODFGradientInfo(
rDefinitionRange,
@@ -368,32 +368,32 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
- rOuterColor = mnColorSteps.front().getColor();
+ rOuterColor = mnColorStops.front().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
- // outer loop over ColorSteps, each is from cs_l to cs_r
- for (auto cs_l(mnColorSteps.begin()), cs_r(cs_l + 1); cs_r != mnColorSteps.end(); cs_l++, cs_r++)
+ // outer loop over ColorStops, each is from cs_l to cs_r
+ for (auto cs_l(mnColorStops.begin()), cs_r(cs_l + 1); cs_r != mnColorStops.end(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// get correct start for inner loop (see above)
- const sal_uInt32 nStartInnerLoop(cs_l == mnColorSteps.begin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_l == mnColorStops.begin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -413,31 +413,31 @@ namespace drawinglayer::texture
void GeoTexSvxGradientRadial::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
- rBColor = mnColorSteps.front().getColor();
+ rBColor = mnColorStops.front().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getRadialGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
GeoTexSvxGradientElliptical::GeoTexSvxGradientElliptical(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
double fAngle)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
{
maGradientInfo = basegfx::utils::createEllipticalODFGradientInfo(
rDefinitionRange,
@@ -456,36 +456,36 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
- rOuterColor = mnColorSteps.front().getColor();
+ rOuterColor = mnColorStops.front().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
// prepare vars dependent on aspect ratio
const double fAR(maGradientInfo.getAspectRatio());
const bool bMTO(fAR > 1.0);
- // outer loop over ColorSteps, each is from cs_l to cs_r
- for (auto cs_l(mnColorSteps.begin()), cs_r(cs_l + 1); cs_r != mnColorSteps.end(); cs_l++, cs_r++)
+ // outer loop over ColorStops, each is from cs_l to cs_r
+ for (auto cs_l(mnColorStops.begin()), cs_r(cs_l + 1); cs_r != mnColorStops.end(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// get correct start for inner loop (see above)
- const sal_uInt32 nStartInnerLoop(cs_l == mnColorSteps.begin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_l == mnColorStops.begin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -508,31 +508,31 @@ namespace drawinglayer::texture
void GeoTexSvxGradientElliptical::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
- rBColor = mnColorSteps.front().getColor();
+ rBColor = mnColorStops.front().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getEllipticalGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
GeoTexSvxGradientSquare::GeoTexSvxGradientSquare(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
double fAngle)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
{
maGradientInfo = basegfx::utils::createSquareODFGradientInfo(
rDefinitionRange,
@@ -551,32 +551,32 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
- rOuterColor = mnColorSteps.front().getColor();
+ rOuterColor = mnColorStops.front().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
- // outer loop over ColorSteps, each is from cs_l to cs_r
- for (auto cs_l(mnColorSteps.begin()), cs_r(cs_l + 1); cs_r != mnColorSteps.end(); cs_l++, cs_r++)
+ // outer loop over ColorStops, each is from cs_l to cs_r
+ for (auto cs_l(mnColorStops.begin()), cs_r(cs_l + 1); cs_r != mnColorStops.end(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// get correct start for inner loop (see above)
- const sal_uInt32 nStartInnerLoop(cs_l == mnColorSteps.begin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_l == mnColorStops.begin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -596,31 +596,31 @@ namespace drawinglayer::texture
void GeoTexSvxGradientSquare::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
- rBColor = mnColorSteps.front().getColor();
+ rBColor = mnColorStops.front().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getSquareGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
GeoTexSvxGradientRect::GeoTexSvxGradientRect(
const basegfx::B2DRange& rDefinitionRange,
sal_uInt32 nRequestedSteps,
- const basegfx::ColorSteps& rColorSteps,
+ const basegfx::ColorStops& rColorStops,
double fBorder,
double fOffsetX,
double fOffsetY,
double fAngle)
- : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorSteps, fBorder)
+ : GeoTexSvxGradient(rDefinitionRange, nRequestedSteps, rColorStops, fBorder)
{
maGradientInfo = basegfx::utils::createRectangularODFGradientInfo(
rDefinitionRange,
@@ -639,36 +639,36 @@ namespace drawinglayer::texture
basegfx::BColor& rOuterColor)
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// fill in return parameter rOuterColor before returning
- rOuterColor = mnColorSteps.front().getColor();
+ rOuterColor = mnColorStops.front().getStopColor();
// only one color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
return;
// prepare vars dependent on aspect ratio
const double fAR(maGradientInfo.getAspectRatio());
const bool bMTO(fAR > 1.0);
- // outer loop over ColorSteps, each is from cs_l to cs_r
- for (auto cs_l(mnColorSteps.begin()), cs_r(cs_l + 1); cs_r != mnColorSteps.end(); cs_l++, cs_r++)
+ // outer loop over ColorStops, each is from cs_l to cs_r
+ for (auto cs_l(mnColorStops.begin()), cs_r(cs_l + 1); cs_r != mnColorStops.end(); cs_l++, cs_r++)
{
// get colors & calculate steps
- const basegfx::BColor aCStart(cs_l->getColor());
- const basegfx::BColor aCEnd(cs_r->getColor());
+ const basegfx::BColor aCStart(cs_l->getStopColor());
+ const basegfx::BColor aCEnd(cs_r->getStopColor());
const sal_uInt32 nSteps(basegfx::utils::calculateNumberOfSteps(
maGradientInfo.getRequestedSteps(), aCStart, aCEnd));
// get offsets & calculate StripeWidth
- const double fOffsetStart(cs_l->getOffset());
- const double fOffsetEnd(cs_r->getOffset());
+ const double fOffsetStart(cs_l->getStopOffset());
+ const double fOffsetEnd(cs_r->getStopOffset());
const double fStripeWidth((fOffsetEnd - fOffsetStart) / nSteps);
// get correct start for inner loop (see above)
- const sal_uInt32 nStartInnerLoop(cs_l == mnColorSteps.begin() ? 1 : 0);
+ const sal_uInt32 nStartInnerLoop(cs_l == mnColorStops.begin() ? 1 : 0);
for (sal_uInt32 innerLoop(nStartInnerLoop); innerLoop < nSteps; innerLoop++)
{
@@ -691,19 +691,19 @@ namespace drawinglayer::texture
void GeoTexSvxGradientRect::modifyBColor(const basegfx::B2DPoint& rUV, basegfx::BColor& rBColor, double& /*rfOpacity*/) const
{
// no color at all, done
- if (mnColorSteps.empty())
+ if (mnColorStops.empty())
return;
// just single color, done
- if (mnColorSteps.size() < 2)
+ if (mnColorStops.size() < 2)
{
- rBColor = mnColorSteps.front().getColor();
+ rBColor = mnColorStops.front().getStopColor();
return;
}
// texture-back-transform X/Y -> t [0.0..1.0] and determine color
const double fScaler(basegfx::utils::getRectangularGradientAlpha(rUV, maGradientInfo));
- rBColor = basegfx::utils::modifyBColor(mnColorSteps, fScaler, mnRequestedSteps);
+ rBColor = basegfx::utils::modifyBColor(mnColorStops, fScaler, mnRequestedSteps);
}
diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx
index 55d2c6a8e29a..31c88c6482ed 100644
--- a/drawinglayer/source/tools/primitive2dxmldump.cxx
+++ b/drawinglayer/source/tools/primitive2dxmldump.cxx
@@ -301,18 +301,19 @@ void writeSdrFillAttribute(::tools::XmlWriter& rWriter,
rWriter.attribute("angle", rGradient.getAngle());
rWriter.attribute("steps", rGradient.getSteps());
- auto const& rColorSteps(rGradient.getColorSteps());
- for (size_t a(0); a < rColorSteps.size(); a++)
+ auto const& rColorStops(rGradient.getColorStops());
+ for (size_t a(0); a < rColorStops.size(); a++)
{
if (0 == a)
- rWriter.attribute("startColor", convertColorToString(rColorSteps[a].getColor()));
- else if (rColorSteps.size() == a + 1)
- rWriter.attribute("endColor", convertColorToString(rColorSteps[a].getColor()));
+ rWriter.attribute("startColor",
+ convertColorToString(rColorStops[a].getStopColor()));
+ else if (rColorStops.size() == a + 1)
+ rWriter.attribute("endColor", convertColorToString(rColorStops[a].getStopColor()));
else
{
- rWriter.startElement("colorStep");
- rWriter.attribute("offset", rColorSteps[a].getOffset());
- rWriter.attribute("color", convertColorToString(rColorSteps[a].getColor()));
+ rWriter.startElement("colorStop");
+ rWriter.attribute("stopOffset", rColorStops[a].getStopOffset());
+ rWriter.attribute("stopColor", convertColorToString(rColorStops[a].getStopColor()));
rWriter.endElement();
}
}
diff --git a/drawinglayer/source/tools/wmfemfhelper.cxx b/drawinglayer/source/tools/wmfemfhelper.cxx
index 27e6a6c94e24..e6eb401833c7 100644
--- a/drawinglayer/source/tools/wmfemfhelper.cxx
+++ b/drawinglayer/source/tools/wmfemfhelper.cxx
@@ -711,17 +711,13 @@ namespace wmfemfhelper
}
}
- const basegfx::ColorSteps aColorSteps {
- basegfx::ColorStep(0.0, aStart),
- basegfx::ColorStep(1.0, aEnd) };
-
return drawinglayer::attribute::FillGradientAttribute(
aGradientStyle,
static_cast<double>(rGradient.GetBorder()) * 0.01,
static_cast<double>(rGradient.GetOfsX()) * 0.01,
static_cast<double>(rGradient.GetOfsY()) * 0.01,
toRadians(rGradient.GetAngle()),
- aColorSteps,
+ basegfx::utils::createColorStopsFromStartEndColor(aStart, aEnd),
rGradient.GetSteps());
}
@@ -926,7 +922,7 @@ namespace wmfemfhelper
if(aAttribute.hasSingleColor())
{
// not really a gradient. Create filled rectangle
- return CreateColorWallpaper(rRange, aAttribute.getColorSteps().front().getColor(), rPropertyHolder);
+ return CreateColorWallpaper(rRange, aAttribute.getColorStops().front().getStopColor(), rPropertyHolder);
}
else
{
@@ -2809,7 +2805,7 @@ namespace wmfemfhelper
rTargetHolders.Current().append(
new drawinglayer::primitive2d::UnifiedTransparencePrimitive2D(
std::move(xSubContent),
- aAttribute.getColorSteps().front().getColor().luminance()));
+ aAttribute.getColorStops().front().getStopColor().luminance()));
}
else
{
@@ -2929,7 +2925,7 @@ namespace wmfemfhelper
rTargetHolders.Current().append(
new drawinglayer::primitive2d::PolyPolygonColorPrimitive2D(
std::move(aPolyPolygon),
- aAttribute.getColorSteps().front().getColor()));
+ aAttribute.getColorStops().front().getStopColor()));
}
else
{