51 void listen(zwlr_export_dmabuf_manager_v1 *dmabuf_manager, wl_output *output,
bool blend_cursor =
false);
56 zwlr_export_dmabuf_frame_v1 *frame,
61 std::uint32_t buffer_flags,
66 std::uint32_t obj_count
70 zwlr_export_dmabuf_frame_v1 *frame,
76 std::uint32_t plane_index
80 zwlr_export_dmabuf_frame_v1 *frame,
81 std::uint32_t tv_sec_hi,
82 std::uint32_t tv_sec_lo,
87 zwlr_export_dmabuf_frame_v1 *frame,
91 inline frame_t *get_next_frame() {
92 return current_frame == &frames[0] ? &frames[1] : &frames[0];
97 std::array<frame_t, 2> frames;
100 zwlr_export_dmabuf_frame_v1_listener listener;
113 void xdg_name(zxdg_output_v1 *,
const char *name);
114 void xdg_description(zxdg_output_v1 *,
const char *description);
115 void xdg_position(zxdg_output_v1 *, std::int32_t x, std::int32_t y);
116 void xdg_size(zxdg_output_v1 *, std::int32_t width, std::int32_t height);
118 void xdg_done(zxdg_output_v1 *) {
121 void wl_geometry(wl_output *wl_output, std::int32_t x, std::int32_t y, std::int32_t physical_width, std::int32_t physical_height, std::int32_t subpixel,
const char *make,
const char *model, std::int32_t transform) {
124 void wl_mode(wl_output *wl_output, std::uint32_t flags, std::int32_t width, std::int32_t height, std::int32_t refresh);
126 void wl_done(wl_output *wl_output) {
129 void wl_scale(wl_output *wl_output, std::int32_t factor) {
132 void listen(zxdg_output_manager_v1 *output_manager);
137 std::string description;
141 wl_output_listener wl_listener;
142 zxdg_output_v1_listener xdg_listener;
148 std::uint32_t version;
166 void listen(wl_registry *registry);
168 std::vector<std::unique_ptr<
monitor_t>> monitors;
170 zwlr_export_dmabuf_manager_v1 *dmabuf_manager;
171 zxdg_output_manager_v1 *output_manager;
174 return interface[bit];
178 void add_interface(wl_registry *registry, std::uint32_t
id,
const char *interface, std::uint32_t version);
179 void del_interface(wl_registry *registry, uint32_t
id);
181 std::bitset<MAX_INTERFACES> interface;
183 wl_registry_listener listener;
int init(const char *display_name=nullptr)
Initialize display. If display_name == nullptr -> display_name = std::getenv("WAYLAND_DISPLAY")
Definition wayland.cpp:40
bool dispatch(std::chrono::milliseconds timeout)
Waits up to the specified timeout to dispatch new events on the wl_display.
Definition wayland.cpp:70
std::unique_ptr< platf::deinit_t > init(const std::filesystem::path &persistence_filepath, const config::video_t &video_config)
Initialize the implementation and perform the initial state recovery (if needed).
Definition display_device.cpp:704