1// Copyright 2014 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_COMPOSITOR_SOFTWARE_OUTPUT_DEVICE_X11_H_
6#define CONTENT_BROWSER_COMPOSITOR_SOFTWARE_OUTPUT_DEVICE_X11_H_
7
8#include <X11/Xlib.h>
9
10#include "cc/output/software_output_device.h"
11#include "ui/gfx/x/x11_types.h"
12
13namespace ui {
14class Compositor;
15}
16
17namespace content {
18
19class SoftwareOutputDeviceX11 : public cc::SoftwareOutputDevice {
20 public:
21  explicit SoftwareOutputDeviceX11(ui::Compositor* compositor);
22
23  virtual ~SoftwareOutputDeviceX11();
24
25  virtual void EndPaint(cc::SoftwareFrameData* frame_data) OVERRIDE;
26
27 private:
28  ui::Compositor* compositor_;
29  XDisplay* display_;
30  GC gc_;
31  XWindowAttributes attributes_;
32
33  DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceX11);
34};
35
36}  // namespace content
37
38#endif  // CONTENT_BROWSER_COMPOSITOR_SOFTWARE_OUTPUT_DEVICE_X11_H_
39