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_RENDER_PASS_H_ | 5 #ifndef CC_RENDER_PASS_H_ |
6 #define CC_RENDER_PASS_H_ | 6 #define CC_RENDER_PASS_H_ |
7 | 7 |
8 #include <public/WebFilterOperations.h> | |
9 #include <vector> | 8 #include <vector> |
10 | 9 |
11 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
12 #include "cc/cc_export.h" | 11 #include "cc/cc_export.h" |
13 #include "cc/draw_quad.h" | 12 #include "cc/draw_quad.h" |
14 #include "cc/hash_pair.h" | 13 #include "cc/hash_pair.h" |
15 #include "cc/scoped_ptr_hash_map.h" | 14 #include "cc/scoped_ptr_hash_map.h" |
16 #include "cc/scoped_ptr_vector.h" | 15 #include "cc/scoped_ptr_vector.h" |
17 #include "cc/shared_quad_state.h" | 16 #include "cc/shared_quad_state.h" |
18 #include "skia/ext/refptr.h" | 17 #include "skia/ext/refptr.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 void SetNew(Id id, | 66 void SetNew(Id id, |
68 gfx::Rect output_rect, | 67 gfx::Rect output_rect, |
69 gfx::RectF damage_rect, | 68 gfx::RectF damage_rect, |
70 const gfx::Transform& transform_to_root_target); | 69 const gfx::Transform& transform_to_root_target); |
71 | 70 |
72 void SetAll(Id id, | 71 void SetAll(Id id, |
73 gfx::Rect output_rect, | 72 gfx::Rect output_rect, |
74 gfx::RectF damage_rect, | 73 gfx::RectF damage_rect, |
75 const gfx::Transform& transform_to_root_target, | 74 const gfx::Transform& transform_to_root_target, |
76 bool has_transparent_background, | 75 bool has_transparent_background, |
77 bool has_occlusion_from_outside_target_surface, | 76 bool has_occlusion_from_outside_target_surface); |
78 const WebKit::WebFilterOperations& filters, | |
79 const skia::RefPtr<SkImageFilter>& filter, | |
80 const WebKit::WebFilterOperations& background_filters); | |
81 | 77 |
82 // Uniquely identifies the render pass in the compositor's current frame. | 78 // Uniquely identifies the render pass in the compositor's current frame. |
83 Id id; | 79 Id id; |
84 | 80 |
85 // These are in the space of the render pass' physical pixels. | 81 // These are in the space of the render pass' physical pixels. |
86 gfx::Rect output_rect; | 82 gfx::Rect output_rect; |
87 gfx::RectF damage_rect; | 83 gfx::RectF damage_rect; |
88 | 84 |
89 // Transforms from the origin of the |output_rect| to the origin of the root | 85 // Transforms from the origin of the |output_rect| to the origin of the root |
90 // render pass' |output_rect|. | 86 // render pass' |output_rect|. |
91 gfx::Transform transform_to_root_target; | 87 gfx::Transform transform_to_root_target; |
92 | 88 |
93 // If false, the pixels in the render pass' texture are all opaque. | 89 // If false, the pixels in the render pass' texture are all opaque. |
94 bool has_transparent_background; | 90 bool has_transparent_background; |
95 | 91 |
96 // If true, then there may be pixels in the render pass' texture that are not | 92 // If true, then there may be pixels in the render pass' texture that are not |
97 // complete, since they are occluded. | 93 // complete, since they are occluded. |
98 bool has_occlusion_from_outside_target_surface; | 94 bool has_occlusion_from_outside_target_surface; |
99 | 95 |
100 // Deprecated post-processing filters, applied to the pixels in the render | |
101 // pass' texture. | |
102 WebKit::WebFilterOperations filters; | |
103 // Post-processing filter applied to the pixels in the render pass' texture. | |
104 skia::RefPtr<SkImageFilter> filter; | |
105 | |
106 // Post-processing filters, applied to the pixels showing through the | |
107 // background of the render pass, from behind it. | |
108 WebKit::WebFilterOperations background_filters; | |
109 | |
110 QuadList quad_list; | 96 QuadList quad_list; |
111 SharedQuadStateList shared_quad_state_list; | 97 SharedQuadStateList shared_quad_state_list; |
112 | 98 |
113 protected: | 99 protected: |
114 RenderPass(); | 100 RenderPass(); |
115 | 101 |
116 DISALLOW_COPY_AND_ASSIGN(RenderPass); | 102 DISALLOW_COPY_AND_ASSIGN(RenderPass); |
117 }; | 103 }; |
118 | 104 |
119 } // namespace cc | 105 } // namespace cc |
(...skipping 17 matching lines...) Expand all Loading... |
137 #error define a hash function for your compiler | 123 #error define a hash function for your compiler |
138 #endif // COMPILER | 124 #endif // COMPILER |
139 } | 125 } |
140 | 126 |
141 namespace cc { | 127 namespace cc { |
142 typedef std::vector<RenderPass*> RenderPassList; | 128 typedef std::vector<RenderPass*> RenderPassList; |
143 typedef ScopedPtrHashMap<RenderPass::Id, RenderPass> RenderPassIdHashMap; | 129 typedef ScopedPtrHashMap<RenderPass::Id, RenderPass> RenderPassIdHashMap; |
144 } // namespace cc | 130 } // namespace cc |
145 | 131 |
146 #endif // CC_RENDER_PASS_H_ | 132 #endif // CC_RENDER_PASS_H_ |
OLD | NEW |