12struct wp_presentation;
13struct wp_presentation_feedback;
25enum class presentation_error : uint32_t;
26class presentation_feedback_t;
27struct presentation_feedback_kind;
29enum class viewporter_error : uint32_t;
31enum class viewport_error : uint32_t;
33enum class xdg_wm_base_error : uint32_t;
34class xdg_positioner_t;
35enum class xdg_positioner_error : uint32_t;
36enum class xdg_positioner_anchor : uint32_t;
37enum class xdg_positioner_gravity : uint32_t;
38struct xdg_positioner_constraint_adjustment;
40enum class xdg_surface_error : uint32_t;
42enum class xdg_toplevel_error : uint32_t;
43struct xdg_toplevel_resize_edge;
44enum class xdg_toplevel_state : uint32_t;
46enum class xdg_popup_error : uint32_t;
50 extern const wl_interface presentation_interface;
51 extern const wl_interface presentation_feedback_interface;
52 extern const wl_interface viewporter_interface;
53 extern const wl_interface viewport_interface;
54 extern const wl_interface xdg_wm_base_interface;
55 extern const wl_interface xdg_positioner_interface;
56 extern const wl_interface xdg_surface_interface;
57 extern const wl_interface xdg_toplevel_interface;
58 extern const wl_interface xdg_popup_interface;
80 struct events_t :
public detail::events_base_t
82 std::function<void(uint32_t)> clock_id;
85 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
96 static const std::string interface_name;
98 operator wp_presentation*()
const;
164enum class presentation_error : uint32_t
167 invalid_timestamp = 0,
191 struct events_t :
public detail::events_base_t
193 std::function<void(
output_t)> sync_output;
195 std::function<void()> discarded;
198 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
209 static const std::string interface_name;
211 operator wp_presentation_feedback*()
const;
302 : wayland::detail::bitfield<4, 1>(b) {}
304 : wayland::detail::bitfield<4, 1>(value) {}
305 static const wayland::detail::bitfield<4, 1> vsync;
306 static const wayland::detail::bitfield<4, 1> hw_clock;
307 static const wayland::detail::bitfield<4, 1> hw_completion;
308 static const wayland::detail::bitfield<4, 1> zero_copy;
325 struct events_t :
public detail::events_base_t
329 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
340 static const std::string interface_name;
342 operator wp_viewporter*()
const;
365enum class viewporter_error : uint32_t
440 struct events_t :
public detail::events_base_t
444 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
455 static const std::string interface_name;
457 operator wp_viewport*()
const;
478 void set_source(
double x,
double y,
double width,
double height);
512enum class viewport_error : uint32_t
537 struct events_t :
public detail::events_base_t
539 std::function<void(uint32_t)> ping;
542 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
553 static const std::string interface_name;
555 operator xdg_wm_base*()
const;
601 void pong(uint32_t serial);
623 std::function<void(uint32_t)> &
on_ping();
630enum class xdg_wm_base_error : uint32_t
635 defunct_surfaces = 1,
637 not_the_topmost_popup = 2,
639 invalid_popup_parent = 3,
641 invalid_surface_state = 4,
643 invalid_positioner = 5
673 struct events_t :
public detail::events_base_t
677 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
688 static const std::string interface_name;
690 operator xdg_positioner*()
const;
703 void set_size(int32_t width, int32_t height);
727 void set_anchor_rect(int32_t x, int32_t y, int32_t width, int32_t height);
744 void set_anchor(xdg_positioner_anchor
const& anchor);
761 void set_gravity(xdg_positioner_gravity
const& gravity);
884enum class xdg_positioner_error : uint32_t
893enum class xdg_positioner_anchor : uint32_t
909enum class xdg_positioner_gravity : uint32_t
940 : wayland::detail::bitfield<6, 8>(b) {}
942 : wayland::detail::bitfield<6, 8>(value) {}
943 static const wayland::detail::bitfield<6, 8> none;
944 static const wayland::detail::bitfield<6, 8> slide_x;
945 static const wayland::detail::bitfield<6, 8> slide_y;
946 static const wayland::detail::bitfield<6, 8> flip_x;
947 static const wayland::detail::bitfield<6, 8> flip_y;
948 static const wayland::detail::bitfield<6, 8> resize_x;
949 static const wayland::detail::bitfield<6, 8> resize_y;
1005 struct events_t :
public detail::events_base_t
1007 std::function<void(uint32_t)> configure;
1010 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1021 static const std::string interface_name;
1023 operator xdg_surface*()
const;
1161enum class xdg_surface_error : uint32_t
1163 not_constructed = 1,
1164 already_constructed = 2,
1165 unconfigured_buffer = 3
1193 struct events_t :
public detail::events_base_t
1195 std::function<void(int32_t, int32_t, array_t)> configure;
1196 std::function<void()> close;
1197 std::function<void(int32_t, int32_t)> configure_bounds;
1200 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1211 static const std::string interface_name;
1213 operator xdg_toplevel*()
const;
1254 void set_title(std::string
const& title);
1341 void move(
seat_t const& seat, uint32_t serial);
1648 std::function<void(int32_t, int32_t, array_t)> &
on_configure();
1692enum class xdg_toplevel_error : uint32_t
1695 invalid_resize_edge = 0
1707 : wayland::detail::bitfield<4, 11>(b) {}
1709 : wayland::detail::bitfield<4, 11>(value) {}
1710 static const wayland::detail::bitfield<4, 11> none;
1711 static const wayland::detail::bitfield<4, 11> top;
1712 static const wayland::detail::bitfield<4, 11> bottom;
1713 static const wayland::detail::bitfield<4, 11> left;
1714 static const wayland::detail::bitfield<4, 11> top_left;
1715 static const wayland::detail::bitfield<4, 11> bottom_left;
1716 static const wayland::detail::bitfield<4, 11> right;
1717 static const wayland::detail::bitfield<4, 11> top_right;
1718 static const wayland::detail::bitfield<4, 11> bottom_right;
1732enum class xdg_toplevel_state : uint32_t
1780 struct events_t :
public detail::events_base_t
1782 std::function<void(int32_t, int32_t, int32_t, int32_t)> configure;
1783 std::function<void()> popup_done;
1784 std::function<void(uint32_t)> repositioned;
1787 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1798 static const std::string interface_name;
1800 operator xdg_popup*()
const;
1849 void grab(
seat_t const& seat, uint32_t serial);
1915 std::function<void(int32_t, int32_t, int32_t, int32_t)> &
on_configure();
1953enum class xdg_popup_error : uint32_t
presentation time feedback event
std::function< void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, presentation_feedback_kind)> & on_presented()
the content update was displayed
std::function< void()> & on_discarded()
the content update was not displayed
std::function< void(output_t)> & on_sync_output()
presentation synchronized to this output
timed presentation related wl_surface requests
std::function< void(uint32_t)> & on_clock_id()
clock ID for timestamps
presentation_feedback_t feedback(surface_t const &surface)
request presentation feedback information
static constexpr std::uint32_t feedback_since_version
Minimum protocol version required for the feedback function.
Represents a protocol object on the client side.
crop and scale interface to a wl_surface
void set_source(double x, double y, double width, double height)
set the source rectangle for cropping
void set_destination(int32_t width, int32_t height)
set the surface size for scaling
static constexpr std::uint32_t set_source_since_version
Minimum protocol version required for the set_source function.
static constexpr std::uint32_t set_destination_since_version
Minimum protocol version required for the set_destination function.
surface cropping and scaling
static constexpr std::uint32_t get_viewport_since_version
Minimum protocol version required for the get_viewport function.
viewport_t get_viewport(surface_t const &surface)
extend surface interface for crop and scale
short-lived, popup surfaces for menus
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_configure()
configure the popup surface
std::function< void()> & on_popup_done()
popup interaction is done
void grab(seat_t const &seat, uint32_t serial)
make the popup take an explicit grab
void reposition(xdg_positioner_t const &positioner, uint32_t token)
recalculate the popup's location
static constexpr std::uint32_t grab_since_version
Minimum protocol version required for the grab function.
std::function< void(uint32_t)> & on_repositioned()
signal the completion of a repositioned request
bool can_reposition() const
Check whether the reposition function is available with the currently bound version of the protocol.
static constexpr std::uint32_t reposition_since_version
Minimum protocol version required for the reposition function.
static constexpr std::uint32_t set_size_since_version
Minimum protocol version required for the set_size function.
static constexpr std::uint32_t set_parent_configure_since_version
Minimum protocol version required for the set_parent_configure function.
void set_parent_configure(uint32_t serial)
set parent configure this is a response to
void set_reactive()
continuously reconstrain the surface
void set_offset(int32_t x, int32_t y)
set surface position offset
static constexpr std::uint32_t set_parent_size_since_version
Minimum protocol version required for the set_parent_size function.
static constexpr std::uint32_t set_anchor_rect_since_version
Minimum protocol version required for the set_anchor_rect function.
static constexpr std::uint32_t set_reactive_since_version
Minimum protocol version required for the set_reactive function.
void set_constraint_adjustment(xdg_positioner_constraint_adjustment const &constraint_adjustment)
set the adjustment to be done when constrained
static constexpr std::uint32_t set_gravity_since_version
Minimum protocol version required for the set_gravity function.
bool can_set_reactive() const
Check whether the set_reactive function is available with the currently bound version of the protocol...
static constexpr std::uint32_t set_offset_since_version
Minimum protocol version required for the set_offset function.
void set_size(int32_t width, int32_t height)
set the size of the to-be positioned rectangle
static constexpr std::uint32_t set_anchor_since_version
Minimum protocol version required for the set_anchor function.
void set_gravity(xdg_positioner_gravity const &gravity)
set child surface gravity
static constexpr std::uint32_t set_constraint_adjustment_since_version
Minimum protocol version required for the set_constraint_adjustment function.
bool can_set_parent_configure() const
Check whether the set_parent_configure function is available with the currently bound version of the ...
void set_anchor(xdg_positioner_anchor const &anchor)
set anchor rectangle anchor
void set_anchor_rect(int32_t x, int32_t y, int32_t width, int32_t height)
set the anchor rectangle within the parent surface
bool can_set_parent_size() const
Check whether the set_parent_size function is available with the currently bound version of the proto...
void set_parent_size(int32_t parent_width, int32_t parent_height)
desktop user interface surface base interface
static constexpr std::uint32_t set_window_geometry_since_version
Minimum protocol version required for the set_window_geometry function.
static constexpr std::uint32_t get_popup_since_version
Minimum protocol version required for the get_popup function.
std::function< void(uint32_t)> & on_configure()
suggest a surface change
xdg_toplevel_t get_toplevel()
assign the xdg_toplevel surface role
void ack_configure(uint32_t serial)
ack a configure event
static constexpr std::uint32_t ack_configure_since_version
Minimum protocol version required for the ack_configure function.
xdg_popup_t get_popup(xdg_surface_t const &parent, xdg_positioner_t const &positioner)
assign the xdg_popup surface role
static constexpr std::uint32_t get_toplevel_since_version
Minimum protocol version required for the get_toplevel function.
void set_window_geometry(int32_t x, int32_t y, int32_t width, int32_t height)
set the new window geometry
void set_title(std::string const &title)
set surface title
std::function< void()> & on_close()
surface wants to be closed
static constexpr std::uint32_t resize_since_version
Minimum protocol version required for the resize function.
static constexpr std::uint32_t set_max_size_since_version
Minimum protocol version required for the set_max_size function.
static constexpr std::uint32_t unset_maximized_since_version
Minimum protocol version required for the unset_maximized function.
void show_window_menu(seat_t const &seat, uint32_t serial, int32_t x, int32_t y)
show the window menu
void set_min_size(int32_t width, int32_t height)
set the minimum size
std::function< void(int32_t, int32_t, array_t)> & on_configure()
suggest a surface change
void set_maximized()
maximize the window
std::function< void(int32_t, int32_t)> & on_configure_bounds()
recommended window geometry bounds
static constexpr std::uint32_t set_fullscreen_since_version
Minimum protocol version required for the set_fullscreen function.
void set_max_size(int32_t width, int32_t height)
set the maximum size
static constexpr std::uint32_t set_min_size_since_version
Minimum protocol version required for the set_min_size function.
static constexpr std::uint32_t set_app_id_since_version
Minimum protocol version required for the set_app_id function.
static constexpr std::uint32_t show_window_menu_since_version
Minimum protocol version required for the show_window_menu function.
static constexpr std::uint32_t set_minimized_since_version
Minimum protocol version required for the set_minimized function.
void set_minimized()
set the window as minimized
void set_fullscreen(output_t const &output)
set the window as fullscreen on an output
void move(seat_t const &seat, uint32_t serial)
start an interactive move
static constexpr std::uint32_t move_since_version
Minimum protocol version required for the move function.
static constexpr std::uint32_t set_maximized_since_version
Minimum protocol version required for the set_maximized function.
static constexpr std::uint32_t unset_fullscreen_since_version
Minimum protocol version required for the unset_fullscreen function.
static constexpr std::uint32_t set_title_since_version
Minimum protocol version required for the set_title function.
void set_app_id(std::string const &app_id)
set application ID
static constexpr std::uint32_t set_parent_since_version
Minimum protocol version required for the set_parent function.
void unset_fullscreen()
unset the window as fullscreen
void set_parent(xdg_toplevel_t const &parent)
set the parent of this surface
void resize(seat_t const &seat, uint32_t serial, xdg_toplevel_resize_edge const &edges)
start an interactive resize
void unset_maximized()
unmaximize the window
create desktop-style surfaces
std::function< void(uint32_t)> & on_ping()
check if the client is alive
static constexpr std::uint32_t get_xdg_surface_since_version
Minimum protocol version required for the get_xdg_surface function.
static constexpr std::uint32_t create_positioner_since_version
Minimum protocol version required for the create_positioner function.
void pong(uint32_t serial)
respond to a ping event
static constexpr std::uint32_t pong_since_version
Minimum protocol version required for the pong function.
xdg_positioner_t create_positioner()
create a positioner object
xdg_surface_t get_xdg_surface(surface_t const &surface)
create a shell surface from a surface
bitmask of flags in presented event