| 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 |