OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. 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 * |
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1295 // The starting position is the beginning of the first run within the is
olate that was identified | 1295 // The starting position is the beginning of the first run within the is
olate that was identified |
1296 // during the earlier call to createBidiRunsForLine. This can be but is
not necessarily the | 1296 // during the earlier call to createBidiRunsForLine. This can be but is
not necessarily the |
1297 // first run within the isolate. | 1297 // first run within the isolate. |
1298 InlineIterator iter = InlineIterator(isolatedInline, startObj, isolatedR
un->m_start); | 1298 InlineIterator iter = InlineIterator(isolatedInline, startObj, isolatedR
un->m_start); |
1299 isolatedResolver.setPositionIgnoringNestedIsolates(iter); | 1299 isolatedResolver.setPositionIgnoringNestedIsolates(iter); |
1300 // We stop at the next end of line; we may re-enter this isolate in the
next call to constructBidiRuns(). | 1300 // We stop at the next end of line; we may re-enter this isolate in the
next call to constructBidiRuns(). |
1301 // FIXME: What should end and previousLineBrokeCleanly be? | 1301 // FIXME: What should end and previousLineBrokeCleanly be? |
1302 // rniwa says previousLineBrokeCleanly is just a WinIE hack and could al
ways be false here? | 1302 // rniwa says previousLineBrokeCleanly is just a WinIE hack and could al
ways be false here? |
1303 isolatedResolver.createBidiRunsForLine(endOfRuns, NoVisualOverride, prev
iousLineBrokeCleanly); | 1303 isolatedResolver.createBidiRunsForLine(endOfRuns, NoVisualOverride, prev
iousLineBrokeCleanly); |
1304 | 1304 |
1305 // Note that we do not delete the runs from the resolver. | 1305 ASSERT(isolatedResolver.runs().runCount()); |
1306 // We're not guaranteed to get any BidiRuns in the previous step. If we
don't, we allow the placeholder | |
1307 // itself to be turned into an InlineBox. We can't remove it here withou
t potentially losing track of | |
1308 // the logically last run. | |
1309 if (isolatedResolver.runs().runCount()) | 1306 if (isolatedResolver.runs().runCount()) |
1310 bidiRuns.replaceRunWithRuns(isolatedRun, isolatedResolver.runs()); | 1307 bidiRuns.replaceRunWithRuns(isolatedRun, isolatedResolver.runs()); |
1311 | 1308 |
1312 // If we encountered any nested isolate runs, just move them | 1309 // If we encountered any nested isolate runs, just move them |
1313 // to the top resolver's list for later processing. | 1310 // to the top resolver's list for later processing. |
1314 if (!isolatedResolver.isolatedRuns().isEmpty()) { | 1311 if (!isolatedResolver.isolatedRuns().isEmpty()) { |
1315 topResolver.isolatedRuns().append(isolatedResolver.isolatedRuns()); | 1312 topResolver.isolatedRuns().append(isolatedResolver.isolatedRuns()); |
1316 currentRoot = isolatedInline; | 1313 currentRoot = isolatedInline; |
1317 restoreIsolatedMidpointStates(topResolver, isolatedResolver); | 1314 restoreIsolatedMidpointStates(topResolver, isolatedResolver); |
1318 } | 1315 } |
(...skipping 2228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3547 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); | 3544 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); |
3548 | 3545 |
3549 setLineGridBox(lineGridBox); | 3546 setLineGridBox(lineGridBox); |
3550 | 3547 |
3551 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying | 3548 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying |
3552 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping | 3549 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping |
3553 // to this grid. | 3550 // to this grid. |
3554 } | 3551 } |
3555 | 3552 |
3556 } | 3553 } |
OLD | NEW |