OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. |
5 * Copyright (C) 2010 Google Inc. All rights reserved. | 5 * Copyright (C) 2010 Google Inc. All rights reserved. |
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 29 matching lines...) Expand all Loading... |
40 | 40 |
41 enum PaintLayerType { | 41 enum PaintLayerType { |
42 NoPaintLayer, | 42 NoPaintLayer, |
43 NormalPaintLayer, | 43 NormalPaintLayer, |
44 // A forced or overflow clip layer is required for bookkeeping purposes, | 44 // A forced or overflow clip layer is required for bookkeeping purposes, |
45 // but does not force a layer to be self painting. | 45 // but does not force a layer to be self painting. |
46 OverflowClipPaintLayer, | 46 OverflowClipPaintLayer, |
47 ForcedPaintLayer | 47 ForcedPaintLayer |
48 }; | 48 }; |
49 | 49 |
| 50 enum : uint32_t { |
| 51 BackgroundPaintInGraphicsLayer = 1 << 0, |
| 52 BackgroundPaintInScrollingContents = 1 << 1 |
| 53 }; |
| 54 using BackgroundPaintLocation = uint32_t; |
| 55 |
50 // Modes for some of the line-related functions. | 56 // Modes for some of the line-related functions. |
51 enum LinePositionMode { PositionOnContainingLine, PositionOfInteriorLineBoxes }; | 57 enum LinePositionMode { PositionOnContainingLine, PositionOfInteriorLineBoxes }; |
52 enum LineDirectionMode { HorizontalLine, VerticalLine }; | 58 enum LineDirectionMode { HorizontalLine, VerticalLine }; |
53 | 59 |
54 class InlineFlowBox; | 60 class InlineFlowBox; |
55 | 61 |
56 struct LayoutBoxModelObjectRareData { | 62 struct LayoutBoxModelObjectRareData { |
57 WTF_MAKE_NONCOPYABLE(LayoutBoxModelObjectRareData); | 63 WTF_MAKE_NONCOPYABLE(LayoutBoxModelObjectRareData); |
58 USING_FAST_MALLOC(LayoutBoxModelObjectRareData); | 64 USING_FAST_MALLOC(LayoutBoxModelObjectRareData); |
59 | 65 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 // border boxes. | 190 // border boxes. |
185 virtual IntRect borderBoundingBox() const = 0; | 191 virtual IntRect borderBoundingBox() const = 0; |
186 | 192 |
187 virtual LayoutRect visualOverflowRect() const = 0; | 193 virtual LayoutRect visualOverflowRect() const = 0; |
188 | 194 |
189 // Checks if this box, or any of it's descendants, or any of it's | 195 // Checks if this box, or any of it's descendants, or any of it's |
190 // continuations, will take up space in the layout of the page. | 196 // continuations, will take up space in the layout of the page. |
191 bool hasNonEmptyLayoutSize() const; | 197 bool hasNonEmptyLayoutSize() const; |
192 bool usesCompositedScrolling() const; | 198 bool usesCompositedScrolling() const; |
193 | 199 |
194 // Checks if all of the background's layers can be painted as locally | 200 // Returns which layers backgrounds should be painted into for overflow |
195 // attached. | 201 // scrolling boxes. |
196 bool hasLocalEquivalentBackground() const; | 202 BackgroundPaintLocation backgroundPaintLocation() const; |
197 | 203 |
198 // These return the CSS computed padding values. | 204 // These return the CSS computed padding values. |
199 LayoutUnit computedCSSPaddingTop() const { | 205 LayoutUnit computedCSSPaddingTop() const { |
200 return computedCSSPadding(style()->paddingTop()); | 206 return computedCSSPadding(style()->paddingTop()); |
201 } | 207 } |
202 LayoutUnit computedCSSPaddingBottom() const { | 208 LayoutUnit computedCSSPaddingBottom() const { |
203 return computedCSSPadding(style()->paddingBottom()); | 209 return computedCSSPadding(style()->paddingBottom()); |
204 } | 210 } |
205 LayoutUnit computedCSSPaddingLeft() const { | 211 LayoutUnit computedCSSPaddingLeft() const { |
206 return computedCSSPadding(style()->paddingLeft()); | 212 return computedCSSPadding(style()->paddingLeft()); |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 std::unique_ptr<PaintLayer> m_layer; | 526 std::unique_ptr<PaintLayer> m_layer; |
521 | 527 |
522 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData; | 528 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData; |
523 }; | 529 }; |
524 | 530 |
525 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); | 531 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); |
526 | 532 |
527 } // namespace blink | 533 } // namespace blink |
528 | 534 |
529 #endif // LayoutBoxModelObject_h | 535 #endif // LayoutBoxModelObject_h |
OLD | NEW |