OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> | 2 * Copyright (C) 2007 Rob Buis <buis@kde.org> |
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
11 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 * Library General Public License for more details. | 14 * Library General Public License for more details. |
15 * | 15 * |
16 * You should have received a copy of the GNU Library General Public License | 16 * You should have received a copy of the GNU Library General Public License |
17 * along with this library; see the file COPYING.LIB. If not, write to | 17 * along with this library; see the file COPYING.LIB. If not, write to |
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
20 */ | 20 */ |
21 | 21 |
22 #ifndef SVGInlineTextBox_h | 22 #ifndef SVGInlineTextBox_h |
23 #define SVGInlineTextBox_h | 23 #define SVGInlineTextBox_h |
24 | 24 |
25 #include "core/layout/line/InlineTextBox.h" | 25 #include "core/layout/line/InlineTextBox.h" |
26 #include "core/layout/svg/SVGTextLayoutEngine.h" | 26 #include "core/layout/svg/SVGTextLayoutEngine.h" |
27 | 27 |
28 namespace blink { | 28 namespace blink { |
29 | 29 |
| 30 class TextMatchMarker; |
| 31 |
30 class SVGInlineTextBox final : public InlineTextBox { | 32 class SVGInlineTextBox final : public InlineTextBox { |
31 public: | 33 public: |
32 SVGInlineTextBox(LineLayoutItem, int start, unsigned short length); | 34 SVGInlineTextBox(LineLayoutItem, int start, unsigned short length); |
33 | 35 |
34 bool IsSVGInlineTextBox() const override { return true; } | 36 bool IsSVGInlineTextBox() const override { return true; } |
35 | 37 |
36 LayoutUnit VirtualLogicalHeight() const override { return logical_height_; } | 38 LayoutUnit VirtualLogicalHeight() const override { return logical_height_; } |
37 void SetLogicalHeight(LayoutUnit height) { logical_height_ = height; } | 39 void SetLogicalHeight(LayoutUnit height) { logical_height_ = height; } |
38 | 40 |
39 int OffsetForPosition(LayoutUnit x, | 41 int OffsetForPosition(LayoutUnit x, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 80 |
79 private: | 81 private: |
80 void PaintDocumentMarker(GraphicsContext&, | 82 void PaintDocumentMarker(GraphicsContext&, |
81 const LayoutPoint&, | 83 const LayoutPoint&, |
82 const DocumentMarker&, | 84 const DocumentMarker&, |
83 const ComputedStyle&, | 85 const ComputedStyle&, |
84 const Font&, | 86 const Font&, |
85 bool) const final; | 87 bool) const final; |
86 void PaintTextMatchMarkerForeground(const PaintInfo&, | 88 void PaintTextMatchMarkerForeground(const PaintInfo&, |
87 const LayoutPoint&, | 89 const LayoutPoint&, |
88 const DocumentMarker&, | 90 const TextMatchMarker&, |
89 const ComputedStyle&, | 91 const ComputedStyle&, |
90 const Font&) const final; | 92 const Font&) const final; |
91 void PaintTextMatchMarkerBackground(const PaintInfo&, | 93 void PaintTextMatchMarkerBackground(const PaintInfo&, |
92 const LayoutPoint&, | 94 const LayoutPoint&, |
93 const DocumentMarker&, | 95 const TextMatchMarker&, |
94 const ComputedStyle&, | 96 const ComputedStyle&, |
95 const Font&) const final; | 97 const Font&) const final; |
96 | 98 |
97 bool NodeAtPoint(HitTestResult&, | 99 bool NodeAtPoint(HitTestResult&, |
98 const HitTestLocation& location_in_container, | 100 const HitTestLocation& location_in_container, |
99 const LayoutPoint& accumulated_offset, | 101 const LayoutPoint& accumulated_offset, |
100 LayoutUnit line_top, | 102 LayoutUnit line_top, |
101 LayoutUnit line_bottom) override; | 103 LayoutUnit line_bottom) override; |
102 | 104 |
103 LayoutUnit logical_height_; | 105 LayoutUnit logical_height_; |
104 bool starts_new_text_chunk_ : 1; | 106 bool starts_new_text_chunk_ : 1; |
105 Vector<SVGTextFragment> text_fragments_; | 107 Vector<SVGTextFragment> text_fragments_; |
106 }; | 108 }; |
107 | 109 |
108 DEFINE_INLINE_BOX_TYPE_CASTS(SVGInlineTextBox); | 110 DEFINE_INLINE_BOX_TYPE_CASTS(SVGInlineTextBox); |
109 | 111 |
110 } // namespace blink | 112 } // namespace blink |
111 | 113 |
112 #endif // SVGInlineTextBox_h | 114 #endif // SVGInlineTextBox_h |
OLD | NEW |