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 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
694 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); } | 694 bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogic alWidthsDirty(); } |
695 | 695 |
696 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); } | 696 bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNe edsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfter StyleChange(); } |
697 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); } | 697 bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.se lfNeedsOverflowRecalcAfterStyleChange(); } |
698 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); } | 698 bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.c hildNeedsOverflowRecalcAfterStyleChange(); } |
699 | 699 |
700 bool isSelectionBorder() const; | 700 bool isSelectionBorder() const; |
701 | 701 |
702 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); } | 702 bool hasClip() const { return isOutOfFlowPositioned() && !style()->hasAutoCl ip(); } |
703 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); } | 703 bool hasOverflowClip() const { return m_bitfields.hasOverflowClip(); } |
704 bool hasClipOrOverflowClip() const { return hasClip() || hasOverflowClip(); } | 704 bool hasOverflowClipPaintContainmentOrClip() const { return hasClip() || has OverflowClip() || style()->containsPaint(); } |
chrishtr
2015/12/09 23:34:58
hasClipRelatedProperty()
| |
705 | 705 |
706 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); } | 706 bool hasTransformRelatedProperty() const { return m_bitfields.hasTransformRe latedProperty(); } |
707 bool hasMask() const { return style() && style()->hasMask(); } | 707 bool hasMask() const { return style() && style()->hasMask(); } |
708 bool hasClipPath() const { return style() && style()->clipPath(); } | 708 bool hasClipPath() const { return style() && style()->clipPath(); } |
709 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; } | 709 bool hasHiddenBackface() const { return style() && style()->backfaceVisibili ty() == BackfaceVisibilityHidden; } |
710 | 710 |
711 bool hasFilter() const { return style() && style()->hasFilter(); } | 711 bool hasFilter() const { return style() && style()->hasFilter(); } |
712 bool hasBackdropFilter() const { return style() && style()->hasBackdropFilte r(); } | 712 bool hasBackdropFilter() const { return style() && style()->hasBackdropFilte r(); } |
713 | 713 |
714 bool hasShapeOutside() const { return style() && style()->shapeOutside(); } | 714 bool hasShapeOutside() const { return style() && style()->shapeOutside(); } |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
918 // LayoutBlocks are the one that handle laying out positioned elements, | 918 // LayoutBlocks are the one that handle laying out positioned elements, |
919 // thus this function is important during layout, to insert the positioned | 919 // thus this function is important during layout, to insert the positioned |
920 // elements into the correct LayoutBlock. | 920 // elements into the correct LayoutBlock. |
921 // | 921 // |
922 // See container() for the function that returns the containing block. | 922 // See container() for the function that returns the containing block. |
923 // See LayoutBlock.h for some extra explanations on containing blocks. | 923 // See LayoutBlock.h for some extra explanations on containing blocks. |
924 LayoutBlock* containingBlock() const; | 924 LayoutBlock* containingBlock() const; |
925 | 925 |
926 bool canContainFixedPositionObjects() const | 926 bool canContainFixedPositionObjects() const |
927 { | 927 { |
928 return isLayoutView() || (hasTransformRelatedProperty() && isLayoutBlock ()) || isSVGForeignObject(); | 928 return isLayoutView() || (hasTransformRelatedProperty() && isLayoutBlock ()) || isSVGForeignObject() || style()->containsPaint(); |
929 } | 929 } |
930 | 930 |
931 // Convert the given local point to absolute coordinates | 931 // Convert the given local point to absolute coordinates |
932 // FIXME: Temporary. If UseTransforms is true, take transforms into account. Eventually localToAbsolute() will always be transform-aware. | 932 // FIXME: Temporary. If UseTransforms is true, take transforms into account. Eventually localToAbsolute() will always be transform-aware. |
933 FloatPoint localToAbsolute(const FloatPoint& localPoint = FloatPoint(), MapC oordinatesFlags = 0) const; | 933 FloatPoint localToAbsolute(const FloatPoint& localPoint = FloatPoint(), MapC oordinatesFlags = 0) const; |
934 FloatPoint absoluteToLocal(const FloatPoint&, MapCoordinatesFlags = 0) const ; | 934 FloatPoint absoluteToLocal(const FloatPoint&, MapCoordinatesFlags = 0) const ; |
935 | 935 |
936 // Convert a local quad to absolute coordinates, taking transforms into acco unt. | 936 // Convert a local quad to absolute coordinates, taking transforms into acco unt. |
937 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod e = 0, bool* wasFixed = nullptr) const | 937 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod e = 0, bool* wasFixed = nullptr) const |
938 { | 938 { |
(...skipping 1098 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2037 void showTree(const blink::LayoutObject*); | 2037 void showTree(const blink::LayoutObject*); |
2038 void showLineTree(const blink::LayoutObject*); | 2038 void showLineTree(const blink::LayoutObject*); |
2039 void showLayoutTree(const blink::LayoutObject* object1); | 2039 void showLayoutTree(const blink::LayoutObject* object1); |
2040 // We don't make object2 an optional parameter so that showLayoutTree | 2040 // We don't make object2 an optional parameter so that showLayoutTree |
2041 // can be called from gdb easily. | 2041 // can be called from gdb easily. |
2042 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); | 2042 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); |
2043 | 2043 |
2044 #endif | 2044 #endif |
2045 | 2045 |
2046 #endif // LayoutObject_h | 2046 #endif // LayoutObject_h |
OLD | NEW |