| 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 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 705 continue; // Positioned objects are only participating to figure out
their | 705 continue; // Positioned objects are only participating to figure out
their |
| 706 // correct static x position. They have no effect on the
width. | 706 // correct static x position. They have no effect on the
width. |
| 707 // Similarly, line break boxes have no effect on the width
. | 707 // Similarly, line break boxes have no effect on the width
. |
| 708 if (r->m_object->isText()) { | 708 if (r->m_object->isText()) { |
| 709 RenderText* rt = toRenderText(r->m_object); | 709 RenderText* rt = toRenderText(r->m_object); |
| 710 if (textAlign == JUSTIFY && r != trailingSpaceRun && textJustify !=
TextJustifyNone) { | 710 if (textAlign == JUSTIFY && r != trailingSpaceRun && textJustify !=
TextJustifyNone) { |
| 711 if (!isAfterExpansion) | 711 if (!isAfterExpansion) |
| 712 toInlineTextBox(r->m_box)->setCanHaveLeadingExpansion(true); | 712 toInlineTextBox(r->m_box)->setCanHaveLeadingExpansion(true); |
| 713 unsigned opportunitiesInRun; | 713 unsigned opportunitiesInRun; |
| 714 if (rt->is8Bit()) | 714 if (rt->is8Bit()) |
| 715 opportunitiesInRun = Font::expansionOpportunityCount(rt->cha
racters8() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isAfterE
xpansion); | 715 opportunitiesInRun = Font::expansionOpportunityCount(rt->cha
racters8() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isAfterE
xpansion, (textJustify == TextJustifyDistribute)); |
| 716 else | 716 else |
| 717 opportunitiesInRun = Font::expansionOpportunityCount(rt->cha
racters16() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isAfter
Expansion); | 717 opportunitiesInRun = Font::expansionOpportunityCount(rt->cha
racters16() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isAfter
Expansion, (textJustify == TextJustifyDistribute)); |
| 718 expansionOpportunities.append(opportunitiesInRun); | 718 expansionOpportunities.append(opportunitiesInRun); |
| 719 expansionOpportunityCount += opportunitiesInRun; | 719 expansionOpportunityCount += opportunitiesInRun; |
| 720 } | 720 } |
| 721 | 721 |
| 722 if (int length = rt->textLength()) { | 722 if (int length = rt->textLength()) { |
| 723 if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->char
acterAt(r->m_start))) | 723 if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->char
acterAt(r->m_start))) |
| 724 totalLogicalWidth += rt->style(lineInfo.isFirstLine())->font
().wordSpacing(); | 724 totalLogicalWidth += rt->style(lineInfo.isFirstLine())->font
().wordSpacing(); |
| 725 needsWordSpacing = !isSpaceOrNewline(rt->characterAt(r->m_stop -
1)) && r->m_stop == length; | 725 needsWordSpacing = !isSpaceOrNewline(rt->characterAt(r->m_stop -
1)) && r->m_stop == length; |
| 726 } | 726 } |
| 727 | 727 |
| (...skipping 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2415 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); | 2415 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); |
| 2416 | 2416 |
| 2417 setLineGridBox(lineGridBox); | 2417 setLineGridBox(lineGridBox); |
| 2418 | 2418 |
| 2419 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying | 2419 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying |
| 2420 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping | 2420 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping |
| 2421 // to this grid. | 2421 // to this grid. |
| 2422 } | 2422 } |
| 2423 | 2423 |
| 2424 } | 2424 } |
| OLD | NEW |