| 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 "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #if USE(ACCELERATED_COMPOSITING) | 7 #if USE(ACCELERATED_COMPOSITING) |
| 8 | 8 |
| 9 #include "CCRenderSurface.h" | 9 #include "CCRenderSurface.h" |
| 10 | 10 |
| 11 #include "base/stringprintf.h" |
| 11 #include "CCDamageTracker.h" | 12 #include "CCDamageTracker.h" |
| 12 #include "CCDebugBorderDrawQuad.h" | 13 #include "CCDebugBorderDrawQuad.h" |
| 13 #include "CCLayerImpl.h" | 14 #include "CCLayerImpl.h" |
| 14 #include "CCMathUtil.h" | 15 #include "CCMathUtil.h" |
| 15 #include "CCQuadSink.h" | 16 #include "CCQuadSink.h" |
| 16 #include "CCRenderPass.h" | 17 #include "CCRenderPass.h" |
| 17 #include "CCRenderPassDrawQuad.h" | 18 #include "CCRenderPassDrawQuad.h" |
| 18 #include "CCRenderPassSink.h" | 19 #include "CCRenderPassSink.h" |
| 19 #include "CCSharedQuadState.h" | 20 #include "CCSharedQuadState.h" |
| 20 #include "TextStream.h" | |
| 21 #include <public/WebTransformationMatrix.h> | 21 #include <public/WebTransformationMatrix.h> |
| 22 #include <wtf/text/CString.h> | |
| 23 | 22 |
| 24 using WebKit::WebTransformationMatrix; | 23 using WebKit::WebTransformationMatrix; |
| 25 | 24 |
| 26 namespace WebCore { | 25 namespace WebCore { |
| 27 | 26 |
| 28 static const int debugSurfaceBorderWidth = 2; | 27 static const int debugSurfaceBorderWidth = 2; |
| 29 static const int debugSurfaceBorderAlpha = 100; | 28 static const int debugSurfaceBorderAlpha = 100; |
| 30 static const int debugSurfaceBorderColorRed = 0; | 29 static const int debugSurfaceBorderColorRed = 0; |
| 31 static const int debugSurfaceBorderColorGreen = 0; | 30 static const int debugSurfaceBorderColorGreen = 0; |
| 32 static const int debugSurfaceBorderColorBlue = 255; | 31 static const int debugSurfaceBorderColorBlue = 255; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 54 | 53 |
| 55 FloatRect CCRenderSurface::drawableContentRect() const | 54 FloatRect CCRenderSurface::drawableContentRect() const |
| 56 { | 55 { |
| 57 FloatRect drawableContentRect = CCMathUtil::mapClippedRect(m_drawTransform,
m_contentRect); | 56 FloatRect drawableContentRect = CCMathUtil::mapClippedRect(m_drawTransform,
m_contentRect); |
| 58 if (m_owningLayer->hasReplica()) | 57 if (m_owningLayer->hasReplica()) |
| 59 drawableContentRect.unite(CCMathUtil::mapClippedRect(m_replicaDrawTransf
orm, m_contentRect)); | 58 drawableContentRect.unite(CCMathUtil::mapClippedRect(m_replicaDrawTransf
orm, m_contentRect)); |
| 60 | 59 |
| 61 return drawableContentRect; | 60 return drawableContentRect; |
| 62 } | 61 } |
| 63 | 62 |
| 64 String CCRenderSurface::name() const | 63 std::string CCRenderSurface::name() const |
| 65 { | 64 { |
| 66 return String::format("RenderSurface(id=%i,owner=%s)", m_owningLayer->id(),
m_owningLayer->debugName().utf8().data()); | 65 return base::StringPrintf("RenderSurface(id=%i,owner=%s)", m_owningLayer->id
(), m_owningLayer->debugName().data()); |
| 67 } | 66 } |
| 68 | 67 |
| 69 static void writeIndent(TextStream& ts, int indent) | 68 static std::string indentString(int indent) |
| 70 { | 69 { |
| 70 std::string str; |
| 71 for (int i = 0; i != indent; ++i) | 71 for (int i = 0; i != indent; ++i) |
| 72 ts << " "; | 72 str.append(" "); |
| 73 return str; |
| 73 } | 74 } |
| 74 | 75 |
| 75 void CCRenderSurface::dumpSurface(TextStream& ts, int indent) const | 76 void CCRenderSurface::dumpSurface(std::string* str, int indent) const |
| 76 { | 77 { |
| 77 writeIndent(ts, indent); | 78 std::string indentStr = indentString(indent); |
| 78 ts << name() << "\n"; | 79 str->append(indentStr); |
| 80 base::StringAppendF(str, "%s\n", name().data()); |
| 79 | 81 |
| 80 writeIndent(ts, indent+1); | 82 indentStr.append(" "); |
| 81 ts << "contentRect: (" << m_contentRect.x() << ", " << m_contentRect.y() <<
", " << m_contentRect.width() << ", " << m_contentRect.height() << "\n"; | 83 str->append(indentStr); |
| 84 base::StringAppendF(str, "contentRect: (%d, %d, %d, %d)\n", m_contentRect.x(
), m_contentRect.y(), m_contentRect.width(), m_contentRect.height()); |
| 82 | 85 |
| 83 writeIndent(ts, indent+1); | 86 str->append(indentStr); |
| 84 ts << "drawTransform: "; | 87 base::StringAppendF(str, "drawTransform: %f, %f, %f, %f, %f, %f, %f, %f, %f,
%f, %f, %f, %f, %f, %f, %f\n", |
| 85 ts << m_drawTransform.m11() << ", " << m_drawTransform.m12() << ", " << m_dr
awTransform.m13() << ", " << m_drawTransform.m14() << " // "; | 88 m_drawTransform.m11(), m_drawTransform.m12(), m_drawTransform.m13(), m_d
rawTransform.m14(), |
| 86 ts << m_drawTransform.m21() << ", " << m_drawTransform.m22() << ", " << m_dr
awTransform.m23() << ", " << m_drawTransform.m24() << " // "; | 89 m_drawTransform.m21(), m_drawTransform.m22(), m_drawTransform.m23(), m_d
rawTransform.m24(), |
| 87 ts << m_drawTransform.m31() << ", " << m_drawTransform.m32() << ", " << m_dr
awTransform.m33() << ", " << m_drawTransform.m34() << " // "; | 90 m_drawTransform.m31(), m_drawTransform.m32(), m_drawTransform.m33(), m_d
rawTransform.m34(), |
| 88 ts << m_drawTransform.m41() << ", " << m_drawTransform.m42() << ", " << m_dr
awTransform.m43() << ", " << m_drawTransform.m44() << "\n"; | 91 m_drawTransform.m41(), m_drawTransform.m42(), m_drawTransform.m43(), m_d
rawTransform.m44()); |
| 89 | 92 |
| 90 writeIndent(ts, indent+1); | 93 str->append(indentStr); |
| 91 ts << "damageRect is pos(" << m_damageTracker->currentDamageRect().x() << ",
" << m_damageTracker->currentDamageRect().y() << "), "; | 94 base::StringAppendF(str, "damageRect is pos(%f, %f), size(%f, %f)\n", |
| 92 ts << "size(" << m_damageTracker->currentDamageRect().width() << "," << m_da
mageTracker->currentDamageRect().height() << ")\n"; | 95 m_damageTracker->currentDamageRect().x(), m_damageTracker->currentDamage
Rect().y(), |
| 96 m_damageTracker->currentDamageRect().width(), m_damageTracker->currentDa
mageRect().height()); |
| 93 } | 97 } |
| 94 | 98 |
| 95 int CCRenderSurface::owningLayerId() const | 99 int CCRenderSurface::owningLayerId() const |
| 96 { | 100 { |
| 97 return m_owningLayer ? m_owningLayer->id() : 0; | 101 return m_owningLayer ? m_owningLayer->id() : 0; |
| 98 } | 102 } |
| 99 | 103 |
| 100 | 104 |
| 101 void CCRenderSurface::setClipRect(const IntRect& clipRect) | 105 void CCRenderSurface::setClipRect(const IntRect& clipRect) |
| 102 { | 106 { |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 | 227 |
| 224 CCResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->conte
ntsResourceId() : 0; | 228 CCResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->conte
ntsResourceId() : 0; |
| 225 IntRect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect :
IntRect(); | 229 IntRect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect :
IntRect(); |
| 226 | 230 |
| 227 quadSink.append(CCRenderPassDrawQuad::create(sharedQuadState, contentRect(),
renderPassId, forReplica, maskResourceId, contentsChangedSinceLastFrame, | 231 quadSink.append(CCRenderPassDrawQuad::create(sharedQuadState, contentRect(),
renderPassId, forReplica, maskResourceId, contentsChangedSinceLastFrame, |
| 228 maskTexCoordScaleX, maskTexCoor
dScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY), appendQuadsData); | 232 maskTexCoordScaleX, maskTexCoor
dScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY), appendQuadsData); |
| 229 } | 233 } |
| 230 | 234 |
| 231 } | 235 } |
| 232 #endif // USE(ACCELERATED_COMPOSITING) | 236 #endif // USE(ACCELERATED_COMPOSITING) |
| OLD | NEW |