OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BoxBorderPainter_h | 5 #ifndef BoxBorderPainter_h |
6 #define BoxBorderPainter_h | 6 #define BoxBorderPainter_h |
7 | 7 |
8 #include "core/layout/LayoutBoxModelObject.h" | 8 #include "core/layout/LayoutBoxModelObject.h" |
9 #include "core/style/BorderEdge.h" | 9 #include "core/style/BorderEdge.h" |
10 #include "platform/geometry/FloatRoundedRect.h" | 10 #include "platform/geometry/FloatRoundedRect.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 private: | 32 private: |
33 struct ComplexBorderInfo; | 33 struct ComplexBorderInfo; |
34 enum MiterType { | 34 enum MiterType { |
35 NoMiter, | 35 NoMiter, |
36 SoftMiter, // Anti-aliased | 36 SoftMiter, // Anti-aliased |
37 HardMiter, // Not anti-aliased | 37 HardMiter, // Not anti-aliased |
38 }; | 38 }; |
39 | 39 |
40 void computeBorderProperties(); | 40 void computeBorderProperties(); |
41 | 41 |
42 BorderEdgeFlags paintOpacityGroup(GraphicsContext*, const ComplexBorderInfo&
, unsigned index, | 42 BorderEdgeFlags paintOpacityGroup(GraphicsContext&, const ComplexBorderInfo&
, unsigned index, |
43 float accumulatedOpacity) const; | 43 float accumulatedOpacity) const; |
44 void paintSide(GraphicsContext*, const ComplexBorderInfo&, BoxSide, unsigned
alpha, BorderEdgeFlags) const; | 44 void paintSide(GraphicsContext&, const ComplexBorderInfo&, BoxSide, unsigned
alpha, BorderEdgeFlags) const; |
45 void paintOneBorderSide(GraphicsContext*, const FloatRect& sideRect, BoxSide
, BoxSide adjacentSide1, | 45 void paintOneBorderSide(GraphicsContext&, const FloatRect& sideRect, BoxSide
, BoxSide adjacentSide1, |
46 BoxSide adjacentSide2, const Path*, bool antialias, Color, BorderEdgeFla
gs) const; | 46 BoxSide adjacentSide2, const Path*, bool antialias, Color, BorderEdgeFla
gs) const; |
47 bool paintBorderFastPath(GraphicsContext*, const LayoutRect& borderRect) con
st; | 47 bool paintBorderFastPath(GraphicsContext&, const LayoutRect& borderRect) con
st; |
48 void drawDoubleBorder(GraphicsContext*, const LayoutRect& borderRect) const; | 48 void drawDoubleBorder(GraphicsContext&, const LayoutRect& borderRect) const; |
49 | 49 |
50 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, f
loat thickness, | 50 void drawBoxSideFromPath(GraphicsContext&, const LayoutRect&, const Path&, f
loat thickness, |
51 float drawThickness, BoxSide, Color, EBorderStyle) const; | 51 float drawThickness, BoxSide, Color, EBorderStyle) const; |
52 void clipBorderSidePolygon(GraphicsContext*, BoxSide, MiterType miter1, Mite
rType miter2) const; | 52 void clipBorderSidePolygon(GraphicsContext&, BoxSide, MiterType miter1, Mite
rType miter2) const; |
53 void clipBorderSideForComplexInnerPath(GraphicsContext*, BoxSide) const; | 53 void clipBorderSideForComplexInnerPath(GraphicsContext&, BoxSide) const; |
54 | 54 |
55 MiterType computeMiter(BoxSide, BoxSide adjacentSide, BorderEdgeFlags, bool
antialias) const; | 55 MiterType computeMiter(BoxSide, BoxSide adjacentSide, BorderEdgeFlags, bool
antialias) const; |
56 static bool mitersRequireClipping(MiterType miter1, MiterType miter2, EBorde
rStyle, bool antialias); | 56 static bool mitersRequireClipping(MiterType miter1, MiterType miter2, EBorde
rStyle, bool antialias); |
57 | 57 |
58 const BorderEdge& firstEdge() const | 58 const BorderEdge& firstEdge() const |
59 { | 59 { |
60 ASSERT(m_visibleEdgeSet); | 60 ASSERT(m_visibleEdgeSet); |
61 return m_edges[m_firstVisibleEdge]; | 61 return m_edges[m_firstVisibleEdge]; |
62 } | 62 } |
63 | 63 |
(...skipping 15 matching lines...) Expand all Loading... |
79 bool m_isUniformStyle; | 79 bool m_isUniformStyle; |
80 bool m_isUniformWidth; | 80 bool m_isUniformWidth; |
81 bool m_isUniformColor; | 81 bool m_isUniformColor; |
82 bool m_isRounded; | 82 bool m_isRounded; |
83 bool m_hasAlpha; | 83 bool m_hasAlpha; |
84 }; | 84 }; |
85 | 85 |
86 } // namespace blink | 86 } // namespace blink |
87 | 87 |
88 #endif | 88 #endif |
OLD | NEW |