| 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 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 638 continue; // Positioned objects are only participating to figure out
their | 638 continue; // Positioned objects are only participating to figure out
their |
| 639 // correct static x position. They have no effect on the
width. | 639 // correct static x position. They have no effect on the
width. |
| 640 // Similarly, line break boxes have no effect on the width
. | 640 // Similarly, line break boxes have no effect on the width
. |
| 641 if (r->m_object->isText()) { | 641 if (r->m_object->isText()) { |
| 642 RenderText* rt = toRenderText(r->m_object); | 642 RenderText* rt = toRenderText(r->m_object); |
| 643 if (textAlign == JUSTIFY && r != trailingSpaceRun && textJustify !=
TextJustifyNone) { | 643 if (textAlign == JUSTIFY && r != trailingSpaceRun && textJustify !=
TextJustifyNone) { |
| 644 if (!isAfterExpansion) | 644 if (!isAfterExpansion) |
| 645 toInlineTextBox(r->m_box)->setCanHaveLeadingExpansion(true); | 645 toInlineTextBox(r->m_box)->setCanHaveLeadingExpansion(true); |
| 646 unsigned opportunitiesInRun; | 646 unsigned opportunitiesInRun; |
| 647 if (rt->is8Bit()) | 647 if (rt->is8Bit()) |
| 648 opportunitiesInRun = Character::expansionOpportunityCount(rt
->characters8() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isA
fterExpansion); | 648 opportunitiesInRun = Character::expansionOpportunityCount(rt
->characters8() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), isA
fterExpansion, (textJustify == TextJustifyDistribute)); |
| 649 else | 649 else |
| 650 opportunitiesInRun = Character::expansionOpportunityCount(rt
->characters16() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), is
AfterExpansion); | 650 opportunitiesInRun = Character::expansionOpportunityCount(rt
->characters16() + r->m_start, r->m_stop - r->m_start, r->m_box->direction(), is
AfterExpansion, (textJustify == TextJustifyDistribute)); |
| 651 expansionOpportunities.append(opportunitiesInRun); | 651 expansionOpportunities.append(opportunitiesInRun); |
| 652 expansionOpportunityCount += opportunitiesInRun; | 652 expansionOpportunityCount += opportunitiesInRun; |
| 653 } | 653 } |
| 654 | 654 |
| 655 if (int length = rt->textLength()) { | 655 if (int length = rt->textLength()) { |
| 656 if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->char
acterAt(r->m_start))) | 656 if (!r->m_start && needsWordSpacing && isSpaceOrNewline(rt->char
acterAt(r->m_start))) |
| 657 totalLogicalWidth += rt->style(lineInfo.isFirstLine())->font
().fontDescription().wordSpacing(); | 657 totalLogicalWidth += rt->style(lineInfo.isFirstLine())->font
().fontDescription().wordSpacing(); |
| 658 needsWordSpacing = !isSpaceOrNewline(rt->characterAt(r->m_stop -
1)) && r->m_stop == length; | 658 needsWordSpacing = !isSpaceOrNewline(rt->characterAt(r->m_stop -
1)) && r->m_stop == length; |
| 659 } | 659 } |
| 660 | 660 |
| (...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2193 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); | 2193 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); |
| 2194 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; | 2194 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; |
| 2195 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); | 2195 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); |
| 2196 | 2196 |
| 2197 if (!style()->isLeftToRightDirection()) | 2197 if (!style()->isLeftToRightDirection()) |
| 2198 return logicalWidth() - logicalLeft; | 2198 return logicalWidth() - logicalLeft; |
| 2199 return logicalLeft; | 2199 return logicalLeft; |
| 2200 } | 2200 } |
| 2201 | 2201 |
| 2202 } | 2202 } |
| OLD | NEW |