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 SVGInlineTextBoxPainter_h | 5 #ifndef SVGInlineTextBoxPainter_h |
6 #define SVGInlineTextBoxPainter_h | 6 #define SVGInlineTextBoxPainter_h |
7 | 7 |
8 #include "core/rendering/style/RenderStyleConstants.h" | 8 #include "core/rendering/style/RenderStyleConstants.h" |
9 #include "core/rendering/svg/RenderSVGResourcePaintServer.h" | 9 #include "core/rendering/svg/RenderSVGResourcePaintServer.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 class FloatPoint; | 13 class FloatPoint; |
14 class Font; | 14 class Font; |
15 class GraphicsContext; | 15 class GraphicsContext; |
16 struct PaintInfo; | 16 struct PaintInfo; |
17 class LayoutPoint; | 17 class LayoutPoint; |
18 class RenderStyle; | 18 class RenderStyle; |
19 class RenderObject; | |
20 class SVGInlineTextBox; | 19 class SVGInlineTextBox; |
21 struct SVGTextFragment; | 20 struct SVGTextFragment; |
22 class TextRun; | 21 class TextRun; |
23 class DocumentMarker; | 22 class DocumentMarker; |
24 | 23 |
25 class SVGInlineTextBoxPainter { | 24 class SVGInlineTextBoxPainter { |
26 public: | 25 public: |
27 SVGInlineTextBoxPainter(SVGInlineTextBox& svgInlineTextBox) : m_svgInlineTex
tBox(svgInlineTextBox) { } | 26 SVGInlineTextBoxPainter(SVGInlineTextBox& svgInlineTextBox) : m_svgInlineTex
tBox(svgInlineTextBox) { } |
28 void paint(PaintInfo&, const LayoutPoint&); | 27 void paint(PaintInfo&, const LayoutPoint&); |
29 void paintSelectionBackground(PaintInfo&); | 28 void paintSelectionBackground(PaintInfo&); |
30 virtual void paintTextMatchMarker(GraphicsContext*, const FloatPoint&, Docum
entMarker*, RenderStyle*, const Font&); | 29 virtual void paintTextMatchMarker(GraphicsContext*, const FloatPoint&, Docum
entMarker*, RenderStyle*, const Font&); |
31 | 30 |
32 private: | 31 private: |
33 void paintDecoration(GraphicsContext*, TextDecoration, const SVGTextFragment
&); | 32 void paintDecoration(GraphicsContext*, TextDecoration, const SVGTextFragment
&); |
34 void paintTextWithShadows(GraphicsContext*, RenderStyle*, TextRun&, const SV
GTextFragment&, int startPosition, int endPosition, RenderSVGResourceMode); | 33 void paintTextWithShadows(GraphicsContext*, RenderStyle*, TextRun&, const SV
GTextFragment&, int startPosition, int endPosition, RenderSVGResourceMode); |
35 void paintText(GraphicsContext*, RenderStyle*, RenderStyle* selectionStyle,
const SVGTextFragment&, RenderSVGResourceMode, bool hasSelection, bool paintSele
ctedTextOnly); | 34 void paintText(GraphicsContext*, RenderStyle*, RenderStyle* selectionStyle,
const SVGTextFragment&, RenderSVGResourceMode, bool hasSelection, bool paintSele
ctedTextOnly); |
36 | 35 |
37 SVGInlineTextBox& m_svgInlineTextBox; | 36 SVGInlineTextBox& m_svgInlineTextBox; |
38 }; | 37 }; |
39 | 38 |
40 } // namespace blink | 39 } // namespace blink |
41 | 40 |
42 #endif // SVGInlineTextBoxPainter_h | 41 #endif // SVGInlineTextBoxPainter_h |
OLD | NEW |