| 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 "cc/draw_quad.h" | 5 #include "cc/draw_quad.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "cc/checkerboard_draw_quad.h" | 8 #include "cc/checkerboard_draw_quad.h" |
| 9 #include "cc/debug_border_draw_quad.h" | 9 #include "cc/debug_border_draw_quad.h" |
| 10 #include "cc/io_surface_draw_quad.h" | 10 #include "cc/io_surface_draw_quad.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 DrawQuad::DrawQuad(const SharedQuadState* sharedQuadState, Material material, co
nst gfx::Rect& quadRect) | 28 DrawQuad::DrawQuad(const SharedQuadState* sharedQuadState, Material material, co
nst gfx::Rect& quadRect) |
| 29 : m_sharedQuadState(sharedQuadState) | 29 : m_sharedQuadState(sharedQuadState) |
| 30 , m_sharedQuadStateId(sharedQuadState->id) | 30 , m_sharedQuadStateId(sharedQuadState->id) |
| 31 , m_material(material) | 31 , m_material(material) |
| 32 , m_quadRect(quadRect) | 32 , m_quadRect(quadRect) |
| 33 , m_quadVisibleRect(quadRect) | 33 , m_quadVisibleRect(quadRect) |
| 34 , m_quadOpaque(true) | 34 , m_quadOpaque(true) |
| 35 , m_needsBlending(false) | 35 , m_needsBlending(false) |
| 36 { | 36 { |
| 37 DCHECK(m_sharedQuadState); | 37 DCHECK(m_sharedQuadState); |
| 38 DCHECK(m_material != Invalid); | 38 DCHECK(m_material != INVALID); |
| 39 } | 39 } |
| 40 | 40 |
| 41 gfx::Rect DrawQuad::opaqueRect() const | 41 gfx::Rect DrawQuad::opaqueRect() const |
| 42 { | 42 { |
| 43 if (opacity() != 1) | 43 if (opacity() != 1) |
| 44 return gfx::Rect(); | 44 return gfx::Rect(); |
| 45 if (m_sharedQuadState->opaque && m_quadOpaque) | 45 if (m_sharedQuadState->opaque && m_quadOpaque) |
| 46 return m_quadRect; | 46 return m_quadRect; |
| 47 return m_opaqueRect; | 47 return m_opaqueRect; |
| 48 } | 48 } |
| 49 | 49 |
| 50 void DrawQuad::setQuadVisibleRect(gfx::Rect quadVisibleRect) | 50 void DrawQuad::setQuadVisibleRect(gfx::Rect quadVisibleRect) |
| 51 { | 51 { |
| 52 m_quadVisibleRect = gfx::IntersectRects(quadVisibleRect, m_quadRect); | 52 m_quadVisibleRect = gfx::IntersectRects(quadVisibleRect, m_quadRect); |
| 53 } | 53 } |
| 54 | 54 |
| 55 scoped_ptr<DrawQuad> DrawQuad::copy(const SharedQuadState* copiedSharedQuadState
) const | 55 scoped_ptr<DrawQuad> DrawQuad::copy(const SharedQuadState* copiedSharedQuadState
) const |
| 56 { | 56 { |
| 57 scoped_ptr<DrawQuad> copyQuad; | 57 scoped_ptr<DrawQuad> copyQuad; |
| 58 switch (material()) { | 58 switch (material()) { |
| 59 case Checkerboard: | 59 case CHECKERBOARD: |
| 60 copyQuad.reset(TypedCopy<CheckerboardDrawQuad>(this)); | 60 copyQuad.reset(TypedCopy<CheckerboardDrawQuad>(this)); |
| 61 break; | 61 break; |
| 62 case DebugBorder: | 62 case DEBUG_BORDER: |
| 63 copyQuad.reset(TypedCopy<DebugBorderDrawQuad>(this)); | 63 copyQuad.reset(TypedCopy<DebugBorderDrawQuad>(this)); |
| 64 break; | 64 break; |
| 65 case IOSurfaceContent: | 65 case IO_SURFACE_CONTENT: |
| 66 copyQuad.reset(TypedCopy<IOSurfaceDrawQuad>(this)); | 66 copyQuad.reset(TypedCopy<IOSurfaceDrawQuad>(this)); |
| 67 break; | 67 break; |
| 68 case TextureContent: | 68 case TEXTURE_CONTENT: |
| 69 copyQuad.reset(TypedCopy<TextureDrawQuad>(this)); | 69 copyQuad.reset(TypedCopy<TextureDrawQuad>(this)); |
| 70 break; | 70 break; |
| 71 case SolidColor: | 71 case SOLID_COLOR: |
| 72 copyQuad.reset(TypedCopy<SolidColorDrawQuad>(this)); | 72 copyQuad.reset(TypedCopy<SolidColorDrawQuad>(this)); |
| 73 break; | 73 break; |
| 74 case TiledContent: | 74 case TILED_CONTENT: |
| 75 copyQuad.reset(TypedCopy<TileDrawQuad>(this)); | 75 copyQuad.reset(TypedCopy<TileDrawQuad>(this)); |
| 76 break; | 76 break; |
| 77 case StreamVideoContent: | 77 case STREAM_VIDEO_CONTENT: |
| 78 copyQuad.reset(TypedCopy<StreamVideoDrawQuad>(this)); | 78 copyQuad.reset(TypedCopy<StreamVideoDrawQuad>(this)); |
| 79 break; | 79 break; |
| 80 case YUVVideoContent: | 80 case YUV_VIDEO_CONTENT: |
| 81 copyQuad.reset(TypedCopy<YUVVideoDrawQuad>(this)); | 81 copyQuad.reset(TypedCopy<YUVVideoDrawQuad>(this)); |
| 82 break; | 82 break; |
| 83 case RenderPass: // RenderPass quads have their own copy() method. | 83 case RENDER_PASS: // RenderPass quads have their own copy() method. |
| 84 case Invalid: | 84 case INVALID: |
| 85 LOG(FATAL) << "Invalid DrawQuad material " << material(); | 85 LOG(FATAL) << "Invalid DrawQuad material " << material(); |
| 86 break; | 86 break; |
| 87 } | 87 } |
| 88 copyQuad->setSharedQuadState(copiedSharedQuadState); | 88 copyQuad->setSharedQuadState(copiedSharedQuadState); |
| 89 return copyQuad.Pass(); | 89 return copyQuad.Pass(); |
| 90 } | 90 } |
| 91 | 91 |
| 92 void DrawQuad::setSharedQuadState(const SharedQuadState* sharedQuadState) | 92 void DrawQuad::setSharedQuadState(const SharedQuadState* sharedQuadState) |
| 93 { | 93 { |
| 94 m_sharedQuadState = sharedQuadState; | 94 m_sharedQuadState = sharedQuadState; |
| 95 m_sharedQuadStateId = sharedQuadState->id; | 95 m_sharedQuadStateId = sharedQuadState->id; |
| 96 } | 96 } |
| 97 | 97 |
| 98 } // namespace cc | 98 } // namespace cc |
| OLD | NEW |