25#include <unordered_map>
45 std::function<void(std::uint32_t ,
61 std::uint32_t frame_width,
62 std::uint32_t frame_height,
63 std::uint32_t frame_fourcc_format,
64 std::uint32_t frame_stride_bytes,
65 std::uint8_t* frame_bytes);
68 std::uint32_t display_width,
69 std::uint32_t display_height);
Definition: wayland_surface.h:31
Definition: wayland_surfaces.h:33
std::optional< FrameCallback > callback_
Definition: wayland_surfaces.h:74
void HandleSurfaceDestroyed(std::uint32_t display_number)
Definition: wayland_surfaces.cpp:74
Surfaces(Surfaces &&rhs)=delete
std::function< void(std::uint32_t, std::uint32_t, std::uint32_t, std::uint32_t, std::uint32_t, std::uint8_t *)> FrameCallback
Definition: wayland_surfaces.h:50
void HandleSurfaceCreated(std::uint32_t display_number, std::uint32_t display_width, std::uint32_t display_height)
Definition: wayland_surfaces.cpp:59
void SetFramesAreRGBA(bool frames_are_rgba)
Definition: wayland_surfaces.cpp:37
virtual ~Surfaces()=default
bool frames_are_rgba_
Definition: wayland_surfaces.h:78
void SetDisplayEventCallback(DisplayEventCallback callback)
Definition: wayland_surfaces.cpp:32
void HandleSurfaceFrame(std::uint32_t display_number, std::uint32_t frame_width, std::uint32_t frame_height, std::uint32_t frame_fourcc_format, std::uint32_t frame_stride_bytes, std::uint8_t *frame_bytes)
Definition: wayland_surfaces.cpp:41
std::mutex callback_mutex_
Definition: wayland_surfaces.h:73
Surfaces(const Surfaces &rhs)=delete
void SetFrameCallback(FrameCallback callback)
Definition: wayland_surfaces.cpp:27
Surfaces & operator=(const Surfaces &rhs)=delete
Surfaces & operator=(Surfaces &&rhs)=delete
std::optional< DisplayEventCallback > event_callback_
Definition: wayland_surfaces.h:75
Definition: wayland_compositor.cpp:27
std::function< void(const DisplayEvent &)> DisplayEventCallback
Definition: wayland_server_callbacks.h:34