| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef ObjectPaintProperties_h |
| 6 #define ObjectPaintProperties_h |
| 7 |
| 8 #include "platform/graphics/paint/TransformPaintPropertyNode.h" |
| 9 #include "wtf/PassRefPtr.h" |
| 10 #include "wtf/RefPtr.h" |
| 11 |
| 12 namespace blink { |
| 13 |
| 14 // The minimal set of paint properties created by a |LayoutObject|. These |
| 15 // properties encode a hierachy of transforms, clips, effects, etc, both between |
| 16 // LayoutObjects (each property has a parent) and among the properties of a |
| 17 // single LayoutObject (e.g., transform and perspective with the correct parent |
| 18 // relationship to represent ordering). |
| 19 // |
| 20 // This differs from |PaintChunkProperties| because it can store multiple |
| 21 // properties of the same type (e.g., transform and perspective which are both |
| 22 // transforms). |
| 23 class ObjectPaintProperties { |
| 24 WTF_MAKE_NONCOPYABLE(ObjectPaintProperties); |
| 25 WTF_MAKE_FAST_ALLOCATED(ObjectPaintProperties); |
| 26 public: |
| 27 static PassOwnPtr<ObjectPaintProperties> create() |
| 28 { |
| 29 return adoptPtr(new ObjectPaintProperties()); |
| 30 } |
| 31 |
| 32 bool hasTransform() const { return m_transform; } |
| 33 void setTransform(PassRefPtr<TransformPaintPropertyNode> transform) { m_tran
sform = transform; } |
| 34 const TransformPaintPropertyNode* transform() const { return m_transform.get
(); } |
| 35 |
| 36 bool hasPerspective() const { return m_perspective; } |
| 37 void setPerspective(PassRefPtr<TransformPaintPropertyNode> perspective) { m_
perspective = perspective; } |
| 38 const TransformPaintPropertyNode* perspective() const { return m_perspective
.get(); } |
| 39 |
| 40 private: |
| 41 ObjectPaintProperties() { } |
| 42 |
| 43 RefPtr<TransformPaintPropertyNode> m_transform; |
| 44 RefPtr<TransformPaintPropertyNode> m_perspective; |
| 45 }; |
| 46 |
| 47 } // namespace blink |
| 48 |
| 49 #endif // ObjectPaintProperties_h |
| OLD | NEW |