| Index: Source/core/layout/style/SVGLayoutStyle.h
|
| diff --git a/Source/core/layout/style/SVGLayoutStyle.h b/Source/core/layout/style/SVGLayoutStyle.h
|
| deleted file mode 100644
|
| index d38856308af46f0f54e953a5b57c64b65cd3d155..0000000000000000000000000000000000000000
|
| --- a/Source/core/layout/style/SVGLayoutStyle.h
|
| +++ /dev/null
|
| @@ -1,487 +0,0 @@
|
| -/*
|
| - Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org>
|
| - 2004, 2005 Rob Buis <buis@kde.org>
|
| - Copyright (C) 2005, 2006 Apple Computer, Inc.
|
| - Copyright (C) Research In Motion Limited 2010. All rights reserved.
|
| -
|
| - This library is free software; you can redistribute it and/or
|
| - modify it under the terms of the GNU Library General Public
|
| - License as published by the Free Software Foundation; either
|
| - version 2 of the License, or (at your option) any later version.
|
| -
|
| - This library is distributed in the hope that it will be useful,
|
| - but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
| - Library General Public License for more details.
|
| -
|
| - You should have received a copy of the GNU Library General Public License
|
| - along with this library; see the file COPYING.LIB. If not, write to
|
| - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
| - Boston, MA 02110-1301, USA.
|
| -*/
|
| -
|
| -#ifndef SVGLayoutStyle_h
|
| -#define SVGLayoutStyle_h
|
| -
|
| -#include "core/layout/style/DataRef.h"
|
| -#include "core/layout/style/LayoutStyleConstants.h"
|
| -#include "core/layout/style/SVGLayoutStyleDefs.h"
|
| -#include "core/layout/style/StyleDifference.h"
|
| -#include "platform/Length.h"
|
| -#include "platform/graphics/GraphicsTypes.h"
|
| -#include "platform/graphics/Path.h"
|
| -
|
| -namespace blink {
|
| -
|
| -class SVGLayoutStyle : public RefCounted<SVGLayoutStyle> {
|
| -public:
|
| - static PassRefPtr<SVGLayoutStyle> create() { return adoptRef(new SVGLayoutStyle); }
|
| - PassRefPtr<SVGLayoutStyle> copy() const { return adoptRef(new SVGLayoutStyle(*this));}
|
| - ~SVGLayoutStyle();
|
| -
|
| - bool inheritedNotEqual(const SVGLayoutStyle*) const;
|
| - void inheritFrom(const SVGLayoutStyle*);
|
| - void copyNonInheritedFromCached(const SVGLayoutStyle*);
|
| -
|
| - StyleDifference diff(const SVGLayoutStyle*) const;
|
| -
|
| - bool operator==(const SVGLayoutStyle&) const;
|
| - bool operator!=(const SVGLayoutStyle& o) const { return !(*this == o); }
|
| -
|
| - // Initial values for all the properties
|
| - static EAlignmentBaseline initialAlignmentBaseline() { return AB_AUTO; }
|
| - static EDominantBaseline initialDominantBaseline() { return DB_AUTO; }
|
| - static EBaselineShift initialBaselineShift() { return BS_LENGTH; }
|
| - static Length initialBaselineShiftValue() { return Length(Fixed); }
|
| - static EVectorEffect initialVectorEffect() { return VE_NONE; }
|
| - static EBufferedRendering initialBufferedRendering() { return BR_AUTO; }
|
| - static LineCap initialCapStyle() { return ButtCap; }
|
| - static WindRule initialClipRule() { return RULE_NONZERO; }
|
| - static EColorInterpolation initialColorInterpolation() { return CI_SRGB; }
|
| - static EColorInterpolation initialColorInterpolationFilters() { return CI_LINEARRGB; }
|
| - static EColorRendering initialColorRendering() { return CR_AUTO; }
|
| - static WindRule initialFillRule() { return RULE_NONZERO; }
|
| - static LineJoin initialJoinStyle() { return MiterJoin; }
|
| - static EShapeRendering initialShapeRendering() { return SR_AUTO; }
|
| - static ETextAnchor initialTextAnchor() { return TA_START; }
|
| - static SVGWritingMode initialWritingMode() { return WM_LRTB; }
|
| - static EGlyphOrientation initialGlyphOrientationHorizontal() { return GO_0DEG; }
|
| - static EGlyphOrientation initialGlyphOrientationVertical() { return GO_AUTO; }
|
| - static float initialFillOpacity() { return 1; }
|
| - static SVGPaintType initialFillPaintType() { return SVG_PAINTTYPE_RGBCOLOR; }
|
| - static Color initialFillPaintColor() { return Color::black; }
|
| - static String initialFillPaintUri() { return String(); }
|
| - static float initialStrokeOpacity() { return 1; }
|
| - static SVGPaintType initialStrokePaintType() { return SVG_PAINTTYPE_NONE; }
|
| - static Color initialStrokePaintColor() { return Color(); }
|
| - static String initialStrokePaintUri() { return String(); }
|
| - static PassRefPtr<SVGDashArray> initialStrokeDashArray();
|
| - static Length initialStrokeDashOffset() { return Length(Fixed); }
|
| - static float initialStrokeMiterLimit() { return 4; }
|
| - static UnzoomedLength initialStrokeWidth() { return UnzoomedLength(Length(1, Fixed)); }
|
| - static float initialStopOpacity() { return 1; }
|
| - static Color initialStopColor() { return Color(0, 0, 0); }
|
| - static float initialFloodOpacity() { return 1; }
|
| - static Color initialFloodColor() { return Color(0, 0, 0); }
|
| - static Color initialLightingColor() { return Color(255, 255, 255); }
|
| - static const AtomicString& initialClipperResource() { return nullAtom; }
|
| - static const AtomicString& initialFilterResource() { return nullAtom; }
|
| - static const AtomicString& initialMaskerResource() { return nullAtom; }
|
| - static const AtomicString& initialMarkerStartResource() { return nullAtom; }
|
| - static const AtomicString& initialMarkerMidResource() { return nullAtom; }
|
| - static const AtomicString& initialMarkerEndResource() { return nullAtom; }
|
| - static EMaskType initialMaskType() { return MT_LUMINANCE; }
|
| - static EPaintOrder initialPaintOrder() { return PO_NORMAL; }
|
| - static Length initialCx() { return Length(Fixed); }
|
| - static Length initialCy() { return Length(Fixed); }
|
| - static Length initialX() { return Length(Fixed); }
|
| - static Length initialY() { return Length(Fixed); }
|
| - static Length initialR() { return Length(Fixed); }
|
| - static Length initialRx() { return Length(Fixed); }
|
| - static Length initialRy() { return Length(Fixed); }
|
| -
|
| - // SVG CSS Property setters
|
| - void setAlignmentBaseline(EAlignmentBaseline val) { svg_noninherited_flags.f._alignmentBaseline = val; }
|
| - void setDominantBaseline(EDominantBaseline val) { svg_noninherited_flags.f._dominantBaseline = val; }
|
| - void setBaselineShift(EBaselineShift val) { svg_noninherited_flags.f._baselineShift = val; }
|
| - void setVectorEffect(EVectorEffect val) { svg_noninherited_flags.f._vectorEffect = val; }
|
| - void setBufferedRendering(EBufferedRendering val) { svg_noninherited_flags.f.bufferedRendering = val; }
|
| - void setCapStyle(LineCap val) { svg_inherited_flags._capStyle = val; }
|
| - void setClipRule(WindRule val) { svg_inherited_flags._clipRule = val; }
|
| - void setColorInterpolation(EColorInterpolation val) { svg_inherited_flags._colorInterpolation = val; }
|
| - void setColorInterpolationFilters(EColorInterpolation val) { svg_inherited_flags._colorInterpolationFilters = val; }
|
| - void setColorRendering(EColorRendering val) { svg_inherited_flags._colorRendering = val; }
|
| - void setFillRule(WindRule val) { svg_inherited_flags._fillRule = val; }
|
| - void setJoinStyle(LineJoin val) { svg_inherited_flags._joinStyle = val; }
|
| - void setShapeRendering(EShapeRendering val) { svg_inherited_flags._shapeRendering = val; }
|
| - void setTextAnchor(ETextAnchor val) { svg_inherited_flags._textAnchor = val; }
|
| - void setWritingMode(SVGWritingMode val) { svg_inherited_flags._writingMode = val; }
|
| - void setGlyphOrientationHorizontal(EGlyphOrientation val) { svg_inherited_flags._glyphOrientationHorizontal = val; }
|
| - void setGlyphOrientationVertical(EGlyphOrientation val) { svg_inherited_flags._glyphOrientationVertical = val; }
|
| - void setMaskType(EMaskType val) { svg_noninherited_flags.f.maskType = val; }
|
| - void setPaintOrder(EPaintOrder val) { svg_inherited_flags._paintOrder = (int)val; }
|
| - void setCx(const Length& obj)
|
| - {
|
| - if (!(layout->cx == obj))
|
| - layout.access()->cx = obj;
|
| - }
|
| - void setCy(const Length& obj)
|
| - {
|
| - if (!(layout->cy == obj))
|
| - layout.access()->cy = obj;
|
| - }
|
| - void setX(const Length& obj)
|
| - {
|
| - if (!(layout->x == obj))
|
| - layout.access()->x = obj;
|
| - }
|
| - void setY(const Length& obj)
|
| - {
|
| - if (!(layout->y == obj))
|
| - layout.access()->y = obj;
|
| - }
|
| - void setR(const Length& obj)
|
| - {
|
| - if (!(layout->r == obj))
|
| - layout.access()->r = obj;
|
| - }
|
| - void setRx(const Length& obj)
|
| - {
|
| - if (!(layout->rx == obj))
|
| - layout.access()->rx = obj;
|
| - }
|
| - void setRy(const Length& obj)
|
| - {
|
| - if (!(layout->ry == obj))
|
| - layout.access()->ry = obj;
|
| - }
|
| - void setFillOpacity(float obj)
|
| - {
|
| - if (!(fill->opacity == obj))
|
| - fill.access()->opacity = obj;
|
| - }
|
| -
|
| - void setFillPaint(SVGPaintType type, const Color& color, const String& uri, bool applyToRegularStyle = true, bool applyToVisitedLinkStyle = false)
|
| - {
|
| - if (applyToRegularStyle) {
|
| - if (!(fill->paintType == type))
|
| - fill.access()->paintType = type;
|
| - if (!(fill->paintColor == color))
|
| - fill.access()->paintColor = color;
|
| - if (!(fill->paintUri == uri))
|
| - fill.access()->paintUri = uri;
|
| - }
|
| - if (applyToVisitedLinkStyle) {
|
| - if (!(fill->visitedLinkPaintType == type))
|
| - fill.access()->visitedLinkPaintType = type;
|
| - if (!(fill->visitedLinkPaintColor == color))
|
| - fill.access()->visitedLinkPaintColor = color;
|
| - if (!(fill->visitedLinkPaintUri == uri))
|
| - fill.access()->visitedLinkPaintUri = uri;
|
| - }
|
| - }
|
| -
|
| - void setStrokeOpacity(float obj)
|
| - {
|
| - if (!(stroke->opacity == obj))
|
| - stroke.access()->opacity = obj;
|
| - }
|
| -
|
| - void setStrokePaint(SVGPaintType type, const Color& color, const String& uri, bool applyToRegularStyle = true, bool applyToVisitedLinkStyle = false)
|
| - {
|
| - if (applyToRegularStyle) {
|
| - if (!(stroke->paintType == type))
|
| - stroke.access()->paintType = type;
|
| - if (!(stroke->paintColor == color))
|
| - stroke.access()->paintColor = color;
|
| - if (!(stroke->paintUri == uri))
|
| - stroke.access()->paintUri = uri;
|
| - }
|
| - if (applyToVisitedLinkStyle) {
|
| - if (!(stroke->visitedLinkPaintType == type))
|
| - stroke.access()->visitedLinkPaintType = type;
|
| - if (!(stroke->visitedLinkPaintColor == color))
|
| - stroke.access()->visitedLinkPaintColor = color;
|
| - if (!(stroke->visitedLinkPaintUri == uri))
|
| - stroke.access()->visitedLinkPaintUri = uri;
|
| - }
|
| - }
|
| -
|
| - void setStrokeDashArray(PassRefPtr<SVGDashArray> dashArray)
|
| - {
|
| - if (*stroke->dashArray != *dashArray)
|
| - stroke.access()->dashArray = dashArray;
|
| - }
|
| -
|
| - void setStrokeMiterLimit(float obj)
|
| - {
|
| - if (!(stroke->miterLimit == obj))
|
| - stroke.access()->miterLimit = obj;
|
| - }
|
| -
|
| - void setStrokeWidth(const UnzoomedLength& strokeWidth)
|
| - {
|
| - if (!(stroke->width == strokeWidth))
|
| - stroke.access()->width = strokeWidth;
|
| - }
|
| -
|
| - void setStrokeDashOffset(const Length& dashOffset)
|
| - {
|
| - if (!(stroke->dashOffset == dashOffset))
|
| - stroke.access()->dashOffset = dashOffset;
|
| - }
|
| -
|
| - void setStopOpacity(float obj)
|
| - {
|
| - if (!(stops->opacity == obj))
|
| - stops.access()->opacity = obj;
|
| - }
|
| -
|
| - void setStopColor(const Color& obj)
|
| - {
|
| - if (!(stops->color == obj))
|
| - stops.access()->color = obj;
|
| - }
|
| -
|
| - void setFloodOpacity(float obj)
|
| - {
|
| - if (!(misc->floodOpacity == obj))
|
| - misc.access()->floodOpacity = obj;
|
| - }
|
| -
|
| - void setFloodColor(const Color& obj)
|
| - {
|
| - if (!(misc->floodColor == obj))
|
| - misc.access()->floodColor = obj;
|
| - }
|
| -
|
| - void setLightingColor(const Color& obj)
|
| - {
|
| - if (!(misc->lightingColor == obj))
|
| - misc.access()->lightingColor = obj;
|
| - }
|
| -
|
| - void setBaselineShiftValue(const Length& baselineShiftValue)
|
| - {
|
| - if (!(misc->baselineShiftValue == baselineShiftValue))
|
| - misc.access()->baselineShiftValue = baselineShiftValue;
|
| - }
|
| -
|
| - // Setters for non-inherited resources
|
| - void setClipperResource(const AtomicString& obj)
|
| - {
|
| - if (!(resources->clipper == obj))
|
| - resources.access()->clipper = obj;
|
| - }
|
| -
|
| - void setFilterResource(const AtomicString& obj)
|
| - {
|
| - if (!(resources->filter == obj))
|
| - resources.access()->filter = obj;
|
| - }
|
| -
|
| - void setMaskerResource(const AtomicString& obj)
|
| - {
|
| - if (!(resources->masker == obj))
|
| - resources.access()->masker = obj;
|
| - }
|
| -
|
| - // Setters for inherited resources
|
| - void setMarkerStartResource(const AtomicString& obj)
|
| - {
|
| - if (!(inheritedResources->markerStart == obj))
|
| - inheritedResources.access()->markerStart = obj;
|
| - }
|
| -
|
| - void setMarkerMidResource(const AtomicString& obj)
|
| - {
|
| - if (!(inheritedResources->markerMid == obj))
|
| - inheritedResources.access()->markerMid = obj;
|
| - }
|
| -
|
| - void setMarkerEndResource(const AtomicString& obj)
|
| - {
|
| - if (!(inheritedResources->markerEnd == obj))
|
| - inheritedResources.access()->markerEnd = obj;
|
| - }
|
| -
|
| - // Read accessors for all the properties
|
| - EAlignmentBaseline alignmentBaseline() const { return (EAlignmentBaseline) svg_noninherited_flags.f._alignmentBaseline; }
|
| - EDominantBaseline dominantBaseline() const { return (EDominantBaseline) svg_noninherited_flags.f._dominantBaseline; }
|
| - EBaselineShift baselineShift() const { return (EBaselineShift) svg_noninherited_flags.f._baselineShift; }
|
| - EVectorEffect vectorEffect() const { return (EVectorEffect) svg_noninherited_flags.f._vectorEffect; }
|
| - EBufferedRendering bufferedRendering() const { return (EBufferedRendering) svg_noninherited_flags.f.bufferedRendering; }
|
| - LineCap capStyle() const { return (LineCap) svg_inherited_flags._capStyle; }
|
| - WindRule clipRule() const { return (WindRule) svg_inherited_flags._clipRule; }
|
| - EColorInterpolation colorInterpolation() const { return (EColorInterpolation) svg_inherited_flags._colorInterpolation; }
|
| - EColorInterpolation colorInterpolationFilters() const { return (EColorInterpolation) svg_inherited_flags._colorInterpolationFilters; }
|
| - EColorRendering colorRendering() const { return (EColorRendering) svg_inherited_flags._colorRendering; }
|
| - WindRule fillRule() const { return (WindRule) svg_inherited_flags._fillRule; }
|
| - LineJoin joinStyle() const { return (LineJoin) svg_inherited_flags._joinStyle; }
|
| - EShapeRendering shapeRendering() const { return (EShapeRendering) svg_inherited_flags._shapeRendering; }
|
| - ETextAnchor textAnchor() const { return (ETextAnchor) svg_inherited_flags._textAnchor; }
|
| - SVGWritingMode writingMode() const { return (SVGWritingMode) svg_inherited_flags._writingMode; }
|
| - EGlyphOrientation glyphOrientationHorizontal() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationHorizontal; }
|
| - EGlyphOrientation glyphOrientationVertical() const { return (EGlyphOrientation) svg_inherited_flags._glyphOrientationVertical; }
|
| - float fillOpacity() const { return fill->opacity; }
|
| - const SVGPaintType& fillPaintType() const { return fill->paintType; }
|
| - const Color& fillPaintColor() const { return fill->paintColor; }
|
| - const String& fillPaintUri() const { return fill->paintUri; }
|
| - float strokeOpacity() const { return stroke->opacity; }
|
| - const SVGPaintType& strokePaintType() const { return stroke->paintType; }
|
| - const Color& strokePaintColor() const { return stroke->paintColor; }
|
| - const String& strokePaintUri() const { return stroke->paintUri; }
|
| - SVGDashArray* strokeDashArray() const { return stroke->dashArray.get(); }
|
| - float strokeMiterLimit() const { return stroke->miterLimit; }
|
| - const UnzoomedLength& strokeWidth() const { return stroke->width; }
|
| - const Length& strokeDashOffset() const { return stroke->dashOffset; }
|
| - float stopOpacity() const { return stops->opacity; }
|
| - const Color& stopColor() const { return stops->color; }
|
| - float floodOpacity() const { return misc->floodOpacity; }
|
| - const Color& floodColor() const { return misc->floodColor; }
|
| - const Color& lightingColor() const { return misc->lightingColor; }
|
| - const Length& baselineShiftValue() const { return misc->baselineShiftValue; }
|
| - const Length& cx() const { return layout->cx; }
|
| - const Length& cy() const { return layout->cy; }
|
| - const Length& x() const { return layout->x; }
|
| - const Length& y() const { return layout->y; }
|
| - const Length& r() const { return layout->r; }
|
| - const Length& rx() const { return layout->rx; }
|
| - const Length& ry() const { return layout->ry; }
|
| - const AtomicString& clipperResource() const { return resources->clipper; }
|
| - const AtomicString& filterResource() const { return resources->filter; }
|
| - const AtomicString& maskerResource() const { return resources->masker; }
|
| - const AtomicString& markerStartResource() const { return inheritedResources->markerStart; }
|
| - const AtomicString& markerMidResource() const { return inheritedResources->markerMid; }
|
| - const AtomicString& markerEndResource() const { return inheritedResources->markerEnd; }
|
| - EMaskType maskType() const { return (EMaskType) svg_noninherited_flags.f.maskType; }
|
| - EPaintOrder paintOrder() const { return (EPaintOrder) svg_inherited_flags._paintOrder; }
|
| - EPaintOrderType paintOrderType(unsigned index) const;
|
| -
|
| - const SVGPaintType& visitedLinkFillPaintType() const { return fill->visitedLinkPaintType; }
|
| - const Color& visitedLinkFillPaintColor() const { return fill->visitedLinkPaintColor; }
|
| - const String& visitedLinkFillPaintUri() const { return fill->visitedLinkPaintUri; }
|
| - const SVGPaintType& visitedLinkStrokePaintType() const { return stroke->visitedLinkPaintType; }
|
| - const Color& visitedLinkStrokePaintColor() const { return stroke->visitedLinkPaintColor; }
|
| - const String& visitedLinkStrokePaintUri() const { return stroke->visitedLinkPaintUri; }
|
| -
|
| - // convenience
|
| - bool hasClipper() const { return !clipperResource().isEmpty(); }
|
| - bool hasMasker() const { return !maskerResource().isEmpty(); }
|
| - bool hasFilter() const { return !filterResource().isEmpty(); }
|
| - bool hasMarkers() const { return !markerStartResource().isEmpty() || !markerMidResource().isEmpty() || !markerEndResource().isEmpty(); }
|
| - bool hasStroke() const { return strokePaintType() != SVG_PAINTTYPE_NONE; }
|
| - bool hasVisibleStroke() const { return hasStroke() && !strokeWidth().isZero(); }
|
| - bool hasFill() const { return fillPaintType() != SVG_PAINTTYPE_NONE; }
|
| - bool isVerticalWritingMode() const { return writingMode() == WM_TBRL || writingMode() == WM_TB; }
|
| -
|
| -protected:
|
| - // inherit
|
| - struct InheritedFlags {
|
| - bool operator==(const InheritedFlags& other) const
|
| - {
|
| - return (_colorRendering == other._colorRendering)
|
| - && (_shapeRendering == other._shapeRendering)
|
| - && (_clipRule == other._clipRule)
|
| - && (_fillRule == other._fillRule)
|
| - && (_capStyle == other._capStyle)
|
| - && (_joinStyle == other._joinStyle)
|
| - && (_textAnchor == other._textAnchor)
|
| - && (_colorInterpolation == other._colorInterpolation)
|
| - && (_colorInterpolationFilters == other._colorInterpolationFilters)
|
| - && (_writingMode == other._writingMode)
|
| - && (_glyphOrientationHorizontal == other._glyphOrientationHorizontal)
|
| - && (_glyphOrientationVertical == other._glyphOrientationVertical)
|
| - && (_paintOrder == other._paintOrder);
|
| - }
|
| -
|
| - bool operator!=(const InheritedFlags& other) const
|
| - {
|
| - return !(*this == other);
|
| - }
|
| -
|
| - unsigned _colorRendering : 2; // EColorRendering
|
| - unsigned _shapeRendering : 2; // EShapeRendering
|
| - unsigned _clipRule : 1; // WindRule
|
| - unsigned _fillRule : 1; // WindRule
|
| - unsigned _capStyle : 2; // LineCap
|
| - unsigned _joinStyle : 2; // LineJoin
|
| - unsigned _textAnchor : 2; // ETextAnchor
|
| - unsigned _colorInterpolation : 2; // EColorInterpolation
|
| - unsigned _colorInterpolationFilters : 2; // EColorInterpolation
|
| - unsigned _writingMode : 3; // SVGWritingMode
|
| - unsigned _glyphOrientationHorizontal : 3; // EGlyphOrientation
|
| - unsigned _glyphOrientationVertical : 3; // EGlyphOrientation
|
| - unsigned _paintOrder : 6; // EPaintOrder
|
| - } svg_inherited_flags;
|
| -
|
| - // don't inherit
|
| - struct NonInheritedFlags {
|
| - // 32 bit non-inherited, don't add to the struct, or the operator will break.
|
| - bool operator==(const NonInheritedFlags &other) const { return _niflags == other._niflags; }
|
| - bool operator!=(const NonInheritedFlags &other) const { return _niflags != other._niflags; }
|
| -
|
| - union {
|
| - struct {
|
| - unsigned _alignmentBaseline : 4; // EAlignmentBaseline
|
| - unsigned _dominantBaseline : 4; // EDominantBaseline
|
| - unsigned _baselineShift : 2; // EBaselineShift
|
| - unsigned _vectorEffect: 1; // EVectorEffect
|
| - unsigned bufferedRendering: 2; // EBufferedRendering
|
| - unsigned maskType: 1; // EMaskType
|
| - // 18 bits unused
|
| - } f;
|
| - uint32_t _niflags;
|
| - };
|
| - } svg_noninherited_flags;
|
| -
|
| - // inherited attributes
|
| - DataRef<StyleFillData> fill;
|
| - DataRef<StyleStrokeData> stroke;
|
| - DataRef<StyleInheritedResourceData> inheritedResources;
|
| -
|
| - // non-inherited attributes
|
| - DataRef<StyleStopData> stops;
|
| - DataRef<StyleMiscData> misc;
|
| - DataRef<StyleLayoutData> layout;
|
| - DataRef<StyleResourceData> resources;
|
| -
|
| -private:
|
| - enum CreateInitialType { CreateInitial };
|
| -
|
| - SVGLayoutStyle();
|
| - SVGLayoutStyle(const SVGLayoutStyle&);
|
| - SVGLayoutStyle(CreateInitialType); // Used to create the initial style singleton.
|
| -
|
| - bool diffNeedsLayoutAndPaintInvalidation(const SVGLayoutStyle* other) const;
|
| - bool diffNeedsPaintInvalidation(const SVGLayoutStyle* other) const;
|
| -
|
| - void setBitDefaults()
|
| - {
|
| - svg_inherited_flags._clipRule = initialClipRule();
|
| - svg_inherited_flags._colorRendering = initialColorRendering();
|
| - svg_inherited_flags._fillRule = initialFillRule();
|
| - svg_inherited_flags._shapeRendering = initialShapeRendering();
|
| - svg_inherited_flags._textAnchor = initialTextAnchor();
|
| - svg_inherited_flags._capStyle = initialCapStyle();
|
| - svg_inherited_flags._joinStyle = initialJoinStyle();
|
| - svg_inherited_flags._colorInterpolation = initialColorInterpolation();
|
| - svg_inherited_flags._colorInterpolationFilters = initialColorInterpolationFilters();
|
| - svg_inherited_flags._writingMode = initialWritingMode();
|
| - svg_inherited_flags._glyphOrientationHorizontal = initialGlyphOrientationHorizontal();
|
| - svg_inherited_flags._glyphOrientationVertical = initialGlyphOrientationVertical();
|
| - svg_inherited_flags._paintOrder = initialPaintOrder();
|
| -
|
| - svg_noninherited_flags._niflags = 0;
|
| - svg_noninherited_flags.f._alignmentBaseline = initialAlignmentBaseline();
|
| - svg_noninherited_flags.f._dominantBaseline = initialDominantBaseline();
|
| - svg_noninherited_flags.f._baselineShift = initialBaselineShift();
|
| - svg_noninherited_flags.f._vectorEffect = initialVectorEffect();
|
| - svg_noninherited_flags.f.bufferedRendering = initialBufferedRendering();
|
| - svg_noninherited_flags.f.maskType = initialMaskType();
|
| - }
|
| -};
|
| -
|
| -} // namespace blink
|
| -
|
| -#endif // SVGLayoutStyle_h
|
|
|