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

Side by Side Diff: Source/platform/graphics/paint/SubtreeDisplayItem.h

Issue 892293002: First version of new merge algorithm (not enabled yet) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Traverse indices vector Created 5 years, 10 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 | Annotate | Revision Log
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 SubtreeDisplayItem_h
6 #define SubtreeDisplayItem_h
7
8 #include "platform/geometry/FloatRect.h"
9 #include "platform/graphics/paint/DisplayItem.h"
10 #include "wtf/Assertions.h"
11
12 namespace blink {
13
14 class PLATFORM_EXPORT SubtreeCachedDisplayItem : public DisplayItem {
15 WTF_MAKE_FAST_ALLOCATED;
16 public:
17 static PassOwnPtr<SubtreeCachedDisplayItem> create(DisplayItemClient client, Type type)
18 {
19 return adoptPtr(new SubtreeCachedDisplayItem(client, type));
20 }
21
22 private:
23 SubtreeCachedDisplayItem(DisplayItemClient client, Type type) : DisplayItem( client, type)
24 {
25 ASSERT(isSubtreeCachedType(type));
26 }
27
28 virtual void replay(GraphicsContext*) override final { ASSERT_NOT_REACHED(); }
29 virtual void appendToWebDisplayItemList(WebDisplayItemList*) const override final { ASSERT_NOT_REACHED(); }
30 };
31
32 class PLATFORM_EXPORT BeginSubtreeDisplayItem : public DisplayItem {
33 WTF_MAKE_FAST_ALLOCATED;
34 public:
35 static PassOwnPtr<BeginSubtreeDisplayItem> create(DisplayItemClient client, Type type)
36 {
37 return adoptPtr(new BeginSubtreeDisplayItem(client, type));
38 }
39
40 private:
41 BeginSubtreeDisplayItem(DisplayItemClient client, Type type) : DisplayItem(c lient, type)
42 {
43 ASSERT(isBeginSubtreeType(type));
44 }
45 };
46
47 class PLATFORM_EXPORT EndSubtreeDisplayItem : public DisplayItem {
48 WTF_MAKE_FAST_ALLOCATED;
49 public:
50 static PassOwnPtr<EndSubtreeDisplayItem> create(DisplayItemClient client, Ty pe type)
51 {
52 return adoptPtr(new EndSubtreeDisplayItem(client, type));
53 }
54
55 private:
56 EndSubtreeDisplayItem(DisplayItemClient client, Type type) : DisplayItem(cli ent, type)
57 {
58 ASSERT(isEndSubtreeType(type));
59 }
60 };
61
62 } // namespace blink
63
64 #endif // SubtreeDisplayItem_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698