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 2647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2658 return BorderLeftWidthInternal() == o.BorderLeftWidthInternal() && | 2658 return BorderLeftWidthInternal() == o.BorderLeftWidthInternal() && |
2659 BorderTopWidthInternal() == o.BorderTopWidthInternal() && | 2659 BorderTopWidthInternal() == o.BorderTopWidthInternal() && |
2660 BorderRightWidthInternal() == o.BorderRightWidthInternal() && | 2660 BorderRightWidthInternal() == o.BorderRightWidthInternal() && |
2661 BorderBottomWidthInternal() == o.BorderBottomWidthInternal(); | 2661 BorderBottomWidthInternal() == o.BorderBottomWidthInternal(); |
2662 } | 2662 } |
2663 | 2663 |
2664 BorderValue BorderBefore() const; | 2664 BorderValue BorderBefore() const; |
2665 BorderValue BorderAfter() const; | 2665 BorderValue BorderAfter() const; |
2666 BorderValue BorderStart() const; | 2666 BorderValue BorderStart() const; |
2667 BorderValue BorderEnd() const; | 2667 BorderValue BorderEnd() const; |
| 2668 |
2668 float BorderAfterWidth() const; | 2669 float BorderAfterWidth() const; |
2669 float BorderBeforeWidth() const; | 2670 float BorderBeforeWidth() const; |
2670 float BorderEndWidth() const; | 2671 float BorderEndWidth() const; |
2671 float BorderStartWidth() const; | 2672 float BorderStartWidth() const; |
2672 float BorderOverWidth() const; | 2673 float BorderOverWidth() const; |
2673 float BorderUnderWidth() const; | 2674 float BorderUnderWidth() const; |
2674 | 2675 |
| 2676 EBorderStyle BorderAfterStyle() const; |
| 2677 EBorderStyle BorderBeforeStyle() const; |
| 2678 EBorderStyle BorderEndStyle() const; |
| 2679 EBorderStyle BorderStartStyle() const; |
| 2680 |
2675 bool HasBorderFill() const { | 2681 bool HasBorderFill() const { |
2676 return BorderImage().HasImage() && BorderImage().Fill(); | 2682 return BorderImage().HasImage() && BorderImage().Fill(); |
2677 } | 2683 } |
2678 bool HasBorder() const { | 2684 bool HasBorder() const { |
2679 return BorderLeftNonZero() || BorderRightNonZero() || BorderTopNonZero() || | 2685 return BorderLeftNonZero() || BorderRightNonZero() || BorderTopNonZero() || |
2680 BorderBottomNonZero(); | 2686 BorderBottomNonZero(); |
2681 } | 2687 } |
2682 bool HasBorderDecoration() const { return HasBorder() || HasBorderFill(); } | 2688 bool HasBorderDecoration() const { return HasBorder() || HasBorderFill(); } |
2683 bool HasBorderRadius() const { | 2689 bool HasBorderRadius() const { |
2684 if (!BorderTopLeftRadius().Width().IsZero()) | 2690 if (!BorderTopLeftRadius().Width().IsZero()) |
2685 return true; | 2691 return true; |
2686 if (!BorderTopRightRadius().Width().IsZero()) | 2692 if (!BorderTopRightRadius().Width().IsZero()) |
2687 return true; | 2693 return true; |
2688 if (!BorderBottomLeftRadius().Width().IsZero()) | 2694 if (!BorderBottomLeftRadius().Width().IsZero()) |
2689 return true; | 2695 return true; |
2690 if (!BorderBottomRightRadius().Width().IsZero()) | 2696 if (!BorderBottomRightRadius().Width().IsZero()) |
2691 return true; | 2697 return true; |
2692 return false; | 2698 return false; |
2693 } | 2699 } |
2694 bool HasBorderColorReferencingCurrentColor() const { | 2700 bool HasBorderColorReferencingCurrentColor() const { |
2695 return (BorderLeft().NonZero() && BorderLeftColor().IsCurrentColor()) || | 2701 return (BorderLeftNonZero() && BorderLeftColor().IsCurrentColor()) || |
2696 (BorderRight().NonZero() && BorderRightColor().IsCurrentColor()) || | 2702 (BorderRightNonZero() && BorderRightColor().IsCurrentColor()) || |
2697 (BorderTop().NonZero() && BorderTopColor().IsCurrentColor()) || | 2703 (BorderTopNonZero() && BorderTopColor().IsCurrentColor()) || |
2698 (BorderBottom().NonZero() && BorderBottomColor().IsCurrentColor()); | 2704 (BorderBottomNonZero() && BorderBottomColor().IsCurrentColor()); |
2699 } | 2705 } |
2700 | 2706 |
2701 bool RadiiEqual(const ComputedStyle& o) const { | 2707 bool RadiiEqual(const ComputedStyle& o) const { |
2702 return BorderTopLeftRadius() == o.BorderTopLeftRadius() && | 2708 return BorderTopLeftRadius() == o.BorderTopLeftRadius() && |
2703 BorderTopRightRadius() == o.BorderTopRightRadius() && | 2709 BorderTopRightRadius() == o.BorderTopRightRadius() && |
2704 BorderBottomLeftRadius() == o.BorderBottomLeftRadius() && | 2710 BorderBottomLeftRadius() == o.BorderBottomLeftRadius() && |
2705 BorderBottomRightRadius() == o.BorderBottomRightRadius(); | 2711 BorderBottomRightRadius() == o.BorderBottomRightRadius(); |
2706 } | 2712 } |
2707 | 2713 |
2708 bool BorderLeftEquals(const ComputedStyle& o) const { | 2714 bool BorderLeftEquals(const ComputedStyle& o) const { |
2709 return BorderLeftWidthInternal() == o.BorderLeftWidthInternal() && | 2715 return BorderLeftWidthInternal() == o.BorderLeftWidthInternal() && |
2710 BorderLeftStyle() == o.BorderLeftStyle() && | 2716 BorderLeftStyle() == o.BorderLeftStyle() && |
2711 BorderLeftColor() == o.BorderLeftColor() && | 2717 BorderLeftColor() == o.BorderLeftColor() && |
2712 BorderLeftColorIsCurrentColor() == o.BorderLeftColorIsCurrentColor(); | 2718 BorderLeftColorIsCurrentColor() == o.BorderLeftColorIsCurrentColor(); |
2713 } | 2719 } |
| 2720 bool BorderLeftEquals(const BorderValue& o) const { |
| 2721 return BorderLeftWidthInternal().ToFloat() == o.Width() && |
| 2722 BorderLeftStyle() == o.Style() && |
| 2723 BorderLeftColor() == o.GetColor() && |
| 2724 BorderLeftColorIsCurrentColor() == o.ColorIsCurrentColor(); |
| 2725 } |
2714 | 2726 |
2715 bool BorderLeftVisuallyEqual(const ComputedStyle& o) const { | 2727 bool BorderLeftVisuallyEqual(const ComputedStyle& o) const { |
2716 if (BorderLeftStyle() == EBorderStyle::kNone && | 2728 if (BorderLeftStyle() == EBorderStyle::kNone && |
2717 o.BorderLeftStyle() == EBorderStyle::kNone) | 2729 o.BorderLeftStyle() == EBorderStyle::kNone) |
2718 return true; | 2730 return true; |
2719 if (BorderLeftStyle() == EBorderStyle::kHidden && | 2731 if (BorderLeftStyle() == EBorderStyle::kHidden && |
2720 o.BorderLeftStyle() == EBorderStyle::kHidden) | 2732 o.BorderLeftStyle() == EBorderStyle::kHidden) |
2721 return true; | 2733 return true; |
2722 return BorderLeftEquals(o); | 2734 return BorderLeftEquals(o); |
2723 } | 2735 } |
2724 | 2736 |
2725 bool BorderRightEquals(const ComputedStyle& o) const { | 2737 bool BorderRightEquals(const ComputedStyle& o) const { |
2726 return BorderRightWidthInternal() == o.BorderRightWidthInternal() && | 2738 return BorderRightWidthInternal() == o.BorderRightWidthInternal() && |
2727 BorderRightStyle() == o.BorderRightStyle() && | 2739 BorderRightStyle() == o.BorderRightStyle() && |
2728 BorderRightColor() == o.BorderRightColor() && | 2740 BorderRightColor() == o.BorderRightColor() && |
2729 BorderRightColorIsCurrentColor() == | 2741 BorderRightColorIsCurrentColor() == |
2730 o.BorderRightColorIsCurrentColor(); | 2742 o.BorderRightColorIsCurrentColor(); |
2731 } | 2743 } |
| 2744 bool BorderRightEquals(const BorderValue& o) const { |
| 2745 return BorderRightWidthInternal().ToFloat() == o.Width() && |
| 2746 BorderRightStyle() == o.Style() && |
| 2747 BorderRightColor() == o.GetColor() && |
| 2748 BorderRightColorIsCurrentColor() == o.ColorIsCurrentColor(); |
| 2749 } |
2732 | 2750 |
2733 bool BorderRightVisuallyEqual(const ComputedStyle& o) const { | 2751 bool BorderRightVisuallyEqual(const ComputedStyle& o) const { |
2734 if (BorderRightStyle() == EBorderStyle::kNone && | 2752 if (BorderRightStyle() == EBorderStyle::kNone && |
2735 o.BorderRightStyle() == EBorderStyle::kNone) | 2753 o.BorderRightStyle() == EBorderStyle::kNone) |
2736 return true; | 2754 return true; |
2737 if (BorderRightStyle() == EBorderStyle::kHidden && | 2755 if (BorderRightStyle() == EBorderStyle::kHidden && |
2738 o.BorderRightStyle() == EBorderStyle::kHidden) | 2756 o.BorderRightStyle() == EBorderStyle::kHidden) |
2739 return true; | 2757 return true; |
2740 return BorderRightEquals(o); | 2758 return BorderRightEquals(o); |
2741 } | 2759 } |
2742 | 2760 |
2743 bool BorderTopVisuallyEqual(const ComputedStyle& o) const { | 2761 bool BorderTopVisuallyEqual(const ComputedStyle& o) const { |
2744 if (BorderTopStyle() == EBorderStyle::kNone && | 2762 if (BorderTopStyle() == EBorderStyle::kNone && |
2745 o.BorderTopStyle() == EBorderStyle::kNone) | 2763 o.BorderTopStyle() == EBorderStyle::kNone) |
2746 return true; | 2764 return true; |
2747 if (BorderTopStyle() == EBorderStyle::kHidden && | 2765 if (BorderTopStyle() == EBorderStyle::kHidden && |
2748 o.BorderTopStyle() == EBorderStyle::kHidden) | 2766 o.BorderTopStyle() == EBorderStyle::kHidden) |
2749 return true; | 2767 return true; |
2750 return BorderTopEquals(o); | 2768 return BorderTopEquals(o); |
2751 } | 2769 } |
2752 | 2770 |
2753 bool BorderTopEquals(const ComputedStyle& o) const { | 2771 bool BorderTopEquals(const ComputedStyle& o) const { |
2754 return BorderTopWidthInternal() == o.BorderTopWidthInternal() && | 2772 return BorderTopWidthInternal() == o.BorderTopWidthInternal() && |
2755 BorderTopStyle() == o.BorderTopStyle() && | 2773 BorderTopStyle() == o.BorderTopStyle() && |
2756 BorderTopColor() == o.BorderTopColor() && | 2774 BorderTopColor() == o.BorderTopColor() && |
2757 BorderTopColorIsCurrentColor() == o.BorderTopColorIsCurrentColor(); | 2775 BorderTopColorIsCurrentColor() == o.BorderTopColorIsCurrentColor(); |
2758 } | 2776 } |
| 2777 bool BorderTopEquals(const BorderValue& o) const { |
| 2778 return BorderTopWidthInternal().ToFloat() == o.Width() && |
| 2779 BorderTopStyle() == o.Style() && BorderTopColor() == o.GetColor() && |
| 2780 BorderTopColorIsCurrentColor() == o.ColorIsCurrentColor(); |
| 2781 } |
2759 | 2782 |
2760 bool BorderBottomVisuallyEqual(const ComputedStyle& o) const { | 2783 bool BorderBottomVisuallyEqual(const ComputedStyle& o) const { |
2761 if (BorderBottomStyle() == EBorderStyle::kNone && | 2784 if (BorderBottomStyle() == EBorderStyle::kNone && |
2762 o.BorderBottomStyle() == EBorderStyle::kNone) | 2785 o.BorderBottomStyle() == EBorderStyle::kNone) |
2763 return true; | 2786 return true; |
2764 if (BorderBottomStyle() == EBorderStyle::kHidden && | 2787 if (BorderBottomStyle() == EBorderStyle::kHidden && |
2765 o.BorderBottomStyle() == EBorderStyle::kHidden) | 2788 o.BorderBottomStyle() == EBorderStyle::kHidden) |
2766 return true; | 2789 return true; |
2767 return BorderBottomEquals(o); | 2790 return BorderBottomEquals(o); |
2768 } | 2791 } |
2769 | 2792 |
2770 bool BorderBottomEquals(const ComputedStyle& o) const { | 2793 bool BorderBottomEquals(const ComputedStyle& o) const { |
2771 return BorderBottomWidthInternal() == o.BorderBottomWidthInternal() && | 2794 return BorderBottomWidthInternal() == o.BorderBottomWidthInternal() && |
2772 BorderBottomStyle() == o.BorderBottomStyle() && | 2795 BorderBottomStyle() == o.BorderBottomStyle() && |
2773 BorderBottomColor() == o.BorderBottomColor() && | 2796 BorderBottomColor() == o.BorderBottomColor() && |
2774 BorderBottomColorIsCurrentColor() == | 2797 BorderBottomColorIsCurrentColor() == |
2775 o.BorderBottomColorIsCurrentColor(); | 2798 o.BorderBottomColorIsCurrentColor(); |
2776 } | 2799 } |
| 2800 bool BorderBottomEquals(const BorderValue& o) const { |
| 2801 return BorderBottomWidthInternal().ToFloat() == o.Width() && |
| 2802 BorderBottomStyle() == o.Style() && |
| 2803 BorderBottomColor() == o.GetColor() && |
| 2804 BorderBottomColorIsCurrentColor() == o.ColorIsCurrentColor(); |
| 2805 } |
2777 | 2806 |
2778 bool BorderEquals(const ComputedStyle& o) const { | 2807 bool BorderEquals(const ComputedStyle& o) const { |
2779 return BorderLeftEquals(o) && BorderRightEquals(o) && BorderTopEquals(o) && | 2808 return BorderLeftEquals(o) && BorderRightEquals(o) && BorderTopEquals(o) && |
2780 BorderBottomEquals(o) && BorderImage() == o.BorderImage(); | 2809 BorderBottomEquals(o) && BorderImage() == o.BorderImage(); |
2781 } | 2810 } |
2782 | 2811 |
2783 bool BorderVisuallyEqual(const ComputedStyle& o) const { | 2812 bool BorderVisuallyEqual(const ComputedStyle& o) const { |
2784 return BorderLeftVisuallyEqual(o) && BorderRightVisuallyEqual(o) && | 2813 return BorderLeftVisuallyEqual(o) && BorderRightVisuallyEqual(o) && |
2785 BorderTopVisuallyEqual(o) && BorderBottomVisuallyEqual(o) && | 2814 BorderTopVisuallyEqual(o) && BorderBottomVisuallyEqual(o) && |
2786 BorderImage() == o.BorderImage(); | 2815 BorderImage() == o.BorderImage(); |
(...skipping 12 matching lines...) Expand all Loading... |
2799 ResetBorderTopLeftRadius(); | 2828 ResetBorderTopLeftRadius(); |
2800 ResetBorderTopRightRadius(); | 2829 ResetBorderTopRightRadius(); |
2801 ResetBorderBottomLeftRadius(); | 2830 ResetBorderBottomLeftRadius(); |
2802 ResetBorderBottomRightRadius(); | 2831 ResetBorderBottomRightRadius(); |
2803 } | 2832 } |
2804 | 2833 |
2805 void ResetBorderTop() { | 2834 void ResetBorderTop() { |
2806 SetBorderTopStyle(EBorderStyle::kNone); | 2835 SetBorderTopStyle(EBorderStyle::kNone); |
2807 SetBorderTopWidth(3); | 2836 SetBorderTopWidth(3); |
2808 SetBorderTopColorInternal(0); | 2837 SetBorderTopColorInternal(0); |
2809 SetBorderTopColorInternal(true); | 2838 SetBorderTopColorIsCurrentColor(true); |
2810 } | 2839 } |
2811 void ResetBorderRight() { | 2840 void ResetBorderRight() { |
2812 SetBorderRightStyle(EBorderStyle::kNone); | 2841 SetBorderRightStyle(EBorderStyle::kNone); |
2813 SetBorderRightWidth(3); | 2842 SetBorderRightWidth(3); |
2814 SetBorderRightColorInternal(0); | 2843 SetBorderRightColorInternal(0); |
2815 SetBorderRightColorInternal(true); | 2844 SetBorderRightColorIsCurrentColor(true); |
2816 } | 2845 } |
2817 void ResetBorderBottom() { | 2846 void ResetBorderBottom() { |
2818 SetBorderBottomStyle(EBorderStyle::kNone); | 2847 SetBorderBottomStyle(EBorderStyle::kNone); |
2819 SetBorderBottomWidth(3); | 2848 SetBorderBottomWidth(3); |
2820 SetBorderBottomColorInternal(0); | 2849 SetBorderBottomColorInternal(0); |
2821 SetBorderBottomColorInternal(true); | 2850 SetBorderBottomColorIsCurrentColor(true); |
2822 } | 2851 } |
2823 void ResetBorderLeft() { | 2852 void ResetBorderLeft() { |
2824 SetBorderLeftStyle(EBorderStyle::kNone); | 2853 SetBorderLeftStyle(EBorderStyle::kNone); |
2825 SetBorderLeftWidth(3); | 2854 SetBorderLeftWidth(3); |
2826 SetBorderLeftColorInternal(0); | 2855 SetBorderLeftColorInternal(0); |
2827 SetBorderLeftColorInternal(true); | 2856 SetBorderLeftColorIsCurrentColor(true); |
2828 } | 2857 } |
2829 | 2858 |
2830 void SetBorderRadius(const LengthSize& s) { | 2859 void SetBorderRadius(const LengthSize& s) { |
2831 SetBorderTopLeftRadius(s); | 2860 SetBorderTopLeftRadius(s); |
2832 SetBorderTopRightRadius(s); | 2861 SetBorderTopRightRadius(s); |
2833 SetBorderBottomLeftRadius(s); | 2862 SetBorderBottomLeftRadius(s); |
2834 SetBorderBottomRightRadius(s); | 2863 SetBorderBottomRightRadius(s); |
2835 } | 2864 } |
2836 void SetBorderRadius(const IntSize& s) { | 2865 void SetBorderRadius(const IntSize& s) { |
2837 SetBorderRadius( | 2866 SetBorderRadius( |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3632 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); | 3661 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); |
3633 } | 3662 } |
3634 | 3663 |
3635 inline bool ComputedStyle::HasPseudoElementStyle() const { | 3664 inline bool ComputedStyle::HasPseudoElementStyle() const { |
3636 return PseudoBitsInternal() & kElementPseudoIdMask; | 3665 return PseudoBitsInternal() & kElementPseudoIdMask; |
3637 } | 3666 } |
3638 | 3667 |
3639 } // namespace blink | 3668 } // namespace blink |
3640 | 3669 |
3641 #endif // ComputedStyle_h | 3670 #endif // ComputedStyle_h |
OLD | NEW |