blob: ac499da5eb2c75fdc82ef8e6b618e885ead75aff [file] [log] [blame]
Ben Murdochbb1529c2013-08-08 10:24:53 +01001// 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 CONTENT_BROWSER_AURA_SOFTWARE_OUTPUT_SURFACE_H_
6#define CONTENT_BROWSER_AURA_SOFTWARE_OUTPUT_SURFACE_H_
7
8#include "cc/output/output_surface.h"
9
10namespace cc { class SoftwareOutputDevice; }
11
12namespace content {
13
14// TODO(danakj): Inherit from BrowserCompositorOutputSurface to share stuff like
15// reflectors, when we split the GL-specific stuff out of the class.
16class SoftwareBrowserCompositorOutputSurface : public cc::OutputSurface {
17 public:
18 static scoped_ptr<SoftwareBrowserCompositorOutputSurface> Create(
19 scoped_ptr<cc::SoftwareOutputDevice> software_device) {
20 return make_scoped_ptr(
21 new SoftwareBrowserCompositorOutputSurface(software_device.Pass()));
22 }
23
24 private:
25 explicit SoftwareBrowserCompositorOutputSurface(
26 scoped_ptr<cc::SoftwareOutputDevice> software_device);
27
28 virtual void SwapBuffers(cc::CompositorFrame* frame) OVERRIDE;
29};
30
31} // namespace content
32
33#endif // CONTENT_BROWSER_AURA_SOFTWARE_OUTPUT_SURFACE_H_