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 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 27 matching lines...) Expand all Loading... |
38 class ShapeOutsideInfo; | 38 class ShapeOutsideInfo; |
39 | 39 |
40 struct PaintInfo; | 40 struct PaintInfo; |
41 | 41 |
42 enum SizeType { MainOrPreferredSize, MinSize, MaxSize }; | 42 enum SizeType { MainOrPreferredSize, MinSize, MaxSize }; |
43 enum AvailableLogicalHeightType { ExcludeMarginBorderPadding, IncludeMarginBorde
rPadding }; | 43 enum AvailableLogicalHeightType { ExcludeMarginBorderPadding, IncludeMarginBorde
rPadding }; |
44 // When painting, overlay scrollbars do not take up space and should not affect | 44 // When painting, overlay scrollbars do not take up space and should not affect |
45 // clipping behavior. During hit testing, overlay scrollbars behave like regular | 45 // clipping behavior. During hit testing, overlay scrollbars behave like regular |
46 // scrollbars and should change how hit testing is clipped. | 46 // scrollbars and should change how hit testing is clipped. |
47 enum MarginDirection { BlockDirection, InlineDirection }; | 47 enum MarginDirection { BlockDirection, InlineDirection }; |
| 48 enum BackgroundRectType { BackgroundClipRect, BackgroundKnownOpaqueRect }; |
48 | 49 |
49 enum ShouldComputePreferred { ComputeActual, ComputePreferred }; | 50 enum ShouldComputePreferred { ComputeActual, ComputePreferred }; |
50 | 51 |
51 enum ApplyOverflowClipFlag { | 52 enum ApplyOverflowClipFlag { |
52 ApplyOverflowClip, | 53 ApplyOverflowClip, |
53 // Don't apply overflow clipping or scrolling. | 54 // Don't apply overflow clipping or scrolling. |
54 ApplyNonScrollOverflowClip | 55 ApplyNonScrollOverflowClip |
55 }; | 56 }; |
56 | 57 |
57 using SnapAreaSet = HashSet<const LayoutBox*>; | 58 using SnapAreaSet = HashSet<const LayoutBox*>; |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 | 342 |
342 // The content area of the box (excludes padding - and intrinsic padding for
table cells, etc... - and border). | 343 // The content area of the box (excludes padding - and intrinsic padding for
table cells, etc... - and border). |
343 LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + padding
Left(), borderTop() + paddingTop(), contentWidth(), contentHeight()); } | 344 LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + padding
Left(), borderTop() + paddingTop(), contentWidth(), contentHeight()); } |
344 LayoutSize contentBoxOffset() const { return LayoutSize(borderLeft() + paddi
ngLeft(), borderTop() + paddingTop()); } | 345 LayoutSize contentBoxOffset() const { return LayoutSize(borderLeft() + paddi
ngLeft(), borderTop() + paddingTop()); } |
345 // The content box in absolute coords. Ignores transforms. | 346 // The content box in absolute coords. Ignores transforms. |
346 IntRect absoluteContentBox() const; | 347 IntRect absoluteContentBox() const; |
347 // The offset of the content box in absolute coords, ignoring transforms. | 348 // The offset of the content box in absolute coords, ignoring transforms. |
348 IntSize absoluteContentBoxOffset() const; | 349 IntSize absoluteContentBoxOffset() const; |
349 // The content box converted to absolute coords (taking transforms into acco
unt). | 350 // The content box converted to absolute coords (taking transforms into acco
unt). |
350 FloatQuad absoluteContentQuad() const; | 351 FloatQuad absoluteContentQuad() const; |
351 // The clip rect of the background. | 352 // The enclosing rectangle of the background with given opacity requirement. |
352 LayoutRect backgroundClipRect() const; | 353 LayoutRect backgroundRect(BackgroundRectType) const; |
353 | 354 |
354 // This returns the content area of the box (excluding padding and border).
The only difference with contentBoxRect is that computedCSSContentBoxRect | 355 // This returns the content area of the box (excluding padding and border).
The only difference with contentBoxRect is that computedCSSContentBoxRect |
355 // does include the intrinsic padding in the content box as this is what som
e callers expect (like getComputedStyle). | 356 // does include the intrinsic padding in the content box as this is what som
e callers expect (like getComputedStyle). |
356 LayoutRect computedCSSContentBoxRect() const { return LayoutRect(borderLeft(
) + computedCSSPaddingLeft(), borderTop() + computedCSSPaddingTop(), clientWidth
() - computedCSSPaddingLeft() - computedCSSPaddingRight(), clientHeight() - comp
utedCSSPaddingTop() - computedCSSPaddingBottom()); } | 357 LayoutRect computedCSSContentBoxRect() const { return LayoutRect(borderLeft(
) + computedCSSPaddingLeft(), borderTop() + computedCSSPaddingTop(), clientWidth
() - computedCSSPaddingLeft() - computedCSSPaddingRight(), clientHeight() - comp
utedCSSPaddingTop() - computedCSSPaddingBottom()); } |
357 | 358 |
358 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t, IncludeBlockVisualOverflowOrNot) const override; | 359 void addOutlineRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffse
t, IncludeBlockVisualOverflowOrNot) const override; |
359 | 360 |
360 // Use this with caution! No type checking is done! | 361 // Use this with caution! No type checking is done! |
361 LayoutBox* previousSiblingBox() const; | 362 LayoutBox* previousSiblingBox() const; |
362 LayoutBox* previousInFlowSiblingBox() const; | 363 LayoutBox* previousInFlowSiblingBox() const; |
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1214 || breakValue == BreakLeft | 1215 || breakValue == BreakLeft |
1215 || breakValue == BreakPage | 1216 || breakValue == BreakPage |
1216 || breakValue == BreakRecto | 1217 || breakValue == BreakRecto |
1217 || breakValue == BreakRight | 1218 || breakValue == BreakRight |
1218 || breakValue == BreakVerso; | 1219 || breakValue == BreakVerso; |
1219 } | 1220 } |
1220 | 1221 |
1221 } // namespace blink | 1222 } // namespace blink |
1222 | 1223 |
1223 #endif // LayoutBox_h | 1224 #endif // LayoutBox_h |
OLD | NEW |