15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "cc/quads/surface_draw_quad.h" 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/debug/trace_event_argument.h" 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/logging.h" 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/values.h" 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace cc { 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)SurfaceDrawQuad::SurfaceDrawQuad() { 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void SurfaceDrawQuad::SetNew(const SharedQuadState* shared_quad_state, 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const gfx::Rect& rect, 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const gfx::Rect& visible_rect, 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) SurfaceId surface_id) { 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect opaque_rect; 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool needs_blending = false; 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) opaque_rect, visible_rect, needs_blending); 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) this->surface_id = surface_id; 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void SurfaceDrawQuad::SetAll(const SharedQuadState* shared_quad_state, 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const gfx::Rect& rect, 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const gfx::Rect& opaque_rect, 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const gfx::Rect& visible_rect, 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool needs_blending, 32f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) SurfaceId surface_id) { 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) opaque_rect, visible_rect, needs_blending); 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) this->surface_id = surface_id; 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void SurfaceDrawQuad::IterateResources( 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const ResourceIteratorCallback& callback) {} 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) { 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DCHECK_EQ(quad->material, DrawQuad::SURFACE_CONTENT); 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return static_cast<const SurfaceDrawQuad*>(quad); 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void SurfaceDrawQuad::ExtendValue(base::debug::TracedValue* value) const { 47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) value->SetInteger("surface_id", surface_id.id); 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace cc 52