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_DRAW_QUAD_H_ | 5 #ifndef CC_RENDER_PASS_DRAW_QUAD_H_ |
6 #define CC_RENDER_PASS_DRAW_QUAD_H_ | 6 #define CC_RENDER_PASS_DRAW_QUAD_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "cc/cc_export.h" | 10 #include "cc/cc_export.h" |
11 #include "cc/draw_quad.h" | 11 #include "cc/draw_quad.h" |
12 #include "cc/render_pass.h" | 12 #include "cc/render_pass.h" |
13 #include "cc/resource_provider.h" | 13 #include "cc/resource_provider.h" |
14 | 14 |
15 namespace cc { | 15 namespace cc { |
16 | 16 |
17 class CC_EXPORT RenderPassDrawQuad : public DrawQuad { | 17 class CC_EXPORT RenderPassDrawQuad : public DrawQuad { |
18 public: | 18 public: |
19 static scoped_ptr<RenderPassDrawQuad> create(const SharedQuadState*, const g
fx::Rect&, RenderPass::Id renderPassId, bool isReplica, ResourceProvider::Resour
ceId maskResourceId, const gfx::Rect& contentsChangedSinceLastFrame, float maskT
exCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTe
xCoordOffsetY); | 19 static scoped_ptr<RenderPassDrawQuad> Create(); |
20 | 20 |
21 RenderPass::Id renderPassId() const { return m_renderPassId; } | 21 void SetNew(const SharedQuadState* shared_quad_state, |
22 bool isReplica() const { return m_isReplica; } | 22 gfx::Rect rect, |
23 ResourceProvider::ResourceId maskResourceId() const { return m_maskResourceI
d; } | 23 RenderPass::Id render_pass_id, |
24 const gfx::Rect& contentsChangedSinceLastFrame() const { return m_contentsCh
angedSinceLastFrame; } | 24 bool is_replica, |
| 25 ResourceProvider::ResourceId mask_resource_id, |
| 26 gfx::Rect contents_changed_since_last_frame, |
| 27 float mask_tex_coord_scale_x, |
| 28 float mask_tex_coord_scale_y, |
| 29 float mask_tex_coord_offset_x, |
| 30 float mask_tex_coord_offset_y); |
25 | 31 |
26 static const RenderPassDrawQuad* materialCast(const DrawQuad*); | 32 void SetAll(const SharedQuadState* shared_quad_state, |
27 float maskTexCoordScaleX() const { return m_maskTexCoordScaleX; } | 33 gfx::Rect rect, |
28 float maskTexCoordScaleY() const { return m_maskTexCoordScaleY; } | 34 gfx::Rect opaque_rect, |
29 float maskTexCoordOffsetX() const { return m_maskTexCoordOffsetX; } | 35 gfx::Rect visible_rect, |
30 float maskTexCoordOffsetY() const { return m_maskTexCoordOffsetY; } | 36 bool needs_blending, |
| 37 RenderPass::Id render_pass_id, |
| 38 bool is_replica, |
| 39 ResourceProvider::ResourceId mask_resource_id, |
| 40 gfx::Rect contents_changed_since_last_frame, |
| 41 float mask_tex_coord_scale_x, |
| 42 float mask_tex_coord_scale_y, |
| 43 float mask_tex_coord_offset_x, |
| 44 float mask_tex_coord_offset_y); |
31 | 45 |
32 scoped_ptr<RenderPassDrawQuad> copy(const SharedQuadState* copiedSharedQuadS
tate, RenderPass::Id copiedRenderPassId) const; | 46 scoped_ptr<RenderPassDrawQuad> Copy( |
| 47 const SharedQuadState* copied_shared_quad_state, |
| 48 RenderPass::Id copied_render_pass_id) const; |
33 | 49 |
| 50 RenderPass::Id render_pass_id; |
| 51 bool is_replica; |
| 52 ResourceProvider::ResourceId mask_resource_id; |
| 53 gfx::Rect contents_changed_since_last_frame; |
| 54 // TODO(danakj): Make these a tex_coord_rect like TileDrawQuad. |
| 55 float mask_tex_coord_scale_x; |
| 56 float mask_tex_coord_scale_y; |
| 57 float mask_tex_coord_offset_x; |
| 58 float mask_tex_coord_offset_y; |
| 59 |
| 60 static const RenderPassDrawQuad* MaterialCast(const DrawQuad*); |
34 private: | 61 private: |
35 RenderPassDrawQuad(const SharedQuadState*, const gfx::Rect&, RenderPass::Id
renderPassId, bool isReplica, ResourceProvider::ResourceId maskResourceId, const
gfx::Rect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskT
exCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY); | 62 RenderPassDrawQuad(); |
36 | |
37 RenderPass::Id m_renderPassId; | |
38 bool m_isReplica; | |
39 ResourceProvider::ResourceId m_maskResourceId; | |
40 gfx::Rect m_contentsChangedSinceLastFrame; | |
41 float m_maskTexCoordScaleX; | |
42 float m_maskTexCoordScaleY; | |
43 float m_maskTexCoordOffsetX; | |
44 float m_maskTexCoordOffsetY; | |
45 }; | 63 }; |
46 | 64 |
47 } | 65 } |
48 | 66 |
49 #endif // CC_RENDER_PASS_DRAW_QUAD_H_ | 67 #endif // CC_RENDER_PASS_DRAW_QUAD_H_ |
OLD | NEW |