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/trace_event/trace_event_argument.h" | 7 #include "base/trace_event/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 11 matching lines...) Expand all Loading... |
22 RenderPassDrawQuad::~RenderPassDrawQuad() { | 22 RenderPassDrawQuad::~RenderPassDrawQuad() { |
23 } | 23 } |
24 | 24 |
25 void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state, | 25 void RenderPassDrawQuad::SetNew(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 int render_pass_id, | 28 int render_pass_id, |
29 ResourceId mask_resource_id, | 29 ResourceId mask_resource_id, |
30 const gfx::Vector2dF& mask_uv_scale, | 30 const gfx::Vector2dF& mask_uv_scale, |
31 const gfx::Size& mask_texture_size, | 31 const gfx::Size& mask_texture_size, |
32 const FilterOperations& filters, | |
33 const gfx::Vector2dF& filters_scale, | 32 const gfx::Vector2dF& filters_scale, |
34 const gfx::PointF& filters_origin, | 33 const gfx::PointF& filters_origin) { |
35 const FilterOperations& background_filters) { | |
36 DCHECK(render_pass_id); | 34 DCHECK(render_pass_id); |
37 | 35 |
38 gfx::Rect opaque_rect; | 36 gfx::Rect opaque_rect; |
39 bool needs_blending = false; | 37 bool needs_blending = false; |
40 SetAll(shared_quad_state, rect, opaque_rect, visible_rect, needs_blending, | 38 SetAll(shared_quad_state, rect, opaque_rect, visible_rect, needs_blending, |
41 render_pass_id, mask_resource_id, mask_uv_scale, mask_texture_size, | 39 render_pass_id, mask_resource_id, mask_uv_scale, mask_texture_size, |
42 filters, filters_scale, filters_origin, background_filters); | 40 filters_scale, filters_origin); |
43 } | 41 } |
44 | 42 |
45 void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state, | 43 void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state, |
46 const gfx::Rect& rect, | 44 const gfx::Rect& rect, |
47 const gfx::Rect& opaque_rect, | 45 const gfx::Rect& opaque_rect, |
48 const gfx::Rect& visible_rect, | 46 const gfx::Rect& visible_rect, |
49 bool needs_blending, | 47 bool needs_blending, |
50 int render_pass_id, | 48 int render_pass_id, |
51 ResourceId mask_resource_id, | 49 ResourceId mask_resource_id, |
52 const gfx::Vector2dF& mask_uv_scale, | 50 const gfx::Vector2dF& mask_uv_scale, |
53 const gfx::Size& mask_texture_size, | 51 const gfx::Size& mask_texture_size, |
54 const FilterOperations& filters, | |
55 const gfx::Vector2dF& filters_scale, | 52 const gfx::Vector2dF& filters_scale, |
56 const gfx::PointF& filters_origin, | 53 const gfx::PointF& filters_origin) { |
57 const FilterOperations& background_filters) { | |
58 DCHECK(render_pass_id); | 54 DCHECK(render_pass_id); |
59 | 55 |
60 DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, | 56 DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, |
61 visible_rect, needs_blending); | 57 visible_rect, needs_blending); |
62 this->render_pass_id = render_pass_id; | 58 this->render_pass_id = render_pass_id; |
63 resources.ids[kMaskResourceIdIndex] = mask_resource_id; | 59 resources.ids[kMaskResourceIdIndex] = mask_resource_id; |
64 resources.count = mask_resource_id ? 1 : 0; | 60 resources.count = mask_resource_id ? 1 : 0; |
65 this->mask_uv_scale = mask_uv_scale; | 61 this->mask_uv_scale = mask_uv_scale; |
66 this->mask_texture_size = mask_texture_size; | 62 this->mask_texture_size = mask_texture_size; |
67 this->filters = filters; | |
68 this->filters_scale = filters_scale; | 63 this->filters_scale = filters_scale; |
69 this->filters_origin = filters_origin; | 64 this->filters_origin = filters_origin; |
70 this->background_filters = background_filters; | |
71 } | 65 } |
72 | 66 |
73 gfx::RectF RenderPassDrawQuad::MaskUVRect() const { | 67 gfx::RectF RenderPassDrawQuad::MaskUVRect() const { |
74 return gfx::ScaleRect(gfx::RectF(rect), mask_uv_scale.x(), mask_uv_scale.y()); | 68 return gfx::ScaleRect(gfx::RectF(rect), mask_uv_scale.x(), mask_uv_scale.y()); |
75 } | 69 } |
76 | 70 |
77 const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast( | 71 const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast( |
78 const DrawQuad* quad) { | 72 const DrawQuad* quad) { |
79 DCHECK_EQ(quad->material, DrawQuad::RENDER_PASS); | 73 DCHECK_EQ(quad->material, DrawQuad::RENDER_PASS); |
80 return static_cast<const RenderPassDrawQuad*>(quad); | 74 return static_cast<const RenderPassDrawQuad*>(quad); |
81 } | 75 } |
82 | 76 |
83 void RenderPassDrawQuad::ExtendValue( | 77 void RenderPassDrawQuad::ExtendValue( |
84 base::trace_event::TracedValue* value) const { | 78 base::trace_event::TracedValue* value) const { |
85 TracedValue::SetIDRef(reinterpret_cast<void*>(render_pass_id), value, | 79 TracedValue::SetIDRef(reinterpret_cast<void*>(render_pass_id), value, |
86 "render_pass_id"); | 80 "render_pass_id"); |
87 value->SetInteger("mask_resource_id", resources.ids[kMaskResourceIdIndex]); | 81 value->SetInteger("mask_resource_id", resources.ids[kMaskResourceIdIndex]); |
88 MathUtil::AddToTracedValue("mask_texture_size", mask_texture_size, value); | 82 MathUtil::AddToTracedValue("mask_texture_size", mask_texture_size, value); |
89 MathUtil::AddToTracedValue("mask_uv_scale", mask_uv_scale, value); | 83 MathUtil::AddToTracedValue("mask_uv_scale", mask_uv_scale, value); |
90 | |
91 value->BeginArray("filters"); | |
92 filters.AsValueInto(value); | |
93 value->EndArray(); | |
94 MathUtil::AddToTracedValue("filters_scale", filters_scale, value); | |
95 | |
96 value->BeginDictionary("background_filters"); | |
97 background_filters.AsValueInto(value); | |
98 value->EndDictionary(); | |
99 } | 84 } |
100 | 85 |
101 } // namespace cc | 86 } // namespace cc |
OLD | NEW |