Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Side by Side Diff: third_party/WebKit/Source/core/paint/ObjectPaintProperties.h

Issue 1397583002: Implement the framework for a paint property hierarchy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Job insecurity: better tests, better comments, better names. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/core.gypi ('k') | third_party/WebKit/Source/core/paint/PaintLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698