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

Side by Side Diff: cc/test/layer_test_common.h

Issue 1057283003: Remove parts of //cc we aren't using (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 8 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
« no previous file with comments | « cc/test/fake_video_frame_provider.cc ('k') | cc/test/layer_test_common.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2012 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 CC_TEST_LAYER_TEST_COMMON_H_
6 #define CC_TEST_LAYER_TEST_COMMON_H_
7
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "cc/quads/render_pass.h"
11 #include "cc/test/fake_layer_tree_host.h"
12 #include "cc/trees/layer_tree_host_impl.h"
13
14 #define EXPECT_SET_NEEDS_COMMIT(expect, code_to_test) \
15 do { \
16 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times((expect)); \
17 code_to_test; \
18 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); \
19 } while (false)
20
21 #define EXPECT_SET_NEEDS_UPDATE(expect, code_to_test) \
22 do { \
23 EXPECT_CALL(*layer_tree_host_, SetNeedsUpdateLayers()).Times((expect)); \
24 code_to_test; \
25 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); \
26 } while (false)
27
28 namespace gfx { class Rect; }
29
30 namespace cc {
31 class LayerImpl;
32 class OutputSurface;
33 class QuadList;
34 class RenderSurfaceImpl;
35 class ResourceProvider;
36
37 class LayerTestCommon {
38 public:
39 static const char* quad_string;
40
41 static void VerifyQuadsExactlyCoverRect(const QuadList& quads,
42 const gfx::Rect& rect);
43
44 static void VerifyQuadsAreOccluded(const QuadList& quads,
45 const gfx::Rect& occluded,
46 size_t* partially_occluded_count);
47
48 class LayerImplTest {
49 public:
50 LayerImplTest();
51 ~LayerImplTest();
52
53 template <typename T>
54 T* AddChildToRoot() {
55 scoped_ptr<T> layer = T::Create(host_->host_impl()->active_tree(), 2);
56 T* ptr = layer.get();
57 root_layer_impl_->AddChild(layer.Pass());
58 return ptr;
59 }
60
61 template <typename T, typename A>
62 T* AddChildToRoot(const A& a) {
63 scoped_ptr<T> layer = T::Create(host_->host_impl()->active_tree(), 2, a);
64 T* ptr = layer.get();
65 root_layer_impl_->AddChild(layer.Pass());
66 return ptr;
67 }
68
69 template <typename T, typename A, typename B>
70 T* AddChildToRoot(const A& a, const B& b) {
71 scoped_ptr<T> layer =
72 T::Create(host_->host_impl()->active_tree(), 2, a, b);
73 T* ptr = layer.get();
74 root_layer_impl_->AddChild(layer.Pass());
75 return ptr;
76 }
77
78 template <typename T, typename A, typename B, typename C, typename D>
79 T* AddChildToRoot(const A& a, const B& b, const C& c, const D& d) {
80 scoped_ptr<T> layer =
81 T::Create(host_->host_impl()->active_tree(), 2, a, b, c, d);
82 T* ptr = layer.get();
83 root_layer_impl_->AddChild(layer.Pass());
84 return ptr;
85 }
86
87 template <typename T,
88 typename A,
89 typename B,
90 typename C,
91 typename D,
92 typename E>
93 T* AddChildToRoot(const A& a,
94 const B& b,
95 const C& c,
96 const D& d,
97 const E& e) {
98 scoped_ptr<T> layer =
99 T::Create(host_->host_impl()->active_tree(), 2, a, b, c, d, e);
100 T* ptr = layer.get();
101 root_layer_impl_->AddChild(layer.Pass());
102 return ptr;
103 }
104
105 void CalcDrawProps(const gfx::Size& viewport_size);
106 void AppendQuadsWithOcclusion(LayerImpl* layer_impl,
107 const gfx::Rect& occluded);
108 void AppendQuadsForPassWithOcclusion(LayerImpl* layer_impl,
109 RenderPass* given_render_pass,
110 const gfx::Rect& occluded);
111 void AppendSurfaceQuadsWithOcclusion(RenderSurfaceImpl* surface_impl,
112 const gfx::Rect& occluded);
113
114 OutputSurface* output_surface() const {
115 return host_->host_impl()->output_surface();
116 }
117 ResourceProvider* resource_provider() const {
118 return host_->host_impl()->resource_provider();
119 }
120 LayerImpl* root_layer() const { return root_layer_impl_.get(); }
121 FakeLayerTreeHostImpl* host_impl() const { return host_->host_impl(); }
122 Proxy* proxy() const { return host_->host_impl()->proxy(); }
123 const QuadList& quad_list() const { return render_pass_->quad_list; }
124
125 private:
126 FakeLayerTreeHostClient client_;
127 scoped_ptr<FakeLayerTreeHost> host_;
128 scoped_ptr<LayerImpl> root_layer_impl_;
129 scoped_ptr<RenderPass> render_pass_;
130 };
131 };
132
133 } // namespace cc
134
135 #endif // CC_TEST_LAYER_TEST_COMMON_H_
OLDNEW
« no previous file with comments | « cc/test/fake_video_frame_provider.cc ('k') | cc/test/layer_test_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698