OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 18 matching lines...) Expand all Loading... |
29 */ | 29 */ |
30 namespace blink { | 30 namespace blink { |
31 | 31 |
32 class LayoutBR final : public LayoutText { | 32 class LayoutBR final : public LayoutText { |
33 public: | 33 public: |
34 explicit LayoutBR(Node*); | 34 explicit LayoutBR(Node*); |
35 ~LayoutBR() override; | 35 ~LayoutBR() override; |
36 | 36 |
37 const char* name() const override { return "LayoutBR"; } | 37 const char* name() const override { return "LayoutBR"; } |
38 | 38 |
39 LayoutRect selectionRectForPaintInvalidation(const LayoutBoxModelObject* /*
paintInvalidationContainer */) const override; | 39 // Although line breaks contain no actual text, if we're selected we need |
| 40 // to return a rect that includes space to illustrate a newline. |
| 41 using LayoutText::localSelectionRect; |
40 | 42 |
41 float width(unsigned /* from */, unsigned /* len */, const Font&, LayoutUnit
/* xpos */, TextDirection, HashSet<const SimpleFontData*>* = nullptr /* fallbac
kFonts */ , FloatRect* /* glyphBounds */ = nullptr) const override { return 0; } | 43 float width(unsigned /* from */, unsigned /* len */, const Font&, LayoutUnit
/* xpos */, TextDirection, HashSet<const SimpleFontData*>* = nullptr /* fallbac
kFonts */ , FloatRect* /* glyphBounds */ = nullptr) const override { return 0; } |
42 float width(unsigned /* from */, unsigned /* len */, LayoutUnit /* xpos */,
TextDirection, bool = false /* firstLine */, HashSet<const SimpleFontData*>* = n
ullptr /* fallbackFonts */, FloatRect* /* glyphBounds */ = nullptr) const overri
de { return 0; } | 44 float width(unsigned /* from */, unsigned /* len */, LayoutUnit /* xpos */,
TextDirection, bool = false /* firstLine */, HashSet<const SimpleFontData*>* = n
ullptr /* fallbackFonts */, FloatRect* /* glyphBounds */ = nullptr) const overri
de { return 0; } |
43 | 45 |
44 int lineHeight(bool firstLine) const; | 46 int lineHeight(bool firstLine) const; |
45 | 47 |
46 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectBr || LayoutText::isOfType(type); } | 48 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectBr || LayoutText::isOfType(type); } |
47 | 49 |
48 int caretMinOffset() const override; | 50 int caretMinOffset() const override; |
49 int caretMaxOffset() const override; | 51 int caretMaxOffset() const override; |
50 | 52 |
51 PositionWithAffinity positionForPoint(const LayoutPoint&) final; | 53 PositionWithAffinity positionForPoint(const LayoutPoint&) final; |
52 | 54 |
53 protected: | 55 protected: |
54 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; | 56 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; |
55 }; | 57 }; |
56 | 58 |
57 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBR, isBR()); | 59 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBR, isBR()); |
58 | 60 |
59 } // namespace blink | 61 } // namespace blink |
60 | 62 |
61 #endif // LayoutBR_h | 63 #endif // LayoutBR_h |
OLD | NEW |