1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "cc/quads/surface_draw_quad.h" 6 7#include "base/debug/trace_event_argument.h" 8#include "base/logging.h" 9#include "base/values.h" 10 11namespace cc { 12 13SurfaceDrawQuad::SurfaceDrawQuad() { 14} 15 16void SurfaceDrawQuad::SetNew(const SharedQuadState* shared_quad_state, 17 const gfx::Rect& rect, 18 const gfx::Rect& visible_rect, 19 SurfaceId surface_id) { 20 gfx::Rect opaque_rect; 21 bool needs_blending = false; 22 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 23 opaque_rect, visible_rect, needs_blending); 24 this->surface_id = surface_id; 25} 26 27void SurfaceDrawQuad::SetAll(const SharedQuadState* shared_quad_state, 28 const gfx::Rect& rect, 29 const gfx::Rect& opaque_rect, 30 const gfx::Rect& visible_rect, 31 bool needs_blending, 32 SurfaceId surface_id) { 33 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 34 opaque_rect, visible_rect, needs_blending); 35 this->surface_id = surface_id; 36} 37 38void SurfaceDrawQuad::IterateResources( 39 const ResourceIteratorCallback& callback) {} 40 41const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) { 42 DCHECK_EQ(quad->material, DrawQuad::SURFACE_CONTENT); 43 return static_cast<const SurfaceDrawQuad*>(quad); 44} 45 46void SurfaceDrawQuad::ExtendValue(base::debug::TracedValue* value) const { 47 value->SetInteger("surface_id", surface_id.id); 48} 49 50 51} // namespace cc 52