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/render_surface_impl.h" | 5 #include "cc/render_surface_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
11 #include "cc/damage_tracker.h" | 11 #include "cc/damage_tracker.h" |
12 #include "cc/debug_border_draw_quad.h" | 12 #include "cc/debug_border_draw_quad.h" |
13 #include "cc/debug_colors.h" | 13 #include "cc/debug_colors.h" |
14 #include "cc/delegated_renderer_layer_impl.h" | 14 #include "cc/delegated_renderer_layer_impl.h" |
15 #include "cc/layer_impl.h" | 15 #include "cc/layer_impl.h" |
16 #include "cc/math_util.h" | 16 #include "cc/math_util.h" |
17 #include "cc/quad_sink.h" | 17 #include "cc/quad_sink.h" |
18 #include "cc/render_pass.h" | 18 #include "cc/render_pass.h" |
19 #include "cc/render_pass_draw_quad.h" | 19 #include "cc/render_pass_draw_quad.h" |
20 #include "cc/render_pass_sink.h" | 20 #include "cc/render_pass_sink.h" |
21 #include "cc/shared_quad_state.h" | 21 #include "cc/shared_quad_state.h" |
22 #include "third_party/skia/include/core/SkImageFilter.h" | 22 #include "third_party/skia/include/core/SkImageFilter.h" |
23 #include "ui/gfx/rect_conversions.h" | 23 #include "ui/gfx/rect_conversions.h" |
24 #include <public/WebTransformationMatrix.h> | 24 #include "ui/gfx/transform.h" |
25 | 25 |
26 using WebKit::WebTransformationMatrix; | 26 using gfx::Transform; |
27 | 27 |
28 namespace cc { | 28 namespace cc { |
29 | 29 |
30 RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owningLayer) | 30 RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owningLayer) |
31 : m_owningLayer(owningLayer) | 31 : m_owningLayer(owningLayer) |
32 , m_surfacePropertyChanged(false) | 32 , m_surfacePropertyChanged(false) |
33 , m_drawOpacity(1) | 33 , m_drawOpacity(1) |
34 , m_drawOpacityIsAnimating(false) | 34 , m_drawOpacityIsAnimating(false) |
35 , m_targetSurfaceTransformsAreAnimating(false) | 35 , m_targetSurfaceTransformsAreAnimating(false) |
36 , m_screenSpaceTransformsAreAnimating(false) | 36 , m_screenSpaceTransformsAreAnimating(false) |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
73 std::string indentStr = indentString(indent); | 73 std::string indentStr = indentString(indent); |
74 str->append(indentStr); | 74 str->append(indentStr); |
75 base::StringAppendF(str, "%s\n", name().data()); | 75 base::StringAppendF(str, "%s\n", name().data()); |
76 | 76 |
77 indentStr.append(" "); | 77 indentStr.append(" "); |
78 str->append(indentStr); | 78 str->append(indentStr); |
79 base::StringAppendF(str, "contentRect: (%d, %d, %d, %d)\n", m_contentRect.x( ), m_contentRect.y(), m_contentRect.width(), m_contentRect.height()); | 79 base::StringAppendF(str, "contentRect: (%d, %d, %d, %d)\n", m_contentRect.x( ), m_contentRect.y(), m_contentRect.width(), m_contentRect.height()); |
80 | 80 |
81 str->append(indentStr); | 81 str->append(indentStr); |
82 base::StringAppendF(str, "drawTransform: %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", | 82 base::StringAppendF(str, "drawTransform: %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", |
83 m_drawTransform.m11(), m_drawTransform.m12(), m_drawTransform.m13(), m_d rawTransform.m14(), | 83 m_drawTransform.matrix().getDouble(0, 0), m_drawTransform.matrix().getDo uble(1, 0), m_drawTransform.matrix().getDouble(2, 0), m_drawTransform.matrix().g etDouble(3, 0), |
danakj
2012/11/24 02:34:54
Here also, make the output match the actual inside
| |
84 m_drawTransform.m21(), m_drawTransform.m22(), m_drawTransform.m23(), m_d rawTransform.m24(), | 84 m_drawTransform.matrix().getDouble(0, 1), m_drawTransform.matrix().getDo uble(1, 1), m_drawTransform.matrix().getDouble(2, 1), m_drawTransform.matrix().g etDouble(3, 1), |
85 m_drawTransform.m31(), m_drawTransform.m32(), m_drawTransform.m33(), m_d rawTransform.m34(), | 85 m_drawTransform.matrix().getDouble(0, 2), m_drawTransform.matrix().getDo uble(1, 2), m_drawTransform.matrix().getDouble(2, 2), m_drawTransform.matrix().g etDouble(3, 2), |
86 m_drawTransform.m41(), m_drawTransform.m42(), m_drawTransform.m43(), m_d rawTransform.m44()); | 86 m_drawTransform.matrix().getDouble(0, 3), m_drawTransform.matrix().getDo uble(1, 3), m_drawTransform.matrix().getDouble(2, 3), m_drawTransform.matrix().g etDouble(3, 3)); |
87 | 87 |
88 str->append(indentStr); | 88 str->append(indentStr); |
89 base::StringAppendF(str, "damageRect is pos(%f, %f), size(%f, %f)\n", | 89 base::StringAppendF(str, "damageRect is pos(%f, %f), size(%f, %f)\n", |
90 m_damageTracker->currentDamageRect().x(), m_damageTracker->currentDamage Rect().y(), | 90 m_damageTracker->currentDamageRect().x(), m_damageTracker->currentDamage Rect().y(), |
91 m_damageTracker->currentDamageRect().width(), m_damageTracker->currentDa mageRect().height()); | 91 m_damageTracker->currentDamageRect().width(), m_damageTracker->currentDa mageRect().height()); |
92 } | 92 } |
93 | 93 |
94 int RenderSurfaceImpl::owningLayerId() const | 94 int RenderSurfaceImpl::owningLayerId() const |
95 { | 95 { |
96 return m_owningLayer ? m_owningLayer->id() : 0; | 96 return m_owningLayer ? m_owningLayer->id() : 0; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
192 SkRefCnt_SafeAssign(pass->filter, m_owningLayer->filter()); | 192 SkRefCnt_SafeAssign(pass->filter, m_owningLayer->filter()); |
193 pass->background_filters = m_owningLayer->backgroundFilters(); | 193 pass->background_filters = m_owningLayer->backgroundFilters(); |
194 passSink.appendRenderPass(pass.Pass()); | 194 passSink.appendRenderPass(pass.Pass()); |
195 } | 195 } |
196 | 196 |
197 void RenderSurfaceImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQ uadsData, bool forReplica, RenderPass::Id renderPassId) | 197 void RenderSurfaceImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQ uadsData, bool forReplica, RenderPass::Id renderPassId) |
198 { | 198 { |
199 DCHECK(!forReplica || m_owningLayer->hasReplica()); | 199 DCHECK(!forReplica || m_owningLayer->hasReplica()); |
200 | 200 |
201 gfx::Rect clippedRectInTarget = computeClippedRectInTarget(m_owningLayer); | 201 gfx::Rect clippedRectInTarget = computeClippedRectInTarget(m_owningLayer); |
202 const WebTransformationMatrix& drawTransform = forReplica ? m_replicaDrawTra nsform : m_drawTransform; | 202 const Transform& drawTransform = forReplica ? m_replicaDrawTransform : m_dra wTransform; |
203 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(SharedQuadSta te::Create()); | 203 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(SharedQuadSta te::Create()); |
204 sharedQuadState->SetAll(drawTransform, m_contentRect, clippedRectInTarget, m _clipRect, m_isClipped, m_drawOpacity); | 204 sharedQuadState->SetAll(drawTransform, m_contentRect, clippedRectInTarget, m _clipRect, m_isClipped, m_drawOpacity); |
205 | 205 |
206 if (m_owningLayer->showDebugBorders()) { | 206 if (m_owningLayer->showDebugBorders()) { |
207 SkColor color = forReplica ? DebugColors::SurfaceReplicaBorderColor() : DebugColors::SurfaceBorderColor(); | 207 SkColor color = forReplica ? DebugColors::SurfaceReplicaBorderColor() : DebugColors::SurfaceBorderColor(); |
208 float width = forReplica ? DebugColors::SurfaceReplicaBorderWidth(m_owni ngLayer->layerTreeHostImpl()) : DebugColors::SurfaceBorderWidth(m_owningLayer->l ayerTreeHostImpl()); | 208 float width = forReplica ? DebugColors::SurfaceReplicaBorderWidth(m_owni ngLayer->layerTreeHostImpl()) : DebugColors::SurfaceBorderWidth(m_owningLayer->l ayerTreeHostImpl()); |
209 scoped_ptr<DebugBorderDrawQuad> debugBorderQuad = DebugBorderDrawQuad::C reate(); | 209 scoped_ptr<DebugBorderDrawQuad> debugBorderQuad = DebugBorderDrawQuad::C reate(); |
210 debugBorderQuad->SetNew(sharedQuadState, contentRect(), color, width); | 210 debugBorderQuad->SetNew(sharedQuadState, contentRect(), color, width); |
211 quadSink.append(debugBorderQuad.PassAs<DrawQuad>(), appendQuadsData); | 211 quadSink.append(debugBorderQuad.PassAs<DrawQuad>(), appendQuadsData); |
212 } | 212 } |
(...skipping 28 matching lines...) Expand all Loading... | |
241 ResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->content sResourceId() : 0; | 241 ResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->content sResourceId() : 0; |
242 gfx::Rect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect : gfx::Rect(); | 242 gfx::Rect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect : gfx::Rect(); |
243 | 243 |
244 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); | 244 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); |
245 quad->SetNew(sharedQuadState, contentRect(), renderPassId, forReplica, maskR esourceId, contentsChangedSinceLastFrame, | 245 quad->SetNew(sharedQuadState, contentRect(), renderPassId, forReplica, maskR esourceId, contentsChangedSinceLastFrame, |
246 maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, ma skTexCoordOffsetY); | 246 maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, ma skTexCoordOffsetY); |
247 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); | 247 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); |
248 } | 248 } |
249 | 249 |
250 } // namespace cc | 250 } // namespace cc |
OLD | NEW |