OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 } | 492 } |
493 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() &&
isAnonymousBlock(); } | 493 bool isAnonymousColumnsBlock() const { return style()->specifiesColumns() &&
isAnonymousBlock(); } |
494 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is
AnonymousBlock(); } | 494 bool isAnonymousColumnSpanBlock() const { return style()->columnSpan() && is
AnonymousBlock(); } |
495 bool isElementContinuation() const { return node() && node()->renderer() !=
this; } | 495 bool isElementContinuation() const { return node() && node()->renderer() !=
this; } |
496 bool isInlineElementContinuation() const { return isElementContinuation() &&
isInline(); } | 496 bool isInlineElementContinuation() const { return isElementContinuation() &&
isInline(); } |
497 virtual RenderBoxModelObject* virtualContinuation() const { return 0; } | 497 virtual RenderBoxModelObject* virtualContinuation() const { return 0; } |
498 | 498 |
499 bool isFloating() const { return m_bitfields.floating(); } | 499 bool isFloating() const { return m_bitfields.floating(); } |
500 | 500 |
501 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione
d(); } // absolute or fixed positioning | 501 bool isOutOfFlowPositioned() const { return m_bitfields.isOutOfFlowPositione
d(); } // absolute or fixed positioning |
502 bool isInFlowPositioned() const { return m_bitfields.isRelPositioned() || m_
bitfields.isStickyPositioned(); } // relative or sticky positioning | |
503 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re
lative positioning | 502 bool isRelPositioned() const { return m_bitfields.isRelPositioned(); } // re
lative positioning |
504 bool isStickyPositioned() const { return m_bitfields.isStickyPositioned(); } | |
505 bool isPositioned() const { return m_bitfields.isPositioned(); } | 503 bool isPositioned() const { return m_bitfields.isPositioned(); } |
506 | 504 |
507 bool isText() const { return m_bitfields.isText(); } | 505 bool isText() const { return m_bitfields.isText(); } |
508 bool isBox() const { return m_bitfields.isBox(); } | 506 bool isBox() const { return m_bitfields.isBox(); } |
509 bool isInline() const { return m_bitfields.isInline(); } // inline object | 507 bool isInline() const { return m_bitfields.isInline(); } // inline object |
510 bool isDragging() const { return m_bitfields.isDragging(); } | 508 bool isDragging() const { return m_bitfields.isDragging(); } |
511 bool isReplaced() const { return m_bitfields.isReplaced(); } // a "replaced"
element (see CSS) | 509 bool isReplaced() const { return m_bitfields.isReplaced(); } // a "replaced"
element (see CSS) |
512 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM
ode(); } | 510 bool isHorizontalWritingMode() const { return m_bitfields.horizontalWritingM
ode(); } |
513 | 511 |
514 bool hasLayer() const { return m_bitfields.hasLayer(); } | 512 bool hasLayer() const { return m_bitfields.hasLayer(); } |
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1121 unsigned m_##name : 1;\ | 1119 unsigned m_##name : 1;\ |
1122 public:\ | 1120 public:\ |
1123 bool name() const { return m_##name; }\ | 1121 bool name() const { return m_##name; }\ |
1124 void set##Name(bool name) { m_##name = name; }\ | 1122 void set##Name(bool name) { m_##name = name; }\ |
1125 | 1123 |
1126 class RenderObjectBitfields { | 1124 class RenderObjectBitfields { |
1127 enum PositionedState { | 1125 enum PositionedState { |
1128 IsStaticallyPositioned = 0, | 1126 IsStaticallyPositioned = 0, |
1129 IsRelativelyPositioned = 1, | 1127 IsRelativelyPositioned = 1, |
1130 IsOutOfFlowPositioned = 2, | 1128 IsOutOfFlowPositioned = 2, |
1131 IsStickyPositioned = 3 | |
1132 }; | 1129 }; |
1133 | 1130 |
1134 public: | 1131 public: |
1135 RenderObjectBitfields(Node* node) | 1132 RenderObjectBitfields(Node* node) |
1136 : m_selfNeedsLayout(false) | 1133 : m_selfNeedsLayout(false) |
1137 // FIXME: shouldDoFullPaintInvalidationAfterLayout is needed because
we reset | 1134 // FIXME: shouldDoFullPaintInvalidationAfterLayout is needed because
we reset |
1138 // the layout bits beforeissing paint invalidations when doing inval
idateTreeAfterLayout. | 1135 // the layout bits beforeissing paint invalidations when doing inval
idateTreeAfterLayout. |
1139 // Holding the layout bits until after paint invalidation would remo
ve the need | 1136 // Holding the layout bits until after paint invalidation would remo
ve the need |
1140 // for this flag. | 1137 // for this flag. |
1141 , m_shouldDoFullPaintInvalidationAfterLayout(false) | 1138 , m_shouldDoFullPaintInvalidationAfterLayout(false) |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1222 unsigned m_selectionState : 3; // SelectionState | 1219 unsigned m_selectionState : 3; // SelectionState |
1223 unsigned m_flowThreadState : 2; // FlowThreadState | 1220 unsigned m_flowThreadState : 2; // FlowThreadState |
1224 unsigned m_boxDecorationState : 2; // BoxDecorationState | 1221 unsigned m_boxDecorationState : 2; // BoxDecorationState |
1225 | 1222 |
1226 public: | 1223 public: |
1227 | 1224 |
1228 ADD_BOOLEAN_BITFIELD(hasPendingResourceUpdate, HasPendingResourceUpdate)
; | 1225 ADD_BOOLEAN_BITFIELD(hasPendingResourceUpdate, HasPendingResourceUpdate)
; |
1229 | 1226 |
1230 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf
FlowPositioned; } | 1227 bool isOutOfFlowPositioned() const { return m_positionedState == IsOutOf
FlowPositioned; } |
1231 bool isRelPositioned() const { return m_positionedState == IsRelativelyP
ositioned; } | 1228 bool isRelPositioned() const { return m_positionedState == IsRelativelyP
ositioned; } |
1232 bool isStickyPositioned() const { return m_positionedState == IsStickyPo
sitioned; } | |
1233 bool isPositioned() const { return m_positionedState != IsStaticallyPosi
tioned; } | 1229 bool isPositioned() const { return m_positionedState != IsStaticallyPosi
tioned; } |
1234 | 1230 |
1235 void setPositionedState(int positionState) | 1231 void setPositionedState(int positionState) |
1236 { | 1232 { |
1237 // This mask maps FixedPosition and AbsolutePosition to IsOutOfFlowP
ositioned, saving one bit. | 1233 // This mask maps FixedPosition and AbsolutePosition to IsOutOfFlowP
ositioned, saving one bit. |
1238 m_positionedState = static_cast<PositionedState>(positionState & 0x3
); | 1234 m_positionedState = static_cast<PositionedState>(positionState & 0x3
); |
1239 } | 1235 } |
1240 void clearPositionedState() { m_positionedState = StaticPosition; } | 1236 void clearPositionedState() { m_positionedState = StaticPosition; } |
1241 | 1237 |
1242 ALWAYS_INLINE SelectionState selectionState() const { return static_cast
<SelectionState>(m_selectionState); } | 1238 ALWAYS_INLINE SelectionState selectionState() const { return static_cast
<SelectionState>(m_selectionState); } |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1478 void showTree(const WebCore::RenderObject*); | 1474 void showTree(const WebCore::RenderObject*); |
1479 void showLineTree(const WebCore::RenderObject*); | 1475 void showLineTree(const WebCore::RenderObject*); |
1480 void showRenderTree(const WebCore::RenderObject* object1); | 1476 void showRenderTree(const WebCore::RenderObject* object1); |
1481 // We don't make object2 an optional parameter so that showRenderTree | 1477 // We don't make object2 an optional parameter so that showRenderTree |
1482 // can be called from gdb easily. | 1478 // can be called from gdb easily. |
1483 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); | 1479 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); |
1484 | 1480 |
1485 #endif | 1481 #endif |
1486 | 1482 |
1487 #endif // RenderObject_h | 1483 #endif // RenderObject_h |
OLD | NEW |