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

Side by Side Diff: Source/core/layout/line/AbstractInlineTextBox.h

Issue 940373003: Rename RenderText to LayoutText (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 14 matching lines...) Expand all
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef AbstractInlineTextBox_h 31 #ifndef AbstractInlineTextBox_h
32 #define AbstractInlineTextBox_h 32 #define AbstractInlineTextBox_h
33 33
34 #include "core/dom/Range.h" 34 #include "core/dom/Range.h"
35 #include "core/layout/LayoutText.h"
35 #include "core/layout/line/FloatToLayoutUnit.h" 36 #include "core/layout/line/FloatToLayoutUnit.h"
36 #include "core/layout/line/InlineTextBox.h" 37 #include "core/layout/line/InlineTextBox.h"
37 #include "core/rendering/RenderText.h"
38 #include "wtf/HashMap.h" 38 #include "wtf/HashMap.h"
39 #include "wtf/RefPtr.h" 39 #include "wtf/RefPtr.h"
40 40
41 namespace blink { 41 namespace blink {
42 42
43 class InlineTextBox; 43 class InlineTextBox;
44 44
45 // High-level abstraction of InlineTextBox to allow the accessibility module to 45 // High-level abstraction of InlineTextBox to allow the accessibility module to
46 // get information about InlineTextBoxes without tight coupling. 46 // get information about InlineTextBoxes without tight coupling.
47 class AbstractInlineTextBox : public RefCounted<AbstractInlineTextBox> { 47 class AbstractInlineTextBox : public RefCounted<AbstractInlineTextBox> {
48 private: 48 private:
49 AbstractInlineTextBox(RenderText* renderText, InlineTextBox* inlineTextBox) 49 AbstractInlineTextBox(LayoutText* renderText, InlineTextBox* inlineTextBox)
50 : m_renderText(renderText) 50 : m_renderText(renderText)
51 , m_inlineTextBox(inlineTextBox) 51 , m_inlineTextBox(inlineTextBox)
52 { 52 {
53 } 53 }
54 54
55 static PassRefPtr<AbstractInlineTextBox> getOrCreate(RenderText*, InlineText Box*); 55 static PassRefPtr<AbstractInlineTextBox> getOrCreate(LayoutText*, InlineText Box*);
56 static void willDestroy(InlineTextBox*); 56 static void willDestroy(InlineTextBox*);
57 57
58 friend class RenderText; 58 friend class LayoutText;
59 friend class InlineTextBox; 59 friend class InlineTextBox;
60 60
61 public: 61 public:
62 struct WordBoundaries { 62 struct WordBoundaries {
63 WordBoundaries(int startIndex, int endIndex) : startIndex(startIndex), e ndIndex(endIndex) { } 63 WordBoundaries(int startIndex, int endIndex) : startIndex(startIndex), e ndIndex(endIndex) { }
64 int startIndex; 64 int startIndex;
65 int endIndex; 65 int endIndex;
66 }; 66 };
67 67
68 enum Direction { 68 enum Direction {
69 LeftToRight, 69 LeftToRight,
70 RightToLeft, 70 RightToLeft,
71 TopToBottom, 71 TopToBottom,
72 BottomToTop 72 BottomToTop
73 }; 73 };
74 74
75 RenderText* renderText() const { return m_renderText; } 75 LayoutText* renderText() const { return m_renderText; }
76 76
77 PassRefPtr<AbstractInlineTextBox> nextInlineTextBox() const; 77 PassRefPtr<AbstractInlineTextBox> nextInlineTextBox() const;
78 LayoutRect bounds() const; 78 LayoutRect bounds() const;
79 unsigned len() const; 79 unsigned len() const;
80 Direction direction() const; 80 Direction direction() const;
81 void characterWidths(Vector<FloatWillBeLayoutUnit>&) const; 81 void characterWidths(Vector<FloatWillBeLayoutUnit>&) const;
82 void wordBoundaries(Vector<WordBoundaries>&) const; 82 void wordBoundaries(Vector<WordBoundaries>&) const;
83 String text() const; 83 String text() const;
84 84
85 private: 85 private:
86 void detach(); 86 void detach();
87 87
88 // Weak ptrs; these are nulled when InlineTextBox::destroy() calls AbstractI nlineTextBox::willDestroy. 88 // Weak ptrs; these are nulled when InlineTextBox::destroy() calls AbstractI nlineTextBox::willDestroy.
89 RenderText* m_renderText; 89 LayoutText* m_renderText;
90 InlineTextBox* m_inlineTextBox; 90 InlineTextBox* m_inlineTextBox;
91 91
92 typedef HashMap<InlineTextBox*, RefPtr<AbstractInlineTextBox>> InlineToAbstr actInlineTextBoxHashMap; 92 typedef HashMap<InlineTextBox*, RefPtr<AbstractInlineTextBox>> InlineToAbstr actInlineTextBoxHashMap;
93 static InlineToAbstractInlineTextBoxHashMap* gAbstractInlineTextBoxMap; 93 static InlineToAbstractInlineTextBoxHashMap* gAbstractInlineTextBoxMap;
94 }; 94 };
95 95
96 } // namespace blink 96 } // namespace blink
97 97
98 #endif // AbstractInlineTextBox_h 98 #endif // AbstractInlineTextBox_h
OLDNEW
« no previous file with comments | « Source/core/layout/TextRunConstructor.cpp ('k') | Source/core/layout/line/AbstractInlineTextBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698