17d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
27d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
37d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// found in the LICENSE file.
47d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
57d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/test/pixel_test_output_surface.h"
67d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "cc/output/output_surface_client.h"
87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "ui/gfx/transform.h"
97d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)namespace cc {
117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
1258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)PixelTestOutputSurface::PixelTestOutputSurface(
1358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    scoped_refptr<ContextProvider> context_provider)
1458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    : OutputSurface(context_provider), external_stencil_test_(false) {}
1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
1658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)PixelTestOutputSurface::PixelTestOutputSurface(
17a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    scoped_ptr<SoftwareOutputDevice> software_device)
1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    : OutputSurface(software_device.Pass()), external_stencil_test_(false) {}
1958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)void PixelTestOutputSurface::Reshape(gfx::Size size, float scale_factor) {
217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  gfx::Size expanded_size(size.width() + surface_expansion_size_.width(),
227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)                          size.height() + surface_expansion_size_.height());
237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  OutputSurface::Reshape(expanded_size, scale_factor);
2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)bool PixelTestOutputSurface::HasExternalStencilTest() const {
2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return external_stencil_test_;
287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}  // namespace cc
31