Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(454)

Side by Side Diff: Source/core/paint/ObjectPainter.h

Issue 1315993004: Implement a paint offset cache for slimming paint v2 (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698