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

Side by Side Diff: third_party/WebKit/Source/core/paint/TextPainter.h

Issue 1512803004: Use refs for GraphicsContext (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ScrollbarTheme
Patch Set: Created 5 years 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 TextPainter_h 5 #ifndef TextPainter_h
6 #define TextPainter_h 6 #define TextPainter_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/style/ComputedStyleConstants.h" 9 #include "core/style/ComputedStyleConstants.h"
10 #include "platform/fonts/TextBlob.h" 10 #include "platform/fonts/TextBlob.h"
(...skipping 16 matching lines...) Expand all
27 struct PaintInfo; 27 struct PaintInfo;
28 class ShadowList; 28 class ShadowList;
29 class TextRun; 29 class TextRun;
30 struct TextRunPaintInfo; 30 struct TextRunPaintInfo;
31 31
32 class CORE_EXPORT TextPainter { 32 class CORE_EXPORT TextPainter {
33 STACK_ALLOCATED(); 33 STACK_ALLOCATED();
34 public: 34 public:
35 struct Style; 35 struct Style;
36 36
37 TextPainter(GraphicsContext*, const Font&, const TextRun&, const LayoutPoint & textOrigin, const LayoutRect& textBounds, bool horizontal); 37 TextPainter(GraphicsContext&, const Font&, const TextRun&, const LayoutPoint & textOrigin, const LayoutRect& textBounds, bool horizontal);
38 ~TextPainter(); 38 ~TextPainter();
39 39
40 void setEmphasisMark(const AtomicString&, TextEmphasisPosition); 40 void setEmphasisMark(const AtomicString&, TextEmphasisPosition);
41 void setCombinedText(LayoutTextCombine* combinedText) { m_combinedText = com binedText; } 41 void setCombinedText(LayoutTextCombine* combinedText) { m_combinedText = com binedText; }
42 42
43 static void updateGraphicsContext(GraphicsContext*, const Style&, bool horiz ontal, GraphicsContextStateSaver&); 43 static void updateGraphicsContext(GraphicsContext&, const Style&, bool horiz ontal, GraphicsContextStateSaver&);
44 44
45 void paint(int startOffset, int endOffset, int length, const Style&, TextBlo bPtr* cachedTextBlob = 0); 45 void paint(int startOffset, int endOffset, int length, const Style&, TextBlo bPtr* cachedTextBlob = 0);
46 46
47 struct Style { 47 struct Style {
48 STACK_ALLOCATED(); 48 STACK_ALLOCATED();
49 Color currentColor; 49 Color currentColor;
50 Color fillColor; 50 Color fillColor;
51 Color strokeColor; 51 Color strokeColor;
52 Color emphasisMarkColor; 52 Color emphasisMarkColor;
53 float strokeWidth; 53 float strokeWidth;
(...skipping 25 matching lines...) Expand all
79 enum PaintInternalStep { PaintText, PaintEmphasisMark }; 79 enum PaintInternalStep { PaintText, PaintEmphasisMark };
80 80
81 template <PaintInternalStep step> 81 template <PaintInternalStep step>
82 void paintInternalRun(TextRunPaintInfo&, int from, int to); 82 void paintInternalRun(TextRunPaintInfo&, int from, int to);
83 83
84 template <PaintInternalStep step> 84 template <PaintInternalStep step>
85 void paintInternal(int startOffset, int endOffset, int truncationPoint, Text BlobPtr* cachedTextBlob = 0); 85 void paintInternal(int startOffset, int endOffset, int truncationPoint, Text BlobPtr* cachedTextBlob = 0);
86 86
87 void paintEmphasisMarkForCombinedText(); 87 void paintEmphasisMarkForCombinedText();
88 88
89 GraphicsContext* m_graphicsContext; 89 GraphicsContext& m_graphicsContext;
90 const Font& m_font; 90 const Font& m_font;
91 const TextRun& m_run; 91 const TextRun& m_run;
92 LayoutPoint m_textOrigin; 92 LayoutPoint m_textOrigin;
93 LayoutRect m_textBounds; 93 LayoutRect m_textBounds;
94 bool m_horizontal; 94 bool m_horizontal;
95 AtomicString m_emphasisMark; 95 AtomicString m_emphasisMark;
96 int m_emphasisMarkOffset; 96 int m_emphasisMarkOffset;
97 LayoutTextCombine* m_combinedText; 97 LayoutTextCombine* m_combinedText;
98 }; 98 };
99 99
(...skipping 10 matching lines...) Expand all
110 // 5. Therefore the translation from (3) to (4) is (x(), y()) - (-maxY(), x( )) = (x() + maxY(), y() - x()) 110 // 5. Therefore the translation from (3) to (4) is (x(), y()) - (-maxY(), x( )) = (x() + maxY(), y() - x())
111 111
112 // A similar argument derives the counter-clockwise case. 112 // A similar argument derives the counter-clockwise case.
113 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect .x() + boxRect.maxY(), boxRect.y() - boxRect.x()) 113 return rotationDirection == Clockwise ? AffineTransform(0, 1, -1, 0, boxRect .x() + boxRect.maxY(), boxRect.y() - boxRect.x())
114 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.y(), boxRect.x() + boxRect.maxY()); 114 : AffineTransform(0, -1, 1, 0, boxRect.x() - boxRect.y(), boxRect.x() + boxRect.maxY());
115 } 115 }
116 116
117 } // namespace blink 117 } // namespace blink
118 118
119 #endif // TextPainter_h 119 #endif // TextPainter_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/TablePainter.cpp ('k') | third_party/WebKit/Source/core/paint/TextPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698