| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #include "CCDrawQuad.h" | 6 #include "CCDrawQuad.h" |
| 7 | 7 |
| 8 #include "CCCheckerboardDrawQuad.h" | 8 #include "CCCheckerboardDrawQuad.h" |
| 9 #include "CCDebugBorderDrawQuad.h" | 9 #include "CCDebugBorderDrawQuad.h" |
| 10 #include "CCIOSurfaceDrawQuad.h" | 10 #include "CCIOSurfaceDrawQuad.h" |
| 11 #include "CCRenderPassDrawQuad.h" | 11 #include "CCRenderPassDrawQuad.h" |
| 12 #include "CCSolidColorDrawQuad.h" | 12 #include "CCSolidColorDrawQuad.h" |
| 13 #include "CCStreamVideoDrawQuad.h" | 13 #include "CCStreamVideoDrawQuad.h" |
| 14 #include "CCTextureDrawQuad.h" | 14 #include "CCTextureDrawQuad.h" |
| 15 #include "CCTileDrawQuad.h" | 15 #include "CCTileDrawQuad.h" |
| 16 #include "CCYUVVideoDrawQuad.h" | 16 #include "CCYUVVideoDrawQuad.h" |
| 17 #include "IntRect.h" | 17 #include "IntRect.h" |
| 18 | 18 |
| 19 namespace cc { | 19 namespace cc { |
| 20 | 20 |
| 21 CCDrawQuad::CCDrawQuad(const CCSharedQuadState* sharedQuadState, Material materi
al, const IntRect& quadRect) | 21 DrawQuad::DrawQuad(const SharedQuadState* sharedQuadState, Material material, co
nst IntRect& quadRect) |
| 22 : m_sharedQuadState(sharedQuadState) | 22 : m_sharedQuadState(sharedQuadState) |
| 23 , m_sharedQuadStateId(sharedQuadState->id) | 23 , m_sharedQuadStateId(sharedQuadState->id) |
| 24 , m_material(material) | 24 , m_material(material) |
| 25 , m_quadRect(quadRect) | 25 , m_quadRect(quadRect) |
| 26 , m_quadVisibleRect(quadRect) | 26 , m_quadVisibleRect(quadRect) |
| 27 , m_quadOpaque(true) | 27 , m_quadOpaque(true) |
| 28 , m_needsBlending(false) | 28 , m_needsBlending(false) |
| 29 { | 29 { |
| 30 ASSERT(m_sharedQuadState); | 30 ASSERT(m_sharedQuadState); |
| 31 ASSERT(m_material != Invalid); | 31 ASSERT(m_material != Invalid); |
| 32 } | 32 } |
| 33 | 33 |
| 34 IntRect CCDrawQuad::opaqueRect() const | 34 IntRect DrawQuad::opaqueRect() const |
| 35 { | 35 { |
| 36 if (opacity() != 1) | 36 if (opacity() != 1) |
| 37 return IntRect(); | 37 return IntRect(); |
| 38 if (m_sharedQuadState->opaque && m_quadOpaque) | 38 if (m_sharedQuadState->opaque && m_quadOpaque) |
| 39 return m_quadRect; | 39 return m_quadRect; |
| 40 return m_opaqueRect; | 40 return m_opaqueRect; |
| 41 } | 41 } |
| 42 | 42 |
| 43 void CCDrawQuad::setQuadVisibleRect(const IntRect& quadVisibleRect) | 43 void DrawQuad::setQuadVisibleRect(const IntRect& quadVisibleRect) |
| 44 { | 44 { |
| 45 IntRect intersection = quadVisibleRect; | 45 IntRect intersection = quadVisibleRect; |
| 46 intersection.intersect(m_quadRect); | 46 intersection.intersect(m_quadRect); |
| 47 m_quadVisibleRect = intersection; | 47 m_quadVisibleRect = intersection; |
| 48 } | 48 } |
| 49 | 49 |
| 50 unsigned CCDrawQuad::size() const | 50 unsigned DrawQuad::size() const |
| 51 { | 51 { |
| 52 switch (material()) { | 52 switch (material()) { |
| 53 case Checkerboard: | 53 case Checkerboard: |
| 54 return sizeof(CCCheckerboardDrawQuad); | 54 return sizeof(CheckerboardDrawQuad); |
| 55 case DebugBorder: | 55 case DebugBorder: |
| 56 return sizeof(CCDebugBorderDrawQuad); | 56 return sizeof(DebugBorderDrawQuad); |
| 57 case IOSurfaceContent: | 57 case IOSurfaceContent: |
| 58 return sizeof(CCIOSurfaceDrawQuad); | 58 return sizeof(IOSurfaceDrawQuad); |
| 59 case TextureContent: | 59 case TextureContent: |
| 60 return sizeof(CCTextureDrawQuad); | 60 return sizeof(TextureDrawQuad); |
| 61 case SolidColor: | 61 case SolidColor: |
| 62 return sizeof(CCSolidColorDrawQuad); | 62 return sizeof(SolidColorDrawQuad); |
| 63 case TiledContent: | 63 case TiledContent: |
| 64 return sizeof(CCTileDrawQuad); | 64 return sizeof(TileDrawQuad); |
| 65 case StreamVideoContent: | 65 case StreamVideoContent: |
| 66 return sizeof(CCStreamVideoDrawQuad); | 66 return sizeof(StreamVideoDrawQuad); |
| 67 case RenderPass: | 67 case RenderPass: |
| 68 return sizeof(CCRenderPassDrawQuad); | 68 return sizeof(RenderPassDrawQuad); |
| 69 case YUVVideoContent: | 69 case YUVVideoContent: |
| 70 return sizeof(CCYUVVideoDrawQuad); | 70 return sizeof(YUVVideoDrawQuad); |
| 71 case Invalid: | 71 case Invalid: |
| 72 break; | 72 break; |
| 73 } | 73 } |
| 74 | 74 |
| 75 CRASH(); | 75 CRASH(); |
| 76 return sizeof(CCDrawQuad); | 76 return sizeof(DrawQuad); |
| 77 } | 77 } |
| 78 | 78 |
| 79 scoped_ptr<CCDrawQuad> CCDrawQuad::copy(const CCSharedQuadState* copiedSharedQua
dState) const | 79 scoped_ptr<DrawQuad> DrawQuad::copy(const SharedQuadState* copiedSharedQuadState
) const |
| 80 { | 80 { |
| 81 // RenderPass quads have their own copy() method. | 81 // RenderPass quads have their own copy() method. |
| 82 ASSERT(material() != RenderPass); | 82 ASSERT(material() != RenderPass); |
| 83 | 83 |
| 84 unsigned bytes = size(); | 84 unsigned bytes = size(); |
| 85 ASSERT(bytes); | 85 ASSERT(bytes); |
| 86 | 86 |
| 87 scoped_ptr<CCDrawQuad> copyQuad(reinterpret_cast<CCDrawQuad*>(new char[bytes
])); | 87 scoped_ptr<DrawQuad> copyQuad(reinterpret_cast<DrawQuad*>(new char[bytes])); |
| 88 memcpy(copyQuad.get(), this, bytes); | 88 memcpy(copyQuad.get(), this, bytes); |
| 89 copyQuad->setSharedQuadState(copiedSharedQuadState); | 89 copyQuad->setSharedQuadState(copiedSharedQuadState); |
| 90 | 90 |
| 91 return copyQuad.Pass(); | 91 return copyQuad.Pass(); |
| 92 } | 92 } |
| 93 | 93 |
| 94 void CCDrawQuad::setSharedQuadState(const CCSharedQuadState* sharedQuadState) | 94 void DrawQuad::setSharedQuadState(const SharedQuadState* sharedQuadState) |
| 95 { | 95 { |
| 96 m_sharedQuadState = sharedQuadState; | 96 m_sharedQuadState = sharedQuadState; |
| 97 m_sharedQuadStateId = sharedQuadState->id; | 97 m_sharedQuadStateId = sharedQuadState->id; |
| 98 } | 98 } |
| 99 | 99 |
| 100 } | 100 } |
| OLD | NEW |