| 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> |
| 10 |
| 8 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 9 #include "cc/cc_export.h" | 12 #include "cc/cc_export.h" |
| 10 #include "cc/draw_quad.h" | 13 #include "cc/draw_quad.h" |
| 11 #include "cc/hash_pair.h" | 14 #include "cc/hash_pair.h" |
| 12 #include "cc/scoped_ptr_hash_map.h" | 15 #include "cc/scoped_ptr_hash_map.h" |
| 13 #include "cc/scoped_ptr_vector.h" | 16 #include "cc/scoped_ptr_vector.h" |
| 14 #include "cc/shared_quad_state.h" | 17 #include "cc/shared_quad_state.h" |
| 15 #include "third_party/skia/include/core/SkColor.h" | 18 #include "third_party/skia/include/core/SkColor.h" |
| 16 #include "ui/gfx/rect_f.h" | 19 #include "ui/gfx/rect_f.h" |
| 17 #include <public/WebFilterOperations.h> | 20 #include "ui/gfx/transform.h" |
| 18 #include <public/WebTransformationMatrix.h> | |
| 19 #include <vector> | |
| 20 | 21 |
| 21 class SkImageFilter; | 22 class SkImageFilter; |
| 22 | 23 |
| 23 namespace cc { | 24 namespace cc { |
| 24 | 25 |
| 25 // A list of DrawQuad objects, sorted internally in front-to-back order. | 26 // A list of DrawQuad objects, sorted internally in front-to-back order. |
| 26 class QuadList : public ScopedPtrVector<DrawQuad> { | 27 class QuadList : public ScopedPtrVector<DrawQuad> { |
| 27 public: | 28 public: |
| 28 typedef reverse_iterator backToFrontIterator; | 29 typedef reverse_iterator backToFrontIterator; |
| 29 typedef const_reverse_iterator constBackToFrontIterator; | 30 typedef const_reverse_iterator constBackToFrontIterator; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 59 ~RenderPass(); | 60 ~RenderPass(); |
| 60 | 61 |
| 61 static scoped_ptr<RenderPass> Create(); | 62 static scoped_ptr<RenderPass> Create(); |
| 62 | 63 |
| 63 // A shallow copy of the render pass, which does not include its quads. | 64 // A shallow copy of the render pass, which does not include its quads. |
| 64 scoped_ptr<RenderPass> Copy(Id newId) const; | 65 scoped_ptr<RenderPass> Copy(Id newId) const; |
| 65 | 66 |
| 66 void SetNew(Id id, | 67 void SetNew(Id id, |
| 67 gfx::Rect output_rect, | 68 gfx::Rect output_rect, |
| 68 gfx::RectF damage_rect, | 69 gfx::RectF damage_rect, |
| 69 const WebKit::WebTransformationMatrix& transform_to_root_target); | 70 const gfx::Transform& transform_to_root_target); |
| 70 | 71 |
| 71 void SetAll(Id id, | 72 void SetAll(Id id, |
| 72 gfx::Rect output_rect, | 73 gfx::Rect output_rect, |
| 73 gfx::RectF damage_rect, | 74 gfx::RectF damage_rect, |
| 74 const WebKit::WebTransformationMatrix& transform_to_root_target, | 75 const gfx::Transform& transform_to_root_target, |
| 75 bool has_transparent_background, | 76 bool has_transparent_background, |
| 76 bool has_occlusion_from_outside_target_surface, | 77 bool has_occlusion_from_outside_target_surface, |
| 77 const WebKit::WebFilterOperations& filters, | 78 const WebKit::WebFilterOperations& filters, |
| 78 SkImageFilter* filter, | 79 SkImageFilter* filter, |
| 79 const WebKit::WebFilterOperations& background_filters); | 80 const WebKit::WebFilterOperations& background_filters); |
| 80 | 81 |
| 81 // Uniquely identifies the render pass in the compositor's current frame. | 82 // Uniquely identifies the render pass in the compositor's current frame. |
| 82 Id id; | 83 Id id; |
| 83 | 84 |
| 84 // These are in the space of the render pass' physical pixels. | 85 // These are in the space of the render pass' physical pixels. |
| 85 gfx::Rect output_rect; | 86 gfx::Rect output_rect; |
| 86 gfx::RectF damage_rect; | 87 gfx::RectF damage_rect; |
| 87 | 88 |
| 88 // Transforms from the origin of the |output_rect| to the origin of the root | 89 // Transforms from the origin of the |output_rect| to the origin of the root |
| 89 // render pass' |output_rect|. | 90 // render pass' |output_rect|. |
| 90 WebKit::WebTransformationMatrix transform_to_root_target; | 91 gfx::Transform transform_to_root_target; |
| 91 | 92 |
| 92 // If false, the pixels in the render pass' texture are all opaque. | 93 // If false, the pixels in the render pass' texture are all opaque. |
| 93 bool has_transparent_background; | 94 bool has_transparent_background; |
| 94 | 95 |
| 95 // If true, then there may be pixels in the render pass' texture that are not | 96 // If true, then there may be pixels in the render pass' texture that are not |
| 96 // complete, since they are occluded. | 97 // complete, since they are occluded. |
| 97 bool has_occlusion_from_outside_target_surface; | 98 bool has_occlusion_from_outside_target_surface; |
| 98 | 99 |
| 99 // Deprecated post-processing filters, applied to the pixels in the render | 100 // Deprecated post-processing filters, applied to the pixels in the render |
| 100 // pass' texture. | 101 // pass' texture. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 #error define a hash function for your compiler | 137 #error define a hash function for your compiler |
| 137 #endif // COMPILER | 138 #endif // COMPILER |
| 138 } | 139 } |
| 139 | 140 |
| 140 namespace cc { | 141 namespace cc { |
| 141 typedef std::vector<RenderPass*> RenderPassList; | 142 typedef std::vector<RenderPass*> RenderPassList; |
| 142 typedef ScopedPtrHashMap<RenderPass::Id, RenderPass> RenderPassIdHashMap; | 143 typedef ScopedPtrHashMap<RenderPass::Id, RenderPass> RenderPassIdHashMap; |
| 143 } // namespace cc | 144 } // namespace cc |
| 144 | 145 |
| 145 #endif // CC_RENDER_PASS_H_ | 146 #endif // CC_RENDER_PASS_H_ |
| OLD | NEW |