Upstream version 11.40.277.0
[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       bool flipped_output_surface);
17   explicit PixelTestOutputSurface(
18       scoped_ptr<SoftwareOutputDevice> software_device);
19
20   void Reshape(const gfx::Size& size, float scale_factor) override;
21   bool HasExternalStencilTest() const override;
22   void SwapBuffers(CompositorFrame* frame) override;
23
24   void set_surface_expansion_size(const gfx::Size& surface_expansion_size) {
25     surface_expansion_size_ = surface_expansion_size;
26   }
27   void set_has_external_stencil_test(bool has_test) {
28     external_stencil_test_ = has_test;
29   }
30
31  private:
32   gfx::Size surface_expansion_size_;
33   bool external_stencil_test_;
34 };
35
36 }  // namespace cc
37
38 #endif  // CC_TEST_PIXEL_TEST_OUTPUT_SURFACE_H_