Chromium Code Reviews| 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 |