| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 y -= kerning; | 571 y -= kerning; |
| 572 } else { | 572 } else { |
| 573 x -= kerning; | 573 x -= kerning; |
| 574 y -= baselineShift; | 574 y -= baselineShift; |
| 575 } | 575 } |
| 576 | 576 |
| 577 x += m_dx; | 577 x += m_dx; |
| 578 y += m_dy; | 578 y += m_dy; |
| 579 } | 579 } |
| 580 | 580 |
| 581 // Determine wheter we have to start a new fragment. | 581 // Determine whether we have to start a new fragment. |
| 582 bool shouldStartNewFragment = false; | 582 bool shouldStartNewFragment = m_dx || m_dy || m_isVerticalText || m_inPa
thLayout || angle || angle != lastAngle |
| 583 | 583 || orientationAngle || kerning || applySpacingToNextCharacter || def
inesTextLength; |
| 584 if (m_dx || m_dy) | |
| 585 shouldStartNewFragment = true; | |
| 586 | |
| 587 if (!shouldStartNewFragment && (m_isVerticalText || m_inPathLayout)) | |
| 588 shouldStartNewFragment = true; | |
| 589 | |
| 590 if (!shouldStartNewFragment && (angle || angle != lastAngle || orientati
onAngle)) | |
| 591 shouldStartNewFragment = true; | |
| 592 | |
| 593 if (!shouldStartNewFragment && (kerning || applySpacingToNextCharacter |
| definesTextLength)) | |
| 594 shouldStartNewFragment = true; | |
| 595 | 584 |
| 596 // If we already started a fragment, close it now. | 585 // If we already started a fragment, close it now. |
| 597 if (didStartTextFragment && shouldStartNewFragment) { | 586 if (didStartTextFragment && shouldStartNewFragment) { |
| 598 applySpacingToNextCharacter = false; | 587 applySpacingToNextCharacter = false; |
| 599 recordTextFragment(textBox, visualMetricsValues); | 588 recordTextFragment(textBox, visualMetricsValues); |
| 600 } | 589 } |
| 601 | 590 |
| 602 // Eventually start a new fragment, if not yet done. | 591 // Eventually start a new fragment, if not yet done. |
| 603 if (!didStartTextFragment || shouldStartNewFragment) { | 592 if (!didStartTextFragment || shouldStartNewFragment) { |
| 604 ASSERT(!m_currentTextFragment.characterOffset); | 593 ASSERT(!m_currentTextFragment.characterOffset); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 if (!didStartTextFragment) | 645 if (!didStartTextFragment) |
| 657 return; | 646 return; |
| 658 | 647 |
| 659 // Close last open fragment, if needed. | 648 // Close last open fragment, if needed. |
| 660 recordTextFragment(textBox, visualMetricsValues); | 649 recordTextFragment(textBox, visualMetricsValues); |
| 661 } | 650 } |
| 662 | 651 |
| 663 } | 652 } |
| 664 | 653 |
| 665 #endif // ENABLE(SVG) | 654 #endif // ENABLE(SVG) |
| OLD | NEW |