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 * Copyright (C) 2013 Adobe Systems Incorporated. | 5 * Copyright (C) 2013 Adobe Systems Incorporated. |
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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 } | 365 } |
366 | 366 |
367 inline void BreakingContext::handleFloat() | 367 inline void BreakingContext::handleFloat() |
368 { | 368 { |
369 LayoutBox* floatBox = toLayoutBox(m_current.object()); | 369 LayoutBox* floatBox = toLayoutBox(m_current.object()); |
370 FloatingObject* floatingObject = m_block->insertFloatingObject(*floatBox); | 370 FloatingObject* floatingObject = m_block->insertFloatingObject(*floatBox); |
371 // check if it fits in the current line. | 371 // check if it fits in the current line. |
372 // If it does, position it now, otherwise, position | 372 // If it does, position it now, otherwise, position |
373 // it after moving to next line (in newLine() func) | 373 // it after moving to next line (in newLine() func) |
374 // FIXME: Bug 110372: Properly position multiple stacked floats with non-rec
tangular shape outside. | 374 // FIXME: Bug 110372: Properly position multiple stacked floats with non-rec
tangular shape outside. |
375 if (m_floatsFitOnLine && m_width.fitsOnLine(m_block->logicalWidthForFloat(fl
oatingObject).toFloat(), ExcludeWhitespace)) { | 375 if (m_floatsFitOnLine && m_width.fitsOnLine(m_block->logicalWidthForFloat(*f
loatingObject).toFloat(), ExcludeWhitespace)) { |
376 m_block->positionNewFloatOnLine(floatingObject, m_lastFloatFromPreviousL
ine, m_lineInfo, m_width); | 376 m_block->positionNewFloatOnLine(*floatingObject, m_lastFloatFromPrevious
Line, m_lineInfo, m_width); |
377 if (m_lineBreak.object() == m_current.object()) { | 377 if (m_lineBreak.object() == m_current.object()) { |
378 ASSERT(!m_lineBreak.offset()); | 378 ASSERT(!m_lineBreak.offset()); |
379 m_lineBreak.increment(); | 379 m_lineBreak.increment(); |
380 } | 380 } |
381 } else { | 381 } else { |
382 m_floatsFitOnLine = false; | 382 m_floatsFitOnLine = false; |
383 } | 383 } |
384 // Update prior line break context characters, using U+FFFD (OBJECT REPLACEM
ENT CHARACTER) for floating element. | 384 // Update prior line break context characters, using U+FFFD (OBJECT REPLACEM
ENT CHARACTER) for floating element. |
385 m_layoutTextInfo.m_lineBreakIterator.updatePriorContext(replacementCharacter
); | 385 m_layoutTextInfo.m_lineBreakIterator.updatePriorContext(replacementCharacter
); |
386 } | 386 } |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 | 899 |
900 if (style.textIndentType() == TextIndentHanging) | 900 if (style.textIndentType() == TextIndentHanging) |
901 shouldIndentText = shouldIndentText == IndentText ? DoNotIndentText : In
dentText; | 901 shouldIndentText = shouldIndentText == IndentText ? DoNotIndentText : In
dentText; |
902 | 902 |
903 return shouldIndentText; | 903 return shouldIndentText; |
904 } | 904 } |
905 | 905 |
906 } | 906 } |
907 | 907 |
908 #endif // BreakingContextInlineHeaders_h | 908 #endif // BreakingContextInlineHeaders_h |
OLD | NEW |