OLD | NEW |
1 // Copyright (C) 2013 Google Inc. All rights reserved. | 1 // Copyright (C) 2013 Google Inc. All rights reserved. |
2 // | 2 // |
3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without |
4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are |
5 // met: | 5 // met: |
6 // | 6 // |
7 // * Redistributions of source code must retain the above copyright | 7 // * Redistributions of source code must retain the above copyright |
8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
9 // * Redistributions in binary form must reproduce the above | 9 // * Redistributions in binary form must reproduce the above |
10 // copyright notice, this list of conditions and the following disclaimer | 10 // copyright notice, this list of conditions and the following disclaimer |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 : m_textRun(other.m_textRun) | 51 : m_textRun(other.m_textRun) |
52 , m_offset(other.m_offset) | 52 , m_offset(other.m_offset) |
53 { | 53 { |
54 } | 54 } |
55 | 55 |
56 unsigned offset() const { return m_offset; } | 56 unsigned offset() const { return m_offset; } |
57 void increment() { m_offset++; } | 57 void increment() { m_offset++; } |
58 bool atEnd() const { return !m_textRun || m_offset >= m_textRun->length(); } | 58 bool atEnd() const { return !m_textRun || m_offset >= m_textRun->length(); } |
59 UChar current() const { return (*m_textRun)[m_offset]; } | 59 UChar current() const { return (*m_textRun)[m_offset]; } |
60 WTF::Unicode::Direction direction() const { return atEnd() ? WTF::Unicode::O
therNeutral : WTF::Unicode::direction(current()); } | 60 WTF::Unicode::Direction direction() const { return atEnd() ? WTF::Unicode::O
therNeutral : WTF::Unicode::direction(current()); } |
| 61 bool atParagraphSeparator() const { return current() == '\n'; } |
61 | 62 |
62 bool operator==(const TextRunIterator& other) | 63 bool operator==(const TextRunIterator& other) |
63 { | 64 { |
64 return m_offset == other.m_offset && m_textRun == other.m_textRun; | 65 return m_offset == other.m_offset && m_textRun == other.m_textRun; |
65 } | 66 } |
66 | 67 |
67 bool operator!=(const TextRunIterator& other) { return !operator==(other); } | 68 bool operator!=(const TextRunIterator& other) { return !operator==(other); } |
68 | 69 |
69 private: | 70 private: |
70 const TextRun* m_textRun; | 71 const TextRun* m_textRun; |
71 int m_offset; | 72 int m_offset; |
72 }; | 73 }; |
73 | 74 |
74 | 75 |
75 } // namespace WebCore | 76 } // namespace WebCore |
76 | 77 |
77 #endif // TextRunIterator_h | 78 #endif // TextRunIterator_h |
OLD | NEW |