| 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 #include "CCLayerImpl.h" | 7 #include "CCLayerImpl.h" |
| 8 | 8 |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "CCDebugBorderDrawQuad.h" | 10 #include "CCDebugBorderDrawQuad.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 , m_isContainerForFixedPositionLayers(false) | 47 , m_isContainerForFixedPositionLayers(false) |
| 48 , m_fixedToContainerLayer(false) | 48 , m_fixedToContainerLayer(false) |
| 49 , m_renderTarget(0) | 49 , m_renderTarget(0) |
| 50 , m_drawDepth(0) | 50 , m_drawDepth(0) |
| 51 , m_drawOpacity(0) | 51 , m_drawOpacity(0) |
| 52 , m_drawOpacityIsAnimating(false) | 52 , m_drawOpacityIsAnimating(false) |
| 53 , m_debugBorderColor(0) | 53 , m_debugBorderColor(0) |
| 54 , m_debugBorderWidth(0) | 54 , m_debugBorderWidth(0) |
| 55 , m_drawTransformIsAnimating(false) | 55 , m_drawTransformIsAnimating(false) |
| 56 , m_screenSpaceTransformIsAnimating(false) | 56 , m_screenSpaceTransformIsAnimating(false) |
| 57 #ifndef NDEBUG | 57 #if CC_DCHECK_ENABLED() |
| 58 , m_betweenWillDrawAndDidDraw(false) | 58 , m_betweenWillDrawAndDidDraw(false) |
| 59 #endif | 59 #endif |
| 60 , m_layerAnimationController(CCLayerAnimationController::create(this)) | 60 , m_layerAnimationController(CCLayerAnimationController::create(this)) |
| 61 { | 61 { |
| 62 ASSERT(CCProxy::isImplThread()); | 62 CC_DCHECK(CCProxy::isImplThread()); |
| 63 ASSERT(m_layerId > 0); | 63 CC_DCHECK(m_layerId > 0); |
| 64 } | 64 } |
| 65 | 65 |
| 66 CCLayerImpl::~CCLayerImpl() | 66 CCLayerImpl::~CCLayerImpl() |
| 67 { | 67 { |
| 68 ASSERT(CCProxy::isImplThread()); | 68 CC_DCHECK(CCProxy::isImplThread()); |
| 69 #ifndef NDEBUG | 69 CC_DCHECK(!m_betweenWillDrawAndDidDraw); |
| 70 ASSERT(!m_betweenWillDrawAndDidDraw); | |
| 71 #endif | |
| 72 } | 70 } |
| 73 | 71 |
| 74 void CCLayerImpl::addChild(scoped_ptr<CCLayerImpl> child) | 72 void CCLayerImpl::addChild(scoped_ptr<CCLayerImpl> child) |
| 75 { | 73 { |
| 76 child->setParent(this); | 74 child->setParent(this); |
| 77 m_children.append(child.Pass()); | 75 m_children.append(child.Pass()); |
| 78 } | 76 } |
| 79 | 77 |
| 80 void CCLayerImpl::removeFromParent() | 78 void CCLayerImpl::removeFromParent() |
| 81 { | 79 { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 99 m_children[0]->removeFromParent(); | 97 m_children[0]->removeFromParent(); |
| 100 } | 98 } |
| 101 | 99 |
| 102 void CCLayerImpl::clearChildList() | 100 void CCLayerImpl::clearChildList() |
| 103 { | 101 { |
| 104 m_children.clear(); | 102 m_children.clear(); |
| 105 } | 103 } |
| 106 | 104 |
| 107 void CCLayerImpl::createRenderSurface() | 105 void CCLayerImpl::createRenderSurface() |
| 108 { | 106 { |
| 109 ASSERT(!m_renderSurface); | 107 CC_DCHECK(!m_renderSurface); |
| 110 m_renderSurface = make_scoped_ptr(new CCRenderSurface(this)); | 108 m_renderSurface = make_scoped_ptr(new CCRenderSurface(this)); |
| 111 setRenderTarget(this); | 109 setRenderTarget(this); |
| 112 } | 110 } |
| 113 | 111 |
| 114 bool CCLayerImpl::descendantDrawsContent() | 112 bool CCLayerImpl::descendantDrawsContent() |
| 115 { | 113 { |
| 116 for (size_t i = 0; i < m_children.size(); ++i) { | 114 for (size_t i = 0; i < m_children.size(); ++i) { |
| 117 if (m_children[i]->drawsContent() || m_children[i]->descendantDrawsConte
nt()) | 115 if (m_children[i]->drawsContent() || m_children[i]->descendantDrawsConte
nt()) |
| 118 return true; | 116 return true; |
| 119 } | 117 } |
| 120 return false; | 118 return false; |
| 121 } | 119 } |
| 122 | 120 |
| 123 scoped_ptr<CCSharedQuadState> CCLayerImpl::createSharedQuadState() const | 121 scoped_ptr<CCSharedQuadState> CCLayerImpl::createSharedQuadState() const |
| 124 { | 122 { |
| 125 return CCSharedQuadState::create(m_drawTransform, m_visibleContentRect, m_dr
awableContentRect, m_drawOpacity, m_contentsOpaque); | 123 return CCSharedQuadState::create(m_drawTransform, m_visibleContentRect, m_dr
awableContentRect, m_drawOpacity, m_contentsOpaque); |
| 126 } | 124 } |
| 127 | 125 |
| 128 void CCLayerImpl::willDraw(CCResourceProvider*) | 126 void CCLayerImpl::willDraw(CCResourceProvider*) |
| 129 { | 127 { |
| 130 #ifndef NDEBUG | 128 #if CC_DCHECK_ENABLED() |
| 131 // willDraw/didDraw must be matched. | 129 // willDraw/didDraw must be matched. |
| 132 ASSERT(!m_betweenWillDrawAndDidDraw); | 130 CC_DCHECK(!m_betweenWillDrawAndDidDraw); |
| 133 m_betweenWillDrawAndDidDraw = true; | 131 m_betweenWillDrawAndDidDraw = true; |
| 134 #endif | 132 #endif |
| 135 } | 133 } |
| 136 | 134 |
| 137 void CCLayerImpl::didDraw(CCResourceProvider*) | 135 void CCLayerImpl::didDraw(CCResourceProvider*) |
| 138 { | 136 { |
| 139 #ifndef NDEBUG | 137 #if CC_DCHECK_ENABLED() |
| 140 ASSERT(m_betweenWillDrawAndDidDraw); | 138 CC_DCHECK(m_betweenWillDrawAndDidDraw); |
| 141 m_betweenWillDrawAndDidDraw = false; | 139 m_betweenWillDrawAndDidDraw = false; |
| 142 #endif | 140 #endif |
| 143 } | 141 } |
| 144 | 142 |
| 145 void CCLayerImpl::appendDebugBorderQuad(CCQuadSink& quadList, const CCSharedQuad
State* sharedQuadState, CCAppendQuadsData& appendQuadsData) const | 143 void CCLayerImpl::appendDebugBorderQuad(CCQuadSink& quadList, const CCSharedQuad
State* sharedQuadState, CCAppendQuadsData& appendQuadsData) const |
| 146 { | 144 { |
| 147 if (!hasDebugBorders()) | 145 if (!hasDebugBorders()) |
| 148 return; | 146 return; |
| 149 | 147 |
| 150 IntRect contentRect(IntPoint(), contentBounds()); | 148 IntRect contentRect(IntPoint(), contentBounds()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 161 return CCRenderPass::Id(0, 0); | 159 return CCRenderPass::Id(0, 0); |
| 162 } | 160 } |
| 163 | 161 |
| 164 CCRenderPass::Id CCLayerImpl::nextContributingRenderPassId(CCRenderPass::Id) con
st | 162 CCRenderPass::Id CCLayerImpl::nextContributingRenderPassId(CCRenderPass::Id) con
st |
| 165 { | 163 { |
| 166 return CCRenderPass::Id(0, 0); | 164 return CCRenderPass::Id(0, 0); |
| 167 } | 165 } |
| 168 | 166 |
| 169 CCResourceProvider::ResourceId CCLayerImpl::contentsResourceId() const | 167 CCResourceProvider::ResourceId CCLayerImpl::contentsResourceId() const |
| 170 { | 168 { |
| 171 ASSERT_NOT_REACHED(); | 169 NOTREACHED(); |
| 172 return 0; | 170 return 0; |
| 173 } | 171 } |
| 174 | 172 |
| 175 FloatSize CCLayerImpl::scrollBy(const FloatSize& scroll) | 173 FloatSize CCLayerImpl::scrollBy(const FloatSize& scroll) |
| 176 { | 174 { |
| 177 IntSize minDelta = -toSize(m_scrollPosition); | 175 IntSize minDelta = -toSize(m_scrollPosition); |
| 178 IntSize maxDelta = m_maxScrollPosition - toSize(m_scrollPosition); | 176 IntSize maxDelta = m_maxScrollPosition - toSize(m_scrollPosition); |
| 179 // Clamp newDelta so that position + delta stays within scroll bounds. | 177 // Clamp newDelta so that position + delta stays within scroll bounds. |
| 180 FloatSize newDelta = (m_scrollDelta + scroll).expandedTo(minDelta).shrunkTo(
maxDelta); | 178 FloatSize newDelta = (m_scrollDelta + scroll).expandedTo(minDelta).shrunkTo(
maxDelta); |
| 181 FloatSize unscrolled = m_scrollDelta + scroll - newDelta; | 179 FloatSize unscrolled = m_scrollDelta + scroll - newDelta; |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 | 669 |
| 672 void CCLayerImpl::setVerticalScrollbarLayer(CCScrollbarLayerImpl* scrollbarLayer
) | 670 void CCLayerImpl::setVerticalScrollbarLayer(CCScrollbarLayerImpl* scrollbarLayer
) |
| 673 { | 671 { |
| 674 if (!m_scrollbarAnimationController) | 672 if (!m_scrollbarAnimationController) |
| 675 m_scrollbarAnimationController = CCScrollbarAnimationController::create(
this); | 673 m_scrollbarAnimationController = CCScrollbarAnimationController::create(
this); |
| 676 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer); | 674 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer); |
| 677 m_scrollbarAnimationController->updateScrollOffset(this); | 675 m_scrollbarAnimationController->updateScrollOffset(this); |
| 678 } | 676 } |
| 679 | 677 |
| 680 } | 678 } |
| OLD | NEW |