- add sources.
[platform/framework/web/crosswalk.git] / src / cc / test / pixel_test_output_surface.cc
1 // Copyright 2013 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/test/pixel_test_output_surface.h"
6
7 #include "cc/output/output_surface_client.h"
8 #include "ui/gfx/transform.h"
9
10 namespace cc {
11
12 PixelTestOutputSurface::PixelTestOutputSurface(
13     scoped_refptr<ContextProvider> context_provider)
14     : OutputSurface(context_provider), external_stencil_test_(false) {}
15
16 PixelTestOutputSurface::PixelTestOutputSurface(
17     scoped_ptr<cc::SoftwareOutputDevice> software_device)
18     : OutputSurface(software_device.Pass()), external_stencil_test_(false) {}
19
20 void PixelTestOutputSurface::Reshape(gfx::Size size, float scale_factor) {
21   gfx::Size expanded_size(size.width() + surface_expansion_size_.width(),
22                           size.height() + surface_expansion_size_.height());
23   OutputSurface::Reshape(expanded_size, scale_factor);
24
25   gfx::Rect offset_viewport = gfx::Rect(size) + viewport_offset_;
26   gfx::Rect offset_clip = device_clip_.IsEmpty()
27                               ? offset_viewport
28                               : device_clip_ + viewport_offset_;
29   SetExternalDrawConstraints(
30       gfx::Transform(), offset_viewport, offset_clip, true);
31 }
32
33 bool PixelTestOutputSurface::HasExternalStencilTest() const {
34   return external_stencil_test_;
35 }
36
37 }  // namespace cc