Go to the documentation of this file.
19 #ifndef MIRAL_WAYLAND_HELPERS_H
20 #define MIRAL_WAYLAND_HELPERS_H
22 #include <wayland-client.h>
26 #include <unordered_map>
28 template<
typename Type>
29 auto make_scoped(Type* owned,
void(*deleter)(Type*)) -> std::unique_ptr<Type, void(*)(Type*)>
31 return {owned, deleter};
34 wl_shm_pool*
make_shm_pool(
struct wl_shm* shm,
int size,
void **data);
41 std::function<
void(
Output const&)> on_constructed,
42 std::function<
void(
Output const&)> on_change);
55 static void output_done(
void* data, wl_output*
output);
57 static wl_output_listener
const output_listener;
59 std::function<void(
Output const&)> on_constructed;
60 std::function<void(
Output const&)> on_change;
67 std::function<
void(
Output const&)> on_new_output,
68 std::function<
void(
Output const&)> on_output_changed,
69 std::function<
void(
Output const&)> on_output_gone);
72 wl_shm*
shm =
nullptr;
76 void init(
struct wl_display* display);
80 static void new_global(
82 struct wl_registry* registry,
84 char const* interface,
87 static void global_remove(
89 struct wl_registry* registry,
92 wl_registry_listener
const registry_listener = {
97 std::unique_ptr<wl_registry, decltype(&wl_registry_destroy)> registry;
99 std::unordered_map<uint32_t, std::unique_ptr<Output>> bound_outputs;
101 std::function<void(
Output const&)>
const on_new_output;
102 std::function<void(
Output const&)>
const on_output_changed;
103 std::function<void(
Output const&)>
const on_output_gone;
106 #endif //MIRAL_WAYLAND_HELPERS_H
auto make_scoped(Type *owned, void(*deleter)(Type *)) -> std::unique_ptr< Type, void(*)(Type *)>
Definition: wayland_helpers.h:29
int scale
Definition: wayland_helpers.h:52
~Output()
Definition: wayland_helpers.cpp:160
wl_shm_pool * make_shm_pool(struct wl_shm *shm, int size, void **data)
Definition: wayland_helpers.cpp:31
Output(wl_output *output, std::function< void(Output const &)> on_constructed, std::function< void(Output const &)> on_change)
Definition: wayland_helpers.cpp:149
wl_compositor * compositor
Definition: wayland_helpers.h:71
int32_t transform
Definition: wayland_helpers.h:51
Definition: wayland_helpers.h:64
void teardown()
Definition: wayland_helpers.cpp:245
Output & operator=(Output &&)=delete
wl_output * output
Definition: wayland_helpers.h:53
wl_shm * shm
Definition: wayland_helpers.h:72
Globals(std::function< void(Output const &)> on_new_output, std::function< void(Output const &)> on_output_changed, std::function< void(Output const &)> on_output_gone)
Definition: wayland_helpers.cpp:166
Output(Output const &)=delete
wl_shell * shell
Definition: wayland_helpers.h:74
Output & operator=(Output const &)=delete
Definition: wayland_helpers.h:37
wl_seat * seat
Definition: wayland_helpers.h:73
void init(struct wl_display *display)
Definition: wayland_helpers.cpp:236
char const * name
Definition: client_types.h:0
Copyright © 2012-2020
Canonical Ltd.
Generated on Sun Dec 20 20:38:20 UTC 2020
This documentation is licensed under the GPL version 2 or 3.