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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
74 int pixelSnappedOffsetTop() const { return roundToInt(offsetTop()); } | 74 int pixelSnappedOffsetTop() const { return roundToInt(offsetTop()); } |
75 virtual int pixelSnappedOffsetWidth() const; | 75 virtual int pixelSnappedOffsetWidth() const; |
76 virtual int pixelSnappedOffsetHeight() const; | 76 virtual int pixelSnappedOffsetHeight() const; |
77 | 77 |
78 virtual void updateFromStyle() OVERRIDE; | 78 virtual void updateFromStyle() OVERRIDE; |
79 | 79 |
80 // This will work on inlines to return the bounding box of all of the lines' border boxes. | 80 // This will work on inlines to return the bounding box of all of the lines' border boxes. |
81 virtual IntRect borderBoundingBox() const = 0; | 81 virtual IntRect borderBoundingBox() const = 0; |
82 | 82 |
83 // These return the CSS computed padding values. | 83 // These return the CSS computed padding values. |
84 LayoutUnit computedCSSPaddingTop() const { return computedCSSPadding(style() ->paddingTop()); } | 84 LayoutUnit computedCSSPaddingTop() const { return computedCSSPadding(style() ->paddingTop(), true); } |
tony
2014/07/10 17:10:06
This should be an enum, not a bool.
harpreet.sk
2014/07/14 08:38:07
Done.
| |
85 LayoutUnit computedCSSPaddingBottom() const { return computedCSSPadding(styl e()->paddingBottom()); } | 85 LayoutUnit computedCSSPaddingBottom() const { return computedCSSPadding(styl e()->paddingBottom(), true); } |
86 LayoutUnit computedCSSPaddingLeft() const { return computedCSSPadding(style( )->paddingLeft()); } | 86 LayoutUnit computedCSSPaddingLeft() const { return computedCSSPadding(style( )->paddingLeft()); } |
87 LayoutUnit computedCSSPaddingRight() const { return computedCSSPadding(style ()->paddingRight()); } | 87 LayoutUnit computedCSSPaddingRight() const { return computedCSSPadding(style ()->paddingRight()); } |
88 LayoutUnit computedCSSPaddingBefore() const { return computedCSSPadding(styl e()->paddingBefore()); } | 88 LayoutUnit computedCSSPaddingBefore() const { return computedCSSPadding(styl e()->paddingBefore(), true); } |
89 LayoutUnit computedCSSPaddingAfter() const { return computedCSSPadding(style ()->paddingAfter()); } | 89 LayoutUnit computedCSSPaddingAfter() const { return computedCSSPadding(style ()->paddingAfter(), true); } |
90 LayoutUnit computedCSSPaddingStart() const { return computedCSSPadding(style ()->paddingStart()); } | 90 LayoutUnit computedCSSPaddingStart() const { return computedCSSPadding(style ()->paddingStart()); } |
91 LayoutUnit computedCSSPaddingEnd() const { return computedCSSPadding(style() ->paddingEnd()); } | 91 LayoutUnit computedCSSPaddingEnd() const { return computedCSSPadding(style() ->paddingEnd()); } |
92 | 92 |
93 // These functions are used during layout. Table cells | 93 // These functions are used during layout. Table cells |
94 // override them to include some extra intrinsic padding. | 94 // override them to include some extra intrinsic padding. |
95 virtual LayoutUnit paddingTop() const { return computedCSSPaddingTop(); } | 95 virtual LayoutUnit paddingTop() const { return computedCSSPaddingTop(); } |
96 virtual LayoutUnit paddingBottom() const { return computedCSSPaddingBottom() ; } | 96 virtual LayoutUnit paddingBottom() const { return computedCSSPaddingBottom() ; } |
97 virtual LayoutUnit paddingLeft() const { return computedCSSPaddingLeft(); } | 97 virtual LayoutUnit paddingLeft() const { return computedCSSPaddingLeft(); } |
98 virtual LayoutUnit paddingRight() const { return computedCSSPaddingRight(); } | 98 virtual LayoutUnit paddingRight() const { return computedCSSPaddingRight(); } |
99 virtual LayoutUnit paddingBefore() const { return computedCSSPaddingBefore() ; } | 99 virtual LayoutUnit paddingBefore() const { return computedCSSPaddingBefore() ; } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
144 virtual LayoutUnit marginEnd(const RenderStyle* otherStyle = 0) const = 0; | 144 virtual LayoutUnit marginEnd(const RenderStyle* otherStyle = 0) const = 0; |
145 LayoutUnit marginHeight() const { return marginTop() + marginBottom(); } | 145 LayoutUnit marginHeight() const { return marginTop() + marginBottom(); } |
146 LayoutUnit marginWidth() const { return marginLeft() + marginRight(); } | 146 LayoutUnit marginWidth() const { return marginLeft() + marginRight(); } |
147 LayoutUnit marginLogicalHeight() const { return marginBefore() + marginAfter (); } | 147 LayoutUnit marginLogicalHeight() const { return marginBefore() + marginAfter (); } |
148 LayoutUnit marginLogicalWidth() const { return marginStart() + marginEnd(); } | 148 LayoutUnit marginLogicalWidth() const { return marginStart() + marginEnd(); } |
149 | 149 |
150 bool hasInlineDirectionBordersPaddingOrMargin() const { return hasInlineDire ctionBordersOrPadding() || marginStart()|| marginEnd(); } | 150 bool hasInlineDirectionBordersPaddingOrMargin() const { return hasInlineDire ctionBordersOrPadding() || marginStart()|| marginEnd(); } |
151 bool hasInlineDirectionBordersOrPadding() const { return borderStart() || bo rderEnd() || paddingStart()|| paddingEnd(); } | 151 bool hasInlineDirectionBordersOrPadding() const { return borderStart() || bo rderEnd() || paddingStart()|| paddingEnd(); } |
152 | 152 |
153 virtual LayoutUnit containingBlockLogicalWidthForContent() const; | 153 virtual LayoutUnit containingBlockLogicalWidthForContent() const; |
154 virtual LayoutUnit containingBlockLogicalHeightForContent() const; | |
154 | 155 |
155 virtual void childBecameNonInline(RenderObject* /*child*/) { } | 156 virtual void childBecameNonInline(RenderObject* /*child*/) { } |
156 | 157 |
157 void paintBorder(const PaintInfo&, const LayoutRect&, const RenderStyle*, Ba ckgroundBleedAvoidance = BackgroundBleedNone, bool includeLogicalLeftEdge = true , bool includeLogicalRightEdge = true); | 158 void paintBorder(const PaintInfo&, const LayoutRect&, const RenderStyle*, Ba ckgroundBleedAvoidance = BackgroundBleedNone, bool includeLogicalLeftEdge = true , bool includeLogicalRightEdge = true); |
158 bool paintNinePieceImage(GraphicsContext*, const LayoutRect&, const RenderSt yle*, const NinePieceImage&, CompositeOperator = CompositeSourceOver); | 159 bool paintNinePieceImage(GraphicsContext*, const LayoutRect&, const RenderSt yle*, const NinePieceImage&, CompositeOperator = CompositeSourceOver); |
159 void paintBoxShadow(const PaintInfo&, const LayoutRect&, const RenderStyle*, ShadowStyle, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true); | 160 void paintBoxShadow(const PaintInfo&, const LayoutRect&, const RenderStyle*, ShadowStyle, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true); |
160 void paintFillLayerExtended(const PaintInfo&, const Color&, const FillLayer* , const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox* = 0, const LayoutS ize& = LayoutSize(), CompositeOperator = CompositeSourceOver, RenderObject* back groundObject = 0); | 161 void paintFillLayerExtended(const PaintInfo&, const Color&, const FillLayer* , const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox* = 0, const LayoutS ize& = LayoutSize(), CompositeOperator = CompositeSourceOver, RenderObject* back groundObject = 0); |
161 | 162 |
162 virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox* = 0) const; | 163 virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox* = 0) const; |
163 | 164 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
290 void moveChildrenTo(RenderBoxModelObject* toBoxModelObject, RenderObject* st artChild, RenderObject* endChild, bool fullRemoveInsert = false) | 291 void moveChildrenTo(RenderBoxModelObject* toBoxModelObject, RenderObject* st artChild, RenderObject* endChild, bool fullRemoveInsert = false) |
291 { | 292 { |
292 moveChildrenTo(toBoxModelObject, startChild, endChild, 0, fullRemoveInse rt); | 293 moveChildrenTo(toBoxModelObject, startChild, endChild, 0, fullRemoveInse rt); |
293 } | 294 } |
294 void moveChildrenTo(RenderBoxModelObject* toBoxModelObject, RenderObject* st artChild, RenderObject* endChild, RenderObject* beforeChild, bool fullRemoveInse rt = false); | 295 void moveChildrenTo(RenderBoxModelObject* toBoxModelObject, RenderObject* st artChild, RenderObject* endChild, RenderObject* beforeChild, bool fullRemoveInse rt = false); |
295 | 296 |
296 enum ScaleByEffectiveZoomOrNot { ScaleByEffectiveZoom, DoNotScaleByEffective Zoom }; | 297 enum ScaleByEffectiveZoomOrNot { ScaleByEffectiveZoom, DoNotScaleByEffective Zoom }; |
297 IntSize calculateImageIntrinsicDimensions(StyleImage*, const IntSize& scaled PositioningAreaSize, ScaleByEffectiveZoomOrNot) const; | 298 IntSize calculateImageIntrinsicDimensions(StyleImage*, const IntSize& scaled PositioningAreaSize, ScaleByEffectiveZoomOrNot) const; |
298 | 299 |
299 private: | 300 private: |
300 LayoutUnit computedCSSPadding(const Length&) const; | 301 LayoutUnit computedCSSPadding(const Length&, bool isTopOrBottomOrAfterOrBefo rePadding = false) const; |
301 virtual bool isBoxModelObject() const OVERRIDE FINAL { return true; } | 302 virtual bool isBoxModelObject() const OVERRIDE FINAL { return true; } |
302 | 303 |
303 IntSize calculateFillTileSize(const FillLayer*, const IntSize& scaledPositio ningAreaSize) const; | 304 IntSize calculateFillTileSize(const FillLayer*, const IntSize& scaledPositio ningAreaSize) const; |
304 | 305 |
305 RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, Layo utUnit inlineBoxWidth, LayoutUnit inlineBoxHeight, | 306 RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, Layo utUnit inlineBoxWidth, LayoutUnit inlineBoxHeight, |
306 bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const; | 307 bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const; |
307 | 308 |
308 bool fixedBackgroundPaintsInLocalCoordinates() const; | 309 bool fixedBackgroundPaintsInLocalCoordinates() const; |
309 | 310 |
310 void clipBorderSidePolygon(GraphicsContext*, const RoundedRect& outerBorder, const RoundedRect& innerBorder, | 311 void clipBorderSidePolygon(GraphicsContext*, const RoundedRect& outerBorder, const RoundedRect& innerBorder, |
(...skipping 10 matching lines...) Expand all Loading... | |
321 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c onst class BorderEdge[], | 322 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c onst class BorderEdge[], |
322 float thickness, float drawThickness, BoxSide, const RenderStyle*, | 323 float thickness, float drawThickness, BoxSide, const RenderStyle*, |
323 Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge); | 324 Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge); |
324 }; | 325 }; |
325 | 326 |
326 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject()); | 327 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject()); |
327 | 328 |
328 } // namespace WebCore | 329 } // namespace WebCore |
329 | 330 |
330 #endif // RenderBoxModelObject_h | 331 #endif // RenderBoxModelObject_h |
OLD | NEW |