15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "cc/test/mock_quad_culler.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/draw_quad.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace cc {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockQuadCuller::MockQuadCuller()
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : active_quad_list_(&quad_list_storage_),
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      active_shared_quad_state_list_(&shared_quad_state_storage_) {}
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockQuadCuller::MockQuadCuller(
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    QuadList* external_quad_list,
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    SharedQuadStateList* external_shared_quad_state_list)
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : active_quad_list_(external_quad_list),
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      active_shared_quad_state_list_(external_shared_quad_state_list) {}
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockQuadCuller::~MockQuadCuller() {}
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool MockQuadCuller::Append(scoped_ptr<DrawQuad> draw_quad, AppendQuadsData*) {
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!draw_quad->rect.IsEmpty()) {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    active_quad_list_->push_back(draw_quad.Pass());
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return true;
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return false;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)SharedQuadState* MockQuadCuller::UseSharedQuadState(
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    scoped_ptr<SharedQuadState> shared_quad_state) {
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  SharedQuadState* raw_ptr = shared_quad_state.get();
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  active_shared_quad_state_list_->push_back(shared_quad_state.Pass());
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return raw_ptr;
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace cc
39