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 #include "cc/quads/render_pass_draw_quad.h" | 5 #include "cc/quads/render_pass_draw_quad.h" |
6 | 6 |
7 #include "base/debug/trace_event_argument.h" | 7 #include "base/debug/trace_event_argument.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "cc/base/math_util.h" | 9 #include "cc/base/math_util.h" |
10 #include "cc/debug/traced_value.h" | 10 #include "cc/debug/traced_value.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 void RenderPassDrawQuad::SetNew( | 24 void RenderPassDrawQuad::SetNew( |
25 const SharedQuadState* shared_quad_state, | 25 const SharedQuadState* shared_quad_state, |
26 const gfx::Rect& rect, | 26 const gfx::Rect& rect, |
27 const gfx::Rect& visible_rect, | 27 const gfx::Rect& visible_rect, |
28 RenderPass::Id render_pass_id, | 28 RenderPass::Id render_pass_id, |
29 bool is_replica, | 29 bool is_replica, |
30 ResourceProvider::ResourceId mask_resource_id, | 30 ResourceProvider::ResourceId mask_resource_id, |
31 const gfx::Rect& contents_changed_since_last_frame, | 31 const gfx::Rect& contents_changed_since_last_frame, |
32 const gfx::RectF& mask_uv_rect, | 32 const gfx::RectF& mask_uv_rect, |
33 const FilterOperations& filters, | 33 const FilterOperations& filters, |
| 34 const gfx::Vector2dF& filters_scale, |
34 const FilterOperations& background_filters) { | 35 const FilterOperations& background_filters) { |
35 DCHECK_GT(render_pass_id.layer_id, 0); | 36 DCHECK_GT(render_pass_id.layer_id, 0); |
36 DCHECK_GE(render_pass_id.index, 0); | 37 DCHECK_GE(render_pass_id.index, 0); |
37 | 38 |
38 gfx::Rect opaque_rect; | 39 gfx::Rect opaque_rect; |
39 bool needs_blending = false; | 40 bool needs_blending = false; |
40 SetAll(shared_quad_state, rect, opaque_rect, visible_rect, needs_blending, | 41 SetAll(shared_quad_state, |
41 render_pass_id, is_replica, mask_resource_id, | 42 rect, |
42 contents_changed_since_last_frame, mask_uv_rect, filters, | 43 opaque_rect, |
| 44 visible_rect, |
| 45 needs_blending, |
| 46 render_pass_id, |
| 47 is_replica, |
| 48 mask_resource_id, |
| 49 contents_changed_since_last_frame, |
| 50 mask_uv_rect, |
| 51 filters, |
| 52 filters_scale, |
43 background_filters); | 53 background_filters); |
44 } | 54 } |
45 | 55 |
46 void RenderPassDrawQuad::SetAll( | 56 void RenderPassDrawQuad::SetAll( |
47 const SharedQuadState* shared_quad_state, | 57 const SharedQuadState* shared_quad_state, |
48 const gfx::Rect& rect, | 58 const gfx::Rect& rect, |
49 const gfx::Rect& opaque_rect, | 59 const gfx::Rect& opaque_rect, |
50 const gfx::Rect& visible_rect, | 60 const gfx::Rect& visible_rect, |
51 bool needs_blending, | 61 bool needs_blending, |
52 RenderPass::Id render_pass_id, | 62 RenderPass::Id render_pass_id, |
53 bool is_replica, | 63 bool is_replica, |
54 ResourceProvider::ResourceId mask_resource_id, | 64 ResourceProvider::ResourceId mask_resource_id, |
55 const gfx::Rect& contents_changed_since_last_frame, | 65 const gfx::Rect& contents_changed_since_last_frame, |
56 const gfx::RectF& mask_uv_rect, | 66 const gfx::RectF& mask_uv_rect, |
57 const FilterOperations& filters, | 67 const FilterOperations& filters, |
| 68 const gfx::Vector2dF& filters_scale, |
58 const FilterOperations& background_filters) { | 69 const FilterOperations& background_filters) { |
59 DCHECK_GT(render_pass_id.layer_id, 0); | 70 DCHECK_GT(render_pass_id.layer_id, 0); |
60 DCHECK_GE(render_pass_id.index, 0); | 71 DCHECK_GE(render_pass_id.index, 0); |
61 | 72 |
62 DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, | 73 DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, |
63 visible_rect, needs_blending); | 74 visible_rect, needs_blending); |
64 this->render_pass_id = render_pass_id; | 75 this->render_pass_id = render_pass_id; |
65 this->is_replica = is_replica; | 76 this->is_replica = is_replica; |
66 this->mask_resource_id = mask_resource_id; | 77 this->mask_resource_id = mask_resource_id; |
67 this->contents_changed_since_last_frame = contents_changed_since_last_frame; | 78 this->contents_changed_since_last_frame = contents_changed_since_last_frame; |
68 this->mask_uv_rect = mask_uv_rect; | 79 this->mask_uv_rect = mask_uv_rect; |
69 this->filters = filters; | 80 this->filters = filters; |
| 81 this->filters_scale = filters_scale; |
70 this->background_filters = background_filters; | 82 this->background_filters = background_filters; |
71 } | 83 } |
72 | 84 |
73 void RenderPassDrawQuad::IterateResources( | 85 void RenderPassDrawQuad::IterateResources( |
74 const ResourceIteratorCallback& callback) { | 86 const ResourceIteratorCallback& callback) { |
75 if (mask_resource_id) | 87 if (mask_resource_id) |
76 mask_resource_id = callback.Run(mask_resource_id); | 88 mask_resource_id = callback.Run(mask_resource_id); |
77 } | 89 } |
78 | 90 |
79 const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast( | 91 const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast( |
80 const DrawQuad* quad) { | 92 const DrawQuad* quad) { |
81 DCHECK_EQ(quad->material, DrawQuad::RENDER_PASS); | 93 DCHECK_EQ(quad->material, DrawQuad::RENDER_PASS); |
82 return static_cast<const RenderPassDrawQuad*>(quad); | 94 return static_cast<const RenderPassDrawQuad*>(quad); |
83 } | 95 } |
84 | 96 |
85 void RenderPassDrawQuad::ExtendValue(base::debug::TracedValue* value) const { | 97 void RenderPassDrawQuad::ExtendValue(base::debug::TracedValue* value) const { |
86 TracedValue::SetIDRef(render_pass_id.AsTracingId(), value, "render_pass_id"); | 98 TracedValue::SetIDRef(render_pass_id.AsTracingId(), value, "render_pass_id"); |
87 value->SetBoolean("is_replica", is_replica); | 99 value->SetBoolean("is_replica", is_replica); |
88 value->SetInteger("mask_resource_id", mask_resource_id); | 100 value->SetInteger("mask_resource_id", mask_resource_id); |
| 101 |
89 value->BeginArray("contents_changed_since_last_frame"); | 102 value->BeginArray("contents_changed_since_last_frame"); |
90 MathUtil::AddToTracedValue(contents_changed_since_last_frame, value); | 103 MathUtil::AddToTracedValue(contents_changed_since_last_frame, value); |
91 value->EndArray(); | 104 value->EndArray(); |
92 | 105 |
93 value->BeginArray("mask_uv_rect"); | 106 value->BeginArray("mask_uv_rect"); |
94 MathUtil::AddToTracedValue(mask_uv_rect, value); | 107 MathUtil::AddToTracedValue(mask_uv_rect, value); |
95 value->EndArray(); | 108 value->EndArray(); |
| 109 |
96 value->BeginDictionary("filters"); | 110 value->BeginDictionary("filters"); |
97 filters.AsValueInto(value); | 111 filters.AsValueInto(value); |
98 value->EndDictionary(); | 112 value->EndDictionary(); |
99 | 113 |
| 114 value->BeginArray("filters_scale"); |
| 115 MathUtil::AddToTracedValue(filters_scale, value); |
| 116 value->EndArray(); |
| 117 |
100 value->BeginDictionary("background_filters"); | 118 value->BeginDictionary("background_filters"); |
101 background_filters.AsValueInto(value); | 119 background_filters.AsValueInto(value); |
102 value->EndDictionary(); | 120 value->EndDictionary(); |
103 } | 121 } |
104 | 122 |
105 } // namespace cc | 123 } // namespace cc |
OLD | NEW |