| 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. |
| 11 | 11 |
| 12 This library is distributed in the hope that it will be useful, | 12 This library is distributed in the hope that it will be useful, |
| 13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 Library General Public License for more details. | 15 Library General Public License for more details. |
| 16 | 16 |
| 17 You should have received a copy of the GNU Library General Public License | 17 You should have received a copy of the GNU Library General Public License |
| 18 along with this library; see the file COPYING.LIB. If not, write to | 18 along with this library; see the file COPYING.LIB. If not, write to |
| 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 Boston, MA 02110-1301, USA. | 20 Boston, MA 02110-1301, USA. |
| 21 */ | 21 */ |
| 22 | 22 |
| 23 #ifndef SVGLayoutStyle_h | 23 #ifndef SVGComputedStyle_h |
| 24 #define SVGLayoutStyle_h | 24 #define SVGComputedStyle_h |
| 25 | 25 |
| 26 #include "core/layout/style/DataRef.h" | 26 #include "core/layout/style/DataRef.h" |
| 27 #include "core/layout/style/LayoutStyleConstants.h" | 27 #include "core/layout/style/ComputedStyleConstants.h" |
| 28 #include "core/layout/style/SVGLayoutStyleDefs.h" | 28 #include "core/layout/style/SVGComputedStyleDefs.h" |
| 29 #include "core/layout/style/StyleDifference.h" | 29 #include "core/layout/style/StyleDifference.h" |
| 30 #include "platform/Length.h" | 30 #include "platform/Length.h" |
| 31 #include "platform/graphics/GraphicsTypes.h" | 31 #include "platform/graphics/GraphicsTypes.h" |
| 32 #include "platform/graphics/Path.h" | 32 #include "platform/graphics/Path.h" |
| 33 | 33 |
| 34 namespace blink { | 34 namespace blink { |
| 35 | 35 |
| 36 class SVGLayoutStyle : public RefCounted<SVGLayoutStyle> { | 36 class SVGComputedStyle : public RefCounted<SVGComputedStyle> { |
| 37 public: | 37 public: |
| 38 static PassRefPtr<SVGLayoutStyle> create() { return adoptRef(new SVGLayoutSt
yle); } | 38 static PassRefPtr<SVGComputedStyle> create() { return adoptRef(new SVGComput
edStyle); } |
| 39 PassRefPtr<SVGLayoutStyle> copy() const { return adoptRef(new SVGLayoutStyle
(*this));} | 39 PassRefPtr<SVGComputedStyle> copy() const { return adoptRef(new SVGComputedS
tyle(*this));} |
| 40 ~SVGLayoutStyle(); | 40 ~SVGComputedStyle(); |
| 41 | 41 |
| 42 bool inheritedNotEqual(const SVGLayoutStyle*) const; | 42 bool inheritedNotEqual(const SVGComputedStyle*) const; |
| 43 void inheritFrom(const SVGLayoutStyle*); | 43 void inheritFrom(const SVGComputedStyle*); |
| 44 void copyNonInheritedFromCached(const SVGLayoutStyle*); | 44 void copyNonInheritedFromCached(const SVGComputedStyle*); |
| 45 | 45 |
| 46 StyleDifference diff(const SVGLayoutStyle*) const; | 46 StyleDifference diff(const SVGComputedStyle*) const; |
| 47 | 47 |
| 48 bool operator==(const SVGLayoutStyle&) const; | 48 bool operator==(const SVGComputedStyle&) const; |
| 49 bool operator!=(const SVGLayoutStyle& o) const { return !(*this == o); } | 49 bool operator!=(const SVGComputedStyle& o) const { return !(*this == o); } |
| 50 | 50 |
| 51 // Initial values for all the properties | 51 // Initial values for all the properties |
| 52 static EAlignmentBaseline initialAlignmentBaseline() { return AB_AUTO; } | 52 static EAlignmentBaseline initialAlignmentBaseline() { return AB_AUTO; } |
| 53 static EDominantBaseline initialDominantBaseline() { return DB_AUTO; } | 53 static EDominantBaseline initialDominantBaseline() { return DB_AUTO; } |
| 54 static EBaselineShift initialBaselineShift() { return BS_LENGTH; } | 54 static EBaselineShift initialBaselineShift() { return BS_LENGTH; } |
| 55 static Length initialBaselineShiftValue() { return Length(Fixed); } | 55 static Length initialBaselineShiftValue() { return Length(Fixed); } |
| 56 static EVectorEffect initialVectorEffect() { return VE_NONE; } | 56 static EVectorEffect initialVectorEffect() { return VE_NONE; } |
| 57 static EBufferedRendering initialBufferedRendering() { return BR_AUTO; } | 57 static EBufferedRendering initialBufferedRendering() { return BR_AUTO; } |
| 58 static LineCap initialCapStyle() { return ButtCap; } | 58 static LineCap initialCapStyle() { return ButtCap; } |
| 59 static WindRule initialClipRule() { return RULE_NONZERO; } | 59 static WindRule initialClipRule() { return RULE_NONZERO; } |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 | 442 |
| 443 // non-inherited attributes | 443 // non-inherited attributes |
| 444 DataRef<StyleStopData> stops; | 444 DataRef<StyleStopData> stops; |
| 445 DataRef<StyleMiscData> misc; | 445 DataRef<StyleMiscData> misc; |
| 446 DataRef<StyleLayoutData> layout; | 446 DataRef<StyleLayoutData> layout; |
| 447 DataRef<StyleResourceData> resources; | 447 DataRef<StyleResourceData> resources; |
| 448 | 448 |
| 449 private: | 449 private: |
| 450 enum CreateInitialType { CreateInitial }; | 450 enum CreateInitialType { CreateInitial }; |
| 451 | 451 |
| 452 SVGLayoutStyle(); | 452 SVGComputedStyle(); |
| 453 SVGLayoutStyle(const SVGLayoutStyle&); | 453 SVGComputedStyle(const SVGComputedStyle&); |
| 454 SVGLayoutStyle(CreateInitialType); // Used to create the initial style singl
eton. | 454 SVGComputedStyle(CreateInitialType); // Used to create the initial style sin
gleton. |
| 455 | 455 |
| 456 bool diffNeedsLayoutAndPaintInvalidation(const SVGLayoutStyle* other) const; | 456 bool diffNeedsLayoutAndPaintInvalidation(const SVGComputedStyle* other) cons
t; |
| 457 bool diffNeedsPaintInvalidation(const SVGLayoutStyle* other) const; | 457 bool diffNeedsPaintInvalidation(const SVGComputedStyle* other) const; |
| 458 | 458 |
| 459 void setBitDefaults() | 459 void setBitDefaults() |
| 460 { | 460 { |
| 461 svg_inherited_flags._clipRule = initialClipRule(); | 461 svg_inherited_flags._clipRule = initialClipRule(); |
| 462 svg_inherited_flags._colorRendering = initialColorRendering(); | 462 svg_inherited_flags._colorRendering = initialColorRendering(); |
| 463 svg_inherited_flags._fillRule = initialFillRule(); | 463 svg_inherited_flags._fillRule = initialFillRule(); |
| 464 svg_inherited_flags._shapeRendering = initialShapeRendering(); | 464 svg_inherited_flags._shapeRendering = initialShapeRendering(); |
| 465 svg_inherited_flags._textAnchor = initialTextAnchor(); | 465 svg_inherited_flags._textAnchor = initialTextAnchor(); |
| 466 svg_inherited_flags._capStyle = initialCapStyle(); | 466 svg_inherited_flags._capStyle = initialCapStyle(); |
| 467 svg_inherited_flags._joinStyle = initialJoinStyle(); | 467 svg_inherited_flags._joinStyle = initialJoinStyle(); |
| 468 svg_inherited_flags._colorInterpolation = initialColorInterpolation(); | 468 svg_inherited_flags._colorInterpolation = initialColorInterpolation(); |
| 469 svg_inherited_flags._colorInterpolationFilters = initialColorInterpolati
onFilters(); | 469 svg_inherited_flags._colorInterpolationFilters = initialColorInterpolati
onFilters(); |
| 470 svg_inherited_flags._writingMode = initialWritingMode(); | 470 svg_inherited_flags._writingMode = initialWritingMode(); |
| 471 svg_inherited_flags._glyphOrientationHorizontal = initialGlyphOrientatio
nHorizontal(); | 471 svg_inherited_flags._glyphOrientationHorizontal = initialGlyphOrientatio
nHorizontal(); |
| 472 svg_inherited_flags._glyphOrientationVertical = initialGlyphOrientationV
ertical(); | 472 svg_inherited_flags._glyphOrientationVertical = initialGlyphOrientationV
ertical(); |
| 473 svg_inherited_flags._paintOrder = initialPaintOrder(); | 473 svg_inherited_flags._paintOrder = initialPaintOrder(); |
| 474 | 474 |
| 475 svg_noninherited_flags._niflags = 0; | 475 svg_noninherited_flags._niflags = 0; |
| 476 svg_noninherited_flags.f._alignmentBaseline = initialAlignmentBaseline()
; | 476 svg_noninherited_flags.f._alignmentBaseline = initialAlignmentBaseline()
; |
| 477 svg_noninherited_flags.f._dominantBaseline = initialDominantBaseline(); | 477 svg_noninherited_flags.f._dominantBaseline = initialDominantBaseline(); |
| 478 svg_noninherited_flags.f._baselineShift = initialBaselineShift(); | 478 svg_noninherited_flags.f._baselineShift = initialBaselineShift(); |
| 479 svg_noninherited_flags.f._vectorEffect = initialVectorEffect(); | 479 svg_noninherited_flags.f._vectorEffect = initialVectorEffect(); |
| 480 svg_noninherited_flags.f.bufferedRendering = initialBufferedRendering(); | 480 svg_noninherited_flags.f.bufferedRendering = initialBufferedRendering(); |
| 481 svg_noninherited_flags.f.maskType = initialMaskType(); | 481 svg_noninherited_flags.f.maskType = initialMaskType(); |
| 482 } | 482 } |
| 483 }; | 483 }; |
| 484 | 484 |
| 485 } // namespace blink | 485 } // namespace blink |
| 486 | 486 |
| 487 #endif // SVGLayoutStyle_h | 487 #endif // SVGComputedStyle_h |
| OLD | NEW |