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 void paintOutline(const PaintInfo&, const LayoutRect& objectBounds, const La
youtRect& visualOverflowBounds); |
26 void paintFocusRing(const PaintInfo&, const ComputedStyle&, const Vector<Lay
outRect>& focusRingRects); | 26 void paintFocusRing(const PaintInfo&, const ComputedStyle&, const Vector<Lay
outRect>& focusRingRects); |
27 void addPDFURLRectIfNeeded(const PaintInfo&, const LayoutPoint& paintOffset)
; | 27 void addPDFURLRectIfNeeded(const PaintInfo&, const LayoutPoint& paintOffset)
; |
28 | 28 |
29 static void drawLineForBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, BoxSide, Color, EBorderStyle, int adjbw1, int adjbw2, bool antialias = fals
e); | 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 |
| 31 static LayoutRect outlineBounds(const LayoutRect& objectBounds, const Comput
edStyle&); |
| 32 |
30 private: | 33 private: |
31 static void drawDashedOrDottedBoxSide(GraphicsContext*, int x1, int y1, int
x2, int y2, | 34 static void drawDashedOrDottedBoxSide(GraphicsContext*, int x1, int y1, int
x2, int y2, |
32 BoxSide, Color, int thickness, EBorderStyle, bool antialias); | 35 BoxSide, Color, int thickness, EBorderStyle, bool antialias); |
33 static void drawDoubleBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, | 36 static void drawDoubleBoxSide(GraphicsContext*, int x1, int y1, int x2, int
y2, |
34 int length, BoxSide, Color, int thickness, int adjacentWidth1, int adjac
entWidth2, bool antialias); | 37 int length, BoxSide, Color, int thickness, int adjacentWidth1, int adjac
entWidth2, bool antialias); |
35 static void drawRidgeOrGrooveBoxSide(GraphicsContext*, int x1, int y1, int x
2, int y2, | 38 static void drawRidgeOrGrooveBoxSide(GraphicsContext*, int x1, int y1, int x
2, int y2, |
36 BoxSide, Color, EBorderStyle, int adjacentWidth1, int adjacentWidth2, bo
ol antialias); | 39 BoxSide, Color, EBorderStyle, int adjacentWidth1, int adjacentWidth2, bo
ol antialias); |
37 static void drawSolidBoxSide(GraphicsContext*, int x1, int y1, int x2, int y
2, | 40 static void drawSolidBoxSide(GraphicsContext*, int x1, int y1, int x2, int y
2, |
38 BoxSide, Color, int adjacentWidth1, int adjacentWidth2, bool antialias); | 41 BoxSide, Color, int adjacentWidth1, int adjacentWidth2, bool antialias); |
39 | 42 |
40 LayoutObject& m_layoutObject; | 43 LayoutObject& m_layoutObject; |
41 }; | 44 }; |
42 | 45 |
43 } // namespace blink | 46 } // namespace blink |
44 | 47 |
45 #endif | 48 #endif |
OLD | NEW |