OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 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_RENDERER_HOST_SOFTWARE_OUTPUT_DEVICE_H_ | |
6 #define CONTENT_BROWSER_RENDERER_HOST_SOFTWARE_OUTPUT_DEVICE_H_ | |
7 | |
8 #include "cc/software_output_device.h" | |
9 | |
10 #if defined(OS_WIN) | |
11 #include <windows.h> | |
12 #elif defined(USE_X11) | |
13 #include "ui/base/x/x11_util.h" | |
14 #endif | |
15 | |
16 namespace ui { | |
17 class Compositor; | |
18 } | |
19 | |
20 namespace content { | |
21 | |
22 class SoftwareOutputDevice : public cc::SoftwareOutputDevice { | |
23 public: | |
24 SoftwareOutputDevice(ui::Compositor* compositor); | |
piman
2013/03/06 19:22:30
nit: explicit
piman
2013/03/06 19:22:30
When threaded compositing is on, This class will b
slavi
2013/03/06 21:51:20
Done
slavi
2013/03/06 21:51:20
I think it's fine not to support in-browser thread
| |
25 | |
26 virtual ~SoftwareOutputDevice(); | |
27 | |
28 virtual void Resize(const gfx::Size& viewport_size) OVERRIDE; | |
29 | |
30 virtual void EndPaint(cc::SoftwareFrameData* frame_data) OVERRIDE; | |
31 | |
32 private: | |
33 ui::Compositor* compositor_; | |
34 | |
35 #if defined(OS_WIN) | |
36 HDC hdc_; | |
37 BITMAPINFOHEADER bitmap_header_; | |
38 #elif defined(USE_X11) | |
39 void ClearImage(); | |
40 | |
41 Display* display_; | |
42 GC gc_; | |
43 XImage* image_; | |
44 #endif | |
45 }; | |
46 | |
47 } // namespace content | |
48 | |
49 #endif // CONTENT_BROWSER_RENDERER_HOST_SOFTWARE_OUTPUT_DEVICE_H_ | |
OLD | NEW |