OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_QUADS_RENDER_PASS_H_ | 5 #ifndef CC_QUADS_RENDER_PASS_H_ |
6 #define CC_QUADS_RENDER_PASS_H_ | 6 #define CC_QUADS_RENDER_PASS_H_ |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/containers/hash_tables.h" | 12 #include "base/containers/hash_tables.h" |
13 #include "cc/base/cc_export.h" | 13 #include "cc/base/cc_export.h" |
14 #include "cc/base/scoped_ptr_vector.h" | 14 #include "cc/base/scoped_ptr_vector.h" |
15 #include "cc/quads/list_container.h" | 15 #include "cc/quads/list_container.h" |
16 #include "cc/quads/render_pass_id.h" | 16 #include "cc/quads/render_pass_id.h" |
17 #include "skia/ext/refptr.h" | 17 #include "skia/ext/refptr.h" |
18 #include "ui/gfx/geometry/rect.h" | 18 #include "ui/gfx/geometry/rect.h" |
19 #include "ui/gfx/geometry/rect_f.h" | 19 #include "ui/gfx/geometry/rect_f.h" |
20 #include "ui/gfx/transform.h" | 20 #include "ui/gfx/transform.h" |
21 | 21 |
22 namespace base { | 22 namespace base { |
23 namespace trace_event { | 23 namespace trace_event { |
24 class TracedValue; | 24 class TracedValue; |
25 } | 25 } |
26 class Value; | 26 class Value; |
27 | |
28 // TODO(ssid): remove these aliases after the tracing clients are moved to the | |
29 // new trace_event namespace. See crbug.com/451032. ETA: March 2015 | |
30 namespace debug { | |
31 using ::base::trace_event::TracedValue; | |
32 } | 27 } |
33 } // namespace base | |
34 | 28 |
35 namespace cc { | 29 namespace cc { |
36 | 30 |
37 class DrawQuad; | 31 class DrawQuad; |
38 class CopyOutputRequest; | 32 class CopyOutputRequest; |
39 class RenderPassDrawQuad; | 33 class RenderPassDrawQuad; |
40 class SharedQuadState; | 34 class SharedQuadState; |
41 | 35 |
42 // A list of DrawQuad objects, sorted internally in front-to-back order. | 36 // A list of DrawQuad objects, sorted internally in front-to-back order. |
43 class QuadList : public ListContainer<DrawQuad> { | 37 class QuadList : public ListContainer<DrawQuad> { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 const gfx::Rect& output_rect, | 70 const gfx::Rect& output_rect, |
77 const gfx::Rect& damage_rect, | 71 const gfx::Rect& damage_rect, |
78 const gfx::Transform& transform_to_root_target); | 72 const gfx::Transform& transform_to_root_target); |
79 | 73 |
80 void SetAll(RenderPassId id, | 74 void SetAll(RenderPassId id, |
81 const gfx::Rect& output_rect, | 75 const gfx::Rect& output_rect, |
82 const gfx::Rect& damage_rect, | 76 const gfx::Rect& damage_rect, |
83 const gfx::Transform& transform_to_root_target, | 77 const gfx::Transform& transform_to_root_target, |
84 bool has_transparent_background); | 78 bool has_transparent_background); |
85 | 79 |
86 void AsValueInto(base::debug::TracedValue* dict) const; | 80 void AsValueInto(base::trace_event::TracedValue* dict) const; |
87 | 81 |
88 SharedQuadState* CreateAndAppendSharedQuadState(); | 82 SharedQuadState* CreateAndAppendSharedQuadState(); |
89 | 83 |
90 template <typename DrawQuadType> | 84 template <typename DrawQuadType> |
91 DrawQuadType* CreateAndAppendDrawQuad() { | 85 DrawQuadType* CreateAndAppendDrawQuad() { |
92 return quad_list.AllocateAndConstruct<DrawQuadType>(); | 86 return quad_list.AllocateAndConstruct<DrawQuadType>(); |
93 } | 87 } |
94 | 88 |
95 RenderPassDrawQuad* CopyFromAndAppendRenderPassDrawQuad( | 89 RenderPassDrawQuad* CopyFromAndAppendRenderPassDrawQuad( |
96 const RenderPassDrawQuad* quad, | 90 const RenderPassDrawQuad* quad, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 } | 140 } |
147 }; | 141 }; |
148 } // namespace BASE_HASH_NAMESPACE | 142 } // namespace BASE_HASH_NAMESPACE |
149 | 143 |
150 namespace cc { | 144 namespace cc { |
151 typedef ScopedPtrVector<RenderPass> RenderPassList; | 145 typedef ScopedPtrVector<RenderPass> RenderPassList; |
152 typedef base::hash_map<RenderPassId, RenderPass*> RenderPassIdHashMap; | 146 typedef base::hash_map<RenderPassId, RenderPass*> RenderPassIdHashMap; |
153 } // namespace cc | 147 } // namespace cc |
154 | 148 |
155 #endif // CC_QUADS_RENDER_PASS_H_ | 149 #endif // CC_QUADS_RENDER_PASS_H_ |
OLD | NEW |