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 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 return surround_data_->border_.GetImage().Outset(); | 509 return surround_data_->border_.GetImage().Outset(); |
510 } | 510 } |
511 void SetBorderImageOutset(const BorderImageLengthBox&); | 511 void SetBorderImageOutset(const BorderImageLengthBox&); |
512 | 512 |
513 // Border width properties. | 513 // Border width properties. |
514 static float InitialBorderWidth() { return 3; } | 514 static float InitialBorderWidth() { return 3; } |
515 | 515 |
516 // TODO(nainar): Move all fixed point logic to a separate class. | 516 // TODO(nainar): Move all fixed point logic to a separate class. |
517 // border-top-width | 517 // border-top-width |
518 float BorderTopWidth() const { | 518 float BorderTopWidth() const { |
519 if (surround_data_->border_.top_.Style() == kBorderStyleNone || | 519 if (surround_data_->border_.top_.Style() == EBorderStyle::kNone || |
520 surround_data_->border_.top_.Style() == kBorderStyleHidden) | 520 surround_data_->border_.top_.Style() == EBorderStyle::kHidden) |
521 return 0; | 521 return 0; |
522 return static_cast<float>(BorderTopWidthInternal()) / | 522 return static_cast<float>(BorderTopWidthInternal()) / |
523 kBorderWidthDenominator; | 523 kBorderWidthDenominator; |
524 } | 524 } |
525 void SetBorderTopWidth(float v) { | 525 void SetBorderTopWidth(float v) { |
526 SetBorderTopWidthInternal(WidthToFixedPoint(v)); | 526 SetBorderTopWidthInternal(WidthToFixedPoint(v)); |
527 } | 527 } |
528 | 528 |
529 // border-bottom-width | 529 // border-bottom-width |
530 float BorderBottomWidth() const { | 530 float BorderBottomWidth() const { |
531 if (surround_data_->border_.bottom_.Style() == kBorderStyleNone || | 531 if (surround_data_->border_.bottom_.Style() == EBorderStyle::kNone || |
532 surround_data_->border_.bottom_.Style() == kBorderStyleHidden) | 532 surround_data_->border_.bottom_.Style() == EBorderStyle::kHidden) |
533 return 0; | 533 return 0; |
534 return static_cast<float>(BorderBottomWidthInternal()) / | 534 return static_cast<float>(BorderBottomWidthInternal()) / |
535 kBorderWidthDenominator; | 535 kBorderWidthDenominator; |
536 } | 536 } |
537 void SetBorderBottomWidth(float v) { | 537 void SetBorderBottomWidth(float v) { |
538 SetBorderBottomWidthInternal(WidthToFixedPoint(v)); | 538 SetBorderBottomWidthInternal(WidthToFixedPoint(v)); |
539 } | 539 } |
540 | 540 |
541 // border-left-width | 541 // border-left-width |
542 float BorderLeftWidth() const { | 542 float BorderLeftWidth() const { |
543 if (surround_data_->border_.left_.Style() == kBorderStyleNone || | 543 if (surround_data_->border_.left_.Style() == EBorderStyle::kNone || |
544 surround_data_->border_.left_.Style() == kBorderStyleHidden) | 544 surround_data_->border_.left_.Style() == EBorderStyle::kHidden) |
545 return 0; | 545 return 0; |
546 return static_cast<float>(BorderLeftWidthInternal()) / | 546 return static_cast<float>(BorderLeftWidthInternal()) / |
547 kBorderWidthDenominator; | 547 kBorderWidthDenominator; |
548 } | 548 } |
549 void SetBorderLeftWidth(float v) { | 549 void SetBorderLeftWidth(float v) { |
550 SetBorderLeftWidthInternal(WidthToFixedPoint(v)); | 550 SetBorderLeftWidthInternal(WidthToFixedPoint(v)); |
551 } | 551 } |
552 | 552 |
553 // border-right-width | 553 // border-right-width |
554 float BorderRightWidth() const { | 554 float BorderRightWidth() const { |
555 if (surround_data_->border_.right_.Style() == kBorderStyleNone || | 555 if (surround_data_->border_.right_.Style() == EBorderStyle::kNone || |
556 surround_data_->border_.right_.Style() == kBorderStyleHidden) | 556 surround_data_->border_.right_.Style() == EBorderStyle::kHidden) |
557 return 0; | 557 return 0; |
558 return static_cast<float>(BorderRightWidthInternal()) / | 558 return static_cast<float>(BorderRightWidthInternal()) / |
559 kBorderWidthDenominator; | 559 kBorderWidthDenominator; |
560 } | 560 } |
561 void SetBorderRightWidth(float v) { | 561 void SetBorderRightWidth(float v) { |
562 SetBorderRightWidthInternal(WidthToFixedPoint(v)); | 562 SetBorderRightWidthInternal(WidthToFixedPoint(v)); |
563 } | 563 } |
564 | 564 |
565 // Border style properties. | 565 // Border style properties. |
566 static EBorderStyle InitialBorderStyle() { return kBorderStyleNone; } | 566 static EBorderStyle InitialBorderStyle() { return EBorderStyle::kNone; } |
567 | 567 |
568 // border-top-style | 568 // border-top-style |
569 EBorderStyle BorderTopStyle() const { | 569 EBorderStyle BorderTopStyle() const { |
570 return surround_data_->border_.Top().Style(); | 570 return surround_data_->border_.Top().Style(); |
571 } | 571 } |
572 void SetBorderTopStyle(EBorderStyle v) { | 572 void SetBorderTopStyle(EBorderStyle v) { |
573 SET_VAR(surround_data_, border_.top_.style_, v); | 573 SET_VAR(surround_data_, border_.top_.style_, static_cast<unsigned>(v)); |
574 } | 574 } |
575 | 575 |
576 // border-right-style | 576 // border-right-style |
577 EBorderStyle BorderRightStyle() const { | 577 EBorderStyle BorderRightStyle() const { |
578 return surround_data_->border_.Right().Style(); | 578 return surround_data_->border_.Right().Style(); |
579 } | 579 } |
580 void SetBorderRightStyle(EBorderStyle v) { | 580 void SetBorderRightStyle(EBorderStyle v) { |
581 SET_VAR(surround_data_, border_.right_.style_, v); | 581 SET_VAR(surround_data_, border_.right_.style_, static_cast<unsigned>(v)); |
582 } | 582 } |
583 | 583 |
584 // border-left-style | 584 // border-left-style |
585 EBorderStyle BorderLeftStyle() const { | 585 EBorderStyle BorderLeftStyle() const { |
586 return surround_data_->border_.Left().Style(); | 586 return surround_data_->border_.Left().Style(); |
587 } | 587 } |
588 void SetBorderLeftStyle(EBorderStyle v) { | 588 void SetBorderLeftStyle(EBorderStyle v) { |
589 SET_VAR(surround_data_, border_.left_.style_, v); | 589 SET_VAR(surround_data_, border_.left_.style_, static_cast<unsigned>(v)); |
590 } | 590 } |
591 | 591 |
592 // border-bottom-style | 592 // border-bottom-style |
593 EBorderStyle BorderBottomStyle() const { | 593 EBorderStyle BorderBottomStyle() const { |
594 return surround_data_->border_.Bottom().Style(); | 594 return surround_data_->border_.Bottom().Style(); |
595 } | 595 } |
596 void SetBorderBottomStyle(EBorderStyle v) { | 596 void SetBorderBottomStyle(EBorderStyle v) { |
597 SET_VAR(surround_data_, border_.bottom_.style_, v); | 597 SET_VAR(surround_data_, border_.bottom_.style_, static_cast<unsigned>(v)); |
598 } | 598 } |
599 | 599 |
600 // Border color properties. | 600 // Border color properties. |
601 // border-left-color | 601 // border-left-color |
602 void SetBorderLeftColor(const StyleColor& color) { | 602 void SetBorderLeftColor(const StyleColor& color) { |
603 if (!compareEqual(BorderLeftColor(), color)) { | 603 if (!compareEqual(BorderLeftColor(), color)) { |
604 SetBorderLeftColorInternal(color.Resolve(Color())); | 604 SetBorderLeftColorInternal(color.Resolve(Color())); |
605 SetBorderLeftColorIsCurrentColor(color.IsCurrentColor()); | 605 SetBorderLeftColorIsCurrentColor(color.IsCurrentColor()); |
606 } | 606 } |
607 } | 607 } |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 void SetColumnRuleColor(const StyleColor& c) { | 696 void SetColumnRuleColor(const StyleColor& c) { |
697 SET_BORDERVALUE_COLOR(rare_non_inherited_data_.Access()->multi_col_, rule_, | 697 SET_BORDERVALUE_COLOR(rare_non_inherited_data_.Access()->multi_col_, rule_, |
698 c); | 698 c); |
699 } | 699 } |
700 | 700 |
701 // column-rule-style (aka -webkit-column-rule-style) | 701 // column-rule-style (aka -webkit-column-rule-style) |
702 EBorderStyle ColumnRuleStyle() const { | 702 EBorderStyle ColumnRuleStyle() const { |
703 return rare_non_inherited_data_->multi_col_->rule_.Style(); | 703 return rare_non_inherited_data_->multi_col_->rule_.Style(); |
704 } | 704 } |
705 void SetColumnRuleStyle(EBorderStyle b) { | 705 void SetColumnRuleStyle(EBorderStyle b) { |
706 SET_NESTED_VAR(rare_non_inherited_data_, multi_col_, rule_.style_, b); | 706 SET_NESTED_VAR(rare_non_inherited_data_, multi_col_, rule_.style_, |
| 707 static_cast<unsigned>(b)); |
707 } | 708 } |
708 | 709 |
709 // column-rule-width (aka -webkit-column-rule-width) | 710 // column-rule-width (aka -webkit-column-rule-width) |
710 static unsigned short InitialColumnRuleWidth() { return 3; } | 711 static unsigned short InitialColumnRuleWidth() { return 3; } |
711 unsigned short ColumnRuleWidth() const { | 712 unsigned short ColumnRuleWidth() const { |
712 return rare_non_inherited_data_->multi_col_->RuleWidth(); | 713 return rare_non_inherited_data_->multi_col_->RuleWidth(); |
713 } | 714 } |
714 void SetColumnRuleWidth(unsigned short w) { | 715 void SetColumnRuleWidth(unsigned short w) { |
715 SET_NESTED_BORDER_WIDTH(rare_non_inherited_data_, multi_col_, rule_, w); | 716 SET_NESTED_BORDER_WIDTH(rare_non_inherited_data_, multi_col_, rule_, w); |
716 } | 717 } |
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1186 // outline-color | 1187 // outline-color |
1187 void SetOutlineColor(const StyleColor& v) { | 1188 void SetOutlineColor(const StyleColor& v) { |
1188 SET_BORDERVALUE_COLOR(rare_non_inherited_data_, outline_, v); | 1189 SET_BORDERVALUE_COLOR(rare_non_inherited_data_, outline_, v); |
1189 } | 1190 } |
1190 | 1191 |
1191 // outline-style | 1192 // outline-style |
1192 EBorderStyle OutlineStyle() const { | 1193 EBorderStyle OutlineStyle() const { |
1193 return rare_non_inherited_data_->outline_.Style(); | 1194 return rare_non_inherited_data_->outline_.Style(); |
1194 } | 1195 } |
1195 void SetOutlineStyle(EBorderStyle v) { | 1196 void SetOutlineStyle(EBorderStyle v) { |
1196 SET_VAR(rare_non_inherited_data_, outline_.style_, v); | 1197 SET_VAR(rare_non_inherited_data_, outline_.style_, |
| 1198 static_cast<unsigned>(v)); |
1197 } | 1199 } |
1198 static OutlineIsAuto InitialOutlineStyleIsAuto() { return kOutlineIsAutoOff; } | 1200 static OutlineIsAuto InitialOutlineStyleIsAuto() { return kOutlineIsAutoOff; } |
1199 OutlineIsAuto OutlineStyleIsAuto() const { | 1201 OutlineIsAuto OutlineStyleIsAuto() const { |
1200 return static_cast<OutlineIsAuto>( | 1202 return static_cast<OutlineIsAuto>( |
1201 rare_non_inherited_data_->outline_.IsAuto()); | 1203 rare_non_inherited_data_->outline_.IsAuto()); |
1202 } | 1204 } |
1203 void SetOutlineStyleIsAuto(OutlineIsAuto is_auto) { | 1205 void SetOutlineStyleIsAuto(OutlineIsAuto is_auto) { |
1204 SET_VAR(rare_non_inherited_data_, outline_.is_auto_, is_auto); | 1206 SET_VAR(rare_non_inherited_data_, outline_.is_auto_, is_auto); |
1205 } | 1207 } |
1206 | 1208 |
1207 // outline-width | 1209 // outline-width |
1208 static unsigned short InitialOutlineWidth() { return 3; } | 1210 static unsigned short InitialOutlineWidth() { return 3; } |
1209 unsigned short OutlineWidth() const { | 1211 unsigned short OutlineWidth() const { |
1210 if (rare_non_inherited_data_->outline_.Style() == kBorderStyleNone) | 1212 if (rare_non_inherited_data_->outline_.Style() == EBorderStyle::kNone) |
1211 return 0; | 1213 return 0; |
1212 return rare_non_inherited_data_->outline_.Width(); | 1214 return rare_non_inherited_data_->outline_.Width(); |
1213 } | 1215 } |
1214 void SetOutlineWidth(unsigned short v) { | 1216 void SetOutlineWidth(unsigned short v) { |
1215 SET_BORDER_WIDTH(rare_non_inherited_data_, outline_, v); | 1217 SET_BORDER_WIDTH(rare_non_inherited_data_, outline_, v); |
1216 } | 1218 } |
1217 | 1219 |
1218 // outline-offset | 1220 // outline-offset |
1219 static int InitialOutlineOffset() { return 0; } | 1221 static int InitialOutlineOffset() { return 0; } |
1220 int OutlineOffset() const { | 1222 int OutlineOffset() const { |
1221 if (rare_non_inherited_data_->outline_.Style() == kBorderStyleNone) | 1223 if (rare_non_inherited_data_->outline_.Style() == EBorderStyle::kNone) |
1222 return 0; | 1224 return 0; |
1223 return rare_non_inherited_data_->outline_.Offset(); | 1225 return rare_non_inherited_data_->outline_.Offset(); |
1224 } | 1226 } |
1225 void SetOutlineOffset(int v) { | 1227 void SetOutlineOffset(int v) { |
1226 SET_VAR(rare_non_inherited_data_, outline_.offset_, v); | 1228 SET_VAR(rare_non_inherited_data_, outline_.offset_, v); |
1227 } | 1229 } |
1228 | 1230 |
1229 // perspective (aka -webkit-perspective) | 1231 // perspective (aka -webkit-perspective) |
1230 static float InitialPerspective() { return 0; } | 1232 static float InitialPerspective() { return 0; } |
1231 float Perspective() const { return rare_non_inherited_data_->perspective_; } | 1233 float Perspective() const { return rare_non_inherited_data_->perspective_; } |
(...skipping 1698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2930 o.BorderLeftColorIsCurrentColor() && | 2932 o.BorderLeftColorIsCurrentColor() && |
2931 BorderRightColorIsCurrentColor() == | 2933 BorderRightColorIsCurrentColor() == |
2932 o.BorderRightColorIsCurrentColor() && | 2934 o.BorderRightColorIsCurrentColor() && |
2933 BorderTopColorIsCurrentColor() == | 2935 BorderTopColorIsCurrentColor() == |
2934 o.BorderTopColorIsCurrentColor() && | 2936 o.BorderTopColorIsCurrentColor() && |
2935 BorderBottomColorIsCurrentColor() == | 2937 BorderBottomColorIsCurrentColor() == |
2936 o.BorderBottomColorIsCurrentColor()); | 2938 o.BorderBottomColorIsCurrentColor()); |
2937 } | 2939 } |
2938 | 2940 |
2939 bool BorderColorVisuallyEquals(const ComputedStyle& o) const { | 2941 bool BorderColorVisuallyEquals(const ComputedStyle& o) const { |
2940 if ((BorderLeftStyle() == kBorderStyleNone && | 2942 if ((BorderLeftStyle() == EBorderStyle::kNone && |
2941 o.BorderLeftStyle() == kBorderStyleNone) && | 2943 o.BorderLeftStyle() == EBorderStyle::kNone) && |
2942 (BorderRightStyle() == kBorderStyleNone && | 2944 (BorderRightStyle() == EBorderStyle::kNone && |
2943 o.BorderRightStyle() == kBorderStyleNone) && | 2945 o.BorderRightStyle() == EBorderStyle::kNone) && |
2944 (BorderTopStyle() == kBorderStyleNone && | 2946 (BorderTopStyle() == EBorderStyle::kNone && |
2945 o.BorderTopStyle() == kBorderStyleNone) && | 2947 o.BorderTopStyle() == EBorderStyle::kNone) && |
2946 (BorderBottomStyle() == kBorderStyleNone && | 2948 (BorderBottomStyle() == EBorderStyle::kNone && |
2947 o.BorderBottomStyle() == kBorderStyleNone)) | 2949 o.BorderBottomStyle() == EBorderStyle::kNone)) |
2948 return true; | 2950 return true; |
2949 if ((BorderLeftStyle() == kBorderStyleHidden && | 2951 if ((BorderLeftStyle() == EBorderStyle::kHidden && |
2950 o.BorderLeftStyle() == kBorderStyleHidden) && | 2952 o.BorderLeftStyle() == EBorderStyle::kHidden) && |
2951 (BorderRightStyle() == kBorderStyleHidden && | 2953 (BorderRightStyle() == EBorderStyle::kHidden && |
2952 o.BorderRightStyle() == kBorderStyleHidden) && | 2954 o.BorderRightStyle() == EBorderStyle::kHidden) && |
2953 (BorderTopStyle() == kBorderStyleHidden && | 2955 (BorderTopStyle() == EBorderStyle::kHidden && |
2954 o.BorderTopStyle() == kBorderStyleHidden) && | 2956 o.BorderTopStyle() == EBorderStyle::kHidden) && |
2955 (BorderBottomStyle() == kBorderStyleHidden && | 2957 (BorderBottomStyle() == EBorderStyle::kHidden && |
2956 o.BorderBottomStyle() == kBorderStyleHidden)) | 2958 o.BorderBottomStyle() == EBorderStyle::kHidden)) |
2957 return true; | 2959 return true; |
2958 return BorderColorEquals(o); | 2960 return BorderColorEquals(o); |
2959 } | 2961 } |
2960 | 2962 |
2961 void ResetBorder() { | 2963 void ResetBorder() { |
2962 ResetBorderImage(); | 2964 ResetBorderImage(); |
2963 ResetBorderTop(); | 2965 ResetBorderTop(); |
2964 ResetBorderRight(); | 2966 ResetBorderRight(); |
2965 ResetBorderBottom(); | 2967 ResetBorderBottom(); |
2966 ResetBorderLeft(); | 2968 ResetBorderLeft(); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3044 return rare_non_inherited_data_->perspective_ > 0; | 3046 return rare_non_inherited_data_->perspective_ > 0; |
3045 } | 3047 } |
3046 | 3048 |
3047 // Page size utility functions. | 3049 // Page size utility functions. |
3048 void ResetPageSizeType() { | 3050 void ResetPageSizeType() { |
3049 SET_VAR(rare_non_inherited_data_, page_size_type_, PAGE_SIZE_AUTO); | 3051 SET_VAR(rare_non_inherited_data_, page_size_type_, PAGE_SIZE_AUTO); |
3050 } | 3052 } |
3051 | 3053 |
3052 // Outline utility functions. | 3054 // Outline utility functions. |
3053 bool HasOutline() const { | 3055 bool HasOutline() const { |
3054 return OutlineWidth() > 0 && OutlineStyle() > kBorderStyleHidden; | 3056 return OutlineWidth() > 0 && OutlineStyle() > EBorderStyle::kHidden; |
3055 } | 3057 } |
3056 int OutlineOutsetExtent() const; | 3058 int OutlineOutsetExtent() const; |
3057 float GetOutlineStrokeWidthForFocusRing() const; | 3059 float GetOutlineStrokeWidthForFocusRing() const; |
3058 bool HasOutlineWithCurrentColor() const { | 3060 bool HasOutlineWithCurrentColor() const { |
3059 return HasOutline() && OutlineColor().IsCurrentColor(); | 3061 return HasOutline() && OutlineColor().IsCurrentColor(); |
3060 } | 3062 } |
3061 | 3063 |
3062 // Position utility functions. | 3064 // Position utility functions. |
3063 bool HasOutOfFlowPosition() const { | 3065 bool HasOutOfFlowPosition() const { |
3064 return GetPosition() == EPosition::kAbsolute || | 3066 return GetPosition() == EPosition::kAbsolute || |
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3798 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); | 3800 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); |
3799 } | 3801 } |
3800 | 3802 |
3801 inline bool ComputedStyle::HasPseudoElementStyle() const { | 3803 inline bool ComputedStyle::HasPseudoElementStyle() const { |
3802 return PseudoBitsInternal() & kElementPseudoIdMask; | 3804 return PseudoBitsInternal() & kElementPseudoIdMask; |
3803 } | 3805 } |
3804 | 3806 |
3805 } // namespace blink | 3807 } // namespace blink |
3806 | 3808 |
3807 #endif // ComputedStyle_h | 3809 #endif // ComputedStyle_h |
OLD | NEW |