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

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

Issue 1220733012: Display transparent text when it's being searched and selected. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added Layout Test Created 5 years, 5 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 InlineTextBoxPainter_h 5 #ifndef InlineTextBoxPainter_h
6 #define InlineTextBoxPainter_h 6 #define InlineTextBoxPainter_h
7 7
8 #include "core/paint/TextPainter.h"
pdr. 2015/07/21 05:59:46 I think you can just forward declare this ("class
8 #include "core/style/ComputedStyleConstants.h" 9 #include "core/style/ComputedStyleConstants.h"
9 #include "platform/geometry/LayoutRect.h" 10 #include "platform/geometry/LayoutRect.h"
10 11
11 namespace blink { 12 namespace blink {
12 13
13 struct CompositionUnderline; 14 struct CompositionUnderline;
14 struct PaintInfo; 15 struct PaintInfo;
15 16
16 class Color; 17 class Color;
17 class ComputedStyle; 18 class ComputedStyle;
18 class DocumentMarker; 19 class DocumentMarker;
19 class FloatPoint; 20 class FloatPoint;
20 class FloatRect; 21 class FloatRect;
21 class Font; 22 class Font;
22 class GraphicsContext; 23 class GraphicsContext;
23 class InlineTextBox; 24 class InlineTextBox;
24 class LayoutPoint; 25 class LayoutPoint;
25 class LayoutTextCombine; 26 class LayoutTextCombine;
26 27
27 class InlineTextBoxPainter { 28 class InlineTextBoxPainter {
28 public: 29 public:
29 InlineTextBoxPainter(InlineTextBox& inlineTextBox) : m_inlineTextBox(inlineT extBox) { } 30 InlineTextBoxPainter(InlineTextBox& inlineTextBox) : m_inlineTextBox(inlineT extBox) { }
30 31
31 void paint(const PaintInfo&, const LayoutPoint&); 32 void paint(const PaintInfo&, const LayoutPoint&);
33 void paintTextMatchMarkerText(TextPainter, int, const ComputedStyle&);
pdr. 2015/07/21 05:59:46 TextPainter is a large class so we shouldn't pass
32 void paintDocumentMarkers(GraphicsContext*, const LayoutPoint& boxOrigin, co nst ComputedStyle&, const Font&, bool background); 34 void paintDocumentMarkers(GraphicsContext*, const LayoutPoint& boxOrigin, co nst ComputedStyle&, const Font&, bool background);
33 void paintDocumentMarker(GraphicsContext*, const LayoutPoint& boxOrigin, Doc umentMarker*, const ComputedStyle&, const Font&, bool grammar); 35 void paintDocumentMarker(GraphicsContext*, const LayoutPoint& boxOrigin, Doc umentMarker*, const ComputedStyle&, const Font&, bool grammar);
34 void paintTextMatchMarker(GraphicsContext*, const LayoutPoint& boxOrigin, Do cumentMarker*, const ComputedStyle&, const Font&); 36 void paintTextMatchMarker(GraphicsContext*, const LayoutPoint& boxOrigin, Do cumentMarker*, const ComputedStyle&, const Font&);
35 37
36 static void removeFromTextBlobCache(InlineTextBox&); 38 static void removeFromTextBlobCache(InlineTextBox&);
37 39
38 private: 40 private:
39 enum class PaintOptions { Normal, CombinedText }; 41 enum class PaintOptions { Normal, CombinedText };
40 42
41 void paintCompositionBackgrounds(GraphicsContext*, const LayoutPoint& boxOri gin, const ComputedStyle&, const Font&, bool useCustomUnderlines); 43 void paintCompositionBackgrounds(GraphicsContext*, const LayoutPoint& boxOri gin, const ComputedStyle&, const Font&, bool useCustomUnderlines);
42 void paintSingleCompositionBackgroundRun(GraphicsContext*, const LayoutPoint & boxOrigin, const ComputedStyle&, const Font&, Color backgroundColor, int start Pos, int endPos); 44 void paintSingleCompositionBackgroundRun(GraphicsContext*, const LayoutPoint & boxOrigin, const ComputedStyle&, const Font&, Color backgroundColor, int start Pos, int endPos);
43 template <PaintOptions> 45 template <PaintOptions>
44 void paintSelection(GraphicsContext*, const LayoutRect& boxRect, const Compu tedStyle&, const Font&, Color textColor, LayoutTextCombine* = nullptr); 46 void paintSelection(GraphicsContext*, const LayoutRect& boxRect, const Compu tedStyle&, const Font&, Color textColor, LayoutTextCombine* = nullptr);
45 void paintDecoration(GraphicsContext*, const LayoutPoint& boxOrigin, TextDec oration); 47 void paintDecoration(GraphicsContext*, const LayoutPoint& boxOrigin, TextDec oration);
46 void paintCompositionUnderline(GraphicsContext*, const LayoutPoint& boxOrigi n, const CompositionUnderline&); 48 void paintCompositionUnderline(GraphicsContext*, const LayoutPoint& boxOrigi n, const CompositionUnderline&);
47 unsigned underlinePaintStart(const CompositionUnderline&); 49 unsigned underlinePaintStart(const CompositionUnderline&);
48 unsigned underlinePaintEnd(const CompositionUnderline&); 50 unsigned underlinePaintEnd(const CompositionUnderline&);
49 51
50 InlineTextBox& m_inlineTextBox; 52 InlineTextBox& m_inlineTextBox;
51 }; 53 };
52 54
53 } // namespace blink 55 } // namespace blink
54 56
55 #endif // InlineTextBoxPainter_h 57 #endif // InlineTextBoxPainter_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698