• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
11 namespace cc {
12 
SurfaceDrawQuad()13 SurfaceDrawQuad::SurfaceDrawQuad() {
14 }
15 
SetNew(const SharedQuadState * shared_quad_state,const gfx::Rect & rect,const gfx::Rect & visible_rect,SurfaceId surface_id)16 void 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 
SetAll(const SharedQuadState * shared_quad_state,const gfx::Rect & rect,const gfx::Rect & opaque_rect,const gfx::Rect & visible_rect,bool needs_blending,SurfaceId surface_id)27 void 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 
IterateResources(const ResourceIteratorCallback & callback)38 void SurfaceDrawQuad::IterateResources(
39     const ResourceIteratorCallback& callback) {}
40 
MaterialCast(const DrawQuad * quad)41 const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) {
42   DCHECK_EQ(quad->material, DrawQuad::SURFACE_CONTENT);
43   return static_cast<const SurfaceDrawQuad*>(quad);
44 }
45 
ExtendValue(base::debug::TracedValue * value) const46 void SurfaceDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
47   value->SetInteger("surface_id", surface_id.id);
48 }
49 
50 
51 }  // namespace cc
52