OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 ObjectPainter_h | 5 #ifndef ObjectPainter_h |
6 #define ObjectPainter_h | 6 #define ObjectPainter_h |
7 | 7 |
8 #include "core/style/ComputedStyleConstants.h" | 8 #include "core/style/ComputedStyleConstants.h" |
9 #include "wtf/Vector.h" | 9 #include "wtf/Vector.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 class Color; | 13 class Color; |
14 class GraphicsContext; | 14 class GraphicsContext; |
15 class LayoutPoint; | 15 class LayoutPoint; |
16 class LayoutRect; | 16 class LayoutRect; |
17 struct PaintInfo; | 17 struct PaintInfo; |
18 class LayoutObject; | 18 class LayoutObject; |
19 class ComputedStyle; | 19 class ComputedStyle; |
20 | 20 |
21 class ObjectPainter { | 21 class ObjectPainter { |
22 public: | 22 public: |
23 ObjectPainter(LayoutObject& layoutObject) : m_layoutObject(layoutObject) { } | 23 ObjectPainter(LayoutObject& layoutObject) : m_layoutObject(layoutObject) { } |
24 | 24 |
25 void paintOutline(const PaintInfo&, const LayoutRect& objectBounds, const La
youtRect& visualOverflowBounds); | 25 // TODO(pdr): Update paintOutline to take a visualOverflowRect and a paintOf
fset and update the visual overflow in this function instead of at callsites. |
| 26 void paintOutline(const PaintInfo&, const LayoutRect& objectBounds, const La
youtRect& visualOverflowBounds, const LayoutPoint& paintOffset); |
26 void paintFocusRing(const PaintInfo&, const ComputedStyle&, const Vector<Lay
outRect>& focusRingRects); | 27 void paintFocusRing(const PaintInfo&, const ComputedStyle&, const Vector<Lay
outRect>& focusRingRects); |
27 void addPDFURLRectIfNeeded(const PaintInfo&, const LayoutPoint& paintOffset)
; | 28 void addPDFURLRectIfNeeded(const PaintInfo&, const LayoutPoint& paintOffset)
; |
28 | 29 |
29 static void drawLineForBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, BoxSide, Color, EBorderStyle, int adjbw1, int adjbw2, bool antialias = fals
e); | 30 static void drawLineForBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, BoxSide, Color, EBorderStyle, int adjbw1, int adjbw2, bool antialias = fals
e); |
30 | 31 |
31 static LayoutRect outlineBounds(const LayoutRect& objectBounds, const Comput
edStyle&); | 32 static LayoutRect outlineBounds(const LayoutRect& objectBounds, const Comput
edStyle&); |
32 | 33 |
33 private: | 34 private: |
34 static void drawDashedOrDottedBoxSide(GraphicsContext*, int x1, int y1, int
x2, int y2, | 35 static void drawDashedOrDottedBoxSide(GraphicsContext*, int x1, int y1, int
x2, int y2, |
35 BoxSide, Color, int thickness, EBorderStyle, bool antialias); | 36 BoxSide, Color, int thickness, EBorderStyle, bool antialias); |
36 static void drawDoubleBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, | 37 static void drawDoubleBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, |
37 int length, BoxSide, Color, int thickness, int adjacentWidth1, int adjac
entWidth2, bool antialias); | 38 int length, BoxSide, Color, int thickness, int adjacentWidth1, int adjac
entWidth2, bool antialias); |
38 static void drawRidgeOrGrooveBoxSide(GraphicsContext*, int x1, int y1, int x
2, int y2, | 39 static void drawRidgeOrGrooveBoxSide(GraphicsContext*, int x1, int y1, int x
2, int y2, |
39 BoxSide, Color, EBorderStyle, int adjacentWidth1, int adjacentWidth2, bo
ol antialias); | 40 BoxSide, Color, EBorderStyle, int adjacentWidth1, int adjacentWidth2, bo
ol antialias); |
40 static void drawSolidBoxSide(GraphicsContext*, int x1, int y1, int x2, int y
2, | 41 static void drawSolidBoxSide(GraphicsContext*, int x1, int y1, int x2, int y
2, |
41 BoxSide, Color, int adjacentWidth1, int adjacentWidth2, bool antialias); | 42 BoxSide, Color, int adjacentWidth1, int adjacentWidth2, bool antialias); |
42 | 43 |
43 LayoutObject& m_layoutObject; | 44 LayoutObject& m_layoutObject; |
44 }; | 45 }; |
45 | 46 |
46 } // namespace blink | 47 } // namespace blink |
47 | 48 |
48 #endif | 49 #endif |
OLD | NEW |