OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Dirk Mueller (mueller@kde.org) | 3 * (C) 2000 Dirk Mueller (mueller@kde.org) |
4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. |
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 1129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 { | 1140 { |
1141 int l = 0; | 1141 int l = 0; |
1142 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) | 1142 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) |
1143 l += box->len(); | 1143 l += box->len(); |
1144 return l; | 1144 return l; |
1145 } | 1145 } |
1146 | 1146 |
1147 int RenderText::previousOffset(int current) const | 1147 int RenderText::previousOffset(int current) const |
1148 { | 1148 { |
1149 StringImpl* si = m_text.get(); | 1149 StringImpl* si = m_text.get(); |
1150 TextBreakIterator* iterator = characterBreakIterator(si->characters(), si->l
ength()); | 1150 TextBreakIterator* iterator = cursorMovementIterator(si->characters(), si->l
ength()); |
1151 if (!iterator) | 1151 if (!iterator) |
1152 return current - 1; | 1152 return current - 1; |
1153 | 1153 |
1154 long result = textBreakPreceding(iterator, current); | 1154 long result = textBreakPreceding(iterator, current); |
1155 if (result == TextBreakDone) | 1155 if (result == TextBreakDone) |
1156 result = current - 1; | 1156 result = current - 1; |
1157 | 1157 |
1158 #ifdef BUILDING_ON_TIGER | 1158 #ifdef BUILDING_ON_TIGER |
1159 // ICU 3.2 allows character breaks before a half-width Katakana voiced mark. | 1159 // ICU 3.2 allows character breaks before a half-width Katakana voiced mark. |
1160 if (static_cast<unsigned>(result) < si->length()) { | 1160 if (static_cast<unsigned>(result) < si->length()) { |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1263 return current; | 1263 return current; |
1264 #else | 1264 #else |
1265 // Platforms other than Mac delete by one code point. | 1265 // Platforms other than Mac delete by one code point. |
1266 return current - 1; | 1266 return current - 1; |
1267 #endif | 1267 #endif |
1268 } | 1268 } |
1269 | 1269 |
1270 int RenderText::nextOffset(int current) const | 1270 int RenderText::nextOffset(int current) const |
1271 { | 1271 { |
1272 StringImpl* si = m_text.get(); | 1272 StringImpl* si = m_text.get(); |
1273 TextBreakIterator* iterator = characterBreakIterator(si->characters(), si->l
ength()); | 1273 TextBreakIterator* iterator = cursorMovementIterator(si->characters(), si->l
ength()); |
1274 if (!iterator) | 1274 if (!iterator) |
1275 return current + 1; | 1275 return current + 1; |
1276 | 1276 |
1277 long result = textBreakFollowing(iterator, current); | 1277 long result = textBreakFollowing(iterator, current); |
1278 if (result == TextBreakDone) | 1278 if (result == TextBreakDone) |
1279 result = current + 1; | 1279 result = current + 1; |
1280 | 1280 |
1281 #ifdef BUILDING_ON_TIGER | 1281 #ifdef BUILDING_ON_TIGER |
1282 // ICU 3.2 allows character breaks before a half-width Katakana voiced mark. | 1282 // ICU 3.2 allows character breaks before a half-width Katakana voiced mark. |
1283 if (static_cast<unsigned>(result) < si->length()) { | 1283 if (static_cast<unsigned>(result) < si->length()) { |
(...skipping 17 matching lines...) Expand all Loading... |
1301 ASSERT(child->prevTextBox() == prev); | 1301 ASSERT(child->prevTextBox() == prev); |
1302 prev = child; | 1302 prev = child; |
1303 } | 1303 } |
1304 ASSERT(prev == m_lastTextBox); | 1304 ASSERT(prev == m_lastTextBox); |
1305 #endif | 1305 #endif |
1306 } | 1306 } |
1307 | 1307 |
1308 #endif | 1308 #endif |
1309 | 1309 |
1310 } // namespace WebCore | 1310 } // namespace WebCore |
OLD | NEW |