mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1611044 - Convert stroke-linejoin #defines to an enum class. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60865 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
34f2de9959
commit
56f3626ca9
@ -286,13 +286,13 @@ void SVGContentUtils::GetStrokeOptions(AutoStrokeOptions* aStrokeOptions,
|
||||
aStrokeOptions->mMiterLimit = Float(styleSVG->mStrokeMiterlimit);
|
||||
|
||||
switch (styleSVG->mStrokeLinejoin) {
|
||||
case NS_STYLE_STROKE_LINEJOIN_MITER:
|
||||
case StyleStrokeLinejoin::Miter:
|
||||
aStrokeOptions->mLineJoin = JoinStyle::MITER_OR_BEVEL;
|
||||
break;
|
||||
case NS_STYLE_STROKE_LINEJOIN_ROUND:
|
||||
case StyleStrokeLinejoin::Round:
|
||||
aStrokeOptions->mLineJoin = JoinStyle::ROUND;
|
||||
break;
|
||||
case NS_STYLE_STROKE_LINEJOIN_BEVEL:
|
||||
case StyleStrokeLinejoin::Bevel:
|
||||
aStrokeOptions->mLineJoin = JoinStyle::BEVEL;
|
||||
break;
|
||||
}
|
||||
|
@ -134,6 +134,7 @@ rusty-enums = [
|
||||
"mozilla::StyleColorAdjust",
|
||||
"mozilla::StyleFlexDirection",
|
||||
"mozilla::StyleStrokeLinecap",
|
||||
"mozilla::StyleStrokeLinejoin",
|
||||
"mozilla::StyleFlexWrap",
|
||||
"mozilla::StyleTextDecorationSkipInk",
|
||||
"mozilla::StyleTextDecorationLength",
|
||||
|
@ -769,9 +769,11 @@ enum class StyleStrokeLinecap : uint8_t {
|
||||
};
|
||||
|
||||
// stroke-linejoin
|
||||
#define NS_STYLE_STROKE_LINEJOIN_MITER 0
|
||||
#define NS_STYLE_STROKE_LINEJOIN_ROUND 1
|
||||
#define NS_STYLE_STROKE_LINEJOIN_BEVEL 2
|
||||
enum class StyleStrokeLinejoin : uint8_t {
|
||||
Miter,
|
||||
Round,
|
||||
Bevel,
|
||||
};
|
||||
|
||||
// text-anchor
|
||||
enum class StyleTextAnchor : uint8_t {
|
||||
|
@ -770,7 +770,7 @@ nsStyleSVG::nsStyleSVG(const Document& aDocument)
|
||||
mPaintOrder(0),
|
||||
mShapeRendering(StyleShapeRendering::Auto),
|
||||
mStrokeLinecap(StyleStrokeLinecap::Butt),
|
||||
mStrokeLinejoin(NS_STYLE_STROKE_LINEJOIN_MITER),
|
||||
mStrokeLinejoin(StyleStrokeLinejoin::Miter),
|
||||
mDominantBaseline(NS_STYLE_DOMINANT_BASELINE_AUTO),
|
||||
mTextAnchor(StyleTextAnchor::Start),
|
||||
mContextFlags(
|
||||
|
@ -2093,7 +2093,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleSVG {
|
||||
mozilla::StyleSVGPaintOrder mPaintOrder;
|
||||
mozilla::StyleShapeRendering mShapeRendering;
|
||||
mozilla::StyleStrokeLinecap mStrokeLinecap;
|
||||
uint8_t mStrokeLinejoin; // NS_STYLE_STROKE_LINEJOIN_*
|
||||
mozilla::StyleStrokeLinejoin mStrokeLinejoin;
|
||||
uint8_t mDominantBaseline; // NS_STYLE_DOMINANT_BASELINE_*
|
||||
mozilla::StyleTextAnchor mTextAnchor;
|
||||
|
||||
|
@ -1302,7 +1302,7 @@ gfxRect nsSVGUtils::PathExtentsToMaxStrokeExtents(const gfxRect& aPathExtents,
|
||||
|
||||
if (affectedByMiterlimit) {
|
||||
const nsStyleSVG* style = aFrame->StyleSVG();
|
||||
if (style->mStrokeLinejoin == NS_STYLE_STROKE_LINEJOIN_MITER &&
|
||||
if (style->mStrokeLinejoin == StyleStrokeLinejoin::Miter &&
|
||||
styleExpansionFactor < style->mStrokeMiterlimit / 2.0) {
|
||||
styleExpansionFactor = style->mStrokeMiterlimit / 2.0;
|
||||
}
|
||||
|
@ -118,6 +118,7 @@ ${helpers.single_keyword(
|
||||
engines="gecko",
|
||||
animation_value_type="discrete",
|
||||
spec="https://www.w3.org/TR/SVG11/painting.html#StrokeLinejoinProperty",
|
||||
gecko_enum_prefix = "StyleStrokeLinejoin",
|
||||
)}
|
||||
|
||||
${helpers.predefined_type(
|
||||
|
Loading…
Reference in New Issue
Block a user