diff options
author | Armin Le Grand (allotropia) <armin.le.grand.extern@allotropia.de> | 2023-04-20 17:16:32 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@me.com> | 2023-04-21 15:03:14 +0200 |
commit | dccd82b5ac47f44ea0297d301dc894c70bc793a2 (patch) | |
tree | 71dad46c8e0fbd3b05363978f5554dfc32911276 /drawinglayer | |
parent | 0293724d05953be608287629ed6178a7c05383a6 (diff) |
MCGR: Reduce diverse GradientStyle enums to single UNO API one
Change-Id: Ie0cd26a308a75ddead9451c53e874a39cc6eeb63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150705
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'drawinglayer')
9 files changed, 48 insertions, 141 deletions
diff --git a/drawinglayer/qa/unit/vclpixelprocessor2d.cxx b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx index 4c26c2d4bfde..6ccf1e7c55ab 100644 --- a/drawinglayer/qa/unit/vclpixelprocessor2d.cxx +++ b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx @@ -61,7 +61,7 @@ public: basegfx::B2DRange definitionRange(0, 0, 100, 200); basegfx::B2DRange outputRange(0, 100, 100, 200); // Paint only lower half of the gradient. attribute::FillGradientAttribute attributes( - attribute::GradientStyle::Linear, 0, 0, 0, 0, + css::awt::GradientStyle_LINEAR, 0, 0, 0, 0, basegfx::utils::createColorStopsFromStartEndColor(COL_WHITE.getBColor(), COL_BLACK.getBColor())); rtl::Reference<primitive2d::FillGradientPrimitive2D> gradientPrimitive( diff --git a/drawinglayer/source/attribute/fillgradientattribute.cxx b/drawinglayer/source/attribute/fillgradientattribute.cxx index b25a4dab2f25..0233195113af 100644 --- a/drawinglayer/source/attribute/fillgradientattribute.cxx +++ b/drawinglayer/source/attribute/fillgradientattribute.cxx @@ -31,11 +31,11 @@ namespace drawinglayer::attribute double mfOffsetY; double mfAngle; basegfx::ColorStops maColorStops; - GradientStyle meStyle; + css::awt::GradientStyle meStyle; sal_uInt16 mnSteps; ImpFillGradientAttribute( - GradientStyle eStyle, + css::awt::GradientStyle eStyle, double fBorder, double fOffsetX, double fOffsetY, @@ -74,7 +74,7 @@ namespace drawinglayer::attribute mfOffsetY(0.0), mfAngle(0.0), maColorStops(), - meStyle(GradientStyle::Linear), + meStyle(css::awt::GradientStyle_LINEAR), mnSteps(0) { // always add a fallback color, see above @@ -82,7 +82,7 @@ namespace drawinglayer::attribute } // data read access - GradientStyle getStyle() const { return meStyle; } + css::awt::GradientStyle getStyle() const { return meStyle; } double getBorder() const { return mfBorder; } double getOffsetX() const { return mfOffsetX; } double getOffsetY() const { return mfOffsetY; } @@ -121,7 +121,7 @@ namespace drawinglayer::attribute } FillGradientAttribute::FillGradientAttribute( - GradientStyle eStyle, + css::awt::GradientStyle eStyle, double fBorder, double fOffsetX, double fOffsetY, @@ -179,9 +179,9 @@ namespace drawinglayer::attribute // is different from processing the gradient manually by drawinglayer // (and the Writer unittest for it fails). Keep using the drawinglayer code // until somebody founds out what's wrong and fixes it. - if (getStyle() != drawinglayer::attribute::GradientStyle::Linear - && getStyle() != drawinglayer::attribute::GradientStyle::Axial - && getStyle() != drawinglayer::attribute::GradientStyle::Radial) + if (getStyle() != css::awt::GradientStyle_LINEAR + && getStyle() != css::awt::GradientStyle_AXIAL + && getStyle() != css::awt::GradientStyle_RADIAL) { return true; } @@ -227,7 +227,7 @@ namespace drawinglayer::attribute return mpFillGradientAttribute->getAngle(); } - GradientStyle FillGradientAttribute::getStyle() const + css::awt::GradientStyle FillGradientAttribute::getStyle() const { return mpFillGradientAttribute->getStyle(); } diff --git a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx index 088e69357213..f39daccc4320 100644 --- a/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/fillgradientprimitive2d.cxx @@ -32,14 +32,14 @@ using namespace com::sun::star; namespace drawinglayer::primitive2d { - // Get the OuterColor. Take into account that for attribute::GradientStyle::Axial + // Get the OuterColor. Take into account that for css::awt::GradientStyle_AXIAL // this is the last one due to inverted gradient usage (see constructor there) basegfx::BColor FillGradientPrimitive2D::getOuterColor() const { if (getFillGradient().getColorStops().empty()) return basegfx::BColor(); - if (attribute::GradientStyle::Axial == getFillGradient().getStyle()) + if (css::awt::GradientStyle_AXIAL == getFillGradient().getStyle()) return getFillGradient().getColorStops().back().getStopColor(); return getFillGradient().getColorStops().front().getStopColor(); @@ -48,8 +48,8 @@ namespace drawinglayer::primitive2d // Get the needed UnitPolygon dependent on the GradientStyle basegfx::B2DPolygon FillGradientPrimitive2D::getUnitPolygon() const { - if (attribute::GradientStyle::Radial == getFillGradient().getStyle() - || attribute::GradientStyle::Elliptical == getFillGradient().getStyle()) + if (css::awt::GradientStyle_RADIAL == getFillGradient().getStyle() + || css::awt::GradientStyle_ELLIPTICAL == getFillGradient().getStyle()) { return basegfx::utils::createPolygonFromCircle(basegfx::B2DPoint(0.0, 0.0), 1.0); } @@ -62,7 +62,8 @@ namespace drawinglayer::primitive2d { switch(getFillGradient().getStyle()) { - case attribute::GradientStyle::Linear: + default: // GradientStyle_MAKE_FIXED_SIZE + case css::awt::GradientStyle_LINEAR: { texture::GeoTexSvxGradientLinear aGradient( getDefinitionRange(), @@ -74,7 +75,7 @@ namespace drawinglayer::primitive2d aGradient.appendTransformationsAndColors(aCallback); break; } - case attribute::GradientStyle::Axial: + case css::awt::GradientStyle_AXIAL: { texture::GeoTexSvxGradientAxial aGradient( getDefinitionRange(), @@ -86,7 +87,7 @@ namespace drawinglayer::primitive2d aGradient.appendTransformationsAndColors(aCallback); break; } - case attribute::GradientStyle::Radial: + case css::awt::GradientStyle_RADIAL: { texture::GeoTexSvxGradientRadial aGradient( getDefinitionRange(), @@ -98,7 +99,7 @@ namespace drawinglayer::primitive2d aGradient.appendTransformationsAndColors(aCallback); break; } - case attribute::GradientStyle::Elliptical: + case css::awt::GradientStyle_ELLIPTICAL: { texture::GeoTexSvxGradientElliptical aGradient( getDefinitionRange(), @@ -111,7 +112,7 @@ namespace drawinglayer::primitive2d aGradient.appendTransformationsAndColors(aCallback); break; } - case attribute::GradientStyle::Square: + case css::awt::GradientStyle_SQUARE: { texture::GeoTexSvxGradientSquare aGradient( getDefinitionRange(), @@ -124,7 +125,7 @@ namespace drawinglayer::primitive2d aGradient.appendTransformationsAndColors(aCallback); break; } - case attribute::GradientStyle::Rect: + case css::awt::GradientStyle_RECT: { texture::GeoTexSvxGradientRect aGradient( getDefinitionRange(), diff --git a/drawinglayer/source/primitive3d/textureprimitive3d.cxx b/drawinglayer/source/primitive3d/textureprimitive3d.cxx index 977670446c8a..ebae584e9dbf 100644 --- a/drawinglayer/source/primitive3d/textureprimitive3d.cxx +++ b/drawinglayer/source/primitive3d/textureprimitive3d.cxx @@ -99,7 +99,7 @@ namespace drawinglayer::primitive3d 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, aColorStops); + const attribute::FillGradientAttribute aFillGradient(css::awt::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 9adbb7501701..529a34ce599a 100644 --- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx @@ -285,40 +285,7 @@ void VclMetafileProcessor2D::impConvertFillGradientAttributeToVCLGradient( // defaults for intensity; those were computed into the start/end colors already o_rVCLGradient.SetStartIntensity(100); o_rVCLGradient.SetEndIntensity(100); - - switch (rFiGrAtt.getStyle()) - { - default: // attribute::GradientStyle::Linear : - { - o_rVCLGradient.SetStyle(GradientStyle::Linear); - break; - } - case attribute::GradientStyle::Axial: - { - o_rVCLGradient.SetStyle(GradientStyle::Axial); - break; - } - case attribute::GradientStyle::Radial: - { - o_rVCLGradient.SetStyle(GradientStyle::Radial); - break; - } - case attribute::GradientStyle::Elliptical: - { - o_rVCLGradient.SetStyle(GradientStyle::Elliptical); - break; - } - case attribute::GradientStyle::Square: - { - o_rVCLGradient.SetStyle(GradientStyle::Square); - break; - } - case attribute::GradientStyle::Rect: - { - o_rVCLGradient.SetStyle(GradientStyle::Rect); - break; - } - } + o_rVCLGradient.SetStyle(rFiGrAtt.getStyle()); } void VclMetafileProcessor2D::impStartSvtGraphicFill(SvtGraphicFill const* pSvtGraphicFill) @@ -2078,16 +2045,16 @@ void VclMetafileProcessor2D::processPolyPolygonGradientPrimitive2D( switch (aVCLGradient.GetStyle()) { - default: // GradientStyle::Linear: - case GradientStyle::Axial: + default: // css::awt::GradientStyle_LINEAR: + case css::awt::GradientStyle_AXIAL: eGrad = SvtGraphicFill::GradientType::Linear; break; - case GradientStyle::Radial: - case GradientStyle::Elliptical: + case css::awt::GradientStyle_RADIAL: + case css::awt::GradientStyle_ELLIPTICAL: eGrad = SvtGraphicFill::GradientType::Radial; break; - case GradientStyle::Square: - case GradientStyle::Rect: + case css::awt::GradientStyle_SQUARE: + case css::awt::GradientStyle_RECT: eGrad = SvtGraphicFill::GradientType::Rectangular; break; } @@ -2269,7 +2236,7 @@ void VclMetafileProcessor2D::processUnifiedTransparencePrimitive2D( basegfx::fround(rUniTransparenceCandidate.getTransparence() * 255.0))); const Color aTransColor(nTransPercentVcl, nTransPercentVcl, nTransPercentVcl); - aVCLGradient.SetStyle(GradientStyle::Linear); + aVCLGradient.SetStyle(css::awt::GradientStyle_LINEAR); aVCLGradient.SetStartColor(aTransColor); aVCLGradient.SetEndColor(aTransColor); aVCLGradient.SetAngle(0_deg10); diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index d6da12a1e32e..e71cda4a0bb6 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -185,32 +185,6 @@ bool VclPixelProcessor2D::tryDrawPolygonStrokePrimitive2DDirect( rSource.getLineAttribute().getMiterMinimumAngle()); } -namespace -{ -GradientStyle convertGradientStyle(drawinglayer::attribute::GradientStyle eGradientStyle) -{ - switch (eGradientStyle) - { - case drawinglayer::attribute::GradientStyle::Axial: - return GradientStyle::Axial; - case drawinglayer::attribute::GradientStyle::Radial: - return GradientStyle::Radial; - case drawinglayer::attribute::GradientStyle::Elliptical: - return GradientStyle::Elliptical; - case drawinglayer::attribute::GradientStyle::Square: - return GradientStyle::Square; - case drawinglayer::attribute::GradientStyle::Rect: - return GradientStyle::Rect; - case drawinglayer::attribute::GradientStyle::Linear: - return GradientStyle::Linear; - default: - assert(false); - return GradientStyle::Linear; - } -} - -} // end anonymous namespace - void VclPixelProcessor2D::processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate) { switch (rCandidate.getPrimitive2DID()) @@ -1053,9 +1027,8 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D( // try to use vcl - since vcl uses the old gradient paint mechanisms this may // create wrong geometries. If so, add another case above for useDecompose - GradientStyle eGradientStyle = convertGradientStyle(rFillGradient.getStyle()); - - Gradient aGradient(eGradientStyle, Color(rFillGradient.getColorStops().front().getStopColor()), + Gradient aGradient(rFillGradient.getStyle(), + Color(rFillGradient.getColorStops().front().getStopColor()), Color(rFillGradient.getColorStops().back().getStopColor())); aGradient.SetAngle(Degree10(static_cast<int>(basegfx::rad2deg<10>(rFillGradient.getAngle())))); diff --git a/drawinglayer/source/processor3d/defaultprocessor3d.cxx b/drawinglayer/source/processor3d/defaultprocessor3d.cxx index a2a5111bc49b..20d81871dbd7 100644 --- a/drawinglayer/source/processor3d/defaultprocessor3d.cxx +++ b/drawinglayer/source/processor3d/defaultprocessor3d.cxx @@ -59,14 +59,15 @@ namespace drawinglayer::processor3d // create texture const attribute::FillGradientAttribute& rFillGradient = rPrimitive.getGradient(); const basegfx::B2DRange aOutlineRange(0.0, 0.0, rPrimitive.getTextureSize().getX(), rPrimitive.getTextureSize().getY()); - const attribute::GradientStyle aGradientStyle(rFillGradient.getStyle()); + const css::awt::GradientStyle aGradientStyle(rFillGradient.getStyle()); std::shared_ptr< texture::GeoTexSvx > pNewTex; if(!rFillGradient.hasSingleColor()) { switch(aGradientStyle) { - case attribute::GradientStyle::Linear: + default: // GradientStyle_MAKE_FIXED_SIZE + case css::awt::GradientStyle_LINEAR: { pNewTex = std::make_shared<texture::GeoTexSvxGradientLinear>( aOutlineRange, @@ -77,7 +78,7 @@ namespace drawinglayer::processor3d rFillGradient.getAngle()); break; } - case attribute::GradientStyle::Axial: + case css::awt::GradientStyle_AXIAL: { pNewTex = std::make_shared<texture::GeoTexSvxGradientAxial>( aOutlineRange, @@ -88,7 +89,7 @@ namespace drawinglayer::processor3d rFillGradient.getAngle()); break; } - case attribute::GradientStyle::Radial: + case css::awt::GradientStyle_RADIAL: { pNewTex = std::make_shared<texture::GeoTexSvxGradientRadial>( @@ -100,7 +101,7 @@ namespace drawinglayer::processor3d rFillGradient.getOffsetY()); break; } - case attribute::GradientStyle::Elliptical: + case css::awt::GradientStyle_ELLIPTICAL: { pNewTex = std::make_shared<texture::GeoTexSvxGradientElliptical>( @@ -113,7 +114,7 @@ namespace drawinglayer::processor3d rFillGradient.getAngle()); break; } - case attribute::GradientStyle::Square: + case css::awt::GradientStyle_SQUARE: { pNewTex = std::make_shared<texture::GeoTexSvxGradientSquare>( @@ -126,7 +127,7 @@ namespace drawinglayer::processor3d rFillGradient.getAngle()); break; } - case attribute::GradientStyle::Rect: + case css::awt::GradientStyle_RECT: { pNewTex = std::make_shared<texture::GeoTexSvxGradientRect>( diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx index 31c88c6482ed..08f585a3638b 100644 --- a/drawinglayer/source/tools/primitive2dxmldump.cxx +++ b/drawinglayer/source/tools/primitive2dxmldump.cxx @@ -276,22 +276,23 @@ void writeSdrFillAttribute(::tools::XmlWriter& rWriter, rWriter.startElement("gradient"); switch (rGradient.getStyle()) { - case drawinglayer::attribute::GradientStyle::Linear: + default: // GradientStyle_MAKE_FIXED_SIZE + case css::awt::GradientStyle_LINEAR: rWriter.attribute("style", "Linear"); break; - case drawinglayer::attribute::GradientStyle::Axial: + case css::awt::GradientStyle_AXIAL: rWriter.attribute("style", "Axial"); break; - case drawinglayer::attribute::GradientStyle::Radial: + case css::awt::GradientStyle_RADIAL: rWriter.attribute("style", "Radial"); break; - case drawinglayer::attribute::GradientStyle::Elliptical: + case css::awt::GradientStyle_ELLIPTICAL: rWriter.attribute("style", "Elliptical"); break; - case drawinglayer::attribute::GradientStyle::Square: + case css::awt::GradientStyle_SQUARE: rWriter.attribute("style", "Square"); break; - case drawinglayer::attribute::GradientStyle::Rect: + case css::awt::GradientStyle_RECT: rWriter.attribute("style", "Rect"); break; } diff --git a/drawinglayer/source/tools/wmfemfhelper.cxx b/drawinglayer/source/tools/wmfemfhelper.cxx index e6eb401833c7..1b2b2d0a5abd 100644 --- a/drawinglayer/source/tools/wmfemfhelper.cxx +++ b/drawinglayer/source/tools/wmfemfhelper.cxx @@ -675,44 +675,8 @@ namespace wmfemfhelper aEnd = interpolate(aBlack, aEnd, static_cast<double>(nEndIntens) * 0.01); } - drawinglayer::attribute::GradientStyle aGradientStyle(drawinglayer::attribute::GradientStyle::Rect); - - switch(rGradient.GetStyle()) - { - case GradientStyle::Linear : - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Linear; - break; - } - case GradientStyle::Axial : - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Axial; - break; - } - case GradientStyle::Radial : - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Radial; - break; - } - case GradientStyle::Elliptical : - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Elliptical; - break; - } - case GradientStyle::Square : - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Square; - break; - } - default : // GradientStyle::Rect - { - aGradientStyle = drawinglayer::attribute::GradientStyle::Rect; - break; - } - } - return drawinglayer::attribute::FillGradientAttribute( - aGradientStyle, + rGradient.GetStyle(), static_cast<double>(rGradient.GetBorder()) * 0.01, static_cast<double>(rGradient.GetOfsX()) * 0.01, static_cast<double>(rGradient.GetOfsY()) * 0.01, |