Mir
server_render_window.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by:
17  * Kevin DuBois <kevin.dubois@canonical.com>
18  */
19 
20 #ifndef MIR_GRAPHICS_ANDROID_SERVER_RENDER_WINDOW_H_
21 #define MIR_GRAPHICS_ANDROID_SERVER_RENDER_WINDOW_H_
22 
24 #include "device_quirks.h"
25 #include "mir_toolkit/common.h"
26 
27 #include <memory>
28 
29 namespace mir
30 {
31 namespace graphics
32 {
33 namespace android
34 {
35 
36 class FramebufferBundle;
37 class InterpreterResourceCache;
39 {
40 public:
41  ServerRenderWindow(std::shared_ptr<FramebufferBundle> const& fb_bundle,
42  MirPixelFormat format,
43  std::shared_ptr<InterpreterResourceCache> const&,
44  DeviceQuirks& quirks);
45 
47  void driver_returns_buffer(ANativeWindowBuffer*, int fence_fd) override;
48  void dispatch_driver_request_format(int format) override;
49  void dispatch_driver_request_buffer_count(unsigned int count) override;
50  int driver_requests_info(int key) const override;
51  void sync_to_display(bool sync) override;
52 
53 private:
54  std::shared_ptr<FramebufferBundle> const fb_bundle;
55  std::shared_ptr<InterpreterResourceCache> const resource_cache;
56  int format;
57  bool const clear_fence;
58 };
59 
60 }
61 }
62 }
63 
64 #endif /* MIR_GRAPHICS_ANDROID_SERVER_RENDER_WINDOW_H_ */
void driver_returns_buffer(ANativeWindowBuffer *, int fence_fd) override
Definition: server_render_window.cpp:57
All things Mir.
Definition: atomic_callback.h:25
void dispatch_driver_request_buffer_count(unsigned int count) override
Definition: server_render_window.cpp:110
ServerRenderWindow(std::shared_ptr< FramebufferBundle > const &fb_bundle, MirPixelFormat format, std::shared_ptr< InterpreterResourceCache > const &, DeviceQuirks &quirks)
Definition: server_render_window.cpp:37
graphics::NativeBuffer * driver_requests_buffer() override
Definition: server_render_window.cpp:49
Definition: device_quirks.h:57
Definition: server_render_window.h:38
Definition: native_buffer.h:44
void dispatch_driver_request_format(int format) override
Definition: server_render_window.cpp:69
void sync_to_display(bool sync) override
Definition: server_render_window.cpp:106
MirPixelFormat
32-bit pixel formats (8888): The order of components in the enum matches the order of the components ...
Definition: common.h:134
Definition: android_driver_interpreter.h:32
int driver_requests_info(int key) const override
Definition: server_render_window.cpp:74
Definition: android_input_receiver.h:36

Copyright © 2012-2015 Canonical Ltd.
Generated on Wed Mar 30 00:29:56 UTC 2016