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