OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BackgroundImageGeometry_h | 5 #ifndef BackgroundImageGeometry_h |
6 #define BackgroundImageGeometry_h | 6 #define BackgroundImageGeometry_h |
7 | 7 |
8 #include "core/paint/PaintPhase.h" | 8 #include "core/paint/PaintPhase.h" |
9 #include "platform/geometry/IntPoint.h" | 9 #include "platform/geometry/IntPoint.h" |
10 #include "platform/geometry/IntRect.h" | 10 #include "platform/geometry/IntRect.h" |
11 #include "platform/geometry/IntSize.h" | 11 #include "platform/geometry/IntSize.h" |
12 #include "wtf/Allocator.h" | 12 #include "wtf/Allocator.h" |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
16 class FillLayer; | 16 class FillLayer; |
17 class LayoutBoxModelObject; | 17 class LayoutBoxModelObject; |
18 class LayoutObject; | 18 class LayoutObject; |
19 class LayoutRect; | 19 class LayoutRect; |
20 | 20 |
21 class BackgroundImageGeometry { | 21 class BackgroundImageGeometry { |
22 STACK_ALLOCATED(); | 22 STACK_ALLOCATED(); |
23 public: | 23 public: |
24 BackgroundImageGeometry() | 24 BackgroundImageGeometry() |
25 : m_hasNonLocalGeometry(false) | 25 : m_hasNonLocalGeometry(false) |
26 { } | 26 { } |
27 | 27 |
28 void calculate(const LayoutBoxModelObject&, const LayoutBoxModelObject* pain tContainer, | 28 void calculate(const LayoutBoxModelObject&, const LayoutBoxModelObject* pain tContainer, |
29 const GlobalPaintFlags, const FillLayer&, const LayoutRect& paintRect, | 29 const GlobalPaintFlags, const FillLayer&, const LayoutRect& paintRect); |
30 const LayoutObject* backgroundObject = nullptr); | |
31 | 30 |
32 IntRect destRect() const { return m_destRect; } | 31 IntRect destRect() const { return m_destRect; } |
33 IntSize tileSize() const { return m_tileSize; } | 32 IntSize tileSize() const { return m_tileSize; } |
33 IntSize tileSizeBeforeRound() const { return m_tileSizeBeforeRound; } | |
f(malita)
2015/11/16 16:36:14
I find the current name confusing - is there a bet
davve
2015/11/17 13:08:28
Yes, that's probably a better name.
| |
34 IntPoint phase() const { return m_phase; } | 34 IntPoint phase() const { return m_phase; } |
35 // Space-size represents extra width and height that may be added to | 35 // Space-size represents extra width and height that may be added to |
36 // the image if used as a pattern with background-repeat: space. | 36 // the image if used as a pattern with background-repeat: space. |
37 IntSize spaceSize() const { return m_repeatSpacing; } | 37 IntSize spaceSize() const { return m_repeatSpacing; } |
38 // Has background-attachment: fixed. Implies that we can't always cheaply co mpute destRect. | 38 // Has background-attachment: fixed. Implies that we can't always cheaply co mpute destRect. |
39 bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; } | 39 bool hasNonLocalGeometry() const { return m_hasNonLocalGeometry; } |
40 | 40 |
41 private: | 41 private: |
42 void setDestRect(const IntRect& destRect) { m_destRect = destRect; } | 42 void setDestRect(const IntRect& destRect) { m_destRect = destRect; } |
43 void setPhase(const IntPoint& phase) { m_phase = phase; } | 43 void setPhase(const IntPoint& phase) { m_phase = phase; } |
44 void setTileSizeBeforeRound(const IntSize& tileSize) { m_tileSize = m_tileSi zeBeforeRound = tileSize; } | |
44 void setTileSize(const IntSize& tileSize) { m_tileSize = tileSize; } | 45 void setTileSize(const IntSize& tileSize) { m_tileSize = tileSize; } |
45 void setSpaceSize(const IntSize& repeatSpacing) { m_repeatSpacing = repeatSp acing; } | 46 void setSpaceSize(const IntSize& repeatSpacing) { m_repeatSpacing = repeatSp acing; } |
46 void setPhaseX(int x) { m_phase.setX(x); } | 47 void setPhaseX(int x) { m_phase.setX(x); } |
47 void setPhaseY(int y) { m_phase.setY(y); } | 48 void setPhaseY(int y) { m_phase.setY(y); } |
48 void setNoRepeatX(int xOffset); | 49 void setNoRepeatX(int xOffset); |
49 void setNoRepeatY(int yOffset); | 50 void setNoRepeatY(int yOffset); |
50 | 51 |
51 void useFixedAttachment(const IntPoint& attachmentPoint); | 52 void useFixedAttachment(const IntPoint& attachmentPoint); |
52 void clip(const IntRect&); | 53 void clip(const IntRect&); |
53 void setHasNonLocalGeometry() { m_hasNonLocalGeometry = true; } | 54 void setHasNonLocalGeometry() { m_hasNonLocalGeometry = true; } |
54 | 55 |
55 IntRect m_destRect; | 56 IntRect m_destRect; |
56 IntPoint m_phase; | 57 IntPoint m_phase; |
58 IntSize m_tileSizeBeforeRound; | |
57 IntSize m_tileSize; | 59 IntSize m_tileSize; |
58 IntSize m_repeatSpacing; | 60 IntSize m_repeatSpacing; |
59 bool m_hasNonLocalGeometry; | 61 bool m_hasNonLocalGeometry; |
60 }; | 62 }; |
61 | 63 |
62 } // namespace blink | 64 } // namespace blink |
63 | 65 |
64 #endif // BackgroundImageGeometry_h | 66 #endif // BackgroundImageGeometry_h |
OLD | NEW |