| OLD | NEW |
| 1 /* | 1 /* |
| 2 Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 2004, 2005 Rob Buis <buis@kde.org> | 3 2004, 2005 Rob Buis <buis@kde.org> |
| 4 Copyright (C) 2005, 2006 Apple Computer, Inc. | 4 Copyright (C) 2005, 2006 Apple Computer, Inc. |
| 5 Copyright (C) Research In Motion Limited 2010. All rights reserved. | 5 Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 6 | 6 |
| 7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
| 8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
| 9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
| 10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 bool operator==(const SVGComputedStyle&) const; | 58 bool operator==(const SVGComputedStyle&) const; |
| 59 bool operator!=(const SVGComputedStyle& o) const { return !(*this == o); } | 59 bool operator!=(const SVGComputedStyle& o) const { return !(*this == o); } |
| 60 | 60 |
| 61 // Initial values for all the properties | 61 // Initial values for all the properties |
| 62 static EAlignmentBaseline initialAlignmentBaseline() { return AB_AUTO; } | 62 static EAlignmentBaseline initialAlignmentBaseline() { return AB_AUTO; } |
| 63 static EDominantBaseline initialDominantBaseline() { return DB_AUTO; } | 63 static EDominantBaseline initialDominantBaseline() { return DB_AUTO; } |
| 64 static EBaselineShift initialBaselineShift() { return BS_LENGTH; } | 64 static EBaselineShift initialBaselineShift() { return BS_LENGTH; } |
| 65 static Length initialBaselineShiftValue() { return Length(Fixed); } | 65 static Length initialBaselineShiftValue() { return Length(Fixed); } |
| 66 static EVectorEffect initialVectorEffect() { return VE_NONE; } | 66 static EVectorEffect initialVectorEffect() { return VE_NONE; } |
| 67 static EBufferedRendering initialBufferedRendering() { return BR_AUTO; } | 67 static EBufferedRendering initialBufferedRendering() { return BR_AUTO; } |
| 68 static LineCap initialCapStyle() { return ButtCap; } | |
| 69 static WindRule initialClipRule() { return RULE_NONZERO; } | 68 static WindRule initialClipRule() { return RULE_NONZERO; } |
| 70 static EColorInterpolation initialColorInterpolation() { return CI_SRGB; } | 69 static EColorInterpolation initialColorInterpolation() { return CI_SRGB; } |
| 71 static EColorInterpolation initialColorInterpolationFilters() { | 70 static EColorInterpolation initialColorInterpolationFilters() { |
| 72 return CI_LINEARRGB; | 71 return CI_LINEARRGB; |
| 73 } | 72 } |
| 74 static EColorRendering initialColorRendering() { return CR_AUTO; } | 73 static EColorRendering initialColorRendering() { return CR_AUTO; } |
| 75 static WindRule initialFillRule() { return RULE_NONZERO; } | 74 static WindRule initialFillRule() { return RULE_NONZERO; } |
| 76 static LineJoin initialJoinStyle() { return MiterJoin; } | |
| 77 static EShapeRendering initialShapeRendering() { return SR_AUTO; } | 75 static EShapeRendering initialShapeRendering() { return SR_AUTO; } |
| 78 static ETextAnchor initialTextAnchor() { return TA_START; } | 76 static ETextAnchor initialTextAnchor() { return TA_START; } |
| 79 static float initialFillOpacity() { return 1; } | 77 static float initialFillOpacity() { return 1; } |
| 80 static SVGPaintType initialFillPaintType() { return SVG_PAINTTYPE_RGBCOLOR; } | 78 static SVGPaintType initialFillPaintType() { return SVG_PAINTTYPE_RGBCOLOR; } |
| 81 static Color initialFillPaintColor() { return Color::black; } | 79 static Color initialFillPaintColor() { return Color::black; } |
| 82 static String initialFillPaintUri() { return String(); } | 80 static String initialFillPaintUri() { return String(); } |
| 83 static float initialStrokeOpacity() { return 1; } | 81 static float initialStrokeOpacity() { return 1; } |
| 84 static SVGPaintType initialStrokePaintType() { return SVG_PAINTTYPE_NONE; } | 82 static SVGPaintType initialStrokePaintType() { return SVG_PAINTTYPE_NONE; } |
| 85 static Color initialStrokePaintColor() { return Color(); } | 83 static Color initialStrokePaintColor() { return Color(); } |
| 86 static String initialStrokePaintUri() { return String(); } | 84 static String initialStrokePaintUri() { return String(); } |
| 87 static PassRefPtr<SVGDashArray> initialStrokeDashArray(); | 85 static PassRefPtr<SVGDashArray> initialStrokeDashArray(); |
| 88 static Length initialStrokeDashOffset() { return Length(Fixed); } | 86 static Length initialStrokeDashOffset() { return Length(Fixed); } |
| 89 static float initialStrokeMiterLimit() { return 4; } | 87 static float initialStrokeMiterLimit() { return 4; } |
| 90 static UnzoomedLength initialStrokeWidth() { | |
| 91 return UnzoomedLength(Length(1, Fixed)); | |
| 92 } | |
| 93 static float initialStopOpacity() { return 1; } | 88 static float initialStopOpacity() { return 1; } |
| 94 static Color initialStopColor() { return Color(0, 0, 0); } | 89 static Color initialStopColor() { return Color(0, 0, 0); } |
| 95 static float initialFloodOpacity() { return 1; } | 90 static float initialFloodOpacity() { return 1; } |
| 96 static Color initialFloodColor() { return Color(0, 0, 0); } | 91 static Color initialFloodColor() { return Color(0, 0, 0); } |
| 97 static Color initialLightingColor() { return Color(255, 255, 255); } | 92 static Color initialLightingColor() { return Color(255, 255, 255); } |
| 98 static const AtomicString& initialMaskerResource() { return nullAtom; } | 93 static const AtomicString& initialMaskerResource() { return nullAtom; } |
| 99 static const AtomicString& initialMarkerStartResource() { return nullAtom; } | 94 static const AtomicString& initialMarkerStartResource() { return nullAtom; } |
| 100 static const AtomicString& initialMarkerMidResource() { return nullAtom; } | 95 static const AtomicString& initialMarkerMidResource() { return nullAtom; } |
| 101 static const AtomicString& initialMarkerEndResource() { return nullAtom; } | 96 static const AtomicString& initialMarkerEndResource() { return nullAtom; } |
| 102 static EMaskType initialMaskType() { return MT_LUMINANCE; } | 97 static EMaskType initialMaskType() { return MT_LUMINANCE; } |
| 103 static EPaintOrder initialPaintOrder() { return PaintOrderNormal; } | |
| 104 static StylePath* initialD() { return nullptr; } | 98 static StylePath* initialD() { return nullptr; } |
| 105 static Length initialCx() { return Length(Fixed); } | 99 static Length initialCx() { return Length(Fixed); } |
| 106 static Length initialCy() { return Length(Fixed); } | 100 static Length initialCy() { return Length(Fixed); } |
| 107 static Length initialX() { return Length(Fixed); } | 101 static Length initialX() { return Length(Fixed); } |
| 108 static Length initialY() { return Length(Fixed); } | 102 static Length initialY() { return Length(Fixed); } |
| 109 static Length initialR() { return Length(Fixed); } | 103 static Length initialR() { return Length(Fixed); } |
| 110 static Length initialRx() { return Length(Auto); } | 104 static Length initialRx() { return Length(Auto); } |
| 111 static Length initialRy() { return Length(Auto); } | 105 static Length initialRy() { return Length(Auto); } |
| 112 | 106 |
| 113 // SVG CSS Property setters | 107 // SVG CSS Property setters |
| 114 void setAlignmentBaseline(EAlignmentBaseline val) { | 108 void setAlignmentBaseline(EAlignmentBaseline val) { |
| 115 svg_noninherited_flags.f.alignmentBaseline = val; | 109 svg_noninherited_flags.f.alignmentBaseline = val; |
| 116 } | 110 } |
| 117 void setDominantBaseline(EDominantBaseline val) { | 111 void setDominantBaseline(EDominantBaseline val) { |
| 118 svg_inherited_flags.dominantBaseline = val; | 112 svg_inherited_flags.dominantBaseline = val; |
| 119 } | 113 } |
| 120 void setBaselineShift(EBaselineShift val) { | 114 void setBaselineShift(EBaselineShift val) { |
| 121 svg_noninherited_flags.f.baselineShift = val; | 115 svg_noninherited_flags.f.baselineShift = val; |
| 122 } | 116 } |
| 123 void setVectorEffect(EVectorEffect val) { | 117 void setVectorEffect(EVectorEffect val) { |
| 124 svg_noninherited_flags.f.vectorEffect = val; | 118 svg_noninherited_flags.f.vectorEffect = val; |
| 125 } | 119 } |
| 126 void setBufferedRendering(EBufferedRendering val) { | 120 void setBufferedRendering(EBufferedRendering val) { |
| 127 svg_noninherited_flags.f.bufferedRendering = val; | 121 svg_noninherited_flags.f.bufferedRendering = val; |
| 128 } | 122 } |
| 129 void setCapStyle(LineCap val) { svg_inherited_flags.capStyle = val; } | |
| 130 void setClipRule(WindRule val) { svg_inherited_flags.clipRule = val; } | 123 void setClipRule(WindRule val) { svg_inherited_flags.clipRule = val; } |
| 131 void setColorInterpolation(EColorInterpolation val) { | 124 void setColorInterpolation(EColorInterpolation val) { |
| 132 svg_inherited_flags.colorInterpolation = val; | 125 svg_inherited_flags.colorInterpolation = val; |
| 133 } | 126 } |
| 134 void setColorInterpolationFilters(EColorInterpolation val) { | 127 void setColorInterpolationFilters(EColorInterpolation val) { |
| 135 svg_inherited_flags.colorInterpolationFilters = val; | 128 svg_inherited_flags.colorInterpolationFilters = val; |
| 136 } | 129 } |
| 137 void setColorRendering(EColorRendering val) { | 130 void setColorRendering(EColorRendering val) { |
| 138 svg_inherited_flags.colorRendering = val; | 131 svg_inherited_flags.colorRendering = val; |
| 139 } | 132 } |
| 140 void setFillRule(WindRule val) { svg_inherited_flags.fillRule = val; } | 133 void setFillRule(WindRule val) { svg_inherited_flags.fillRule = val; } |
| 141 void setJoinStyle(LineJoin val) { svg_inherited_flags.joinStyle = val; } | |
| 142 void setShapeRendering(EShapeRendering val) { | 134 void setShapeRendering(EShapeRendering val) { |
| 143 svg_inherited_flags.shapeRendering = val; | 135 svg_inherited_flags.shapeRendering = val; |
| 144 } | 136 } |
| 145 void setTextAnchor(ETextAnchor val) { svg_inherited_flags.textAnchor = val; } | 137 void setTextAnchor(ETextAnchor val) { svg_inherited_flags.textAnchor = val; } |
| 146 void setMaskType(EMaskType val) { svg_noninherited_flags.f.maskType = val; } | 138 void setMaskType(EMaskType val) { svg_noninherited_flags.f.maskType = val; } |
| 147 void setPaintOrder(EPaintOrder val) { | |
| 148 svg_inherited_flags.paintOrder = (int)val; | |
| 149 } | |
| 150 void setD(PassRefPtr<StylePath> d) { | 139 void setD(PassRefPtr<StylePath> d) { |
| 151 if (!(geometry->d == d)) | 140 if (!(geometry->d == d)) |
| 152 geometry.access()->d = d; | 141 geometry.access()->d = d; |
| 153 } | 142 } |
| 154 void setCx(const Length& obj) { | 143 void setCx(const Length& obj) { |
| 155 if (!(geometry->cx == obj)) | 144 if (!(geometry->cx == obj)) |
| 156 geometry.access()->cx = obj; | 145 geometry.access()->cx = obj; |
| 157 } | 146 } |
| 158 void setCy(const Length& obj) { | 147 void setCy(const Length& obj) { |
| 159 if (!(geometry->cy == obj)) | 148 if (!(geometry->cy == obj)) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 void setStrokeDashArray(PassRefPtr<SVGDashArray> dashArray) { | 227 void setStrokeDashArray(PassRefPtr<SVGDashArray> dashArray) { |
| 239 if (*stroke->dashArray != *dashArray) | 228 if (*stroke->dashArray != *dashArray) |
| 240 stroke.access()->dashArray = dashArray; | 229 stroke.access()->dashArray = dashArray; |
| 241 } | 230 } |
| 242 | 231 |
| 243 void setStrokeMiterLimit(float obj) { | 232 void setStrokeMiterLimit(float obj) { |
| 244 if (!(stroke->miterLimit == obj)) | 233 if (!(stroke->miterLimit == obj)) |
| 245 stroke.access()->miterLimit = obj; | 234 stroke.access()->miterLimit = obj; |
| 246 } | 235 } |
| 247 | 236 |
| 248 void setStrokeWidth(const UnzoomedLength& strokeWidth) { | |
| 249 if (!(stroke->width == strokeWidth)) | |
| 250 stroke.access()->width = strokeWidth; | |
| 251 } | |
| 252 | |
| 253 void setStrokeDashOffset(const Length& dashOffset) { | 237 void setStrokeDashOffset(const Length& dashOffset) { |
| 254 if (!(stroke->dashOffset == dashOffset)) | 238 if (!(stroke->dashOffset == dashOffset)) |
| 255 stroke.access()->dashOffset = dashOffset; | 239 stroke.access()->dashOffset = dashOffset; |
| 256 } | 240 } |
| 257 | 241 |
| 258 void setStopOpacity(float obj) { | 242 void setStopOpacity(float obj) { |
| 259 if (!(stops->opacity == obj)) | 243 if (!(stops->opacity == obj)) |
| 260 stops.access()->opacity = obj; | 244 stops.access()->opacity = obj; |
| 261 } | 245 } |
| 262 | 246 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 } | 300 } |
| 317 EBaselineShift baselineShift() const { | 301 EBaselineShift baselineShift() const { |
| 318 return (EBaselineShift)svg_noninherited_flags.f.baselineShift; | 302 return (EBaselineShift)svg_noninherited_flags.f.baselineShift; |
| 319 } | 303 } |
| 320 EVectorEffect vectorEffect() const { | 304 EVectorEffect vectorEffect() const { |
| 321 return (EVectorEffect)svg_noninherited_flags.f.vectorEffect; | 305 return (EVectorEffect)svg_noninherited_flags.f.vectorEffect; |
| 322 } | 306 } |
| 323 EBufferedRendering bufferedRendering() const { | 307 EBufferedRendering bufferedRendering() const { |
| 324 return (EBufferedRendering)svg_noninherited_flags.f.bufferedRendering; | 308 return (EBufferedRendering)svg_noninherited_flags.f.bufferedRendering; |
| 325 } | 309 } |
| 326 LineCap capStyle() const { return (LineCap)svg_inherited_flags.capStyle; } | |
| 327 WindRule clipRule() const { return (WindRule)svg_inherited_flags.clipRule; } | 310 WindRule clipRule() const { return (WindRule)svg_inherited_flags.clipRule; } |
| 328 EColorInterpolation colorInterpolation() const { | 311 EColorInterpolation colorInterpolation() const { |
| 329 return (EColorInterpolation)svg_inherited_flags.colorInterpolation; | 312 return (EColorInterpolation)svg_inherited_flags.colorInterpolation; |
| 330 } | 313 } |
| 331 EColorInterpolation colorInterpolationFilters() const { | 314 EColorInterpolation colorInterpolationFilters() const { |
| 332 return (EColorInterpolation)svg_inherited_flags.colorInterpolationFilters; | 315 return (EColorInterpolation)svg_inherited_flags.colorInterpolationFilters; |
| 333 } | 316 } |
| 334 EColorRendering colorRendering() const { | 317 EColorRendering colorRendering() const { |
| 335 return (EColorRendering)svg_inherited_flags.colorRendering; | 318 return (EColorRendering)svg_inherited_flags.colorRendering; |
| 336 } | 319 } |
| 337 WindRule fillRule() const { return (WindRule)svg_inherited_flags.fillRule; } | 320 WindRule fillRule() const { return (WindRule)svg_inherited_flags.fillRule; } |
| 338 LineJoin joinStyle() const { return (LineJoin)svg_inherited_flags.joinStyle; } | |
| 339 EShapeRendering shapeRendering() const { | 321 EShapeRendering shapeRendering() const { |
| 340 return (EShapeRendering)svg_inherited_flags.shapeRendering; | 322 return (EShapeRendering)svg_inherited_flags.shapeRendering; |
| 341 } | 323 } |
| 342 ETextAnchor textAnchor() const { | 324 ETextAnchor textAnchor() const { |
| 343 return (ETextAnchor)svg_inherited_flags.textAnchor; | 325 return (ETextAnchor)svg_inherited_flags.textAnchor; |
| 344 } | 326 } |
| 345 float fillOpacity() const { return fill->opacity; } | 327 float fillOpacity() const { return fill->opacity; } |
| 346 const SVGPaintType& fillPaintType() const { return fill->paintType; } | 328 const SVGPaintType& fillPaintType() const { return fill->paintType; } |
| 347 const Color& fillPaintColor() const { return fill->paintColor; } | 329 const Color& fillPaintColor() const { return fill->paintColor; } |
| 348 const String& fillPaintUri() const { return fill->paintUri; } | 330 const String& fillPaintUri() const { return fill->paintUri; } |
| 349 float strokeOpacity() const { return stroke->opacity; } | 331 float strokeOpacity() const { return stroke->opacity; } |
| 350 const SVGPaintType& strokePaintType() const { return stroke->paintType; } | 332 const SVGPaintType& strokePaintType() const { return stroke->paintType; } |
| 351 const Color& strokePaintColor() const { return stroke->paintColor; } | 333 const Color& strokePaintColor() const { return stroke->paintColor; } |
| 352 const String& strokePaintUri() const { return stroke->paintUri; } | 334 const String& strokePaintUri() const { return stroke->paintUri; } |
| 353 SVGDashArray* strokeDashArray() const { return stroke->dashArray.get(); } | 335 SVGDashArray* strokeDashArray() const { return stroke->dashArray.get(); } |
| 354 float strokeMiterLimit() const { return stroke->miterLimit; } | 336 float strokeMiterLimit() const { return stroke->miterLimit; } |
| 355 const UnzoomedLength& strokeWidth() const { return stroke->width; } | |
| 356 const Length& strokeDashOffset() const { return stroke->dashOffset; } | 337 const Length& strokeDashOffset() const { return stroke->dashOffset; } |
| 357 float stopOpacity() const { return stops->opacity; } | 338 float stopOpacity() const { return stops->opacity; } |
| 358 const Color& stopColor() const { return stops->color; } | 339 const Color& stopColor() const { return stops->color; } |
| 359 float floodOpacity() const { return misc->floodOpacity; } | 340 float floodOpacity() const { return misc->floodOpacity; } |
| 360 const Color& floodColor() const { return misc->floodColor; } | 341 const Color& floodColor() const { return misc->floodColor; } |
| 361 const Color& lightingColor() const { return misc->lightingColor; } | 342 const Color& lightingColor() const { return misc->lightingColor; } |
| 362 const Length& baselineShiftValue() const { return misc->baselineShiftValue; } | 343 const Length& baselineShiftValue() const { return misc->baselineShiftValue; } |
| 363 StylePath* d() const { return geometry->d.get(); } | 344 StylePath* d() const { return geometry->d.get(); } |
| 364 const Length& cx() const { return geometry->cx; } | 345 const Length& cx() const { return geometry->cx; } |
| 365 const Length& cy() const { return geometry->cy; } | 346 const Length& cy() const { return geometry->cy; } |
| 366 const Length& x() const { return geometry->x; } | 347 const Length& x() const { return geometry->x; } |
| 367 const Length& y() const { return geometry->y; } | 348 const Length& y() const { return geometry->y; } |
| 368 const Length& r() const { return geometry->r; } | 349 const Length& r() const { return geometry->r; } |
| 369 const Length& rx() const { return geometry->rx; } | 350 const Length& rx() const { return geometry->rx; } |
| 370 const Length& ry() const { return geometry->ry; } | 351 const Length& ry() const { return geometry->ry; } |
| 371 const AtomicString& maskerResource() const { return resources->masker; } | 352 const AtomicString& maskerResource() const { return resources->masker; } |
| 372 const AtomicString& markerStartResource() const { | 353 const AtomicString& markerStartResource() const { |
| 373 return inheritedResources->markerStart; | 354 return inheritedResources->markerStart; |
| 374 } | 355 } |
| 375 const AtomicString& markerMidResource() const { | 356 const AtomicString& markerMidResource() const { |
| 376 return inheritedResources->markerMid; | 357 return inheritedResources->markerMid; |
| 377 } | 358 } |
| 378 const AtomicString& markerEndResource() const { | 359 const AtomicString& markerEndResource() const { |
| 379 return inheritedResources->markerEnd; | 360 return inheritedResources->markerEnd; |
| 380 } | 361 } |
| 381 EMaskType maskType() const { | 362 EMaskType maskType() const { |
| 382 return (EMaskType)svg_noninherited_flags.f.maskType; | 363 return (EMaskType)svg_noninherited_flags.f.maskType; |
| 383 } | 364 } |
| 384 EPaintOrder paintOrder() const { | |
| 385 return (EPaintOrder)svg_inherited_flags.paintOrder; | |
| 386 } | |
| 387 EPaintOrderType paintOrderType(unsigned index) const; | |
| 388 | |
| 389 const SVGPaintType& visitedLinkFillPaintType() const { | 365 const SVGPaintType& visitedLinkFillPaintType() const { |
| 390 return fill->visitedLinkPaintType; | 366 return fill->visitedLinkPaintType; |
| 391 } | 367 } |
| 392 const Color& visitedLinkFillPaintColor() const { | 368 const Color& visitedLinkFillPaintColor() const { |
| 393 return fill->visitedLinkPaintColor; | 369 return fill->visitedLinkPaintColor; |
| 394 } | 370 } |
| 395 const String& visitedLinkFillPaintUri() const { | 371 const String& visitedLinkFillPaintUri() const { |
| 396 return fill->visitedLinkPaintUri; | 372 return fill->visitedLinkPaintUri; |
| 397 } | 373 } |
| 398 const SVGPaintType& visitedLinkStrokePaintType() const { | 374 const SVGPaintType& visitedLinkStrokePaintType() const { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 419 visitedLinkStrokePaintType() == SVG_PAINTTYPE_URI_CURRENTCOLOR; | 395 visitedLinkStrokePaintType() == SVG_PAINTTYPE_URI_CURRENTCOLOR; |
| 420 } | 396 } |
| 421 | 397 |
| 422 // convenience | 398 // convenience |
| 423 bool hasMasker() const { return !maskerResource().isEmpty(); } | 399 bool hasMasker() const { return !maskerResource().isEmpty(); } |
| 424 bool hasMarkers() const { | 400 bool hasMarkers() const { |
| 425 return !markerStartResource().isEmpty() || !markerMidResource().isEmpty() || | 401 return !markerStartResource().isEmpty() || !markerMidResource().isEmpty() || |
| 426 !markerEndResource().isEmpty(); | 402 !markerEndResource().isEmpty(); |
| 427 } | 403 } |
| 428 bool hasStroke() const { return strokePaintType() != SVG_PAINTTYPE_NONE; } | 404 bool hasStroke() const { return strokePaintType() != SVG_PAINTTYPE_NONE; } |
| 429 bool hasVisibleStroke() const { | |
| 430 return hasStroke() && !strokeWidth().isZero(); | |
| 431 } | |
| 432 bool hasSquareCapStyle() const { return capStyle() == SquareCap; } | |
| 433 bool hasMiterJoinStyle() const { return joinStyle() == MiterJoin; } | |
| 434 bool hasFill() const { return fillPaintType() != SVG_PAINTTYPE_NONE; } | 405 bool hasFill() const { return fillPaintType() != SVG_PAINTTYPE_NONE; } |
| 435 | 406 |
| 436 protected: | 407 protected: |
| 437 // inherit | 408 // inherit |
| 438 struct InheritedFlags { | 409 struct InheritedFlags { |
| 439 bool operator==(const InheritedFlags& other) const { | 410 bool operator==(const InheritedFlags& other) const { |
| 440 return (colorRendering == other.colorRendering) && | 411 return (colorRendering == other.colorRendering) && |
| 441 (shapeRendering == other.shapeRendering) && | 412 (shapeRendering == other.shapeRendering) && |
| 442 (clipRule == other.clipRule) && (fillRule == other.fillRule) && | 413 (clipRule == other.clipRule) && (fillRule == other.fillRule) && |
| 443 (capStyle == other.capStyle) && (joinStyle == other.joinStyle) && | |
| 444 (textAnchor == other.textAnchor) && | 414 (textAnchor == other.textAnchor) && |
| 445 (colorInterpolation == other.colorInterpolation) && | 415 (colorInterpolation == other.colorInterpolation) && |
| 446 (colorInterpolationFilters == other.colorInterpolationFilters) && | 416 (colorInterpolationFilters == other.colorInterpolationFilters) && |
| 447 (paintOrder == other.paintOrder) && | |
| 448 (dominantBaseline == other.dominantBaseline); | 417 (dominantBaseline == other.dominantBaseline); |
| 449 } | 418 } |
| 450 | 419 |
| 451 bool operator!=(const InheritedFlags& other) const { | 420 bool operator!=(const InheritedFlags& other) const { |
| 452 return !(*this == other); | 421 return !(*this == other); |
| 453 } | 422 } |
| 454 | 423 |
| 455 unsigned colorRendering : 2; // EColorRendering | 424 unsigned colorRendering : 2; // EColorRendering |
| 456 unsigned shapeRendering : 2; // EShapeRendering | 425 unsigned shapeRendering : 2; // EShapeRendering |
| 457 unsigned clipRule : 1; // WindRule | 426 unsigned clipRule : 1; // WindRule |
| 458 unsigned fillRule : 1; // WindRule | 427 unsigned fillRule : 1; // WindRule |
| 459 unsigned capStyle : 2; // LineCap | |
| 460 unsigned joinStyle : 2; // LineJoin | |
| 461 unsigned textAnchor : 2; // ETextAnchor | 428 unsigned textAnchor : 2; // ETextAnchor |
| 462 unsigned colorInterpolation : 2; // EColorInterpolation | 429 unsigned colorInterpolation : 2; // EColorInterpolation |
| 463 unsigned colorInterpolationFilters : 2; // EColorInterpolation_ | 430 unsigned colorInterpolationFilters : 2; // EColorInterpolation_ |
| 464 unsigned paintOrder : 3; // EPaintOrder | |
| 465 unsigned dominantBaseline : 4; // EDominantBaseline | 431 unsigned dominantBaseline : 4; // EDominantBaseline |
| 466 } svg_inherited_flags; | 432 } svg_inherited_flags; |
| 467 | 433 |
| 468 // don't inherit | 434 // don't inherit |
| 469 struct NonInheritedFlags { | 435 struct NonInheritedFlags { |
| 470 // 32 bit non-inherited, don't add to the struct, or the operator will | 436 // 32 bit non-inherited, don't add to the struct, or the operator will |
| 471 // break. | 437 // break. |
| 472 bool operator==(const NonInheritedFlags& other) const { | 438 bool operator==(const NonInheritedFlags& other) const { |
| 473 return niflags == other.niflags; | 439 return niflags == other.niflags; |
| 474 } | 440 } |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 | 476 |
| 511 bool diffNeedsLayoutAndPaintInvalidation(const SVGComputedStyle* other) const; | 477 bool diffNeedsLayoutAndPaintInvalidation(const SVGComputedStyle* other) const; |
| 512 bool diffNeedsPaintInvalidation(const SVGComputedStyle* other) const; | 478 bool diffNeedsPaintInvalidation(const SVGComputedStyle* other) const; |
| 513 | 479 |
| 514 void setBitDefaults() { | 480 void setBitDefaults() { |
| 515 svg_inherited_flags.clipRule = initialClipRule(); | 481 svg_inherited_flags.clipRule = initialClipRule(); |
| 516 svg_inherited_flags.colorRendering = initialColorRendering(); | 482 svg_inherited_flags.colorRendering = initialColorRendering(); |
| 517 svg_inherited_flags.fillRule = initialFillRule(); | 483 svg_inherited_flags.fillRule = initialFillRule(); |
| 518 svg_inherited_flags.shapeRendering = initialShapeRendering(); | 484 svg_inherited_flags.shapeRendering = initialShapeRendering(); |
| 519 svg_inherited_flags.textAnchor = initialTextAnchor(); | 485 svg_inherited_flags.textAnchor = initialTextAnchor(); |
| 520 svg_inherited_flags.capStyle = initialCapStyle(); | |
| 521 svg_inherited_flags.joinStyle = initialJoinStyle(); | |
| 522 svg_inherited_flags.colorInterpolation = initialColorInterpolation(); | 486 svg_inherited_flags.colorInterpolation = initialColorInterpolation(); |
| 523 svg_inherited_flags.colorInterpolationFilters = | 487 svg_inherited_flags.colorInterpolationFilters = |
| 524 initialColorInterpolationFilters(); | 488 initialColorInterpolationFilters(); |
| 525 svg_inherited_flags.paintOrder = initialPaintOrder(); | |
| 526 svg_inherited_flags.dominantBaseline = initialDominantBaseline(); | 489 svg_inherited_flags.dominantBaseline = initialDominantBaseline(); |
| 527 | 490 |
| 528 svg_noninherited_flags.niflags = 0; | 491 svg_noninherited_flags.niflags = 0; |
| 529 svg_noninherited_flags.f.alignmentBaseline = initialAlignmentBaseline(); | 492 svg_noninherited_flags.f.alignmentBaseline = initialAlignmentBaseline(); |
| 530 svg_noninherited_flags.f.baselineShift = initialBaselineShift(); | 493 svg_noninherited_flags.f.baselineShift = initialBaselineShift(); |
| 531 svg_noninherited_flags.f.vectorEffect = initialVectorEffect(); | 494 svg_noninherited_flags.f.vectorEffect = initialVectorEffect(); |
| 532 svg_noninherited_flags.f.bufferedRendering = initialBufferedRendering(); | 495 svg_noninherited_flags.f.bufferedRendering = initialBufferedRendering(); |
| 533 svg_noninherited_flags.f.maskType = initialMaskType(); | 496 svg_noninherited_flags.f.maskType = initialMaskType(); |
| 534 } | 497 } |
| 535 }; | 498 }; |
| 536 | 499 |
| 537 } // namespace blink | 500 } // namespace blink |
| 538 | 501 |
| 539 #endif // SVGComputedStyle_h | 502 #endif // SVGComputedStyle_h |
| OLD | NEW |