| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
| 6 * rights reserved. | 6 * rights reserved. |
| 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 group.access()->base.access()->variable = value | 96 group.access()->base.access()->variable = value |
| 97 | 97 |
| 98 #define SET_VAR_WITH_SETTER(group, getter, setter, value) \ | 98 #define SET_VAR_WITH_SETTER(group, getter, setter, value) \ |
| 99 if (!compareEqual(group->getter(), value)) \ | 99 if (!compareEqual(group->getter(), value)) \ |
| 100 group.access()->setter(value) | 100 group.access()->setter(value) |
| 101 | 101 |
| 102 #define SET_BORDERVALUE_COLOR(group, variable, value) \ | 102 #define SET_BORDERVALUE_COLOR(group, variable, value) \ |
| 103 if (!compareEqual(group->variable.color(), value)) \ | 103 if (!compareEqual(group->variable.color(), value)) \ |
| 104 group.access()->variable.setColor(value) | 104 group.access()->variable.setColor(value) |
| 105 | 105 |
| 106 #define SET_BORDER_WIDTH(group, variable, value) \ |
| 107 if (!group->variable.widthEquals(value)) \ |
| 108 group.access()->variable.setWidth(value) |
| 109 |
| 110 #define SET_NESTED_BORDER_WIDTH(group, base, variable, value) \ |
| 111 if (!group->base->variable.widthEquals(value)) \ |
| 112 group.access()->base.access()->variable.setWidth(value) |
| 113 |
| 106 namespace blink { | 114 namespace blink { |
| 107 | 115 |
| 108 using std::max; | 116 using std::max; |
| 109 | 117 |
| 110 class FilterOperations; | 118 class FilterOperations; |
| 111 | 119 |
| 112 class AppliedTextDecoration; | 120 class AppliedTextDecoration; |
| 113 class BorderData; | 121 class BorderData; |
| 114 struct BorderEdge; | 122 struct BorderEdge; |
| 115 class CSSAnimationData; | 123 class CSSAnimationData; |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 } | 606 } |
| 599 void setBorderImageWidth(const BorderImageLengthBox&); | 607 void setBorderImageWidth(const BorderImageLengthBox&); |
| 600 | 608 |
| 601 // border-image-outset | 609 // border-image-outset |
| 602 const BorderImageLengthBox& borderImageOutset() const { | 610 const BorderImageLengthBox& borderImageOutset() const { |
| 603 return m_surround->border.image().outset(); | 611 return m_surround->border.image().outset(); |
| 604 } | 612 } |
| 605 void setBorderImageOutset(const BorderImageLengthBox&); | 613 void setBorderImageOutset(const BorderImageLengthBox&); |
| 606 | 614 |
| 607 // Border width properties. | 615 // Border width properties. |
| 608 static unsigned initialBorderWidth() { return 3; } | 616 static float initialBorderWidth() { return 3; } |
| 609 | 617 |
| 610 // border-top-width | 618 // border-top-width |
| 611 int borderTopWidth() const { return m_surround->border.borderTopWidth(); } | 619 float borderTopWidth() const { return m_surround->border.borderTopWidth(); } |
| 612 void setBorderTopWidth(unsigned v) { | 620 void setBorderTopWidth(float v) { |
| 613 SET_VAR(m_surround, border.m_top.m_width, v); | 621 SET_BORDER_WIDTH(m_surround, border.m_top, v); |
| 614 } | 622 } |
| 615 | 623 |
| 616 // border-bottom-width | 624 // border-bottom-width |
| 617 int borderBottomWidth() const { | 625 float borderBottomWidth() const { |
| 618 return m_surround->border.borderBottomWidth(); | 626 return m_surround->border.borderBottomWidth(); |
| 619 } | 627 } |
| 620 void setBorderBottomWidth(unsigned v) { | 628 void setBorderBottomWidth(float v) { |
| 621 SET_VAR(m_surround, border.m_bottom.m_width, v); | 629 SET_BORDER_WIDTH(m_surround, border.m_bottom, v); |
| 622 } | 630 } |
| 623 | 631 |
| 624 // border-left-width | 632 // border-left-width |
| 625 int borderLeftWidth() const { return m_surround->border.borderLeftWidth(); } | 633 float borderLeftWidth() const { return m_surround->border.borderLeftWidth(); } |
| 626 void setBorderLeftWidth(unsigned v) { | 634 void setBorderLeftWidth(float v) { |
| 627 SET_VAR(m_surround, border.m_left.m_width, v); | 635 SET_BORDER_WIDTH(m_surround, border.m_left, v); |
| 628 } | 636 } |
| 629 | 637 |
| 630 // border-right-width | 638 // border-right-width |
| 631 int borderRightWidth() const { return m_surround->border.borderRightWidth(); } | 639 float borderRightWidth() const { |
| 632 void setBorderRightWidth(unsigned v) { | 640 return m_surround->border.borderRightWidth(); |
| 633 SET_VAR(m_surround, border.m_right.m_width, v); | 641 } |
| 642 void setBorderRightWidth(float v) { |
| 643 SET_BORDER_WIDTH(m_surround, border.m_right, v); |
| 634 } | 644 } |
| 635 | 645 |
| 636 // Border style properties. | 646 // Border style properties. |
| 637 static EBorderStyle initialBorderStyle() { return BorderStyleNone; } | 647 static EBorderStyle initialBorderStyle() { return BorderStyleNone; } |
| 638 | 648 |
| 639 // border-top-style | 649 // border-top-style |
| 640 EBorderStyle borderTopStyle() const { | 650 EBorderStyle borderTopStyle() const { |
| 641 return m_surround->border.top().style(); | 651 return m_surround->border.top().style(); |
| 642 } | 652 } |
| 643 void setBorderTopStyle(EBorderStyle v) { | 653 void setBorderTopStyle(EBorderStyle v) { |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 860 void setColumnRuleStyle(EBorderStyle b) { | 870 void setColumnRuleStyle(EBorderStyle b) { |
| 861 SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_rule.m_style, b); | 871 SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_rule.m_style, b); |
| 862 } | 872 } |
| 863 | 873 |
| 864 // column-rule-width (aka -webkit-column-rule-width) | 874 // column-rule-width (aka -webkit-column-rule-width) |
| 865 static unsigned short initialColumnRuleWidth() { return 3; } | 875 static unsigned short initialColumnRuleWidth() { return 3; } |
| 866 unsigned short columnRuleWidth() const { | 876 unsigned short columnRuleWidth() const { |
| 867 return m_rareNonInheritedData->m_multiCol->ruleWidth(); | 877 return m_rareNonInheritedData->m_multiCol->ruleWidth(); |
| 868 } | 878 } |
| 869 void setColumnRuleWidth(unsigned short w) { | 879 void setColumnRuleWidth(unsigned short w) { |
| 870 SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_rule.m_width, w); | 880 SET_NESTED_BORDER_WIDTH(m_rareNonInheritedData, m_multiCol, m_rule, w); |
| 871 } | 881 } |
| 872 | 882 |
| 873 // column-span (aka -webkit-column-span) | 883 // column-span (aka -webkit-column-span) |
| 874 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; } | 884 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; } |
| 875 ColumnSpan getColumnSpan() const { | 885 ColumnSpan getColumnSpan() const { |
| 876 return static_cast<ColumnSpan>( | 886 return static_cast<ColumnSpan>( |
| 877 m_rareNonInheritedData->m_multiCol->m_columnSpan); | 887 m_rareNonInheritedData->m_multiCol->m_columnSpan); |
| 878 } | 888 } |
| 879 void setColumnSpan(ColumnSpan columnSpan) { | 889 void setColumnSpan(ColumnSpan columnSpan) { |
| 880 SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_columnSpan, | 890 SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_columnSpan, |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1436 OutlineIsAuto outlineStyleIsAuto() const { | 1446 OutlineIsAuto outlineStyleIsAuto() const { |
| 1437 return static_cast<OutlineIsAuto>( | 1447 return static_cast<OutlineIsAuto>( |
| 1438 m_rareNonInheritedData->m_outline.isAuto()); | 1448 m_rareNonInheritedData->m_outline.isAuto()); |
| 1439 } | 1449 } |
| 1440 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { | 1450 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { |
| 1441 SET_VAR(m_rareNonInheritedData, m_outline.m_isAuto, isAuto); | 1451 SET_VAR(m_rareNonInheritedData, m_outline.m_isAuto, isAuto); |
| 1442 } | 1452 } |
| 1443 | 1453 |
| 1444 // outline-width | 1454 // outline-width |
| 1445 static unsigned short initialOutlineWidth() { return 3; } | 1455 static unsigned short initialOutlineWidth() { return 3; } |
| 1446 int outlineWidth() const { | 1456 unsigned short outlineWidth() const { |
| 1447 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone) | 1457 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone) |
| 1448 return 0; | 1458 return 0; |
| 1449 return m_rareNonInheritedData->m_outline.width(); | 1459 return m_rareNonInheritedData->m_outline.width(); |
| 1450 } | 1460 } |
| 1451 void setOutlineWidth(unsigned short v) { | 1461 void setOutlineWidth(unsigned short v) { |
| 1452 SET_VAR(m_rareNonInheritedData, m_outline.m_width, v); | 1462 SET_BORDER_WIDTH(m_rareNonInheritedData, m_outline, v); |
| 1453 } | 1463 } |
| 1454 | 1464 |
| 1455 // outline-offset | 1465 // outline-offset |
| 1456 static int initialOutlineOffset() { return 0; } | 1466 static int initialOutlineOffset() { return 0; } |
| 1457 int outlineOffset() const { | 1467 int outlineOffset() const { |
| 1458 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone) | 1468 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone) |
| 1459 return 0; | 1469 return 0; |
| 1460 return m_rareNonInheritedData->m_outline.offset(); | 1470 return m_rareNonInheritedData->m_outline.offset(); |
| 1461 } | 1471 } |
| 1462 void setOutlineOffset(int v) { | 1472 void setOutlineOffset(int v) { |
| (...skipping 1680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3143 const BorderValue& borderLeft() const { return m_surround->border.left(); } | 3153 const BorderValue& borderLeft() const { return m_surround->border.left(); } |
| 3144 const BorderValue& borderRight() const { return m_surround->border.right(); } | 3154 const BorderValue& borderRight() const { return m_surround->border.right(); } |
| 3145 const BorderValue& borderTop() const { return m_surround->border.top(); } | 3155 const BorderValue& borderTop() const { return m_surround->border.top(); } |
| 3146 const BorderValue& borderBottom() const { | 3156 const BorderValue& borderBottom() const { |
| 3147 return m_surround->border.bottom(); | 3157 return m_surround->border.bottom(); |
| 3148 } | 3158 } |
| 3149 const BorderValue& borderBefore() const; | 3159 const BorderValue& borderBefore() const; |
| 3150 const BorderValue& borderAfter() const; | 3160 const BorderValue& borderAfter() const; |
| 3151 const BorderValue& borderStart() const; | 3161 const BorderValue& borderStart() const; |
| 3152 const BorderValue& borderEnd() const; | 3162 const BorderValue& borderEnd() const; |
| 3153 int borderAfterWidth() const; | 3163 float borderAfterWidth() const; |
| 3154 int borderBeforeWidth() const; | 3164 float borderBeforeWidth() const; |
| 3155 int borderEndWidth() const; | 3165 float borderEndWidth() const; |
| 3156 int borderStartWidth() const; | 3166 float borderStartWidth() const; |
| 3157 int borderOverWidth() const; | 3167 float borderOverWidth() const; |
| 3158 int borderUnderWidth() const; | 3168 float borderUnderWidth() const; |
| 3159 | 3169 |
| 3160 bool hasBorderFill() const { return m_surround->border.hasBorderFill(); } | 3170 bool hasBorderFill() const { return m_surround->border.hasBorderFill(); } |
| 3161 bool hasBorder() const { return m_surround->border.hasBorder(); } | 3171 bool hasBorder() const { return m_surround->border.hasBorder(); } |
| 3162 bool hasBorderDecoration() const { return hasBorder() || hasBorderFill(); } | 3172 bool hasBorderDecoration() const { return hasBorder() || hasBorderFill(); } |
| 3163 bool hasBorderRadius() const { return m_surround->border.hasBorderRadius(); } | 3173 bool hasBorderRadius() const { return m_surround->border.hasBorderRadius(); } |
| 3164 | 3174 |
| 3165 void resetBorder() { | 3175 void resetBorder() { |
| 3166 resetBorderImage(); | 3176 resetBorderImage(); |
| 3167 resetBorderTop(); | 3177 resetBorderTop(); |
| 3168 resetBorderRight(); | 3178 resetBorderRight(); |
| (...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3916 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1); | 3926 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1); |
| 3917 } | 3927 } |
| 3918 | 3928 |
| 3919 inline bool ComputedStyle::hasPseudoElementStyle() const { | 3929 inline bool ComputedStyle::hasPseudoElementStyle() const { |
| 3920 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; | 3930 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; |
| 3921 } | 3931 } |
| 3922 | 3932 |
| 3923 } // namespace blink | 3933 } // namespace blink |
| 3924 | 3934 |
| 3925 #endif // ComputedStyle_h | 3935 #endif // ComputedStyle_h |
| OLD | NEW |