- add sources.
[platform/framework/web/crosswalk.git] / src / cc / test / pixel_test_output_surface.h
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 #ifndef CC_TEST_PIXEL_TEST_OUTPUT_SURFACE_H_
6 #define CC_TEST_PIXEL_TEST_OUTPUT_SURFACE_H_
7
8 #include "cc/output/output_surface.h"
9
10 namespace cc {
11
12 class PixelTestOutputSurface : public OutputSurface {
13  public:
14   explicit PixelTestOutputSurface(
15       scoped_refptr<ContextProvider> context_provider);
16   explicit PixelTestOutputSurface(
17       scoped_ptr<cc::SoftwareOutputDevice> software_device);
18
19   virtual void Reshape(gfx::Size size, float scale_factor) OVERRIDE;
20   virtual bool HasExternalStencilTest() const OVERRIDE;
21
22   void set_surface_expansion_size(gfx::Size surface_expansion_size) {
23     surface_expansion_size_ = surface_expansion_size;
24   }
25   void set_viewport_offset(gfx::Vector2d viewport_offset) {
26     viewport_offset_ = viewport_offset;
27   }
28   void set_device_clip(gfx::Rect device_clip) {
29     device_clip_ = device_clip;
30   }
31   void set_has_external_stencil_test(bool has_test) {
32     external_stencil_test_ = has_test;
33   }
34
35  private:
36   gfx::Size surface_expansion_size_;
37   gfx::Vector2d viewport_offset_;
38   gfx::Rect device_clip_;
39   bool external_stencil_test_;
40 };
41
42 }  // namespace cc
43
44 #endif  // CC_TEST_PIXEL_TEST_OUTPUT_SURFACE_H_