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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 void contentChanged(ContentChangeType); | 192 void contentChanged(ContentChangeType); |
193 bool hasAcceleratedCompositing() const; | 193 bool hasAcceleratedCompositing() const; |
194 | 194 |
195 virtual void computeLayerHitTestRects(LayerHitTestRects&) const OVERRIDE; | 195 virtual void computeLayerHitTestRects(LayerHitTestRects&) const OVERRIDE; |
196 | 196 |
197 protected: | 197 protected: |
198 virtual void willBeDestroyed() OVERRIDE; | 198 virtual void willBeDestroyed() OVERRIDE; |
199 | 199 |
200 class BackgroundImageGeometry { | 200 class BackgroundImageGeometry { |
201 public: | 201 public: |
| 202 BackgroundImageGeometry() |
| 203 : m_hasNonLocalGeometry(false) |
| 204 { } |
| 205 |
202 IntPoint destOrigin() const { return m_destOrigin; } | 206 IntPoint destOrigin() const { return m_destOrigin; } |
203 void setDestOrigin(const IntPoint& destOrigin) | 207 void setDestOrigin(const IntPoint& destOrigin) |
204 { | 208 { |
205 m_destOrigin = destOrigin; | 209 m_destOrigin = destOrigin; |
206 } | 210 } |
207 | 211 |
208 IntRect destRect() const { return m_destRect; } | 212 IntRect destRect() const { return m_destRect; } |
209 void setDestRect(const IntRect& destRect) | 213 void setDestRect(const IntRect& destRect) |
210 { | 214 { |
211 m_destRect = destRect; | 215 m_destRect = destRect; |
(...skipping 24 matching lines...) Expand all Loading... |
236 | 240 |
237 void setPhaseX(int x) { m_phase.setX(x); } | 241 void setPhaseX(int x) { m_phase.setX(x); } |
238 void setPhaseY(int y) { m_phase.setY(y); } | 242 void setPhaseY(int y) { m_phase.setY(y); } |
239 | 243 |
240 void setNoRepeatX(int xOffset); | 244 void setNoRepeatX(int xOffset); |
241 void setNoRepeatY(int yOffset); | 245 void setNoRepeatY(int yOffset); |
242 | 246 |
243 void useFixedAttachment(const IntPoint& attachmentPoint); | 247 void useFixedAttachment(const IntPoint& attachmentPoint); |
244 | 248 |
245 void clip(const IntRect&); | 249 void clip(const IntRect&); |
| 250 |
| 251 void setHasNonLocalGeometry(bool hasNonLocalGeometry = true) { m_hasNonL
ocalGeometry = hasNonLocalGeometry; } |
| 252 bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; } |
| 253 |
246 private: | 254 private: |
247 IntRect m_destRect; | 255 IntRect m_destRect; |
248 IntPoint m_destOrigin; | 256 IntPoint m_destOrigin; |
249 IntPoint m_phase; | 257 IntPoint m_phase; |
250 IntSize m_tileSize; | 258 IntSize m_tileSize; |
251 IntSize m_repeatSpacing; | 259 IntSize m_repeatSpacing; |
| 260 bool m_hasNonLocalGeometry; // Has background-attachment: fixed. Implies
that we can't always cheaply compute destRect. |
252 }; | 261 }; |
253 | 262 |
254 LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const
; | 263 LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const
; |
255 | 264 |
256 void calculateBackgroundImageGeometry(const FillLayer*, const LayoutRect& pa
intRect, BackgroundImageGeometry&, RenderObject* = 0); | 265 void calculateBackgroundImageGeometry(const RenderLayerModelObject* paintCon
tainer, const FillLayer*, const LayoutRect& paintRect, BackgroundImageGeometry&,
RenderObject* = 0) const; |
257 void getBorderEdgeInfo(class BorderEdge[], const RenderStyle*, bool includeL
ogicalLeftEdge = true, bool includeLogicalRightEdge = true) const; | 266 void getBorderEdgeInfo(class BorderEdge[], const RenderStyle*, bool includeL
ogicalLeftEdge = true, bool includeLogicalRightEdge = true) const; |
258 bool borderObscuresBackgroundEdge(const FloatSize& contextScale) const; | 267 bool borderObscuresBackgroundEdge(const FloatSize& contextScale) const; |
259 bool borderObscuresBackground() const; | 268 bool borderObscuresBackground() const; |
260 RoundedRect backgroundRoundedRectAdjustedForBleedAvoidance(GraphicsContext*,
const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox*, const LayoutSize&,
bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const; | 269 RoundedRect backgroundRoundedRectAdjustedForBleedAvoidance(GraphicsContext*,
const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox*, const LayoutSize&,
bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const; |
261 LayoutRect borderInnerRectAdjustedForBleedAvoidance(GraphicsContext*, const
LayoutRect&, BackgroundBleedAvoidance) const; | 270 LayoutRect borderInnerRectAdjustedForBleedAvoidance(GraphicsContext*, const
LayoutRect&, BackgroundBleedAvoidance) const; |
262 | 271 |
263 InterpolationQuality chooseInterpolationQuality(GraphicsContext*, Image*, co
nst void*, const LayoutSize&); | 272 InterpolationQuality chooseInterpolationQuality(GraphicsContext*, Image*, co
nst void*, const LayoutSize&); |
264 | 273 |
265 RenderBoxModelObject* continuation() const; | 274 RenderBoxModelObject* continuation() const; |
266 void setContinuation(RenderBoxModelObject*); | 275 void setContinuation(RenderBoxModelObject*); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c
onst class BorderEdge[], | 341 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c
onst class BorderEdge[], |
333 float thickness, float drawThickness, BoxSide, const
RenderStyle*, | 342 float thickness, float drawThickness, BoxSide, const
RenderStyle*, |
334 Color, EBorderStyle, BackgroundBleedAvoidance, bool
includeLogicalLeftEdge, bool includeLogicalRightEdge); | 343 Color, EBorderStyle, BackgroundBleedAvoidance, bool
includeLogicalLeftEdge, bool includeLogicalRightEdge); |
335 }; | 344 }; |
336 | 345 |
337 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject()); | 346 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject()); |
338 | 347 |
339 } // namespace WebCore | 348 } // namespace WebCore |
340 | 349 |
341 #endif // RenderBoxModelObject_h | 350 #endif // RenderBoxModelObject_h |
OLD | NEW |