Wayland++  0.2.6
C++ Bindings for Wayland
wayland-client-protocol-extra.hpp
1 #pragma once
2 
3 #include <array>
4 #include <functional>
5 #include <memory>
6 #include <string>
7 #include <vector>
8 
9 #include <wayland-client.hpp>
10 
11 struct wp_presentation;
12 struct wp_presentation_feedback;
13 struct wp_viewporter;
14 struct wp_viewport;
15 struct xdg_wm_base;
16 struct xdg_positioner;
17 struct xdg_surface;
18 struct xdg_toplevel;
19 struct xdg_popup;
20 
21 namespace wayland
22 {
23 class presentation_t;
24 enum class presentation_error : uint32_t;
25 class presentation_feedback_t;
26 struct presentation_feedback_kind;
27 class viewporter_t;
28 enum class viewporter_error : uint32_t;
29 class viewport_t;
30 enum class viewport_error : uint32_t;
31 class xdg_wm_base_t;
32 enum class xdg_wm_base_error : uint32_t;
33 class xdg_positioner_t;
34 enum class xdg_positioner_error : uint32_t;
35 enum class xdg_positioner_anchor : uint32_t;
36 enum class xdg_positioner_gravity : uint32_t;
37 struct xdg_positioner_constraint_adjustment;
38 class xdg_surface_t;
39 enum class xdg_surface_error : uint32_t;
40 class xdg_toplevel_t;
41 struct xdg_toplevel_resize_edge;
42 enum class xdg_toplevel_state : uint32_t;
43 class xdg_popup_t;
44 enum class xdg_popup_error : uint32_t;
45 
46 namespace detail
47 {
48  extern const wl_interface presentation_interface;
49  extern const wl_interface presentation_feedback_interface;
50  extern const wl_interface viewporter_interface;
51  extern const wl_interface viewport_interface;
52  extern const wl_interface xdg_wm_base_interface;
53  extern const wl_interface xdg_positioner_interface;
54  extern const wl_interface xdg_surface_interface;
55  extern const wl_interface xdg_toplevel_interface;
56  extern const wl_interface xdg_popup_interface;
57 }
58 
75 class presentation_t : public proxy_t
76 {
77 private:
78  struct events_t : public detail::events_base_t
79  {
80  std::function<void(uint32_t)> clock_id;
81  };
82 
83  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
84 
85  presentation_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
86 
87 public:
89  explicit presentation_t(const proxy_t &proxy);
90  presentation_t(wp_presentation *p, wrapper_type t = wrapper_type::standard);
91 
92  presentation_t proxy_create_wrapper();
93 
94  static const std::string interface_name;
95 
96  operator wp_presentation*() const;
97 
113 
116  static constexpr std::uint32_t feedback_since_version = 1;
117 
152  std::function<void(uint32_t)> &on_clock_id();
153 
154 };
155 
162 enum class presentation_error : uint32_t
163  {
165  invalid_timestamp = 0,
167  invalid_flag = 1
168 };
169 
170 
187 {
188 private:
189  struct events_t : public detail::events_base_t
190  {
191  std::function<void(output_t)> sync_output;
192  std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, presentation_feedback_kind)> presented;
193  std::function<void()> discarded;
194  };
195 
196  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
197 
198  presentation_feedback_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
199 
200 public:
202  explicit presentation_feedback_t(const proxy_t &proxy);
203  presentation_feedback_t(wp_presentation_feedback *p, wrapper_type t = wrapper_type::standard);
204 
205  presentation_feedback_t proxy_create_wrapper();
206 
207  static const std::string interface_name;
208 
209  operator wp_presentation_feedback*() const;
210 
224  std::function<void(output_t)> &on_sync_output();
225 
278  std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, presentation_feedback_kind)> &on_presented();
279 
285  std::function<void()> &on_discarded();
286 
287 };
288 
325 struct presentation_feedback_kind : public detail::bitfield<4, 1>
326 {
327  presentation_feedback_kind(const detail::bitfield<4, 1> &b)
328  : detail::bitfield<4, 1>(b) {}
329  presentation_feedback_kind(const uint32_t value)
330  : detail::bitfield<4, 1>(value) {}
332  static const detail::bitfield<4, 1> vsync;
334  static const detail::bitfield<4, 1> hw_clock;
336  static const detail::bitfield<4, 1> hw_completion;
338  static const detail::bitfield<4, 1> zero_copy;
339 };
340 
341 
352 class viewporter_t : public proxy_t
353 {
354 private:
355  struct events_t : public detail::events_base_t
356  {
357  };
358 
359  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
360 
361  viewporter_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
362 
363 public:
364  viewporter_t();
365  explicit viewporter_t(const proxy_t &proxy);
366  viewporter_t(wp_viewporter *p, wrapper_type t = wrapper_type::standard);
367 
368  viewporter_t proxy_create_wrapper();
369 
370  static const std::string interface_name;
371 
372  operator wp_viewporter*() const;
373 
385 
388  static constexpr std::uint32_t get_viewport_since_version = 1;
389 
390 };
391 
395 enum class viewporter_error : uint32_t
396  {
398  viewport_exists = 0
399 };
400 
401 
467 class viewport_t : public proxy_t
468 {
469 private:
470  struct events_t : public detail::events_base_t
471  {
472  };
473 
474  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
475 
476  viewport_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
477 
478 public:
479  viewport_t();
480  explicit viewport_t(const proxy_t &proxy);
481  viewport_t(wp_viewport *p, wrapper_type t = wrapper_type::standard);
482 
483  viewport_t proxy_create_wrapper();
484 
485  static const std::string interface_name;
486 
487  operator wp_viewport*() const;
488 
508  void set_source(double x, double y, double width, double height);
509 
512  static constexpr std::uint32_t set_source_since_version = 1;
513 
531  void set_destination(int32_t width, int32_t height);
532 
535  static constexpr std::uint32_t set_destination_since_version = 1;
536 
537 };
538 
542 enum class viewport_error : uint32_t
543  {
545  bad_value = 0,
547  bad_size = 1,
549  out_of_buffer = 2,
551  no_surface = 3
552 };
553 
554 
564 class xdg_wm_base_t : public proxy_t
565 {
566 private:
567  struct events_t : public detail::events_base_t
568  {
569  std::function<void(uint32_t)> ping;
570  };
571 
572  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
573 
574  xdg_wm_base_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
575 
576 public:
577  xdg_wm_base_t();
578  explicit xdg_wm_base_t(const proxy_t &proxy);
580 
581  xdg_wm_base_t proxy_create_wrapper();
582 
583  static const std::string interface_name;
584 
585  operator xdg_wm_base*() const;
586 
595 
598  static constexpr std::uint32_t create_positioner_since_version = 1;
599 
617 
620  static constexpr std::uint32_t get_xdg_surface_since_version = 1;
621 
629  void pong(uint32_t serial);
630 
633  static constexpr std::uint32_t pong_since_version = 1;
634 
651  std::function<void(uint32_t)> &on_ping();
652 
653 };
654 
658 enum class xdg_wm_base_error : uint32_t
659  {
661  role = 0,
663  defunct_surfaces = 1,
665  not_the_topmost_popup = 2,
667  invalid_popup_parent = 3,
669  invalid_surface_state = 4,
671  invalid_positioner = 5
672 };
673 
674 
698 class xdg_positioner_t : public proxy_t
699 {
700 private:
701  struct events_t : public detail::events_base_t
702  {
703  };
704 
705  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
706 
707  xdg_positioner_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
708 
709 public:
711  explicit xdg_positioner_t(const proxy_t &proxy);
712  xdg_positioner_t(xdg_positioner *p, wrapper_type t = wrapper_type::standard);
713 
714  xdg_positioner_t proxy_create_wrapper();
715 
716  static const std::string interface_name;
717 
718  operator xdg_positioner*() const;
719 
731  void set_size(int32_t width, int32_t height);
732 
735  static constexpr std::uint32_t set_size_since_version = 1;
736 
755  void set_anchor_rect(int32_t x, int32_t y, int32_t width, int32_t height);
756 
759  static constexpr std::uint32_t set_anchor_rect_since_version = 1;
760 
772  void set_anchor(xdg_positioner_anchor anchor);
773 
776  static constexpr std::uint32_t set_anchor_since_version = 1;
777 
789  void set_gravity(xdg_positioner_gravity gravity);
790 
793  static constexpr std::uint32_t set_gravity_since_version = 1;
794 
814 
817  static constexpr std::uint32_t set_constraint_adjustment_since_version = 1;
818 
836  void set_offset(int32_t x, int32_t y);
837 
840  static constexpr std::uint32_t set_offset_since_version = 1;
841 
842 };
843 
847 enum class xdg_positioner_error : uint32_t
848  {
850  invalid_input = 0
851 };
852 
856 enum class xdg_positioner_anchor : uint32_t
857  {
858  none = 0,
859  top = 1,
860  bottom = 2,
861  left = 3,
862  right = 4,
863  top_left = 5,
864  bottom_left = 6,
865  top_right = 7,
866  bottom_right = 8
867 };
868 
872 enum class xdg_positioner_gravity : uint32_t
873  {
874  none = 0,
875  top = 1,
876  bottom = 2,
877  left = 3,
878  right = 4,
879  top_left = 5,
880  bottom_left = 6,
881  top_right = 7,
882  bottom_right = 8
883 };
884 
900 struct xdg_positioner_constraint_adjustment : public detail::bitfield<6, 8>
901 {
902  xdg_positioner_constraint_adjustment(const detail::bitfield<6, 8> &b)
903  : detail::bitfield<6, 8>(b) {}
904  xdg_positioner_constraint_adjustment(const uint32_t value)
905  : detail::bitfield<6, 8>(value) {}
906  static const detail::bitfield<6, 8> none;
907  static const detail::bitfield<6, 8> slide_x;
908  static const detail::bitfield<6, 8> slide_y;
909  static const detail::bitfield<6, 8> flip_x;
910  static const detail::bitfield<6, 8> flip_y;
911  static const detail::bitfield<6, 8> resize_x;
912  static const detail::bitfield<6, 8> resize_y;
913 };
914 
915 
959 class xdg_surface_t : public proxy_t
960 {
961 private:
962  struct events_t : public detail::events_base_t
963  {
964  std::function<void(uint32_t)> configure;
965  };
966 
967  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
968 
969  xdg_surface_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
970 
971 public:
972  xdg_surface_t();
973  explicit xdg_surface_t(const proxy_t &proxy);
975 
976  xdg_surface_t proxy_create_wrapper();
977 
978  static const std::string interface_name;
979 
980  operator xdg_surface*() const;
981 
992 
995  static constexpr std::uint32_t get_toplevel_since_version = 1;
996 
1012 
1015  static constexpr std::uint32_t get_popup_since_version = 1;
1016 
1054  void set_window_geometry(int32_t x, int32_t y, int32_t width, int32_t height);
1055 
1058  static constexpr std::uint32_t set_window_geometry_since_version = 1;
1059 
1084  void ack_configure(uint32_t serial);
1085 
1088  static constexpr std::uint32_t ack_configure_since_version = 1;
1089 
1111  std::function<void(uint32_t)> &on_configure();
1112 
1113 };
1114 
1118 enum class xdg_surface_error : uint32_t
1119  {
1120  not_constructed = 1,
1121  already_constructed = 2,
1122  unconfigured_buffer = 3
1123 };
1124 
1125 
1143 class xdg_toplevel_t : public proxy_t
1144 {
1145 private:
1146  struct events_t : public detail::events_base_t
1147  {
1148  std::function<void(int32_t, int32_t, array_t)> configure;
1149  std::function<void()> close;
1150  };
1151 
1152  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
1153 
1154  xdg_toplevel_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
1155 
1156 public:
1157  xdg_toplevel_t();
1158  explicit xdg_toplevel_t(const proxy_t &proxy);
1159  xdg_toplevel_t(xdg_toplevel *p, wrapper_type t = wrapper_type::standard);
1160 
1161  xdg_toplevel_t proxy_create_wrapper();
1162 
1163  static const std::string interface_name;
1164 
1165  operator xdg_toplevel*() const;
1166 
1188  void set_parent(xdg_toplevel_t parent);
1189 
1192  static constexpr std::uint32_t set_parent_since_version = 1;
1193 
1206  void set_title(std::string title);
1207 
1210  static constexpr std::uint32_t set_title_since_version = 1;
1211 
1240  void set_app_id(std::string app_id);
1241 
1244  static constexpr std::uint32_t set_app_id_since_version = 1;
1245 
1265  void show_window_menu(seat_t seat, uint32_t serial, int32_t x, int32_t y);
1266 
1269  static constexpr std::uint32_t show_window_menu_since_version = 1;
1270 
1293  void move(seat_t seat, uint32_t serial);
1294 
1297  static constexpr std::uint32_t move_since_version = 1;
1298 
1336  void resize(seat_t seat, uint32_t serial, xdg_toplevel_resize_edge edges);
1337 
1340  static constexpr std::uint32_t resize_since_version = 1;
1341 
1382  void set_max_size(int32_t width, int32_t height);
1383 
1386  static constexpr std::uint32_t set_max_size_since_version = 1;
1387 
1428  void set_min_size(int32_t width, int32_t height);
1429 
1432  static constexpr std::uint32_t set_min_size_since_version = 1;
1433 
1457  void set_maximized();
1458 
1461  static constexpr std::uint32_t set_maximized_since_version = 1;
1462 
1488  void unset_maximized();
1489 
1492  static constexpr std::uint32_t unset_maximized_since_version = 1;
1493 
1522  void set_fullscreen(output_t output);
1523 
1526  static constexpr std::uint32_t set_fullscreen_since_version = 1;
1527 
1549  void unset_fullscreen();
1550 
1553  static constexpr std::uint32_t unset_fullscreen_since_version = 1;
1554 
1567  void set_minimized();
1568 
1571  static constexpr std::uint32_t set_minimized_since_version = 1;
1572 
1599  std::function<void(int32_t, int32_t, array_t)> &on_configure();
1600 
1613  std::function<void()> &on_close();
1614 
1615 };
1616 
1623 struct xdg_toplevel_resize_edge : public detail::bitfield<4, 10>
1624 {
1625  xdg_toplevel_resize_edge(const detail::bitfield<4, 10> &b)
1626  : detail::bitfield<4, 10>(b) {}
1627  xdg_toplevel_resize_edge(const uint32_t value)
1628  : detail::bitfield<4, 10>(value) {}
1629  static const detail::bitfield<4, 10> none;
1630  static const detail::bitfield<4, 10> top;
1631  static const detail::bitfield<4, 10> bottom;
1632  static const detail::bitfield<4, 10> left;
1633  static const detail::bitfield<4, 10> top_left;
1634  static const detail::bitfield<4, 10> bottom_left;
1635  static const detail::bitfield<4, 10> right;
1636  static const detail::bitfield<4, 10> top_right;
1637  static const detail::bitfield<4, 10> bottom_right;
1638 };
1639 
1651 enum class xdg_toplevel_state : uint32_t
1652  {
1654  maximized = 1,
1656  fullscreen = 2,
1658  resizing = 3,
1660  activated = 4,
1661  tiled_left = 5,
1662  tiled_right = 6,
1663  tiled_top = 7,
1664  tiled_bottom = 8
1665 };
1666 
1667 
1702 class xdg_popup_t : public proxy_t
1703 {
1704 private:
1705  struct events_t : public detail::events_base_t
1706  {
1707  std::function<void(int32_t, int32_t, int32_t, int32_t)> configure;
1708  std::function<void()> popup_done;
1709  };
1710 
1711  static int dispatcher(uint32_t opcode, std::vector<detail::any> args, std::shared_ptr<detail::events_base_t> e);
1712 
1713  xdg_popup_t(proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag /*unused*/);
1714 
1715 public:
1716  xdg_popup_t();
1717  explicit xdg_popup_t(const proxy_t &proxy);
1718  xdg_popup_t(xdg_popup *p, wrapper_type t = wrapper_type::standard);
1719 
1720  xdg_popup_t proxy_create_wrapper();
1721 
1722  static const std::string interface_name;
1723 
1724  operator xdg_popup*() const;
1725 
1773  void grab(seat_t seat, uint32_t serial);
1774 
1777  static constexpr std::uint32_t grab_since_version = 1;
1778 
1794  std::function<void(int32_t, int32_t, int32_t, int32_t)> &on_configure();
1795 
1803  std::function<void()> &on_popup_done();
1804 
1805 };
1806 
1810 enum class xdg_popup_error : uint32_t
1811  {
1813  invalid_grab = 0
1814 };
1815 
1816 
1817 
1818 }
wayland::xdg_positioner_t::set_offset_since_version
static constexpr std::uint32_t set_offset_since_version
Minimum protocol version required for the set_offset function.
Definition: wayland-client-protocol-extra.hpp:840
wayland::presentation_feedback_kind::hw_clock
static const detail::bitfield< 4, 1 > hw_clock
hardware provided the presentation timestamp
Definition: wayland-client-protocol-extra.hpp:334
wayland::presentation_feedback_t
presentation time feedback event
Definition: wayland-client-protocol-extra.hpp:186
wayland::xdg_wm_base_t::pong
void pong(uint32_t serial)
respond to a ping event
Definition: wayland-client-protocol-extra.cpp:968
wayland::xdg_toplevel_t::set_app_id
void set_app_id(std::string app_id)
set application ID
Definition: wayland-client-protocol-extra.cpp:1240
wayland::xdg_toplevel_t::unset_maximized_since_version
static constexpr std::uint32_t unset_maximized_since_version
Minimum protocol version required for the unset_maximized function.
Definition: wayland-client-protocol-extra.hpp:1492
wayland::presentation_feedback_t::on_discarded
std::function< void()> & on_discarded()
the content update was not displayed
Definition: wayland-client-protocol-extra.cpp:747
wayland::xdg_wm_base_t::get_xdg_surface
xdg_surface_t get_xdg_surface(surface_t surface)
create a shell surface from a surface
Definition: wayland-client-protocol-extra.cpp:962
wayland::xdg_toplevel_t::set_fullscreen_since_version
static constexpr std::uint32_t set_fullscreen_since_version
Minimum protocol version required for the set_fullscreen function.
Definition: wayland-client-protocol-extra.hpp:1526
wayland::presentation_t::on_clock_id
std::function< void(uint32_t)> & on_clock_id()
clock ID for timestamps
Definition: wayland-client-protocol-extra.cpp:670
wayland::proxy_t::wrapper_type::standard
wayland::presentation_feedback_kind::hw_completion
static const detail::bitfield< 4, 1 > hw_completion
hardware signalled the start of the presentation
Definition: wayland-client-protocol-extra.hpp:336
wayland::xdg_toplevel_t::set_min_size_since_version
static constexpr std::uint32_t set_min_size_since_version
Minimum protocol version required for the set_min_size function.
Definition: wayland-client-protocol-extra.hpp:1432
wayland::xdg_positioner_t::set_size
void set_size(int32_t width, int32_t height)
set the size of the to-be positioned rectangle
Definition: wayland-client-protocol-extra.cpp:1042
wayland::presentation_t::feedback_since_version
static constexpr std::uint32_t feedback_since_version
Minimum protocol version required for the feedback function.
Definition: wayland-client-protocol-extra.hpp:116
wayland::presentation_feedback_kind
bitmask of flags in presented event
Definition: wayland-client-protocol-extra.hpp:325
wayland::xdg_toplevel_t::set_title_since_version
static constexpr std::uint32_t set_title_since_version
Minimum protocol version required for the set_title function.
Definition: wayland-client-protocol-extra.hpp:1210
wayland::xdg_positioner_t::set_anchor_since_version
static constexpr std::uint32_t set_anchor_since_version
Minimum protocol version required for the set_anchor function.
Definition: wayland-client-protocol-extra.hpp:776
wayland::xdg_popup_t
short-lived, popup surfaces for menus
Definition: wayland-client-protocol-extra.hpp:1702
wayland::xdg_toplevel_t::unset_fullscreen
void unset_fullscreen()
unset the window as fullscreen
Definition: wayland-client-protocol-extra.cpp:1285
wayland::xdg_toplevel_t::set_min_size
void set_min_size(int32_t width, int32_t height)
set the minimum size
Definition: wayland-client-protocol-extra.cpp:1265
wayland::presentation_t
timed presentation related wl_surface requests
Definition: wayland-client-protocol-extra.hpp:75
wayland::xdg_positioner_t::set_offset
void set_offset(int32_t x, int32_t y)
set surface position offset
Definition: wayland-client-protocol-extra.cpp:1067
wayland::xdg_toplevel_t::move_since_version
static constexpr std::uint32_t move_since_version
Minimum protocol version required for the move function.
Definition: wayland-client-protocol-extra.hpp:1297
wayland::xdg_toplevel_t::set_parent_since_version
static constexpr std::uint32_t set_parent_since_version
Minimum protocol version required for the set_parent function.
Definition: wayland-client-protocol-extra.hpp:1192
wayland::xdg_toplevel_t::set_maximized
void set_maximized()
maximize the window
Definition: wayland-client-protocol-extra.cpp:1270
wayland::xdg_wm_base_t::create_positioner_since_version
static constexpr std::uint32_t create_positioner_since_version
Minimum protocol version required for the create_positioner function.
Definition: wayland-client-protocol-extra.hpp:598
wayland::presentation_feedback_kind::zero_copy
static const detail::bitfield< 4, 1 > zero_copy
presentation was done zero-copy
Definition: wayland-client-protocol-extra.hpp:338
wayland::xdg_surface_t
desktop user interface surface base interface
Definition: wayland-client-protocol-extra.hpp:959
wayland::xdg_toplevel_t::show_window_menu
void show_window_menu(seat_t seat, uint32_t serial, int32_t x, int32_t y)
show the window menu
Definition: wayland-client-protocol-extra.cpp:1245
wayland::xdg_toplevel_t::resize
void resize(seat_t seat, uint32_t serial, xdg_toplevel_resize_edge edges)
start an interactive resize
Definition: wayland-client-protocol-extra.cpp:1255
wayland::xdg_toplevel_t::unset_fullscreen_since_version
static constexpr std::uint32_t unset_fullscreen_since_version
Minimum protocol version required for the unset_fullscreen function.
Definition: wayland-client-protocol-extra.hpp:1553
wayland::xdg_surface_t::get_toplevel_since_version
static constexpr std::uint32_t get_toplevel_since_version
Minimum protocol version required for the get_toplevel function.
Definition: wayland-client-protocol-extra.hpp:995
wayland::xdg_positioner_t::set_gravity
void set_gravity(xdg_positioner_gravity gravity)
set child surface gravity
Definition: wayland-client-protocol-extra.cpp:1057
wayland::xdg_toplevel_resize_edge
edge values for resizing
Definition: wayland-client-protocol-extra.hpp:1623
wayland::xdg_surface_t::set_window_geometry_since_version
static constexpr std::uint32_t set_window_geometry_since_version
Minimum protocol version required for the set_window_geometry function.
Definition: wayland-client-protocol-extra.hpp:1058
wayland::xdg_positioner_t::set_anchor_rect
void set_anchor_rect(int32_t x, int32_t y, int32_t width, int32_t height)
set the anchor rectangle within the parent surface
Definition: wayland-client-protocol-extra.cpp:1047
wayland::xdg_toplevel_t::set_max_size
void set_max_size(int32_t width, int32_t height)
set the maximum size
Definition: wayland-client-protocol-extra.cpp:1260
wayland::viewporter_t::get_viewport_since_version
static constexpr std::uint32_t get_viewport_since_version
Minimum protocol version required for the get_viewport function.
Definition: wayland-client-protocol-extra.hpp:388
wayland::xdg_surface_t::ack_configure_since_version
static constexpr std::uint32_t ack_configure_since_version
Minimum protocol version required for the ack_configure function.
Definition: wayland-client-protocol-extra.hpp:1088
wayland::xdg_toplevel_t::set_app_id_since_version
static constexpr std::uint32_t set_app_id_since_version
Minimum protocol version required for the set_app_id function.
Definition: wayland-client-protocol-extra.hpp:1244
wayland::xdg_toplevel_t::set_parent
void set_parent(xdg_toplevel_t parent)
set the parent of this surface
Definition: wayland-client-protocol-extra.cpp:1230
wayland::xdg_toplevel_t::set_minimized
void set_minimized()
set the window as minimized
Definition: wayland-client-protocol-extra.cpp:1290
wayland::xdg_popup_t::grab_since_version
static constexpr std::uint32_t grab_since_version
Minimum protocol version required for the grab function.
Definition: wayland-client-protocol-extra.hpp:1777
wayland::proxy_t::wrapper_type
wrapper_type
Definition: wayland-client.hpp:105
wayland::surface_t
an onscreen surface
Definition: wayland-client-protocol.hpp:1898
wayland::xdg_positioner_t
child surface positioner
Definition: wayland-client-protocol-extra.hpp:698
wayland::proxy_t
Represents a protocol object on the client side.
Definition: wayland-client.hpp:98
wayland::viewport_t::set_destination_since_version
static constexpr std::uint32_t set_destination_since_version
Minimum protocol version required for the set_destination function.
Definition: wayland-client-protocol-extra.hpp:535
wayland::xdg_surface_t::on_configure
std::function< void(uint32_t)> & on_configure()
suggest a surface change
Definition: wayland-client-protocol-extra.cpp:1161
wayland::xdg_popup_t::grab
void grab(seat_t seat, uint32_t serial)
make the popup take an explicit grab
Definition: wayland-client-protocol-extra.cpp:1382
wayland::presentation_t::feedback
presentation_feedback_t feedback(surface_t surface)
request presentation feedback information
Definition: wayland-client-protocol-extra.cpp:664
wayland::xdg_wm_base_t::pong_since_version
static constexpr std::uint32_t pong_since_version
Minimum protocol version required for the pong function.
Definition: wayland-client-protocol-extra.hpp:633
wayland::xdg_toplevel_t::on_close
std::function< void()> & on_close()
surface wants to be closed
Definition: wayland-client-protocol-extra.cpp:1300
wayland::xdg_toplevel_t::on_configure
std::function< void(int32_t, int32_t, array_t)> & on_configure()
suggest a surface change
Definition: wayland-client-protocol-extra.cpp:1295
wayland::viewport_t::set_source
void set_source(double x, double y, double width, double height)
set the source rectangle for cropping
Definition: wayland-client-protocol-extra.cpp:889
wayland::viewport_t::set_destination
void set_destination(int32_t width, int32_t height)
set the surface size for scaling
Definition: wayland-client-protocol-extra.cpp:894
wayland::xdg_toplevel_t::set_maximized_since_version
static constexpr std::uint32_t set_maximized_since_version
Minimum protocol version required for the set_maximized function.
Definition: wayland-client-protocol-extra.hpp:1461
wayland::xdg_toplevel_t::set_title
void set_title(std::string title)
set surface title
Definition: wayland-client-protocol-extra.cpp:1235
wayland::xdg_surface_t::get_toplevel
xdg_toplevel_t get_toplevel()
assign the xdg_toplevel surface role
Definition: wayland-client-protocol-extra.cpp:1139
wayland::viewport_t::set_source_since_version
static constexpr std::uint32_t set_source_since_version
Minimum protocol version required for the set_source function.
Definition: wayland-client-protocol-extra.hpp:512
wayland::xdg_toplevel_t::move
void move(seat_t seat, uint32_t serial)
start an interactive move
Definition: wayland-client-protocol-extra.cpp:1250
wayland::xdg_toplevel_t::set_minimized_since_version
static constexpr std::uint32_t set_minimized_since_version
Minimum protocol version required for the set_minimized function.
Definition: wayland-client-protocol-extra.hpp:1571
wayland::xdg_toplevel_t
toplevel surface
Definition: wayland-client-protocol-extra.hpp:1143
wayland::xdg_surface_t::set_window_geometry
void set_window_geometry(int32_t x, int32_t y, int32_t width, int32_t height)
set the new window geometry
Definition: wayland-client-protocol-extra.cpp:1151
wayland::presentation_feedback_t::on_sync_output
std::function< void(output_t)> & on_sync_output()
presentation synchronized to this output
Definition: wayland-client-protocol-extra.cpp:737
wayland::xdg_positioner_t::set_constraint_adjustment
void set_constraint_adjustment(xdg_positioner_constraint_adjustment constraint_adjustment)
set the adjustment to be done when constrained
Definition: wayland-client-protocol-extra.cpp:1062
wayland::seat_t
group of input devices
Definition: wayland-client-protocol.hpp:2334
wayland::xdg_surface_t::get_popup_since_version
static constexpr std::uint32_t get_popup_since_version
Minimum protocol version required for the get_popup function.
Definition: wayland-client-protocol-extra.hpp:1015
wayland::xdg_positioner_constraint_adjustment
constraint adjustments
Definition: wayland-client-protocol-extra.hpp:900
wayland::xdg_toplevel_t::show_window_menu_since_version
static constexpr std::uint32_t show_window_menu_since_version
Minimum protocol version required for the show_window_menu function.
Definition: wayland-client-protocol-extra.hpp:1269
wayland::xdg_toplevel_t::set_fullscreen
void set_fullscreen(output_t output)
set the window as fullscreen on an output
Definition: wayland-client-protocol-extra.cpp:1280
wayland::xdg_popup_t::on_configure
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_configure()
configure the popup surface
Definition: wayland-client-protocol-extra.cpp:1387
wayland::xdg_positioner_t::set_anchor_rect_since_version
static constexpr std::uint32_t set_anchor_rect_since_version
Minimum protocol version required for the set_anchor_rect function.
Definition: wayland-client-protocol-extra.hpp:759
wayland::xdg_surface_t::ack_configure
void ack_configure(uint32_t serial)
ack a configure event
Definition: wayland-client-protocol-extra.cpp:1156
wayland::xdg_popup_t::on_popup_done
std::function< void()> & on_popup_done()
popup interaction is done
Definition: wayland-client-protocol-extra.cpp:1392
wayland::xdg_wm_base_t::get_xdg_surface_since_version
static constexpr std::uint32_t get_xdg_surface_since_version
Minimum protocol version required for the get_xdg_surface function.
Definition: wayland-client-protocol-extra.hpp:620
wayland::xdg_positioner_t::set_anchor
void set_anchor(xdg_positioner_anchor anchor)
set anchor rectangle anchor
Definition: wayland-client-protocol-extra.cpp:1052
wayland::viewporter_t::get_viewport
viewport_t get_viewport(surface_t surface)
extend surface interface for crop and scale
Definition: wayland-client-protocol-extra.cpp:826
wayland::xdg_toplevel_t::unset_maximized
void unset_maximized()
unmaximize the window
Definition: wayland-client-protocol-extra.cpp:1275
wayland::xdg_wm_base_t
create desktop-style surfaces
Definition: wayland-client-protocol-extra.hpp:564
wayland::presentation_feedback_t::on_presented
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
Definition: wayland-client-protocol-extra.cpp:742
wayland::viewport_t
crop and scale interface to a wl_surface
Definition: wayland-client-protocol-extra.hpp:467
wayland::xdg_wm_base_t::on_ping
std::function< void(uint32_t)> & on_ping()
check if the client is alive
Definition: wayland-client-protocol-extra.cpp:973
wayland::viewporter_t
surface cropping and scaling
Definition: wayland-client-protocol-extra.hpp:352
wayland::xdg_positioner_t::set_size_since_version
static constexpr std::uint32_t set_size_since_version
Minimum protocol version required for the set_size function.
Definition: wayland-client-protocol-extra.hpp:735
wayland::xdg_toplevel_t::set_max_size_since_version
static constexpr std::uint32_t set_max_size_since_version
Minimum protocol version required for the set_max_size function.
Definition: wayland-client-protocol-extra.hpp:1386
wayland::xdg_positioner_t::set_constraint_adjustment_since_version
static constexpr std::uint32_t set_constraint_adjustment_since_version
Minimum protocol version required for the set_constraint_adjustment function.
Definition: wayland-client-protocol-extra.hpp:817
wayland::presentation_feedback_kind::vsync
static const detail::bitfield< 4, 1 > vsync
presentation was vsync'd
Definition: wayland-client-protocol-extra.hpp:332
wayland::xdg_surface_t::get_popup
xdg_popup_t get_popup(xdg_surface_t parent, xdg_positioner_t positioner)
assign the xdg_popup surface role
Definition: wayland-client-protocol-extra.cpp:1145
wayland-client.hpp
wayland::output_t
compositor output region
Definition: wayland-client-protocol.hpp:3250
wayland::xdg_wm_base_t::create_positioner
xdg_positioner_t create_positioner()
create a positioner object
Definition: wayland-client-protocol-extra.cpp:956
wayland::xdg_positioner_t::set_gravity_since_version
static constexpr std::uint32_t set_gravity_since_version
Minimum protocol version required for the set_gravity function.
Definition: wayland-client-protocol-extra.hpp:793
wayland::xdg_toplevel_t::resize_since_version
static constexpr std::uint32_t resize_since_version
Minimum protocol version required for the resize function.
Definition: wayland-client-protocol-extra.hpp:1340