OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All r
ights 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 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 FloatPoint flipForWritingMode(const FloatPoint&) const; | 294 FloatPoint flipForWritingMode(const FloatPoint&) const; |
295 void flipForWritingMode(LayoutRect&) const; | 295 void flipForWritingMode(LayoutRect&) const; |
296 LayoutPoint flipForWritingMode(const LayoutPoint&) const; | 296 LayoutPoint flipForWritingMode(const LayoutPoint&) const; |
297 | 297 |
298 bool knownToHaveNoOverflow() const { return m_bitfields.knownToHaveNoOverflo
w(); } | 298 bool knownToHaveNoOverflow() const { return m_bitfields.knownToHaveNoOverflo
w(); } |
299 void clearKnownToHaveNoOverflow(); | 299 void clearKnownToHaveNoOverflow(); |
300 | 300 |
301 bool dirOverride() const { return m_bitfields.dirOverride(); } | 301 bool dirOverride() const { return m_bitfields.dirOverride(); } |
302 void setDirOverride(bool dirOverride) { m_bitfields.setDirOverride(dirOverri
de); } | 302 void setDirOverride(bool dirOverride) { m_bitfields.setDirOverride(dirOverri
de); } |
303 | 303 |
304 // Invalidate display item clients in the whole sub inline box tree. | 304 // Set all LineLayoutItems in the inline box subtree should do full paint in
validation. |
305 void invalidateDisplayItemClientsRecursively(); | 305 void setShouldDoFullPaintInvalidationRecursively(); |
306 | 306 |
307 #define ADD_BOOLEAN_BITFIELD(name, Name) \ | 307 #define ADD_BOOLEAN_BITFIELD(name, Name) \ |
308 private:\ | 308 private:\ |
309 unsigned m_##name : 1;\ | 309 unsigned m_##name : 1;\ |
310 public:\ | 310 public:\ |
311 bool name() const { return m_##name; }\ | 311 bool name() const { return m_##name; }\ |
312 void set##Name(bool name) { m_##name = name; }\ | 312 void set##Name(bool name) { m_##name = name; }\ |
313 | 313 |
314 class InlineBoxBitfields { | 314 class InlineBoxBitfields { |
315 DISALLOW_NEW(); | 315 DISALLOW_NEW(); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 signed expansion() const { return m_expansion; } | 388 signed expansion() const { return m_expansion; } |
389 void setExpansion(signed expansion) { m_expansion = expansion; } | 389 void setExpansion(signed expansion) { m_expansion = expansion; } |
390 }; | 390 }; |
391 #undef ADD_BOOLEAN_BITFIELD | 391 #undef ADD_BOOLEAN_BITFIELD |
392 | 392 |
393 private: | 393 private: |
394 // Converts the given (top-left) position from the logical space of the Inli
neBox to the physical space of the | 394 // Converts the given (top-left) position from the logical space of the Inli
neBox to the physical space of the |
395 // containing block. The size indicates the size of the box whose point is b
eing flipped. | 395 // containing block. The size indicates the size of the box whose point is b
eing flipped. |
396 LayoutPoint logicalPositionToPhysicalPoint(const LayoutPoint&, const LayoutS
ize&) const; | 396 LayoutPoint logicalPositionToPhysicalPoint(const LayoutPoint&, const LayoutS
ize&) const; |
397 | 397 |
| 398 void setLineLayoutItemShouldDoFullPaintInvalidationIfNeeded(); |
| 399 |
398 InlineBox* m_next; // The next element on the same line as us. | 400 InlineBox* m_next; // The next element on the same line as us. |
399 InlineBox* m_prev; // The previous element on the same line as us. | 401 InlineBox* m_prev; // The previous element on the same line as us. |
400 | 402 |
401 InlineFlowBox* m_parent; // The box that contains us. | 403 InlineFlowBox* m_parent; // The box that contains us. |
402 LineLayoutItem m_lineLayoutItem; | 404 LineLayoutItem m_lineLayoutItem; |
403 | 405 |
404 protected: | 406 protected: |
405 // For RootInlineBox | 407 // For RootInlineBox |
406 bool endsWithBreak() const { return m_bitfields.endsWithBreak(); } | 408 bool endsWithBreak() const { return m_bitfields.endsWithBreak(); } |
407 void setEndsWithBreak(bool endsWithBreak) { m_bitfields.setEndsWithBreak(end
sWithBreak); } | 409 void setEndsWithBreak(bool endsWithBreak) { m_bitfields.setEndsWithBreak(end
sWithBreak); } |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 | 457 |
456 } // namespace blink | 458 } // namespace blink |
457 | 459 |
458 #ifndef NDEBUG | 460 #ifndef NDEBUG |
459 // Outside the WebCore namespace for ease of invocation from gdb. | 461 // Outside the WebCore namespace for ease of invocation from gdb. |
460 void showTree(const blink::InlineBox*); | 462 void showTree(const blink::InlineBox*); |
461 void showLineTree(const blink::InlineBox*); | 463 void showLineTree(const blink::InlineBox*); |
462 #endif | 464 #endif |
463 | 465 |
464 #endif // InlineBox_h | 466 #endif // InlineBox_h |
OLD | NEW |