Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: cc/quads/surface_draw_quad.cc

Issue 2582823002: WIP: Surface Synchronization System
Patch Set: Only create ClientSurfaceEmbedder if window is visible. Trash it otherwise. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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/quads/surface_draw_quad.h" 5 #include "cc/quads/surface_draw_quad.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/trace_event/trace_event_argument.h" 8 #include "base/trace_event/trace_event_argument.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 10
11 namespace cc { 11 namespace cc {
12 12
13 SurfaceDrawQuad::SurfaceDrawQuad() { 13 SurfaceDrawQuad::SurfaceDrawQuad() {
14 } 14 }
15 15
16 void SurfaceDrawQuad::SetNew(const SharedQuadState* shared_quad_state, 16 void SurfaceDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
17 const gfx::Rect& rect, 17 const gfx::Rect& rect,
18 const gfx::Rect& visible_rect, 18 const gfx::Rect& visible_rect,
19 const SurfaceId& surface_id) { 19 const SurfaceId& surface_id,
20 SurfaceDrawQuadType surface_draw_quad_type,
21 SurfaceDrawQuad* fallback_quad) {
20 gfx::Rect opaque_rect; 22 gfx::Rect opaque_rect;
21 bool needs_blending = false; 23 bool needs_blending = false;
22 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 24 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect,
23 opaque_rect, visible_rect, needs_blending); 25 opaque_rect, visible_rect, needs_blending);
24 this->surface_id = surface_id; 26 this->surface_id = surface_id;
27 this->surface_draw_quad_type = surface_draw_quad_type;
28 this->fallback_quad = fallback_quad;
25 } 29 }
26 30
27 void SurfaceDrawQuad::SetAll(const SharedQuadState* shared_quad_state, 31 void SurfaceDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
28 const gfx::Rect& rect, 32 const gfx::Rect& rect,
29 const gfx::Rect& opaque_rect, 33 const gfx::Rect& opaque_rect,
30 const gfx::Rect& visible_rect, 34 const gfx::Rect& visible_rect,
31 bool needs_blending, 35 bool needs_blending,
32 const SurfaceId& surface_id) { 36 const SurfaceId& surface_id,
37 SurfaceDrawQuadType surface_draw_quad_type,
38 SurfaceDrawQuad* fallback_quad) {
33 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect, 39 DrawQuad::SetAll(shared_quad_state, DrawQuad::SURFACE_CONTENT, rect,
34 opaque_rect, visible_rect, needs_blending); 40 opaque_rect, visible_rect, needs_blending);
35 this->surface_id = surface_id; 41 this->surface_id = surface_id;
42 this->surface_draw_quad_type = surface_draw_quad_type;
43 this->fallback_quad = fallback_quad;
36 } 44 }
37 45
38 const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) { 46 const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) {
39 DCHECK_EQ(quad->material, DrawQuad::SURFACE_CONTENT); 47 DCHECK_EQ(quad->material, DrawQuad::SURFACE_CONTENT);
40 return static_cast<const SurfaceDrawQuad*>(quad); 48 return static_cast<const SurfaceDrawQuad*>(quad);
41 } 49 }
42 50
43 void SurfaceDrawQuad::ExtendValue(base::trace_event::TracedValue* value) const { 51 void SurfaceDrawQuad::ExtendValue(base::trace_event::TracedValue* value) const {
44 value->SetString("surface_id", surface_id.ToString()); 52 value->SetString("surface_id", surface_id.ToString());
45 } 53 }
46 54
47 55
48 } // namespace cc 56 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698