| 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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 BackgroundBleedClipLayer, | 55 BackgroundBleedClipLayer, |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 enum ContentChangeType { | 58 enum ContentChangeType { |
| 59 ImageChanged, | 59 ImageChanged, |
| 60 CanvasChanged, | 60 CanvasChanged, |
| 61 CanvasContextChanged | 61 CanvasContextChanged |
| 62 }; | 62 }; |
| 63 | 63 |
| 64 class InlineFlowBox; | 64 class InlineFlowBox; |
| 65 class StickyPositionViewportConstraints; |
| 65 | 66 |
| 66 // This class is the base class for all CSS objects. | 67 // This class is the base class for all CSS objects. |
| 67 // | 68 // |
| 68 // All CSS objects follow the box model object. See THE BOX MODEL section in | 69 // All CSS objects follow the box model object. See THE BOX MODEL section in |
| 69 // LayoutBox for more information. | 70 // LayoutBox for more information. |
| 70 // | 71 // |
| 71 // This class actually doesn't have the box model but it exposes some common | 72 // This class actually doesn't have the box model but it exposes some common |
| 72 // functions or concepts that sub-classes can extend upon. For example, there | 73 // functions or concepts that sub-classes can extend upon. For example, there |
| 73 // are accessors for margins, borders, paddings and borderBoundingBox(). | 74 // are accessors for margins, borders, paddings and borderBoundingBox(). |
| 74 // | 75 // |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 public: | 134 public: |
| 134 LayoutBoxModelObject(ContainerNode*); | 135 LayoutBoxModelObject(ContainerNode*); |
| 135 ~LayoutBoxModelObject() override; | 136 ~LayoutBoxModelObject() override; |
| 136 | 137 |
| 137 // This is the only way layers should ever be destroyed. | 138 // This is the only way layers should ever be destroyed. |
| 138 void destroyLayer(); | 139 void destroyLayer(); |
| 139 | 140 |
| 140 LayoutSize relativePositionOffset() const; | 141 LayoutSize relativePositionOffset() const; |
| 141 LayoutSize relativePositionLogicalOffset() const { return style()->isHorizon
talWritingMode() ? relativePositionOffset() : relativePositionOffset().transpose
dSize(); } | 142 LayoutSize relativePositionLogicalOffset() const { return style()->isHorizon
talWritingMode() ? relativePositionOffset() : relativePositionOffset().transpose
dSize(); } |
| 142 | 143 |
| 144 // Populates StickyPositionConstraints, setting the sticky box rect, contain
ing block rect and updating |
| 145 // the constraint offsets according to the available space. |
| 146 void computeStickyPositionConstraints(StickyPositionViewportConstraints&, co
nst LayoutRect& constrainingRect) const; |
| 147 LayoutRect computeStickyConstrainingRect() const; |
| 148 LayoutSize stickyPositionOffset() const; |
| 149 |
| 143 LayoutSize offsetForInFlowPosition() const; | 150 LayoutSize offsetForInFlowPosition() const; |
| 144 | 151 |
| 145 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (LayoutFlow) | 152 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (LayoutFlow) |
| 146 // to return the remaining width on a given line (and the height of a single
line). | 153 // to return the remaining width on a given line (and the height of a single
line). |
| 147 virtual LayoutUnit offsetLeft() const; | 154 virtual LayoutUnit offsetLeft() const; |
| 148 virtual LayoutUnit offsetTop() const; | 155 virtual LayoutUnit offsetTop() const; |
| 149 virtual LayoutUnit offsetWidth() const = 0; | 156 virtual LayoutUnit offsetWidth() const = 0; |
| 150 virtual LayoutUnit offsetHeight() const = 0; | 157 virtual LayoutUnit offsetHeight() const = 0; |
| 151 | 158 |
| 152 int pixelSnappedOffsetLeft() const { return roundToInt(offsetLeft()); } | 159 int pixelSnappedOffsetLeft() const { return roundToInt(offsetLeft()); } |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 // The PaintLayer associated with this object. | 372 // The PaintLayer associated with this object. |
| 366 // |m_layer| can be nullptr depending on the return value of layerTypeRequir
ed(). | 373 // |m_layer| can be nullptr depending on the return value of layerTypeRequir
ed(). |
| 367 OwnPtr<PaintLayer> m_layer; | 374 OwnPtr<PaintLayer> m_layer; |
| 368 }; | 375 }; |
| 369 | 376 |
| 370 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); | 377 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); |
| 371 | 378 |
| 372 } // namespace blink | 379 } // namespace blink |
| 373 | 380 |
| 374 #endif // LayoutBoxModelObject_h | 381 #endif // LayoutBoxModelObject_h |
| OLD | NEW |