| 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/solid_color_draw_quad.h" | 5 #include "cc/solid_color_draw_quad.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 namespace cc { | 9 namespace cc { |
| 10 | 10 |
| 11 scoped_ptr<SolidColorDrawQuad> SolidColorDrawQuad::create(const SharedQuadState*
sharedQuadState, const gfx::Rect& quadRect, SkColor color) | 11 scoped_ptr<SolidColorDrawQuad> SolidColorDrawQuad::create(const SharedQuadState*
sharedQuadState, const gfx::Rect& quadRect, SkColor color) |
| 12 { | 12 { |
| 13 return make_scoped_ptr(new SolidColorDrawQuad(sharedQuadState, quadRect, col
or)); | 13 return make_scoped_ptr(new SolidColorDrawQuad(sharedQuadState, quadRect, col
or)); |
| 14 } | 14 } |
| 15 | 15 |
| 16 SolidColorDrawQuad::SolidColorDrawQuad(const SharedQuadState* sharedQuadState, c
onst gfx::Rect& quadRect, SkColor color) | 16 SolidColorDrawQuad::SolidColorDrawQuad(const SharedQuadState* sharedQuadState, c
onst gfx::Rect& quadRect, SkColor color) |
| 17 : DrawQuad(sharedQuadState, DrawQuad::SOLID_COLOR, quadRect, quadRect) | 17 : m_color(color) |
| 18 , m_color(color) | |
| 19 { | 18 { |
| 20 if (SkColorGetA(m_color) < 255) | 19 gfx::Rect opaqueRect = SkColorGetA(m_color) == 255 ? quadRect : gfx::Rect(); |
| 21 opaque_rect_ = gfx::Rect(); | 20 gfx::Rect visibleRect = quadRect; |
| 21 bool needsBlending = false; |
| 22 DrawQuad::SetAll(sharedQuadState, DrawQuad::SOLID_COLOR, quadRect, opaqueRec
t, visibleRect, needsBlending); |
| 22 } | 23 } |
| 23 | 24 |
| 24 const SolidColorDrawQuad* SolidColorDrawQuad::materialCast(const DrawQuad* quad) | 25 const SolidColorDrawQuad* SolidColorDrawQuad::materialCast(const DrawQuad* quad) |
| 25 { | 26 { |
| 26 DCHECK(quad->material() == DrawQuad::SOLID_COLOR); | 27 DCHECK(quad->material == DrawQuad::SOLID_COLOR); |
| 27 return static_cast<const SolidColorDrawQuad*>(quad); | 28 return static_cast<const SolidColorDrawQuad*>(quad); |
| 28 } | 29 } |
| 29 | 30 |
| 30 } // namespacec cc | 31 } // namespacec cc |
| OLD | NEW |