| 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, 2008, 2009, 2010, 2011 Apple Inc. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. |
| 5 * All rights reserved. | 5 * All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 if (ltrEllipsisWithinBox || rtlEllipsisWithinBox) { | 347 if (ltrEllipsisWithinBox || rtlEllipsisWithinBox) { |
| 348 foundBox = true; | 348 foundBox = true; |
| 349 | 349 |
| 350 // The inline box may have different directionality than it's parent. Since | 350 // The inline box may have different directionality than it's parent. Since |
| 351 // truncation behavior depends both on both the parent and the inline | 351 // truncation behavior depends both on both the parent and the inline |
| 352 // block's directionality, we must keep track of these separately. | 352 // block's directionality, we must keep track of these separately. |
| 353 bool ltr = isLeftToRightDirection(); | 353 bool ltr = isLeftToRightDirection(); |
| 354 if (ltr != flowIsLTR) { | 354 if (ltr != flowIsLTR) { |
| 355 // Width in pixels of the visible portion of the box, excluding the | 355 // Width in pixels of the visible portion of the box, excluding the |
| 356 // ellipsis. | 356 // ellipsis. |
| 357 int visibleBoxWidth = | 357 LayoutUnit visibleBoxWidth = |
| 358 (visibleRightEdge - visibleLeftEdge - ellipsisWidth).toInt(); | 358 visibleRightEdge - visibleLeftEdge - ellipsisWidth; |
| 359 ellipsisX = flowIsLTR ? logicalLeft() + visibleBoxWidth | 359 ellipsisX = flowIsLTR ? logicalLeft() + visibleBoxWidth |
| 360 : logicalRight() - visibleBoxWidth; | 360 : logicalRight() - visibleBoxWidth; |
| 361 } | 361 } |
| 362 | 362 |
| 363 // The box's width includes partial glyphs, so respect that when placing | 363 // The box's width includes partial glyphs, so respect that when placing |
| 364 // the ellipsis. | 364 // the ellipsis. |
| 365 int offset = offsetForPosition(ellipsisX); | 365 int offset = offsetForPosition(ellipsisX); |
| 366 if (offset == 0 && ltr == flowIsLTR) { | 366 if (offset == 0 && ltr == flowIsLTR) { |
| 367 // No characters should be laid out. Set ourselves to full truncation and | 367 // No characters should be laid out. Set ourselves to full truncation and |
| 368 // place the ellipsis at the min of our start and the ellipsis edge. | 368 // place the ellipsis at the min of our start and the ellipsis edge. |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 688 const int layoutObjectCharacterOffset = 75; | 688 const int layoutObjectCharacterOffset = 75; |
| 689 for (; printedCharacters < layoutObjectCharacterOffset; printedCharacters++) | 689 for (; printedCharacters < layoutObjectCharacterOffset; printedCharacters++) |
| 690 fputc(' ', stderr); | 690 fputc(' ', stderr); |
| 691 fprintf(stderr, "(%d,%d) \"%s\"\n", start(), start() + len(), | 691 fprintf(stderr, "(%d,%d) \"%s\"\n", start(), start() + len(), |
| 692 value.utf8().data()); | 692 value.utf8().data()); |
| 693 } | 693 } |
| 694 | 694 |
| 695 #endif | 695 #endif |
| 696 | 696 |
| 697 } // namespace blink | 697 } // namespace blink |
| OLD | NEW |