| 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 |