Wayland++ 1.0.0
C++ Bindings for Wayland
Loading...
Searching...
No Matches
wayland-server-protocol-unstable.hpp
1#pragma once
2
3#include <array>
4#include <cstdint>
5#include <functional>
6#include <memory>
7#include <string>
8#include <vector>
9
10#include <wayland-server.hpp>
11#include <wayland-server-protocol-extra.hpp>
12
13struct zwp_fullscreen_shell_v1;
14struct zwp_fullscreen_shell_mode_feedback_v1;
15struct zwp_idle_inhibit_manager_v1;
16struct zwp_idle_inhibitor_v1;
17struct zwp_input_method_context_v1;
18struct zwp_input_method_v1;
19struct zwp_input_panel_v1;
20struct zwp_input_panel_surface_v1;
21struct zwp_input_timestamps_manager_v1;
22struct zwp_input_timestamps_v1;
23struct zwp_keyboard_shortcuts_inhibit_manager_v1;
24struct zwp_keyboard_shortcuts_inhibitor_v1;
25struct zwp_linux_dmabuf_v1;
26struct zwp_linux_buffer_params_v1;
27struct zwp_linux_dmabuf_feedback_v1;
28struct zwp_linux_explicit_synchronization_v1;
29struct zwp_linux_surface_synchronization_v1;
30struct zwp_linux_buffer_release_v1;
31struct zwp_pointer_constraints_v1;
32struct zwp_locked_pointer_v1;
33struct zwp_confined_pointer_v1;
34struct zwp_pointer_gestures_v1;
35struct zwp_pointer_gesture_swipe_v1;
36struct zwp_pointer_gesture_pinch_v1;
37struct zwp_pointer_gesture_hold_v1;
38struct zwp_primary_selection_device_manager_v1;
39struct zwp_primary_selection_device_v1;
40struct zwp_primary_selection_offer_v1;
41struct zwp_primary_selection_source_v1;
42struct zwp_relative_pointer_manager_v1;
43struct zwp_relative_pointer_v1;
44struct zwp_tablet_manager_v1;
45struct zwp_tablet_seat_v1;
46struct zwp_tablet_tool_v1;
47struct zwp_tablet_v1;
48struct zwp_tablet_manager_v2;
49struct zwp_tablet_seat_v2;
50struct zwp_tablet_tool_v2;
51struct zwp_tablet_v2;
52struct zwp_tablet_pad_ring_v2;
53struct zwp_tablet_pad_strip_v2;
54struct zwp_tablet_pad_group_v2;
55struct zwp_tablet_pad_v2;
56struct zwp_text_input_v1;
57struct zwp_text_input_manager_v1;
58struct zwp_text_input_v3;
59struct zwp_text_input_manager_v3;
60struct xdg_activation_v1;
61struct xdg_activation_token_v1;
62struct zxdg_decoration_manager_v1;
63struct zxdg_toplevel_decoration_v1;
64struct zxdg_exporter_v1;
65struct zxdg_importer_v1;
66struct zxdg_exported_v1;
67struct zxdg_imported_v1;
68struct zxdg_exporter_v2;
69struct zxdg_importer_v2;
70struct zxdg_exported_v2;
71struct zxdg_imported_v2;
72struct zxdg_output_manager_v1;
73struct zxdg_output_v1;
74struct zxdg_shell_v6;
75struct zxdg_positioner_v6;
76struct zxdg_surface_v6;
77struct zxdg_toplevel_v6;
78struct zxdg_popup_v6;
79struct zwp_xwayland_keyboard_grab_manager_v1;
80struct zwp_xwayland_keyboard_grab_v1;
81
82namespace wayland
83{
84namespace server
85{
87enum class zwp_fullscreen_shell_v1_capability : uint32_t;
88enum class zwp_fullscreen_shell_v1_present_method : uint32_t;
89enum class zwp_fullscreen_shell_v1_error : uint32_t;
90class zwp_fullscreen_shell_mode_feedback_v1_t;
96class zwp_input_panel_surface_v1_t;
97enum class zwp_input_panel_surface_v1_position : uint32_t;
101enum class zwp_keyboard_shortcuts_inhibit_manager_v1_error : uint32_t;
105enum class zwp_linux_buffer_params_v1_error : uint32_t;
106struct zwp_linux_buffer_params_v1_flags;
108struct zwp_linux_dmabuf_feedback_v1_tranche_flags;
110enum class zwp_linux_explicit_synchronization_v1_error : uint32_t;
112enum class zwp_linux_surface_synchronization_v1_error : uint32_t;
115enum class zwp_pointer_constraints_v1_error : uint32_t;
116enum class zwp_pointer_constraints_v1_lifetime : uint32_t;
124class zwp_primary_selection_device_v1_t;
132enum class zwp_tablet_tool_v1_type : uint32_t;
133enum class zwp_tablet_tool_v1_capability : uint32_t;
134enum class zwp_tablet_tool_v1_button_state : uint32_t;
135enum class zwp_tablet_tool_v1_error : uint32_t;
136class zwp_tablet_v1_t;
140enum class zwp_tablet_tool_v2_type : uint32_t;
141enum class zwp_tablet_tool_v2_capability : uint32_t;
142enum class zwp_tablet_tool_v2_button_state : uint32_t;
143enum class zwp_tablet_tool_v2_error : uint32_t;
144class zwp_tablet_v2_t;
146enum class zwp_tablet_pad_ring_v2_source : uint32_t;
148enum class zwp_tablet_pad_strip_v2_source : uint32_t;
151enum class zwp_tablet_pad_v2_button_state : uint32_t;
154enum class zwp_text_input_v1_content_purpose : uint32_t;
155enum class zwp_text_input_v1_preedit_style : uint32_t;
156enum class zwp_text_input_v1_text_direction : uint32_t;
159enum class zwp_text_input_v3_change_cause : uint32_t;
161enum class zwp_text_input_v3_content_purpose : uint32_t;
165enum class xdg_activation_token_v1_error : uint32_t;
168enum class zxdg_toplevel_decoration_v1_error : uint32_t;
169enum class zxdg_toplevel_decoration_v1_mode : uint32_t;
175enum class zxdg_exporter_v2_error : uint32_t;
179enum class zxdg_imported_v2_error : uint32_t;
181class zxdg_output_v1_t;
182class zxdg_shell_v6_t;
183enum class zxdg_shell_v6_error : uint32_t;
185enum class zxdg_positioner_v6_error : uint32_t;
186struct zxdg_positioner_v6_anchor;
187struct zxdg_positioner_v6_gravity;
190enum class zxdg_surface_v6_error : uint32_t;
193enum class zxdg_toplevel_v6_state : uint32_t;
194class zxdg_popup_v6_t;
195enum class zxdg_popup_v6_error : uint32_t;
198
199namespace detail
200{
201 extern const wl_interface zwp_fullscreen_shell_v1_interface;
202 extern const wl_interface zwp_fullscreen_shell_mode_feedback_v1_interface;
203 extern const wl_interface zwp_idle_inhibit_manager_v1_interface;
204 extern const wl_interface zwp_idle_inhibitor_v1_interface;
205 extern const wl_interface zwp_input_method_context_v1_interface;
206 extern const wl_interface zwp_input_method_v1_interface;
207 extern const wl_interface zwp_input_panel_v1_interface;
208 extern const wl_interface zwp_input_panel_surface_v1_interface;
209 extern const wl_interface zwp_input_timestamps_manager_v1_interface;
210 extern const wl_interface zwp_input_timestamps_v1_interface;
211 extern const wl_interface zwp_keyboard_shortcuts_inhibit_manager_v1_interface;
212 extern const wl_interface zwp_keyboard_shortcuts_inhibitor_v1_interface;
213 extern const wl_interface zwp_linux_dmabuf_v1_interface;
214 extern const wl_interface zwp_linux_buffer_params_v1_interface;
215 extern const wl_interface zwp_linux_dmabuf_feedback_v1_interface;
216 extern const wl_interface zwp_linux_explicit_synchronization_v1_interface;
217 extern const wl_interface zwp_linux_surface_synchronization_v1_interface;
218 extern const wl_interface zwp_linux_buffer_release_v1_interface;
219 extern const wl_interface zwp_pointer_constraints_v1_interface;
220 extern const wl_interface zwp_locked_pointer_v1_interface;
221 extern const wl_interface zwp_confined_pointer_v1_interface;
222 extern const wl_interface zwp_pointer_gestures_v1_interface;
223 extern const wl_interface zwp_pointer_gesture_swipe_v1_interface;
224 extern const wl_interface zwp_pointer_gesture_pinch_v1_interface;
225 extern const wl_interface zwp_pointer_gesture_hold_v1_interface;
226 extern const wl_interface zwp_primary_selection_device_manager_v1_interface;
227 extern const wl_interface zwp_primary_selection_device_v1_interface;
228 extern const wl_interface zwp_primary_selection_offer_v1_interface;
229 extern const wl_interface zwp_primary_selection_source_v1_interface;
230 extern const wl_interface zwp_relative_pointer_manager_v1_interface;
231 extern const wl_interface zwp_relative_pointer_v1_interface;
232 extern const wl_interface zwp_tablet_manager_v1_interface;
233 extern const wl_interface zwp_tablet_seat_v1_interface;
234 extern const wl_interface zwp_tablet_tool_v1_interface;
235 extern const wl_interface zwp_tablet_v1_interface;
236 extern const wl_interface zwp_tablet_manager_v2_interface;
237 extern const wl_interface zwp_tablet_seat_v2_interface;
238 extern const wl_interface zwp_tablet_tool_v2_interface;
239 extern const wl_interface zwp_tablet_v2_interface;
240 extern const wl_interface zwp_tablet_pad_ring_v2_interface;
241 extern const wl_interface zwp_tablet_pad_strip_v2_interface;
242 extern const wl_interface zwp_tablet_pad_group_v2_interface;
243 extern const wl_interface zwp_tablet_pad_v2_interface;
244 extern const wl_interface zwp_text_input_v1_interface;
245 extern const wl_interface zwp_text_input_manager_v1_interface;
246 extern const wl_interface zwp_text_input_v3_interface;
247 extern const wl_interface zwp_text_input_manager_v3_interface;
248 extern const wl_interface xdg_activation_v1_interface;
249 extern const wl_interface xdg_activation_token_v1_interface;
250 extern const wl_interface zxdg_decoration_manager_v1_interface;
251 extern const wl_interface zxdg_toplevel_decoration_v1_interface;
252 extern const wl_interface zxdg_exporter_v1_interface;
253 extern const wl_interface zxdg_importer_v1_interface;
254 extern const wl_interface zxdg_exported_v1_interface;
255 extern const wl_interface zxdg_imported_v1_interface;
256 extern const wl_interface zxdg_exporter_v2_interface;
257 extern const wl_interface zxdg_importer_v2_interface;
258 extern const wl_interface zxdg_exported_v2_interface;
259 extern const wl_interface zxdg_imported_v2_interface;
260 extern const wl_interface zxdg_output_manager_v1_interface;
261 extern const wl_interface zxdg_output_v1_interface;
262 extern const wl_interface zxdg_shell_v6_interface;
263 extern const wl_interface zxdg_positioner_v6_interface;
264 extern const wl_interface zxdg_surface_v6_interface;
265 extern const wl_interface zxdg_toplevel_v6_interface;
266 extern const wl_interface zxdg_popup_v6_interface;
267 extern const wl_interface zwp_xwayland_keyboard_grab_manager_v1_interface;
268 extern const wl_interface zwp_xwayland_keyboard_grab_v1_interface;
269}
270
308class zwp_fullscreen_shell_v1_t : public resource_t
309{
310private:
311 struct events_t : public resource_t::events_base_t
312 {
313 std::function<void()> release;
314 std::function<void(surface_t, zwp_fullscreen_shell_v1_present_method, output_t)> present_surface;
315 std::function<void(surface_t, output_t, int32_t, zwp_fullscreen_shell_mode_feedback_v1_t)> present_surface_for_mode;
316 };
317
318 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
319
320protected:
321 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_fullscreen_shell_v1_interface;
322 static constexpr const unsigned int max_version = 1;
323
324 friend class global_t<zwp_fullscreen_shell_v1_t>;
325 friend class global_base_t;
326
327public:
328 zwp_fullscreen_shell_v1_t() = default;
329 zwp_fullscreen_shell_v1_t(const client_t& client, uint32_t id, int version = 1);
330 zwp_fullscreen_shell_v1_t(const resource_t &resource);
331
332 static const std::string interface_name;
333
334 operator zwp_fullscreen_shell_v1*() const;
335
345 std::function<void()> &on_release();
346
375 std::function<void(surface_t, zwp_fullscreen_shell_v1_present_method, output_t)> &on_present_surface();
376
426 std::function<void(surface_t, output_t, int32_t, zwp_fullscreen_shell_mode_feedback_v1_t)> &on_present_surface_for_mode();
427
441 void capability(zwp_fullscreen_shell_v1_capability const& capability, bool post = true);
442
445 static constexpr std::uint32_t capability_since_version = 1;
446
449 void post_invalid_method(std::string const& msg);
450
453 void post_role(std::string const& msg);
454
455};
456
457using global_zwp_fullscreen_shell_v1_t = global_t<zwp_fullscreen_shell_v1_t>;
458
484enum class zwp_fullscreen_shell_v1_capability : uint32_t
485 {
487 arbitrary_modes = 1,
489 cursor_plane = 2
490};
491
499enum class zwp_fullscreen_shell_v1_present_method : uint32_t
500 {
502 _default = 0,
504 center = 1,
506 zoom = 2,
508 zoom_crop = 3,
510 stretch = 4
511};
512
518enum class zwp_fullscreen_shell_v1_error : uint32_t
519 {
521 invalid_method = 0,
523 role = 1
524};
525
526
530class zwp_fullscreen_shell_mode_feedback_v1_t : public resource_t
531{
532private:
533 struct events_t : public resource_t::events_base_t
534 {
535 };
536
537 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
538
539protected:
540 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_fullscreen_shell_mode_feedback_v1_interface;
541 static constexpr const unsigned int max_version = 1;
542
543 friend class global_t<zwp_fullscreen_shell_mode_feedback_v1_t>;
544 friend class global_base_t;
545
546public:
547 zwp_fullscreen_shell_mode_feedback_v1_t() = default;
548 zwp_fullscreen_shell_mode_feedback_v1_t(const client_t& client, uint32_t id, int version = 1);
549 zwp_fullscreen_shell_mode_feedback_v1_t(const resource_t &resource);
550
551 static const std::string interface_name;
552
553 operator zwp_fullscreen_shell_mode_feedback_v1*() const;
554
565 void mode_successful(bool post = true);
566
569 static constexpr std::uint32_t mode_successful_since_version = 1;
570
581 void mode_failed(bool post = true);
582
585 static constexpr std::uint32_t mode_failed_since_version = 1;
586
597 void present_cancelled(bool post = true);
598
601 static constexpr std::uint32_t present_cancelled_since_version = 1;
602
603};
604
605using global_zwp_fullscreen_shell_mode_feedback_v1_t = global_t<zwp_fullscreen_shell_mode_feedback_v1_t>;
606
607
624class zwp_idle_inhibit_manager_v1_t : public resource_t
625{
626private:
627 struct events_t : public resource_t::events_base_t
628 {
629 std::function<void()> destroy;
630 std::function<void(zwp_idle_inhibitor_v1_t, surface_t)> create_inhibitor;
631 };
632
633 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
634
635protected:
636 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_idle_inhibit_manager_v1_interface;
637 static constexpr const unsigned int max_version = 1;
638
639 friend class global_t<zwp_idle_inhibit_manager_v1_t>;
640 friend class global_base_t;
641
642public:
643 zwp_idle_inhibit_manager_v1_t() = default;
644 zwp_idle_inhibit_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
645 zwp_idle_inhibit_manager_v1_t(const resource_t &resource);
646
647 static const std::string interface_name;
648
649 operator zwp_idle_inhibit_manager_v1*() const;
650
656 std::function<void()> &on_destroy();
657
666
667};
668
669using global_zwp_idle_inhibit_manager_v1_t = global_t<zwp_idle_inhibit_manager_v1_t>;
670
671
688class zwp_idle_inhibitor_v1_t : public resource_t
689{
690private:
691 struct events_t : public resource_t::events_base_t
692 {
693 std::function<void()> destroy;
694 };
695
696 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
697
698protected:
699 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_idle_inhibitor_v1_interface;
700 static constexpr const unsigned int max_version = 1;
701
702 friend class global_t<zwp_idle_inhibitor_v1_t>;
703 friend class global_base_t;
704
705public:
706 zwp_idle_inhibitor_v1_t() = default;
707 zwp_idle_inhibitor_v1_t(const client_t& client, uint32_t id, int version = 1);
708 zwp_idle_inhibitor_v1_t(const resource_t &resource);
709
710 static const std::string interface_name;
711
712 operator zwp_idle_inhibitor_v1*() const;
713
719 std::function<void()> &on_destroy();
720
721};
722
723using global_zwp_idle_inhibitor_v1_t = global_t<zwp_idle_inhibitor_v1_t>;
724
725
753class zwp_input_method_context_v1_t : public resource_t
754{
755private:
756 struct events_t : public resource_t::events_base_t
757 {
758 std::function<void()> destroy;
759 std::function<void(uint32_t, std::string)> commit_string;
760 std::function<void(uint32_t, std::string, std::string)> preedit_string;
761 std::function<void(uint32_t, uint32_t, zwp_text_input_v1_preedit_style)> preedit_styling;
762 std::function<void(int32_t)> preedit_cursor;
763 std::function<void(int32_t, uint32_t)> delete_surrounding_text;
764 std::function<void(int32_t, int32_t)> cursor_position;
765 std::function<void(array_t)> modifiers_map;
766 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state, uint32_t)> keysym;
767 std::function<void(keyboard_t)> grab_keyboard;
768 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> key;
769 std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> modifiers;
770 std::function<void(uint32_t, std::string)> language;
771 std::function<void(uint32_t, uint32_t)> text_direction;
772 };
773
774 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
775
776protected:
777 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_method_context_v1_interface;
778 static constexpr const unsigned int max_version = 1;
779
780 friend class global_t<zwp_input_method_context_v1_t>;
781 friend class global_base_t;
782
783public:
784 zwp_input_method_context_v1_t() = default;
785 zwp_input_method_context_v1_t(const client_t& client, uint32_t id, int version = 1);
786 zwp_input_method_context_v1_t(const resource_t &resource);
787
788 static const std::string interface_name;
789
790 operator zwp_input_method_context_v1*() const;
791
795 std::function<void()> &on_destroy();
796
812 std::function<void(uint32_t, std::string)> &on_commit_string();
813
828 std::function<void(uint32_t, std::string, std::string)> &on_preedit_string();
829
843 std::function<void(uint32_t, uint32_t, zwp_text_input_v1_preedit_style)> &on_preedit_styling();
844
856 std::function<void(int32_t)> &on_preedit_cursor();
857
868 std::function<void(int32_t, uint32_t)> &on_delete_surrounding_text();
869
886 std::function<void(int32_t, int32_t)> &on_cursor_position();
887
892 std::function<void(array_t)> &on_modifiers_map();
893
907 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state, uint32_t)> &on_keysym();
908
918 std::function<void(keyboard_t)> &on_grab_keyboard();
919
934 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> &on_key();
935
949 std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> &on_modifiers();
950
956 std::function<void(uint32_t, std::string)> &on_language();
957
963 std::function<void(uint32_t, uint32_t)> &on_text_direction();
964
977 void surrounding_text(std::string const& text, uint32_t cursor, uint32_t anchor, bool post = true);
978
981 static constexpr std::uint32_t surrounding_text_since_version = 1;
982
986 void reset(bool post = true);
987
990 static constexpr std::uint32_t reset_since_version = 1;
991
997 void content_type(zwp_text_input_v1_content_hint const& hint, zwp_text_input_v1_content_purpose const& purpose, bool post = true);
998
1001 static constexpr std::uint32_t content_type_since_version = 1;
1002
1008 void invoke_action(uint32_t button, uint32_t index, bool post = true);
1009
1012 static constexpr std::uint32_t invoke_action_since_version = 1;
1013
1018 void commit_state(uint32_t serial, bool post = true);
1019
1022 static constexpr std::uint32_t commit_state_since_version = 1;
1023
1028 void preferred_language(std::string const& language, bool post = true);
1029
1032 static constexpr std::uint32_t preferred_language_since_version = 1;
1033
1034};
1035
1036using global_zwp_input_method_context_v1_t = global_t<zwp_input_method_context_v1_t>;
1037
1038
1047class zwp_input_method_v1_t : public resource_t
1048{
1049private:
1050 struct events_t : public resource_t::events_base_t
1051 {
1052 };
1053
1054 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1055
1056protected:
1057 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_method_v1_interface;
1058 static constexpr const unsigned int max_version = 1;
1059
1060 friend class global_t<zwp_input_method_v1_t>;
1061 friend class global_base_t;
1062
1063public:
1064 zwp_input_method_v1_t() = default;
1065 zwp_input_method_v1_t(const client_t& client, uint32_t id, int version = 1);
1066 zwp_input_method_v1_t(const resource_t &resource);
1067
1068 static const std::string interface_name;
1069
1070 operator zwp_input_method_v1*() const;
1071
1078 void activate(bool post = true);
1079
1082 static constexpr std::uint32_t activate_since_version = 1;
1083
1092 void deactivate(zwp_input_method_context_v1_t const& context, bool post = true);
1093
1096 static constexpr std::uint32_t deactivate_since_version = 1;
1097
1098};
1099
1100using global_zwp_input_method_v1_t = global_t<zwp_input_method_v1_t>;
1101
1102
1108class zwp_input_panel_v1_t : public resource_t
1109{
1110private:
1111 struct events_t : public resource_t::events_base_t
1112 {
1113 std::function<void(zwp_input_panel_surface_v1_t, surface_t)> get_input_panel_surface;
1114 };
1115
1116 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1117
1118protected:
1119 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_panel_v1_interface;
1120 static constexpr const unsigned int max_version = 1;
1121
1122 friend class global_t<zwp_input_panel_v1_t>;
1123 friend class global_base_t;
1124
1125public:
1126 zwp_input_panel_v1_t() = default;
1127 zwp_input_panel_v1_t(const client_t& client, uint32_t id, int version = 1);
1128 zwp_input_panel_v1_t(const resource_t &resource);
1129
1130 static const std::string interface_name;
1131
1132 operator zwp_input_panel_v1*() const;
1133
1139 std::function<void(zwp_input_panel_surface_v1_t, surface_t)> &on_get_input_panel_surface();
1140
1141};
1142
1143using global_zwp_input_panel_v1_t = global_t<zwp_input_panel_v1_t>;
1144
1145
1149class zwp_input_panel_surface_v1_t : public resource_t
1150{
1151private:
1152 struct events_t : public resource_t::events_base_t
1153 {
1154 std::function<void(output_t, zwp_input_panel_surface_v1_position)> set_toplevel;
1155 std::function<void()> set_overlay_panel;
1156 };
1157
1158 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1159
1160protected:
1161 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_panel_surface_v1_interface;
1162 static constexpr const unsigned int max_version = 1;
1163
1164 friend class global_t<zwp_input_panel_surface_v1_t>;
1165 friend class global_base_t;
1166
1167public:
1168 zwp_input_panel_surface_v1_t() = default;
1169 zwp_input_panel_surface_v1_t(const client_t& client, uint32_t id, int version = 1);
1170 zwp_input_panel_surface_v1_t(const resource_t &resource);
1171
1172 static const std::string interface_name;
1173
1174 operator zwp_input_panel_surface_v1*() const;
1175
1185 std::function<void(output_t, zwp_input_panel_surface_v1_position)> &on_set_toplevel();
1186
1195 std::function<void()> &on_set_overlay_panel();
1196
1197};
1198
1199using global_zwp_input_panel_surface_v1_t = global_t<zwp_input_panel_surface_v1_t>;
1200
1204enum class zwp_input_panel_surface_v1_position : uint32_t
1205 {
1206 center_bottom = 0
1207};
1208
1209
1216class zwp_input_timestamps_manager_v1_t : public resource_t
1217{
1218private:
1219 struct events_t : public resource_t::events_base_t
1220 {
1221 std::function<void()> destroy;
1222 std::function<void(zwp_input_timestamps_v1_t, keyboard_t)> get_keyboard_timestamps;
1223 std::function<void(zwp_input_timestamps_v1_t, pointer_t)> get_pointer_timestamps;
1224 std::function<void(zwp_input_timestamps_v1_t, touch_t)> get_touch_timestamps;
1225 };
1226
1227 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1228
1229protected:
1230 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_timestamps_manager_v1_interface;
1231 static constexpr const unsigned int max_version = 1;
1232
1233 friend class global_t<zwp_input_timestamps_manager_v1_t>;
1234 friend class global_base_t;
1235
1236public:
1237 zwp_input_timestamps_manager_v1_t() = default;
1238 zwp_input_timestamps_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
1239 zwp_input_timestamps_manager_v1_t(const resource_t &resource);
1240
1241 static const std::string interface_name;
1242
1243 operator zwp_input_timestamps_manager_v1*() const;
1244
1252 std::function<void()> &on_destroy();
1253
1269
1285
1301
1302};
1303
1304using global_zwp_input_timestamps_manager_v1_t = global_t<zwp_input_timestamps_manager_v1_t>;
1305
1306
1314class zwp_input_timestamps_v1_t : public resource_t
1315{
1316private:
1317 struct events_t : public resource_t::events_base_t
1318 {
1319 std::function<void()> destroy;
1320 };
1321
1322 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1323
1324protected:
1325 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_input_timestamps_v1_interface;
1326 static constexpr const unsigned int max_version = 1;
1327
1328 friend class global_t<zwp_input_timestamps_v1_t>;
1329 friend class global_base_t;
1330
1331public:
1332 zwp_input_timestamps_v1_t() = default;
1333 zwp_input_timestamps_v1_t(const client_t& client, uint32_t id, int version = 1);
1334 zwp_input_timestamps_v1_t(const resource_t &resource);
1335
1336 static const std::string interface_name;
1337
1338 operator zwp_input_timestamps_v1*() const;
1339
1347 std::function<void()> &on_destroy();
1348
1370 void timestamp(uint32_t tv_sec_hi, uint32_t tv_sec_lo, uint32_t tv_nsec, bool post = true);
1371
1374 static constexpr std::uint32_t timestamp_since_version = 1;
1375
1376};
1377
1378using global_zwp_input_timestamps_v1_t = global_t<zwp_input_timestamps_v1_t>;
1379
1380
1386class zwp_keyboard_shortcuts_inhibit_manager_v1_t : public resource_t
1387{
1388private:
1389 struct events_t : public resource_t::events_base_t
1390 {
1391 std::function<void()> destroy;
1392 std::function<void(zwp_keyboard_shortcuts_inhibitor_v1_t, surface_t, seat_t)> inhibit_shortcuts;
1393 };
1394
1395 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1396
1397protected:
1398 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_keyboard_shortcuts_inhibit_manager_v1_interface;
1399 static constexpr const unsigned int max_version = 1;
1400
1401 friend class global_t<zwp_keyboard_shortcuts_inhibit_manager_v1_t>;
1402 friend class global_base_t;
1403
1404public:
1405 zwp_keyboard_shortcuts_inhibit_manager_v1_t() = default;
1406 zwp_keyboard_shortcuts_inhibit_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
1407 zwp_keyboard_shortcuts_inhibit_manager_v1_t(const resource_t &resource);
1408
1409 static const std::string interface_name;
1410
1411 operator zwp_keyboard_shortcuts_inhibit_manager_v1*() const;
1412
1418 std::function<void()> &on_destroy();
1419
1433
1436 void post_already_inhibited(std::string const& msg);
1437
1438};
1439
1440using global_zwp_keyboard_shortcuts_inhibit_manager_v1_t = global_t<zwp_keyboard_shortcuts_inhibit_manager_v1_t>;
1441
1445enum class zwp_keyboard_shortcuts_inhibit_manager_v1_error : uint32_t
1446 {
1448 already_inhibited = 0
1449};
1450
1451
1489class zwp_keyboard_shortcuts_inhibitor_v1_t : public resource_t
1490{
1491private:
1492 struct events_t : public resource_t::events_base_t
1493 {
1494 std::function<void()> destroy;
1495 };
1496
1497 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1498
1499protected:
1500 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_keyboard_shortcuts_inhibitor_v1_interface;
1501 static constexpr const unsigned int max_version = 1;
1502
1503 friend class global_t<zwp_keyboard_shortcuts_inhibitor_v1_t>;
1504 friend class global_base_t;
1505
1506public:
1507 zwp_keyboard_shortcuts_inhibitor_v1_t() = default;
1508 zwp_keyboard_shortcuts_inhibitor_v1_t(const client_t& client, uint32_t id, int version = 1);
1509 zwp_keyboard_shortcuts_inhibitor_v1_t(const resource_t &resource);
1510
1511 static const std::string interface_name;
1512
1513 operator zwp_keyboard_shortcuts_inhibitor_v1*() const;
1514
1520 std::function<void()> &on_destroy();
1521
1537 void active(bool post = true);
1538
1541 static constexpr std::uint32_t active_since_version = 1;
1542
1549 void inactive(bool post = true);
1550
1553 static constexpr std::uint32_t inactive_since_version = 1;
1554
1555};
1556
1557using global_zwp_keyboard_shortcuts_inhibitor_v1_t = global_t<zwp_keyboard_shortcuts_inhibitor_v1_t>;
1558
1559
1632class zwp_linux_dmabuf_v1_t : public resource_t
1633{
1634private:
1635 struct events_t : public resource_t::events_base_t
1636 {
1637 std::function<void()> destroy;
1638 std::function<void(zwp_linux_buffer_params_v1_t)> create_params;
1639 std::function<void(zwp_linux_dmabuf_feedback_v1_t)> get_default_feedback;
1640 std::function<void(zwp_linux_dmabuf_feedback_v1_t, surface_t)> get_surface_feedback;
1641 };
1642
1643 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1644
1645protected:
1646 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_dmabuf_v1_interface;
1647 static constexpr const unsigned int max_version = 4;
1648
1649 friend class global_t<zwp_linux_dmabuf_v1_t>;
1650 friend class global_base_t;
1651
1652public:
1653 zwp_linux_dmabuf_v1_t() = default;
1654 zwp_linux_dmabuf_v1_t(const client_t& client, uint32_t id, int version = 4);
1655 zwp_linux_dmabuf_v1_t(const resource_t &resource);
1656
1657 static const std::string interface_name;
1658
1659 operator zwp_linux_dmabuf_v1*() const;
1660
1667 std::function<void()> &on_destroy();
1668
1678 std::function<void(zwp_linux_buffer_params_v1_t)> &on_create_params();
1679
1690
1704
1721 void format(uint32_t format, bool post = true);
1722
1725 static constexpr std::uint32_t format_since_version = 1;
1726
1757 void modifier(uint32_t format, uint32_t modifier_hi, uint32_t modifier_lo, bool post = true);
1758
1761 static constexpr std::uint32_t modifier_since_version = 3;
1762
1766 bool can_modifier() const;
1767
1768};
1769
1770using global_zwp_linux_dmabuf_v1_t = global_t<zwp_linux_dmabuf_v1_t>;
1771
1772
1791class zwp_linux_buffer_params_v1_t : public resource_t
1792{
1793private:
1794 struct events_t : public resource_t::events_base_t
1795 {
1796 std::function<void()> destroy;
1797 std::function<void(int, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> add;
1798 std::function<void(int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> create;
1799 std::function<void(buffer_t, int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> create_immed;
1800 };
1801
1802 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
1803
1804protected:
1805 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_buffer_params_v1_interface;
1806 static constexpr const unsigned int max_version = 4;
1807
1808 friend class global_t<zwp_linux_buffer_params_v1_t>;
1809 friend class global_base_t;
1810
1811public:
1812 zwp_linux_buffer_params_v1_t() = default;
1813 zwp_linux_buffer_params_v1_t(const client_t& client, uint32_t id, int version = 4);
1814 zwp_linux_buffer_params_v1_t(const resource_t &resource);
1815
1816 static const std::string interface_name;
1817
1818 operator zwp_linux_buffer_params_v1*() const;
1819
1826 std::function<void()> &on_destroy();
1827
1854 std::function<void(int, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> &on_add();
1855
1923 std::function<void(int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> &on_create();
1924
1957 std::function<void(buffer_t, int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> &on_create_immed();
1958
1969 void created(bool post = true);
1970
1973 static constexpr std::uint32_t created_since_version = 1;
1974
1985 void failed(bool post = true);
1986
1989 static constexpr std::uint32_t failed_since_version = 1;
1990
1993 void post_already_used(std::string const& msg);
1994
1997 void post_plane_idx(std::string const& msg);
1998
2001 void post_plane_set(std::string const& msg);
2002
2005 void post_incomplete(std::string const& msg);
2006
2009 void post_invalid_format(std::string const& msg);
2010
2013 void post_invalid_dimensions(std::string const& msg);
2014
2017 void post_out_of_bounds(std::string const& msg);
2018
2021 void post_invalid_wl_buffer(std::string const& msg);
2022
2023};
2024
2025using global_zwp_linux_buffer_params_v1_t = global_t<zwp_linux_buffer_params_v1_t>;
2026
2030enum class zwp_linux_buffer_params_v1_error : uint32_t
2031 {
2033 already_used = 0,
2035 plane_idx = 1,
2037 plane_set = 2,
2039 incomplete = 3,
2041 invalid_format = 4,
2043 invalid_dimensions = 5,
2045 out_of_bounds = 6,
2047 invalid_wl_buffer = 7
2048};
2049
2053struct zwp_linux_buffer_params_v1_flags : public wayland::detail::bitfield<3, 6>
2054{
2055 zwp_linux_buffer_params_v1_flags(const wayland::detail::bitfield<3, 6> &b)
2056 : wayland::detail::bitfield<3, 6>(b) {}
2057 zwp_linux_buffer_params_v1_flags(const uint32_t value)
2058 : wayland::detail::bitfield<3, 6>(value) {}
2060 static const wayland::detail::bitfield<3, 6> y_invert;
2062 static const wayland::detail::bitfield<3, 6> interlaced;
2064 static const wayland::detail::bitfield<3, 6> bottom_first;
2065};
2066
2067
2097class zwp_linux_dmabuf_feedback_v1_t : public resource_t
2098{
2099private:
2100 struct events_t : public resource_t::events_base_t
2101 {
2102 std::function<void()> destroy;
2103 };
2104
2105 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2106
2107protected:
2108 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_dmabuf_feedback_v1_interface;
2109 static constexpr const unsigned int max_version = 4;
2110
2111 friend class global_t<zwp_linux_dmabuf_feedback_v1_t>;
2112 friend class global_base_t;
2113
2114public:
2115 zwp_linux_dmabuf_feedback_v1_t() = default;
2116 zwp_linux_dmabuf_feedback_v1_t(const client_t& client, uint32_t id, int version = 4);
2117 zwp_linux_dmabuf_feedback_v1_t(const resource_t &resource);
2118
2119 static const std::string interface_name;
2120
2121 operator zwp_linux_dmabuf_feedback_v1*() const;
2122
2129 std::function<void()> &on_destroy();
2130
2140 void done(bool post = true);
2141
2144 static constexpr std::uint32_t done_since_version = 1;
2145
2166 void format_table(int fd, uint32_t size, bool post = true);
2167
2170 static constexpr std::uint32_t format_table_since_version = 1;
2171
2200 void main_device(array_t const& device, bool post = true);
2201
2204 static constexpr std::uint32_t main_device_since_version = 1;
2205
2214 void tranche_done(bool post = true);
2215
2218 static constexpr std::uint32_t tranche_done_since_version = 1;
2219
2251 void tranche_target_device(array_t const& device, bool post = true);
2252
2255 static constexpr std::uint32_t tranche_target_device_since_version = 1;
2256
2286 void tranche_formats(array_t const& indices, bool post = true);
2287
2290 static constexpr std::uint32_t tranche_formats_since_version = 1;
2291
2305 void tranche_flags(zwp_linux_dmabuf_feedback_v1_tranche_flags const& flags, bool post = true);
2306
2309 static constexpr std::uint32_t tranche_flags_since_version = 1;
2310
2311};
2312
2313using global_zwp_linux_dmabuf_feedback_v1_t = global_t<zwp_linux_dmabuf_feedback_v1_t>;
2314
2318struct zwp_linux_dmabuf_feedback_v1_tranche_flags : public wayland::detail::bitfield<1, 7>
2319{
2320 zwp_linux_dmabuf_feedback_v1_tranche_flags(const wayland::detail::bitfield<1, 7> &b)
2321 : wayland::detail::bitfield<1, 7>(b) {}
2322 zwp_linux_dmabuf_feedback_v1_tranche_flags(const uint32_t value)
2323 : wayland::detail::bitfield<1, 7>(value) {}
2325 static const wayland::detail::bitfield<1, 7> scanout;
2326};
2327
2328
2349class zwp_linux_explicit_synchronization_v1_t : public resource_t
2350{
2351private:
2352 struct events_t : public resource_t::events_base_t
2353 {
2354 std::function<void()> destroy;
2355 std::function<void(zwp_linux_surface_synchronization_v1_t, surface_t)> get_synchronization;
2356 };
2357
2358 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2359
2360protected:
2361 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_explicit_synchronization_v1_interface;
2362 static constexpr const unsigned int max_version = 2;
2363
2364 friend class global_t<zwp_linux_explicit_synchronization_v1_t>;
2365 friend class global_base_t;
2366
2367public:
2368 zwp_linux_explicit_synchronization_v1_t() = default;
2369 zwp_linux_explicit_synchronization_v1_t(const client_t& client, uint32_t id, int version = 2);
2370 zwp_linux_explicit_synchronization_v1_t(const resource_t &resource);
2371
2372 static const std::string interface_name;
2373
2374 operator zwp_linux_explicit_synchronization_v1*() const;
2375
2383 std::function<void()> &on_destroy();
2384
2403
2406 void post_synchronization_exists(std::string const& msg);
2407
2408};
2409
2410using global_zwp_linux_explicit_synchronization_v1_t = global_t<zwp_linux_explicit_synchronization_v1_t>;
2411
2415enum class zwp_linux_explicit_synchronization_v1_error : uint32_t
2416 {
2418 synchronization_exists = 0
2419};
2420
2421
2456class zwp_linux_surface_synchronization_v1_t : public resource_t
2457{
2458private:
2459 struct events_t : public resource_t::events_base_t
2460 {
2461 std::function<void()> destroy;
2462 std::function<void(int)> set_acquire_fence;
2463 std::function<void(zwp_linux_buffer_release_v1_t)> get_release;
2464 };
2465
2466 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2467
2468protected:
2469 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_surface_synchronization_v1_interface;
2470 static constexpr const unsigned int max_version = 2;
2471
2472 friend class global_t<zwp_linux_surface_synchronization_v1_t>;
2473 friend class global_base_t;
2474
2475public:
2476 zwp_linux_surface_synchronization_v1_t() = default;
2477 zwp_linux_surface_synchronization_v1_t(const client_t& client, uint32_t id, int version = 2);
2478 zwp_linux_surface_synchronization_v1_t(const resource_t &resource);
2479
2480 static const std::string interface_name;
2481
2482 operator zwp_linux_surface_synchronization_v1*() const;
2483
2496 std::function<void()> &on_destroy();
2497
2526 std::function<void(int)> &on_set_acquire_fence();
2527
2550 std::function<void(zwp_linux_buffer_release_v1_t)> &on_get_release();
2551
2554 void post_invalid_fence(std::string const& msg);
2555
2558 void post_duplicate_fence(std::string const& msg);
2559
2562 void post_duplicate_release(std::string const& msg);
2563
2566 void post_no_surface(std::string const& msg);
2567
2570 void post_unsupported_buffer(std::string const& msg);
2571
2574 void post_no_buffer(std::string const& msg);
2575
2576};
2577
2578using global_zwp_linux_surface_synchronization_v1_t = global_t<zwp_linux_surface_synchronization_v1_t>;
2579
2583enum class zwp_linux_surface_synchronization_v1_error : uint32_t
2584 {
2586 invalid_fence = 0,
2588 duplicate_fence = 1,
2590 duplicate_release = 2,
2592 no_surface = 3,
2594 unsupported_buffer = 4,
2596 no_buffer = 5
2597};
2598
2599
2621class zwp_linux_buffer_release_v1_t : public resource_t
2622{
2623private:
2624 struct events_t : public resource_t::events_base_t
2625 {
2626 };
2627
2628 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2629
2630protected:
2631 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_linux_buffer_release_v1_interface;
2632 static constexpr const unsigned int max_version = 1;
2633
2634 friend class global_t<zwp_linux_buffer_release_v1_t>;
2635 friend class global_base_t;
2636
2637public:
2638 zwp_linux_buffer_release_v1_t() = default;
2639 zwp_linux_buffer_release_v1_t(const client_t& client, uint32_t id, int version = 1);
2640 zwp_linux_buffer_release_v1_t(const resource_t &resource);
2641
2642 static const std::string interface_name;
2643
2644 operator zwp_linux_buffer_release_v1*() const;
2645
2662 void fenced_release(int fence, bool post = true);
2663
2666 static constexpr std::uint32_t fenced_release_since_version = 1;
2667
2683 void immediate_release(bool post = true);
2684
2687 static constexpr std::uint32_t immediate_release_since_version = 1;
2688
2689};
2690
2691using global_zwp_linux_buffer_release_v1_t = global_t<zwp_linux_buffer_release_v1_t>;
2692
2693
2711class zwp_pointer_constraints_v1_t : public resource_t
2712{
2713private:
2714 struct events_t : public resource_t::events_base_t
2715 {
2716 std::function<void()> destroy;
2717 std::function<void(zwp_locked_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> lock_pointer;
2718 std::function<void(zwp_confined_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> confine_pointer;
2719 };
2720
2721 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2722
2723protected:
2724 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_pointer_constraints_v1_interface;
2725 static constexpr const unsigned int max_version = 1;
2726
2727 friend class global_t<zwp_pointer_constraints_v1_t>;
2728 friend class global_base_t;
2729
2730public:
2731 zwp_pointer_constraints_v1_t() = default;
2732 zwp_pointer_constraints_v1_t(const client_t& client, uint32_t id, int version = 1);
2733 zwp_pointer_constraints_v1_t(const resource_t &resource);
2734
2735 static const std::string interface_name;
2736
2737 operator zwp_pointer_constraints_v1*() const;
2738
2745 std::function<void()> &on_destroy();
2746
2790 std::function<void(zwp_locked_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> &on_lock_pointer();
2791
2818 std::function<void(zwp_confined_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> &on_confine_pointer();
2819
2822 void post_already_constrained(std::string const& msg);
2823
2824};
2825
2826using global_zwp_pointer_constraints_v1_t = global_t<zwp_pointer_constraints_v1_t>;
2827
2834enum class zwp_pointer_constraints_v1_error : uint32_t
2835 {
2837 already_constrained = 1
2838};
2839
2847enum class zwp_pointer_constraints_v1_lifetime : uint32_t
2848 {
2849 oneshot = 1,
2850 persistent = 2
2851};
2852
2853
2881class zwp_locked_pointer_v1_t : public resource_t
2882{
2883private:
2884 struct events_t : public resource_t::events_base_t
2885 {
2886 std::function<void()> destroy;
2887 std::function<void(double, double)> set_cursor_position_hint;
2888 std::function<void(region_t)> set_region;
2889 };
2890
2891 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
2892
2893protected:
2894 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_locked_pointer_v1_interface;
2895 static constexpr const unsigned int max_version = 1;
2896
2897 friend class global_t<zwp_locked_pointer_v1_t>;
2898 friend class global_base_t;
2899
2900public:
2901 zwp_locked_pointer_v1_t() = default;
2902 zwp_locked_pointer_v1_t(const client_t& client, uint32_t id, int version = 1);
2903 zwp_locked_pointer_v1_t(const resource_t &resource);
2904
2905 static const std::string interface_name;
2906
2907 operator zwp_locked_pointer_v1*() const;
2908
2915 std::function<void()> &on_destroy();
2916
2934 std::function<void(double, double)> &on_set_cursor_position_hint();
2935
2948 std::function<void(region_t)> &on_set_region();
2949
2955 void locked(bool post = true);
2956
2959 static constexpr std::uint32_t locked_since_version = 1;
2960
2971 void unlocked(bool post = true);
2972
2975 static constexpr std::uint32_t unlocked_since_version = 1;
2976
2977};
2978
2979using global_zwp_locked_pointer_v1_t = global_t<zwp_locked_pointer_v1_t>;
2980
2981
3002class zwp_confined_pointer_v1_t : public resource_t
3003{
3004private:
3005 struct events_t : public resource_t::events_base_t
3006 {
3007 std::function<void()> destroy;
3008 std::function<void(region_t)> set_region;
3009 };
3010
3011 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3012
3013protected:
3014 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_confined_pointer_v1_interface;
3015 static constexpr const unsigned int max_version = 1;
3016
3017 friend class global_t<zwp_confined_pointer_v1_t>;
3018 friend class global_base_t;
3019
3020public:
3021 zwp_confined_pointer_v1_t() = default;
3022 zwp_confined_pointer_v1_t(const client_t& client, uint32_t id, int version = 1);
3023 zwp_confined_pointer_v1_t(const resource_t &resource);
3024
3025 static const std::string interface_name;
3026
3027 operator zwp_confined_pointer_v1*() const;
3028
3035 std::function<void()> &on_destroy();
3036
3058 std::function<void(region_t)> &on_set_region();
3059
3066 void confined(bool post = true);
3067
3070 static constexpr std::uint32_t confined_since_version = 1;
3071
3082 void unconfined(bool post = true);
3083
3086 static constexpr std::uint32_t unconfined_since_version = 1;
3087
3088};
3089
3090using global_zwp_confined_pointer_v1_t = global_t<zwp_confined_pointer_v1_t>;
3091
3092
3113class zwp_pointer_gestures_v1_t : public resource_t
3114{
3115private:
3116 struct events_t : public resource_t::events_base_t
3117 {
3118 std::function<void(zwp_pointer_gesture_swipe_v1_t, pointer_t)> get_swipe_gesture;
3119 std::function<void(zwp_pointer_gesture_pinch_v1_t, pointer_t)> get_pinch_gesture;
3120 std::function<void()> release;
3121 std::function<void(zwp_pointer_gesture_hold_v1_t, pointer_t)> get_hold_gesture;
3122 };
3123
3124 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3125
3126protected:
3127 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_pointer_gestures_v1_interface;
3128 static constexpr const unsigned int max_version = 3;
3129
3130 friend class global_t<zwp_pointer_gestures_v1_t>;
3131 friend class global_base_t;
3132
3133public:
3134 zwp_pointer_gestures_v1_t() = default;
3135 zwp_pointer_gestures_v1_t(const client_t& client, uint32_t id, int version = 3);
3136 zwp_pointer_gestures_v1_t(const resource_t &resource);
3137
3138 static const std::string interface_name;
3139
3140 operator zwp_pointer_gestures_v1*() const;
3141
3151
3161
3168 std::function<void()> &on_release();
3169
3179
3180};
3181
3182using global_zwp_pointer_gestures_v1_t = global_t<zwp_pointer_gestures_v1_t>;
3183
3184
3204class zwp_pointer_gesture_swipe_v1_t : public resource_t
3205{
3206private:
3207 struct events_t : public resource_t::events_base_t
3208 {
3209 std::function<void()> destroy;
3210 };
3211
3212 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3213
3214protected:
3215 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_pointer_gesture_swipe_v1_interface;
3216 static constexpr const unsigned int max_version = 2;
3217
3218 friend class global_t<zwp_pointer_gesture_swipe_v1_t>;
3219 friend class global_base_t;
3220
3221public:
3222 zwp_pointer_gesture_swipe_v1_t() = default;
3223 zwp_pointer_gesture_swipe_v1_t(const client_t& client, uint32_t id, int version = 2);
3224 zwp_pointer_gesture_swipe_v1_t(const resource_t &resource);
3225
3226 static const std::string interface_name;
3227
3228 operator zwp_pointer_gesture_swipe_v1*() const;
3229
3233 std::function<void()> &on_destroy();
3234
3245 void begin(uint32_t serial, uint32_t time, surface_t const& surface, uint32_t fingers, bool post = true);
3246
3249 static constexpr std::uint32_t begin_since_version = 1;
3250
3263 void update(uint32_t time, double dx, double dy, bool post = true);
3264
3267 static constexpr std::uint32_t update_since_version = 1;
3268
3283 void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post = true);
3284
3287 static constexpr std::uint32_t end_since_version = 1;
3288
3289};
3290
3291using global_zwp_pointer_gesture_swipe_v1_t = global_t<zwp_pointer_gesture_swipe_v1_t>;
3292
3293
3313class zwp_pointer_gesture_pinch_v1_t : public resource_t
3314{
3315private:
3316 struct events_t : public resource_t::events_base_t
3317 {
3318 std::function<void()> destroy;
3319 };
3320
3321 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3322
3323protected:
3324 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_pointer_gesture_pinch_v1_interface;
3325 static constexpr const unsigned int max_version = 2;
3326
3327 friend class global_t<zwp_pointer_gesture_pinch_v1_t>;
3328 friend class global_base_t;
3329
3330public:
3331 zwp_pointer_gesture_pinch_v1_t() = default;
3332 zwp_pointer_gesture_pinch_v1_t(const client_t& client, uint32_t id, int version = 2);
3333 zwp_pointer_gesture_pinch_v1_t(const resource_t &resource);
3334
3335 static const std::string interface_name;
3336
3337 operator zwp_pointer_gesture_pinch_v1*() const;
3338
3342 std::function<void()> &on_destroy();
3343
3354 void begin(uint32_t serial, uint32_t time, surface_t const& surface, uint32_t fingers, bool post = true);
3355
3358 static constexpr std::uint32_t begin_since_version = 1;
3359
3381 void update(uint32_t time, double dx, double dy, double scale, double rotation, bool post = true);
3382
3385 static constexpr std::uint32_t update_since_version = 1;
3386
3401 void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post = true);
3402
3405 static constexpr std::uint32_t end_since_version = 1;
3406
3407};
3408
3409using global_zwp_pointer_gesture_pinch_v1_t = global_t<zwp_pointer_gesture_pinch_v1_t>;
3410
3411
3433class zwp_pointer_gesture_hold_v1_t : public resource_t
3434{
3435private:
3436 struct events_t : public resource_t::events_base_t
3437 {
3438 std::function<void()> destroy;
3439 };
3440
3441 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3442
3443protected:
3444 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_pointer_gesture_hold_v1_interface;
3445 static constexpr const unsigned int max_version = 3;
3446
3447 friend class global_t<zwp_pointer_gesture_hold_v1_t>;
3448 friend class global_base_t;
3449
3450public:
3451 zwp_pointer_gesture_hold_v1_t() = default;
3452 zwp_pointer_gesture_hold_v1_t(const client_t& client, uint32_t id, int version = 3);
3453 zwp_pointer_gesture_hold_v1_t(const resource_t &resource);
3454
3455 static const std::string interface_name;
3456
3457 operator zwp_pointer_gesture_hold_v1*() const;
3458
3462 std::function<void()> &on_destroy();
3463
3473 void begin(uint32_t serial, uint32_t time, surface_t const& surface, uint32_t fingers, bool post = true);
3474
3477 static constexpr std::uint32_t begin_since_version = 3;
3478
3482 bool can_begin() const;
3483
3500 void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post = true);
3501
3504 static constexpr std::uint32_t end_since_version = 3;
3505
3509 bool can_end() const;
3510
3511};
3512
3513using global_zwp_pointer_gesture_hold_v1_t = global_t<zwp_pointer_gesture_hold_v1_t>;
3514
3515
3524class zwp_primary_selection_device_manager_v1_t : public resource_t
3525{
3526private:
3527 struct events_t : public resource_t::events_base_t
3528 {
3529 std::function<void(zwp_primary_selection_source_v1_t)> create_source;
3530 std::function<void(zwp_primary_selection_device_v1_t, seat_t)> get_device;
3531 std::function<void()> destroy;
3532 };
3533
3534 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3535
3536protected:
3537 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_primary_selection_device_manager_v1_interface;
3538 static constexpr const unsigned int max_version = 1;
3539
3540 friend class global_t<zwp_primary_selection_device_manager_v1_t>;
3541 friend class global_base_t;
3542
3543public:
3544 zwp_primary_selection_device_manager_v1_t() = default;
3545 zwp_primary_selection_device_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
3546 zwp_primary_selection_device_manager_v1_t(const resource_t &resource);
3547
3548 static const std::string interface_name;
3549
3550 operator zwp_primary_selection_device_manager_v1*() const;
3551
3559
3567 std::function<void(zwp_primary_selection_device_v1_t, seat_t)> &on_get_device();
3568
3574 std::function<void()> &on_destroy();
3575
3576};
3577
3578using global_zwp_primary_selection_device_manager_v1_t = global_t<zwp_primary_selection_device_manager_v1_t>;
3579
3580
3584class zwp_primary_selection_device_v1_t : public resource_t
3585{
3586private:
3587 struct events_t : public resource_t::events_base_t
3588 {
3589 std::function<void(zwp_primary_selection_source_v1_t, uint32_t)> set_selection;
3590 std::function<void()> destroy;
3591 };
3592
3593 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3594
3595protected:
3596 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_primary_selection_device_v1_interface;
3597 static constexpr const unsigned int max_version = 1;
3598
3599 friend class global_t<zwp_primary_selection_device_v1_t>;
3600 friend class global_base_t;
3601
3602public:
3603 zwp_primary_selection_device_v1_t() = default;
3604 zwp_primary_selection_device_v1_t(const client_t& client, uint32_t id, int version = 1);
3605 zwp_primary_selection_device_v1_t(const resource_t &resource);
3606
3607 static const std::string interface_name;
3608
3609 operator zwp_primary_selection_device_v1*() const;
3610
3621 std::function<void(zwp_primary_selection_source_v1_t, uint32_t)> &on_set_selection();
3622
3628 std::function<void()> &on_destroy();
3629
3639 void data_offer(bool post = true);
3640
3643 static constexpr std::uint32_t data_offer_since_version = 1;
3644
3659 void selection(zwp_primary_selection_offer_v1_t const& id, bool post = true);
3660
3663 static constexpr std::uint32_t selection_since_version = 1;
3664
3665};
3666
3667using global_zwp_primary_selection_device_v1_t = global_t<zwp_primary_selection_device_v1_t>;
3668
3669
3679class zwp_primary_selection_offer_v1_t : public resource_t
3680{
3681private:
3682 struct events_t : public resource_t::events_base_t
3683 {
3684 std::function<void(std::string, int)> receive;
3685 std::function<void()> destroy;
3686 };
3687
3688 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3689
3690protected:
3691 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_primary_selection_offer_v1_interface;
3692 static constexpr const unsigned int max_version = 1;
3693
3694 friend class global_t<zwp_primary_selection_offer_v1_t>;
3695 friend class global_base_t;
3696
3697public:
3698 zwp_primary_selection_offer_v1_t() = default;
3699 zwp_primary_selection_offer_v1_t(const client_t& client, uint32_t id, int version = 1);
3700 zwp_primary_selection_offer_v1_t(const resource_t &resource);
3701
3702 static const std::string interface_name;
3703
3704 operator zwp_primary_selection_offer_v1*() const;
3705
3721 std::function<void(std::string, int)> &on_receive();
3722
3728 std::function<void()> &on_destroy();
3729
3739 void offer(std::string const& mime_type, bool post = true);
3740
3743 static constexpr std::uint32_t offer_since_version = 1;
3744
3745};
3746
3747using global_zwp_primary_selection_offer_v1_t = global_t<zwp_primary_selection_offer_v1_t>;
3748
3749
3757class zwp_primary_selection_source_v1_t : public resource_t
3758{
3759private:
3760 struct events_t : public resource_t::events_base_t
3761 {
3762 std::function<void(std::string)> offer;
3763 std::function<void()> destroy;
3764 };
3765
3766 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3767
3768protected:
3769 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_primary_selection_source_v1_interface;
3770 static constexpr const unsigned int max_version = 1;
3771
3772 friend class global_t<zwp_primary_selection_source_v1_t>;
3773 friend class global_base_t;
3774
3775public:
3776 zwp_primary_selection_source_v1_t() = default;
3777 zwp_primary_selection_source_v1_t(const client_t& client, uint32_t id, int version = 1);
3778 zwp_primary_selection_source_v1_t(const resource_t &resource);
3779
3780 static const std::string interface_name;
3781
3782 operator zwp_primary_selection_source_v1*() const;
3783
3791 std::function<void(std::string)> &on_offer();
3792
3798 std::function<void()> &on_destroy();
3799
3809 void send(std::string const& mime_type, int fd, bool post = true);
3810
3813 static constexpr std::uint32_t send_since_version = 1;
3814
3821 void cancelled(bool post = true);
3822
3825 static constexpr std::uint32_t cancelled_since_version = 1;
3826
3827};
3828
3829using global_zwp_primary_selection_source_v1_t = global_t<zwp_primary_selection_source_v1_t>;
3830
3831
3838class zwp_relative_pointer_manager_v1_t : public resource_t
3839{
3840private:
3841 struct events_t : public resource_t::events_base_t
3842 {
3843 std::function<void()> destroy;
3844 std::function<void(zwp_relative_pointer_v1_t, pointer_t)> get_relative_pointer;
3845 };
3846
3847 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3848
3849protected:
3850 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_relative_pointer_manager_v1_interface;
3851 static constexpr const unsigned int max_version = 1;
3852
3853 friend class global_t<zwp_relative_pointer_manager_v1_t>;
3854 friend class global_base_t;
3855
3856public:
3857 zwp_relative_pointer_manager_v1_t() = default;
3858 zwp_relative_pointer_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
3859 zwp_relative_pointer_manager_v1_t(const resource_t &resource);
3860
3861 static const std::string interface_name;
3862
3863 operator zwp_relative_pointer_manager_v1*() const;
3864
3871 std::function<void()> &on_destroy();
3872
3882
3883};
3884
3885using global_zwp_relative_pointer_manager_v1_t = global_t<zwp_relative_pointer_manager_v1_t>;
3886
3887
3896class zwp_relative_pointer_v1_t : public resource_t
3897{
3898private:
3899 struct events_t : public resource_t::events_base_t
3900 {
3901 std::function<void()> destroy;
3902 };
3903
3904 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3905
3906protected:
3907 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_relative_pointer_v1_interface;
3908 static constexpr const unsigned int max_version = 1;
3909
3910 friend class global_t<zwp_relative_pointer_v1_t>;
3911 friend class global_base_t;
3912
3913public:
3914 zwp_relative_pointer_v1_t() = default;
3915 zwp_relative_pointer_v1_t(const client_t& client, uint32_t id, int version = 1);
3916 zwp_relative_pointer_v1_t(const resource_t &resource);
3917
3918 static const std::string interface_name;
3919
3920 operator zwp_relative_pointer_v1*() const;
3921
3925 std::function<void()> &on_destroy();
3926
3967 void relative_motion(uint32_t utime_hi, uint32_t utime_lo, double dx, double dy, double dx_unaccel, double dy_unaccel, bool post = true);
3968
3971 static constexpr std::uint32_t relative_motion_since_version = 1;
3972
3973};
3974
3975using global_zwp_relative_pointer_v1_t = global_t<zwp_relative_pointer_v1_t>;
3976
3977
3985class zwp_tablet_manager_v1_t : public resource_t
3986{
3987private:
3988 struct events_t : public resource_t::events_base_t
3989 {
3990 std::function<void(zwp_tablet_seat_v1_t, seat_t)> get_tablet_seat;
3991 std::function<void()> destroy;
3992 };
3993
3994 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
3995
3996protected:
3997 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_manager_v1_interface;
3998 static constexpr const unsigned int max_version = 1;
3999
4000 friend class global_t<zwp_tablet_manager_v1_t>;
4001 friend class global_base_t;
4002
4003public:
4004 zwp_tablet_manager_v1_t() = default;
4005 zwp_tablet_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
4006 zwp_tablet_manager_v1_t(const resource_t &resource);
4007
4008 static const std::string interface_name;
4009
4010 operator zwp_tablet_manager_v1*() const;
4011
4020 std::function<void(zwp_tablet_seat_v1_t, seat_t)> &on_get_tablet_seat();
4021
4028 std::function<void()> &on_destroy();
4029
4030};
4031
4032using global_zwp_tablet_manager_v1_t = global_t<zwp_tablet_manager_v1_t>;
4033
4034
4042class zwp_tablet_seat_v1_t : public resource_t
4043{
4044private:
4045 struct events_t : public resource_t::events_base_t
4046 {
4047 std::function<void()> destroy;
4048 };
4049
4050 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4051
4052protected:
4053 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_seat_v1_interface;
4054 static constexpr const unsigned int max_version = 1;
4055
4056 friend class global_t<zwp_tablet_seat_v1_t>;
4057 friend class global_base_t;
4058
4059public:
4060 zwp_tablet_seat_v1_t() = default;
4061 zwp_tablet_seat_v1_t(const client_t& client, uint32_t id, int version = 1);
4062 zwp_tablet_seat_v1_t(const resource_t &resource);
4063
4064 static const std::string interface_name;
4065
4066 operator zwp_tablet_seat_v1*() const;
4067
4074 std::function<void()> &on_destroy();
4075
4085 void tablet_added(bool post = true);
4086
4089 static constexpr std::uint32_t tablet_added_since_version = 1;
4090
4100 void tool_added(bool post = true);
4101
4104 static constexpr std::uint32_t tool_added_since_version = 1;
4105
4106};
4107
4108using global_zwp_tablet_seat_v1_t = global_t<zwp_tablet_seat_v1_t>;
4109
4110
4135class zwp_tablet_tool_v1_t : public resource_t
4136{
4137private:
4138 struct events_t : public resource_t::events_base_t
4139 {
4140 std::function<void(uint32_t, surface_t, int32_t, int32_t)> set_cursor;
4141 std::function<void()> destroy;
4142 };
4143
4144 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4145
4146protected:
4147 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_tool_v1_interface;
4148 static constexpr const unsigned int max_version = 1;
4149
4150 friend class global_t<zwp_tablet_tool_v1_t>;
4151 friend class global_base_t;
4152
4153public:
4154 zwp_tablet_tool_v1_t() = default;
4155 zwp_tablet_tool_v1_t(const client_t& client, uint32_t id, int version = 1);
4156 zwp_tablet_tool_v1_t(const resource_t &resource);
4157
4158 static const std::string interface_name;
4159
4160 operator zwp_tablet_tool_v1*() const;
4161
4202 std::function<void(uint32_t, surface_t, int32_t, int32_t)> &on_set_cursor();
4203
4209 std::function<void()> &on_destroy();
4210
4221 void type(zwp_tablet_tool_v1_type const& tool_type, bool post = true);
4222
4225 static constexpr std::uint32_t type_since_version = 1;
4226
4248 void hardware_serial(uint32_t hardware_serial_hi, uint32_t hardware_serial_lo, bool post = true);
4249
4252 static constexpr std::uint32_t hardware_serial_since_version = 1;
4253
4270 void hardware_id_wacom(uint32_t hardware_id_hi, uint32_t hardware_id_lo, bool post = true);
4271
4274 static constexpr std::uint32_t hardware_id_wacom_since_version = 1;
4275
4288 void capability(zwp_tablet_tool_v1_capability const& capability, bool post = true);
4289
4292 static constexpr std::uint32_t capability_since_version = 1;
4293
4301 void done(bool post = true);
4302
4305 static constexpr std::uint32_t done_since_version = 1;
4306
4325 void removed(bool post = true);
4326
4329 static constexpr std::uint32_t removed_since_version = 1;
4330
4347 void proximity_in(uint32_t serial, zwp_tablet_v1_t const& tablet, surface_t const& surface, bool post = true);
4348
4351 static constexpr std::uint32_t proximity_in_since_version = 1;
4352
4369 void proximity_out(bool post = true);
4370
4373 static constexpr std::uint32_t proximity_out_since_version = 1;
4374
4392 void down(uint32_t serial, bool post = true);
4393
4396 static constexpr std::uint32_t down_since_version = 1;
4397
4418 void up(bool post = true);
4419
4422 static constexpr std::uint32_t up_since_version = 1;
4423
4431 void motion(double x, double y, bool post = true);
4432
4435 static constexpr std::uint32_t motion_since_version = 1;
4436
4447 void pressure(uint32_t pressure, bool post = true);
4448
4451 static constexpr std::uint32_t pressure_since_version = 1;
4452
4463 void distance(uint32_t distance, bool post = true);
4464
4467 static constexpr std::uint32_t distance_since_version = 1;
4468
4479 void tilt(int32_t tilt_x, int32_t tilt_y, bool post = true);
4480
4483 static constexpr std::uint32_t tilt_since_version = 1;
4484
4493 void rotation(int32_t degrees, bool post = true);
4494
4497 static constexpr std::uint32_t rotation_since_version = 1;
4498
4509 void slider(int32_t position, bool post = true);
4510
4513 static constexpr std::uint32_t slider_since_version = 1;
4514
4533 void wheel(int32_t degrees, int32_t clicks, bool post = true);
4534
4537 static constexpr std::uint32_t wheel_since_version = 1;
4538
4552 void button(uint32_t serial, uint32_t button, zwp_tablet_tool_v1_button_state const& state, bool post = true);
4553
4556 static constexpr std::uint32_t button_since_version = 1;
4557
4567 void frame(uint32_t time, bool post = true);
4568
4571 static constexpr std::uint32_t frame_since_version = 1;
4572
4575 void post_role(std::string const& msg);
4576
4577};
4578
4579using global_zwp_tablet_tool_v1_t = global_t<zwp_tablet_tool_v1_t>;
4580
4594enum class zwp_tablet_tool_v1_type : uint32_t
4595 {
4597 pen = 0x140,
4599 eraser = 0x141,
4601 brush = 0x142,
4603 pencil = 0x143,
4605 airbrush = 0x144,
4607 finger = 0x145,
4609 mouse = 0x146,
4611 lens = 0x147
4612};
4613
4622enum class zwp_tablet_tool_v1_capability : uint32_t
4623 {
4625 tilt = 1,
4627 pressure = 2,
4629 distance = 3,
4631 rotation = 4,
4633 slider = 5,
4635 wheel = 6
4636};
4637
4643enum class zwp_tablet_tool_v1_button_state : uint32_t
4644 {
4646 released = 0,
4648 pressed = 1
4649};
4650
4654enum class zwp_tablet_tool_v1_error : uint32_t
4655 {
4657 role = 0
4658};
4659
4660
4673class zwp_tablet_v1_t : public resource_t
4674{
4675private:
4676 struct events_t : public resource_t::events_base_t
4677 {
4678 std::function<void()> destroy;
4679 };
4680
4681 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4682
4683protected:
4684 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_v1_interface;
4685 static constexpr const unsigned int max_version = 1;
4686
4687 friend class global_t<zwp_tablet_v1_t>;
4688 friend class global_base_t;
4689
4690public:
4691 zwp_tablet_v1_t() = default;
4692 zwp_tablet_v1_t(const client_t& client, uint32_t id, int version = 1);
4693 zwp_tablet_v1_t(const resource_t &resource);
4694
4695 static const std::string interface_name;
4696
4697 operator zwp_tablet_v1*() const;
4698
4704 std::function<void()> &on_destroy();
4705
4713 void name(std::string const& name, bool post = true);
4714
4717 static constexpr std::uint32_t name_since_version = 1;
4718
4727 void id(uint32_t vid, uint32_t pid, bool post = true);
4728
4731 static constexpr std::uint32_t id_since_version = 1;
4732
4752 void path(std::string const& path, bool post = true);
4753
4756 static constexpr std::uint32_t path_since_version = 1;
4757
4766 void done(bool post = true);
4767
4770 static constexpr std::uint32_t done_since_version = 1;
4771
4781 void removed(bool post = true);
4782
4785 static constexpr std::uint32_t removed_since_version = 1;
4786
4787};
4788
4789using global_zwp_tablet_v1_t = global_t<zwp_tablet_v1_t>;
4790
4791
4799class zwp_tablet_manager_v2_t : public resource_t
4800{
4801private:
4802 struct events_t : public resource_t::events_base_t
4803 {
4804 std::function<void(zwp_tablet_seat_v2_t, seat_t)> get_tablet_seat;
4805 std::function<void()> destroy;
4806 };
4807
4808 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4809
4810protected:
4811 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_manager_v2_interface;
4812 static constexpr const unsigned int max_version = 1;
4813
4814 friend class global_t<zwp_tablet_manager_v2_t>;
4815 friend class global_base_t;
4816
4817public:
4818 zwp_tablet_manager_v2_t() = default;
4819 zwp_tablet_manager_v2_t(const client_t& client, uint32_t id, int version = 1);
4820 zwp_tablet_manager_v2_t(const resource_t &resource);
4821
4822 static const std::string interface_name;
4823
4824 operator zwp_tablet_manager_v2*() const;
4825
4834 std::function<void(zwp_tablet_seat_v2_t, seat_t)> &on_get_tablet_seat();
4835
4842 std::function<void()> &on_destroy();
4843
4844};
4845
4846using global_zwp_tablet_manager_v2_t = global_t<zwp_tablet_manager_v2_t>;
4847
4848
4856class zwp_tablet_seat_v2_t : public resource_t
4857{
4858private:
4859 struct events_t : public resource_t::events_base_t
4860 {
4861 std::function<void()> destroy;
4862 };
4863
4864 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4865
4866protected:
4867 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_seat_v2_interface;
4868 static constexpr const unsigned int max_version = 1;
4869
4870 friend class global_t<zwp_tablet_seat_v2_t>;
4871 friend class global_base_t;
4872
4873public:
4874 zwp_tablet_seat_v2_t() = default;
4875 zwp_tablet_seat_v2_t(const client_t& client, uint32_t id, int version = 1);
4876 zwp_tablet_seat_v2_t(const resource_t &resource);
4877
4878 static const std::string interface_name;
4879
4880 operator zwp_tablet_seat_v2*() const;
4881
4888 std::function<void()> &on_destroy();
4889
4899 void tablet_added(bool post = true);
4900
4903 static constexpr std::uint32_t tablet_added_since_version = 1;
4904
4914 void tool_added(bool post = true);
4915
4918 static constexpr std::uint32_t tool_added_since_version = 1;
4919
4935 void pad_added(bool post = true);
4936
4939 static constexpr std::uint32_t pad_added_since_version = 1;
4940
4941};
4942
4943using global_zwp_tablet_seat_v2_t = global_t<zwp_tablet_seat_v2_t>;
4944
4945
4970class zwp_tablet_tool_v2_t : public resource_t
4971{
4972private:
4973 struct events_t : public resource_t::events_base_t
4974 {
4975 std::function<void(uint32_t, surface_t, int32_t, int32_t)> set_cursor;
4976 std::function<void()> destroy;
4977 };
4978
4979 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
4980
4981protected:
4982 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_tool_v2_interface;
4983 static constexpr const unsigned int max_version = 1;
4984
4985 friend class global_t<zwp_tablet_tool_v2_t>;
4986 friend class global_base_t;
4987
4988public:
4989 zwp_tablet_tool_v2_t() = default;
4990 zwp_tablet_tool_v2_t(const client_t& client, uint32_t id, int version = 1);
4991 zwp_tablet_tool_v2_t(const resource_t &resource);
4992
4993 static const std::string interface_name;
4994
4995 operator zwp_tablet_tool_v2*() const;
4996
5035 std::function<void(uint32_t, surface_t, int32_t, int32_t)> &on_set_cursor();
5036
5042 std::function<void()> &on_destroy();
5043
5054 void type(zwp_tablet_tool_v2_type const& tool_type, bool post = true);
5055
5058 static constexpr std::uint32_t type_since_version = 1;
5059
5081 void hardware_serial(uint32_t hardware_serial_hi, uint32_t hardware_serial_lo, bool post = true);
5082
5085 static constexpr std::uint32_t hardware_serial_since_version = 1;
5086
5103 void hardware_id_wacom(uint32_t hardware_id_hi, uint32_t hardware_id_lo, bool post = true);
5104
5107 static constexpr std::uint32_t hardware_id_wacom_since_version = 1;
5108
5121 void capability(zwp_tablet_tool_v2_capability const& capability, bool post = true);
5122
5125 static constexpr std::uint32_t capability_since_version = 1;
5126
5134 void done(bool post = true);
5135
5138 static constexpr std::uint32_t done_since_version = 1;
5139
5158 void removed(bool post = true);
5159
5162 static constexpr std::uint32_t removed_since_version = 1;
5163
5180 void proximity_in(uint32_t serial, zwp_tablet_v2_t const& tablet, surface_t const& surface, bool post = true);
5181
5184 static constexpr std::uint32_t proximity_in_since_version = 1;
5185
5202 void proximity_out(bool post = true);
5203
5206 static constexpr std::uint32_t proximity_out_since_version = 1;
5207
5225 void down(uint32_t serial, bool post = true);
5226
5229 static constexpr std::uint32_t down_since_version = 1;
5230
5251 void up(bool post = true);
5252
5255 static constexpr std::uint32_t up_since_version = 1;
5256
5264 void motion(double x, double y, bool post = true);
5265
5268 static constexpr std::uint32_t motion_since_version = 1;
5269
5280 void pressure(uint32_t pressure, bool post = true);
5281
5284 static constexpr std::uint32_t pressure_since_version = 1;
5285
5296 void distance(uint32_t distance, bool post = true);
5297
5300 static constexpr std::uint32_t distance_since_version = 1;
5301
5312 void tilt(double tilt_x, double tilt_y, bool post = true);
5313
5316 static constexpr std::uint32_t tilt_since_version = 1;
5317
5326 void rotation(double degrees, bool post = true);
5327
5330 static constexpr std::uint32_t rotation_since_version = 1;
5331
5342 void slider(int32_t position, bool post = true);
5343
5346 static constexpr std::uint32_t slider_since_version = 1;
5347
5366 void wheel(double degrees, int32_t clicks, bool post = true);
5367
5370 static constexpr std::uint32_t wheel_since_version = 1;
5371
5385 void button(uint32_t serial, uint32_t button, zwp_tablet_tool_v2_button_state const& state, bool post = true);
5386
5389 static constexpr std::uint32_t button_since_version = 1;
5390
5400 void frame(uint32_t time, bool post = true);
5401
5404 static constexpr std::uint32_t frame_since_version = 1;
5405
5408 void post_role(std::string const& msg);
5409
5410};
5411
5412using global_zwp_tablet_tool_v2_t = global_t<zwp_tablet_tool_v2_t>;
5413
5427enum class zwp_tablet_tool_v2_type : uint32_t
5428 {
5430 pen = 0x140,
5432 eraser = 0x141,
5434 brush = 0x142,
5436 pencil = 0x143,
5438 airbrush = 0x144,
5440 finger = 0x145,
5442 mouse = 0x146,
5444 lens = 0x147
5445};
5446
5455enum class zwp_tablet_tool_v2_capability : uint32_t
5456 {
5458 tilt = 1,
5460 pressure = 2,
5462 distance = 3,
5464 rotation = 4,
5466 slider = 5,
5468 wheel = 6
5469};
5470
5476enum class zwp_tablet_tool_v2_button_state : uint32_t
5477 {
5479 released = 0,
5481 pressed = 1
5482};
5483
5487enum class zwp_tablet_tool_v2_error : uint32_t
5488 {
5490 role = 0
5491};
5492
5493
5506class zwp_tablet_v2_t : public resource_t
5507{
5508private:
5509 struct events_t : public resource_t::events_base_t
5510 {
5511 std::function<void()> destroy;
5512 };
5513
5514 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
5515
5516protected:
5517 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_v2_interface;
5518 static constexpr const unsigned int max_version = 1;
5519
5520 friend class global_t<zwp_tablet_v2_t>;
5521 friend class global_base_t;
5522
5523public:
5524 zwp_tablet_v2_t() = default;
5525 zwp_tablet_v2_t(const client_t& client, uint32_t id, int version = 1);
5526 zwp_tablet_v2_t(const resource_t &resource);
5527
5528 static const std::string interface_name;
5529
5530 operator zwp_tablet_v2*() const;
5531
5537 std::function<void()> &on_destroy();
5538
5546 void name(std::string const& name, bool post = true);
5547
5550 static constexpr std::uint32_t name_since_version = 1;
5551
5560 void id(uint32_t vid, uint32_t pid, bool post = true);
5561
5564 static constexpr std::uint32_t id_since_version = 1;
5565
5585 void path(std::string const& path, bool post = true);
5586
5589 static constexpr std::uint32_t path_since_version = 1;
5590
5599 void done(bool post = true);
5600
5603 static constexpr std::uint32_t done_since_version = 1;
5604
5614 void removed(bool post = true);
5615
5618 static constexpr std::uint32_t removed_since_version = 1;
5619
5620};
5621
5622using global_zwp_tablet_v2_t = global_t<zwp_tablet_v2_t>;
5623
5624
5634class zwp_tablet_pad_ring_v2_t : public resource_t
5635{
5636private:
5637 struct events_t : public resource_t::events_base_t
5638 {
5639 std::function<void(std::string, uint32_t)> set_feedback;
5640 std::function<void()> destroy;
5641 };
5642
5643 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
5644
5645protected:
5646 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_pad_ring_v2_interface;
5647 static constexpr const unsigned int max_version = 1;
5648
5649 friend class global_t<zwp_tablet_pad_ring_v2_t>;
5650 friend class global_base_t;
5651
5652public:
5653 zwp_tablet_pad_ring_v2_t() = default;
5654 zwp_tablet_pad_ring_v2_t(const client_t& client, uint32_t id, int version = 1);
5655 zwp_tablet_pad_ring_v2_t(const resource_t &resource);
5656
5657 static const std::string interface_name;
5658
5659 operator zwp_tablet_pad_ring_v2*() const;
5660
5686 std::function<void(std::string, uint32_t)> &on_set_feedback();
5687
5693 std::function<void()> &on_destroy();
5694
5712 void source(zwp_tablet_pad_ring_v2_source const& source, bool post = true);
5713
5716 static constexpr std::uint32_t source_since_version = 1;
5717
5727 void angle(double degrees, bool post = true);
5728
5731 static constexpr std::uint32_t angle_since_version = 1;
5732
5747 void stop(bool post = true);
5748
5751 static constexpr std::uint32_t stop_since_version = 1;
5752
5771 void frame(uint32_t time, bool post = true);
5772
5775 static constexpr std::uint32_t frame_since_version = 1;
5776
5777};
5778
5779using global_zwp_tablet_pad_ring_v2_t = global_t<zwp_tablet_pad_ring_v2_t>;
5780
5789enum class zwp_tablet_pad_ring_v2_source : uint32_t
5790 {
5792 finger = 1
5793};
5794
5795
5805class zwp_tablet_pad_strip_v2_t : public resource_t
5806{
5807private:
5808 struct events_t : public resource_t::events_base_t
5809 {
5810 std::function<void(std::string, uint32_t)> set_feedback;
5811 std::function<void()> destroy;
5812 };
5813
5814 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
5815
5816protected:
5817 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_pad_strip_v2_interface;
5818 static constexpr const unsigned int max_version = 1;
5819
5820 friend class global_t<zwp_tablet_pad_strip_v2_t>;
5821 friend class global_base_t;
5822
5823public:
5824 zwp_tablet_pad_strip_v2_t() = default;
5825 zwp_tablet_pad_strip_v2_t(const client_t& client, uint32_t id, int version = 1);
5826 zwp_tablet_pad_strip_v2_t(const resource_t &resource);
5827
5828 static const std::string interface_name;
5829
5830 operator zwp_tablet_pad_strip_v2*() const;
5831
5857 std::function<void(std::string, uint32_t)> &on_set_feedback();
5858
5864 std::function<void()> &on_destroy();
5865
5883 void source(zwp_tablet_pad_strip_v2_source const& source, bool post = true);
5884
5887 static constexpr std::uint32_t source_since_version = 1;
5888
5899 void position(uint32_t position, bool post = true);
5900
5903 static constexpr std::uint32_t position_since_version = 1;
5904
5919 void stop(bool post = true);
5920
5923 static constexpr std::uint32_t stop_since_version = 1;
5924
5944 void frame(uint32_t time, bool post = true);
5945
5948 static constexpr std::uint32_t frame_since_version = 1;
5949
5950};
5951
5952using global_zwp_tablet_pad_strip_v2_t = global_t<zwp_tablet_pad_strip_v2_t>;
5953
5962enum class zwp_tablet_pad_strip_v2_source : uint32_t
5963 {
5965 finger = 1
5966};
5967
5968
5994class zwp_tablet_pad_group_v2_t : public resource_t
5995{
5996private:
5997 struct events_t : public resource_t::events_base_t
5998 {
5999 std::function<void()> destroy;
6000 };
6001
6002 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
6003
6004protected:
6005 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_pad_group_v2_interface;
6006 static constexpr const unsigned int max_version = 1;
6007
6008 friend class global_t<zwp_tablet_pad_group_v2_t>;
6009 friend class global_base_t;
6010
6011public:
6012 zwp_tablet_pad_group_v2_t() = default;
6013 zwp_tablet_pad_group_v2_t(const client_t& client, uint32_t id, int version = 1);
6014 zwp_tablet_pad_group_v2_t(const resource_t &resource);
6015
6016 static const std::string interface_name;
6017
6018 operator zwp_tablet_pad_group_v2*() const;
6019
6026 std::function<void()> &on_destroy();
6027
6045 void buttons(array_t const& buttons, bool post = true);
6046
6049 static constexpr std::uint32_t buttons_since_version = 1;
6050
6060 void ring(bool post = true);
6061
6064 static constexpr std::uint32_t ring_since_version = 1;
6065
6075 void strip(bool post = true);
6076
6079 static constexpr std::uint32_t strip_since_version = 1;
6080
6098 void modes(uint32_t modes, bool post = true);
6099
6102 static constexpr std::uint32_t modes_since_version = 1;
6103
6112 void done(bool post = true);
6113
6116 static constexpr std::uint32_t done_since_version = 1;
6117
6152 void mode_switch(uint32_t time, uint32_t serial, uint32_t mode, bool post = true);
6153
6156 static constexpr std::uint32_t mode_switch_since_version = 1;
6157
6158};
6159
6160using global_zwp_tablet_pad_group_v2_t = global_t<zwp_tablet_pad_group_v2_t>;
6161
6162
6189class zwp_tablet_pad_v2_t : public resource_t
6190{
6191private:
6192 struct events_t : public resource_t::events_base_t
6193 {
6194 std::function<void(uint32_t, std::string, uint32_t)> set_feedback;
6195 std::function<void()> destroy;
6196 };
6197
6198 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
6199
6200protected:
6201 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_tablet_pad_v2_interface;
6202 static constexpr const unsigned int max_version = 1;
6203
6204 friend class global_t<zwp_tablet_pad_v2_t>;
6205 friend class global_base_t;
6206
6207public:
6208 zwp_tablet_pad_v2_t() = default;
6209 zwp_tablet_pad_v2_t(const client_t& client, uint32_t id, int version = 1);
6210 zwp_tablet_pad_v2_t(const resource_t &resource);
6211
6212 static const std::string interface_name;
6213
6214 operator zwp_tablet_pad_v2*() const;
6215
6247 std::function<void(uint32_t, std::string, uint32_t)> &on_set_feedback();
6248
6255 std::function<void()> &on_destroy();
6256
6266 void group(bool post = true);
6267
6270 static constexpr std::uint32_t group_since_version = 1;
6271
6287 void path(std::string const& path, bool post = true);
6288
6291 static constexpr std::uint32_t path_since_version = 1;
6292
6304 void buttons(uint32_t buttons, bool post = true);
6305
6308 static constexpr std::uint32_t buttons_since_version = 1;
6309
6317 void done(bool post = true);
6318
6321 static constexpr std::uint32_t done_since_version = 1;
6322
6331 void button(uint32_t time, uint32_t button, zwp_tablet_pad_v2_button_state const& state, bool post = true);
6332
6335 static constexpr std::uint32_t button_since_version = 1;
6336
6345 void enter(uint32_t serial, zwp_tablet_v2_t const& tablet, surface_t const& surface, bool post = true);
6346
6349 static constexpr std::uint32_t enter_since_version = 1;
6350
6359 void leave(uint32_t serial, surface_t const& surface, bool post = true);
6360
6363 static constexpr std::uint32_t leave_since_version = 1;
6364
6375 void removed(bool post = true);
6376
6379 static constexpr std::uint32_t removed_since_version = 1;
6380
6381};
6382
6383using global_zwp_tablet_pad_v2_t = global_t<zwp_tablet_pad_v2_t>;
6384
6391enum class zwp_tablet_pad_v2_button_state : uint32_t
6392 {
6394 released = 0,
6396 pressed = 1
6397};
6398
6399
6433class zwp_text_input_v1_t : public resource_t
6434{
6435private:
6436 struct events_t : public resource_t::events_base_t
6437 {
6438 std::function<void(seat_t, surface_t)> activate;
6439 std::function<void(seat_t)> deactivate;
6440 std::function<void()> show_input_panel;
6441 std::function<void()> hide_input_panel;
6442 std::function<void()> reset;
6443 std::function<void(std::string, uint32_t, uint32_t)> set_surrounding_text;
6444 std::function<void(zwp_text_input_v1_content_hint, zwp_text_input_v1_content_purpose)> set_content_type;
6445 std::function<void(int32_t, int32_t, int32_t, int32_t)> set_cursor_rectangle;
6446 std::function<void(std::string)> set_preferred_language;
6447 std::function<void(uint32_t)> commit_state;
6448 std::function<void(uint32_t, uint32_t)> invoke_action;
6449 };
6450
6451 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
6452
6453protected:
6454 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_text_input_v1_interface;
6455 static constexpr const unsigned int max_version = 1;
6456
6457 friend class global_t<zwp_text_input_v1_t>;
6458 friend class global_base_t;
6459
6460public:
6461 zwp_text_input_v1_t() = default;
6462 zwp_text_input_v1_t(const client_t& client, uint32_t id, int version = 1);
6463 zwp_text_input_v1_t(const resource_t &resource);
6464
6465 static const std::string interface_name;
6466
6467 operator zwp_text_input_v1*() const;
6468
6482 std::function<void(seat_t, surface_t)> &on_activate();
6483
6492 std::function<void(seat_t)> &on_deactivate();
6493
6499 std::function<void()> &on_show_input_panel();
6500
6506 std::function<void()> &on_hide_input_panel();
6507
6515 std::function<void()> &on_reset();
6516
6529 std::function<void(std::string, uint32_t, uint32_t)> &on_set_surrounding_text();
6530
6544 std::function<void(zwp_text_input_v1_content_hint, zwp_text_input_v1_content_purpose)> &on_set_content_type();
6545
6553 std::function<void(int32_t, int32_t, int32_t, int32_t)> &on_set_cursor_rectangle();
6554
6567 std::function<void(std::string)> &on_set_preferred_language();
6568
6573 std::function<void(uint32_t)> &on_commit_state();
6574
6580 std::function<void(uint32_t, uint32_t)> &on_invoke_action();
6581
6589 void enter(surface_t const& surface, bool post = true);
6590
6593 static constexpr std::uint32_t enter_since_version = 1;
6594
6602 void leave(bool post = true);
6603
6606 static constexpr std::uint32_t leave_since_version = 1;
6607
6616 void modifiers_map(array_t const& map, bool post = true);
6617
6620 static constexpr std::uint32_t modifiers_map_since_version = 1;
6621
6628 void input_panel_state(uint32_t state, bool post = true);
6629
6632 static constexpr std::uint32_t input_panel_state_since_version = 1;
6633
6650 void preedit_string(uint32_t serial, std::string const& text, std::string const& commit, bool post = true);
6651
6654 static constexpr std::uint32_t preedit_string_since_version = 1;
6655
6670 void preedit_styling(uint32_t index, uint32_t length, zwp_text_input_v1_preedit_style const& style, bool post = true);
6671
6674 static constexpr std::uint32_t preedit_styling_since_version = 1;
6675
6686 void preedit_cursor(int32_t index, bool post = true);
6687
6690 static constexpr std::uint32_t preedit_cursor_since_version = 1;
6691
6705 void commit_string(uint32_t serial, std::string const& text, bool post = true);
6706
6709 static constexpr std::uint32_t commit_string_since_version = 1;
6710
6721 void cursor_position(int32_t index, int32_t anchor, bool post = true);
6722
6725 static constexpr std::uint32_t cursor_position_since_version = 1;
6726
6741 void delete_surrounding_text(int32_t index, uint32_t length, bool post = true);
6742
6745 static constexpr std::uint32_t delete_surrounding_text_since_version = 1;
6746
6762 void keysym(uint32_t serial, uint32_t time, uint32_t sym, keyboard_key_state const& state, uint32_t modifiers, bool post = true);
6763
6766 static constexpr std::uint32_t keysym_since_version = 1;
6767
6776 void language(uint32_t serial, std::string const& language, bool post = true);
6777
6780 static constexpr std::uint32_t language_since_version = 1;
6781
6793 void text_direction(uint32_t serial, zwp_text_input_v1_text_direction const& direction, bool post = true);
6794
6797 static constexpr std::uint32_t text_direction_since_version = 1;
6798
6799};
6800
6801using global_zwp_text_input_v1_t = global_t<zwp_text_input_v1_t>;
6802
6809struct zwp_text_input_v1_content_hint : public wayland::detail::bitfield<2147483649, 23>
6810{
6811 zwp_text_input_v1_content_hint(const wayland::detail::bitfield<2147483649, 23> &b)
6812 : wayland::detail::bitfield<2147483649, 23>(b) {}
6813 zwp_text_input_v1_content_hint(const uint32_t value)
6814 : wayland::detail::bitfield<2147483649, 23>(value) {}
6816 static const wayland::detail::bitfield<2147483649, 23> none;
6818 static const wayland::detail::bitfield<2147483649, 23> _default;
6820 static const wayland::detail::bitfield<2147483649, 23> password;
6822 static const wayland::detail::bitfield<2147483649, 23> auto_completion;
6824 static const wayland::detail::bitfield<2147483649, 23> auto_correction;
6826 static const wayland::detail::bitfield<2147483649, 23> auto_capitalization;
6828 static const wayland::detail::bitfield<2147483649, 23> lowercase;
6830 static const wayland::detail::bitfield<2147483649, 23> uppercase;
6832 static const wayland::detail::bitfield<2147483649, 23> titlecase;
6834 static const wayland::detail::bitfield<2147483649, 23> hidden_text;
6836 static const wayland::detail::bitfield<2147483649, 23> sensitive_data;
6838 static const wayland::detail::bitfield<2147483649, 23> latin;
6840 static const wayland::detail::bitfield<2147483649, 23> multiline;
6841};
6842
6852enum class zwp_text_input_v1_content_purpose : uint32_t
6853 {
6855 normal = 0,
6857 alpha = 1,
6859 digits = 2,
6861 number = 3,
6863 phone = 4,
6865 url = 5,
6867 email = 6,
6869 name = 7,
6871 password = 8,
6873 date = 9,
6875 time = 10,
6877 datetime = 11,
6879 terminal = 12
6880};
6881
6885enum class zwp_text_input_v1_preedit_style : uint32_t
6886 {
6888 _default = 0,
6890 none = 1,
6891 active = 2,
6892 inactive = 3,
6893 highlight = 4,
6894 underline = 5,
6895 selection = 6,
6896 incorrect = 7
6897};
6898
6902enum class zwp_text_input_v1_text_direction : uint32_t
6903 {
6905 _auto = 0,
6907 ltr = 1,
6909 rtl = 2
6910};
6911
6912
6918class zwp_text_input_manager_v1_t : public resource_t
6919{
6920private:
6921 struct events_t : public resource_t::events_base_t
6922 {
6923 std::function<void(zwp_text_input_v1_t)> create_text_input;
6924 };
6925
6926 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
6927
6928protected:
6929 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_text_input_manager_v1_interface;
6930 static constexpr const unsigned int max_version = 1;
6931
6932 friend class global_t<zwp_text_input_manager_v1_t>;
6933 friend class global_base_t;
6934
6935public:
6936 zwp_text_input_manager_v1_t() = default;
6937 zwp_text_input_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
6938 zwp_text_input_manager_v1_t(const resource_t &resource);
6939
6940 static const std::string interface_name;
6941
6942 operator zwp_text_input_manager_v1*() const;
6943
6950 std::function<void(zwp_text_input_v1_t)> &on_create_text_input();
6951
6952};
6953
6954using global_zwp_text_input_manager_v1_t = global_t<zwp_text_input_manager_v1_t>;
6955
6956
6987class zwp_text_input_v3_t : public resource_t
6988{
6989private:
6990 struct events_t : public resource_t::events_base_t
6991 {
6992 std::function<void()> destroy;
6993 std::function<void()> enable;
6994 std::function<void()> disable;
6995 std::function<void(std::string, int32_t, int32_t)> set_surrounding_text;
6996 std::function<void(zwp_text_input_v3_change_cause)> set_text_change_cause;
6997 std::function<void(zwp_text_input_v3_content_hint, zwp_text_input_v3_content_purpose)> set_content_type;
6998 std::function<void(int32_t, int32_t, int32_t, int32_t)> set_cursor_rectangle;
6999 std::function<void()> commit;
7000 };
7001
7002 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7003
7004protected:
7005 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_text_input_v3_interface;
7006 static constexpr const unsigned int max_version = 1;
7007
7008 friend class global_t<zwp_text_input_v3_t>;
7009 friend class global_base_t;
7010
7011public:
7012 zwp_text_input_v3_t() = default;
7013 zwp_text_input_v3_t(const client_t& client, uint32_t id, int version = 1);
7014 zwp_text_input_v3_t(const resource_t &resource);
7015
7016 static const std::string interface_name;
7017
7018 operator zwp_text_input_v3*() const;
7019
7026 std::function<void()> &on_destroy();
7027
7061 std::function<void()> &on_enable();
7062
7072 std::function<void()> &on_disable();
7073
7112 std::function<void(std::string, int32_t, int32_t)> &on_set_surrounding_text();
7113
7133 std::function<void(zwp_text_input_v3_change_cause)> &on_set_text_change_cause();
7134
7152 std::function<void(zwp_text_input_v3_content_hint, zwp_text_input_v3_content_purpose)> &on_set_content_type();
7153
7179 std::function<void(int32_t, int32_t, int32_t, int32_t)> &on_set_cursor_rectangle();
7180
7208 std::function<void()> &on_commit();
7209
7223 void enter(surface_t const& surface, bool post = true);
7224
7227 static constexpr std::uint32_t enter_since_version = 1;
7228
7245 void leave(surface_t const& surface, bool post = true);
7246
7249 static constexpr std::uint32_t leave_since_version = 1;
7250
7276 void preedit_string(std::string const& text, int32_t cursor_begin, int32_t cursor_end, bool post = true);
7277
7280 static constexpr std::uint32_t preedit_string_since_version = 1;
7281
7295 void commit_string(std::string const& text, bool post = true);
7296
7299 static constexpr std::uint32_t commit_string_since_version = 1;
7300
7321 void delete_surrounding_text(uint32_t before_length, uint32_t after_length, bool post = true);
7322
7325 static constexpr std::uint32_t delete_surrounding_text_since_version = 1;
7326
7354 void done(uint32_t serial, bool post = true);
7355
7358 static constexpr std::uint32_t done_since_version = 1;
7359
7360};
7361
7362using global_zwp_text_input_v3_t = global_t<zwp_text_input_v3_t>;
7363
7369enum class zwp_text_input_v3_change_cause : uint32_t
7370 {
7372 input_method = 0,
7374 other = 1
7375};
7376
7383struct zwp_text_input_v3_content_hint : public wayland::detail::bitfield<2147483649, 28>
7384{
7385 zwp_text_input_v3_content_hint(const wayland::detail::bitfield<2147483649, 28> &b)
7386 : wayland::detail::bitfield<2147483649, 28>(b) {}
7387 zwp_text_input_v3_content_hint(const uint32_t value)
7388 : wayland::detail::bitfield<2147483649, 28>(value) {}
7390 static const wayland::detail::bitfield<2147483649, 28> none;
7392 static const wayland::detail::bitfield<2147483649, 28> completion;
7394 static const wayland::detail::bitfield<2147483649, 28> spellcheck;
7396 static const wayland::detail::bitfield<2147483649, 28> auto_capitalization;
7398 static const wayland::detail::bitfield<2147483649, 28> lowercase;
7400 static const wayland::detail::bitfield<2147483649, 28> uppercase;
7402 static const wayland::detail::bitfield<2147483649, 28> titlecase;
7404 static const wayland::detail::bitfield<2147483649, 28> hidden_text;
7406 static const wayland::detail::bitfield<2147483649, 28> sensitive_data;
7408 static const wayland::detail::bitfield<2147483649, 28> latin;
7410 static const wayland::detail::bitfield<2147483649, 28> multiline;
7411};
7412
7422enum class zwp_text_input_v3_content_purpose : uint32_t
7423 {
7425 normal = 0,
7427 alpha = 1,
7429 digits = 2,
7431 number = 3,
7433 phone = 4,
7435 url = 5,
7437 email = 6,
7439 name = 7,
7441 password = 8,
7443 pin = 9,
7445 date = 10,
7447 time = 11,
7449 datetime = 12,
7451 terminal = 13
7452};
7453
7454
7460class zwp_text_input_manager_v3_t : public resource_t
7461{
7462private:
7463 struct events_t : public resource_t::events_base_t
7464 {
7465 std::function<void()> destroy;
7466 std::function<void(zwp_text_input_v3_t, seat_t)> get_text_input;
7467 };
7468
7469 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7470
7471protected:
7472 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_text_input_manager_v3_interface;
7473 static constexpr const unsigned int max_version = 1;
7474
7475 friend class global_t<zwp_text_input_manager_v3_t>;
7476 friend class global_base_t;
7477
7478public:
7479 zwp_text_input_manager_v3_t() = default;
7480 zwp_text_input_manager_v3_t(const client_t& client, uint32_t id, int version = 1);
7481 zwp_text_input_manager_v3_t(const resource_t &resource);
7482
7483 static const std::string interface_name;
7484
7485 operator zwp_text_input_manager_v3*() const;
7486
7492 std::function<void()> &on_destroy();
7493
7501 std::function<void(zwp_text_input_v3_t, seat_t)> &on_get_text_input();
7502
7503};
7504
7505using global_zwp_text_input_manager_v3_t = global_t<zwp_text_input_manager_v3_t>;
7506
7507
7515class xdg_activation_v1_t : public resource_t
7516{
7517private:
7518 struct events_t : public resource_t::events_base_t
7519 {
7520 std::function<void()> destroy;
7521 std::function<void(xdg_activation_token_v1_t)> get_activation_token;
7522 std::function<void(std::string, surface_t)> activate;
7523 };
7524
7525 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7526
7527protected:
7528 static constexpr const wl_interface *interface = &wayland::server::detail::xdg_activation_v1_interface;
7529 static constexpr const unsigned int max_version = 1;
7530
7531 friend class global_t<xdg_activation_v1_t>;
7532 friend class global_base_t;
7533
7534public:
7535 xdg_activation_v1_t() = default;
7536 xdg_activation_v1_t(const client_t& client, uint32_t id, int version = 1);
7537 xdg_activation_v1_t(const resource_t &resource);
7538
7539 static const std::string interface_name;
7540
7541 operator xdg_activation_v1*() const;
7542
7552 std::function<void()> &on_destroy();
7553
7562 std::function<void(xdg_activation_token_v1_t)> &on_get_activation_token();
7563
7580 std::function<void(std::string, surface_t)> &on_activate();
7581
7582};
7583
7584using global_xdg_activation_v1_t = global_t<xdg_activation_v1_t>;
7585
7586
7599class xdg_activation_token_v1_t : public resource_t
7600{
7601private:
7602 struct events_t : public resource_t::events_base_t
7603 {
7604 std::function<void(uint32_t, seat_t)> set_serial;
7605 std::function<void(std::string)> set_app_id;
7606 std::function<void(surface_t)> set_surface;
7607 std::function<void()> commit;
7608 std::function<void()> destroy;
7609 };
7610
7611 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7612
7613protected:
7614 static constexpr const wl_interface *interface = &wayland::server::detail::xdg_activation_token_v1_interface;
7615 static constexpr const unsigned int max_version = 1;
7616
7617 friend class global_t<xdg_activation_token_v1_t>;
7618 friend class global_base_t;
7619
7620public:
7621 xdg_activation_token_v1_t() = default;
7622 xdg_activation_token_v1_t(const client_t& client, uint32_t id, int version = 1);
7623 xdg_activation_token_v1_t(const resource_t &resource);
7624
7625 static const std::string interface_name;
7626
7627 operator xdg_activation_token_v1*() const;
7628
7639 std::function<void(uint32_t, seat_t)> &on_set_serial();
7640
7650 std::function<void(std::string)> &on_set_app_id();
7651
7661 std::function<void(surface_t)> &on_set_surface();
7662
7669 std::function<void()> &on_commit();
7670
7677 std::function<void()> &on_destroy();
7678
7697 void done(std::string const& token, bool post = true);
7698
7701 static constexpr std::uint32_t done_since_version = 1;
7702
7705 void post_already_used(std::string const& msg);
7706
7707};
7708
7709using global_xdg_activation_token_v1_t = global_t<xdg_activation_token_v1_t>;
7710
7714enum class xdg_activation_token_v1_error : uint32_t
7715 {
7717 already_used = 0
7718};
7719
7720
7747class zxdg_decoration_manager_v1_t : public resource_t
7748{
7749private:
7750 struct events_t : public resource_t::events_base_t
7751 {
7752 std::function<void()> destroy;
7753 std::function<void(zxdg_toplevel_decoration_v1_t, xdg_toplevel_t)> get_toplevel_decoration;
7754 };
7755
7756 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7757
7758protected:
7759 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_decoration_manager_v1_interface;
7760 static constexpr const unsigned int max_version = 1;
7761
7762 friend class global_t<zxdg_decoration_manager_v1_t>;
7763 friend class global_base_t;
7764
7765public:
7766 zxdg_decoration_manager_v1_t() = default;
7767 zxdg_decoration_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
7768 zxdg_decoration_manager_v1_t(const resource_t &resource);
7769
7770 static const std::string interface_name;
7771
7772 operator zxdg_decoration_manager_v1*() const;
7773
7780 std::function<void()> &on_destroy();
7781
7796
7797};
7798
7799using global_zxdg_decoration_manager_v1_t = global_t<zxdg_decoration_manager_v1_t>;
7800
7801
7812class zxdg_toplevel_decoration_v1_t : public resource_t
7813{
7814private:
7815 struct events_t : public resource_t::events_base_t
7816 {
7817 std::function<void()> destroy;
7818 std::function<void(zxdg_toplevel_decoration_v1_mode)> set_mode;
7819 std::function<void()> unset_mode;
7820 };
7821
7822 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7823
7824protected:
7825 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_toplevel_decoration_v1_interface;
7826 static constexpr const unsigned int max_version = 1;
7827
7828 friend class global_t<zxdg_toplevel_decoration_v1_t>;
7829 friend class global_base_t;
7830
7831public:
7832 zxdg_toplevel_decoration_v1_t() = default;
7833 zxdg_toplevel_decoration_v1_t(const client_t& client, uint32_t id, int version = 1);
7834 zxdg_toplevel_decoration_v1_t(const resource_t &resource);
7835
7836 static const std::string interface_name;
7837
7838 operator zxdg_toplevel_decoration_v1*() const;
7839
7846 std::function<void()> &on_destroy();
7847
7871 std::function<void(zxdg_toplevel_decoration_v1_mode)> &on_set_mode();
7872
7881 std::function<void()> &on_unset_mode();
7882
7895 void configure(zxdg_toplevel_decoration_v1_mode const& mode, bool post = true);
7896
7899 static constexpr std::uint32_t configure_since_version = 1;
7900
7903 void post_unconfigured_buffer(std::string const& msg);
7904
7907 void post_already_constructed(std::string const& msg);
7908
7911 void post_orphaned(std::string const& msg);
7912
7913};
7914
7915using global_zxdg_toplevel_decoration_v1_t = global_t<zxdg_toplevel_decoration_v1_t>;
7916
7920enum class zxdg_toplevel_decoration_v1_error : uint32_t
7921 {
7923 unconfigured_buffer = 0,
7925 already_constructed = 1,
7927 orphaned = 2
7928};
7929
7935enum class zxdg_toplevel_decoration_v1_mode : uint32_t
7936 {
7938 client_side = 1,
7940 server_side = 2
7941};
7942
7943
7950class zxdg_exporter_v1_t : public resource_t
7951{
7952private:
7953 struct events_t : public resource_t::events_base_t
7954 {
7955 std::function<void()> destroy;
7956 std::function<void(zxdg_exported_v1_t, surface_t)> _export;
7957 };
7958
7959 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
7960
7961protected:
7962 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_exporter_v1_interface;
7963 static constexpr const unsigned int max_version = 1;
7964
7965 friend class global_t<zxdg_exporter_v1_t>;
7966 friend class global_base_t;
7967
7968public:
7969 zxdg_exporter_v1_t() = default;
7970 zxdg_exporter_v1_t(const client_t& client, uint32_t id, int version = 1);
7971 zxdg_exporter_v1_t(const resource_t &resource);
7972
7973 static const std::string interface_name;
7974
7975 operator zxdg_exporter_v1*() const;
7976
7983 std::function<void()> &on_destroy();
7984
7999 std::function<void(zxdg_exported_v1_t, surface_t)> &on_export();
8000
8001};
8002
8003using global_zxdg_exporter_v1_t = global_t<zxdg_exporter_v1_t>;
8004
8005
8013class zxdg_importer_v1_t : public resource_t
8014{
8015private:
8016 struct events_t : public resource_t::events_base_t
8017 {
8018 std::function<void()> destroy;
8019 std::function<void(zxdg_imported_v1_t, std::string)> import;
8020 };
8021
8022 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8023
8024protected:
8025 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_importer_v1_interface;
8026 static constexpr const unsigned int max_version = 1;
8027
8028 friend class global_t<zxdg_importer_v1_t>;
8029 friend class global_base_t;
8030
8031public:
8032 zxdg_importer_v1_t() = default;
8033 zxdg_importer_v1_t(const client_t& client, uint32_t id, int version = 1);
8034 zxdg_importer_v1_t(const resource_t &resource);
8035
8036 static const std::string interface_name;
8037
8038 operator zxdg_importer_v1*() const;
8039
8046 std::function<void()> &on_destroy();
8047
8059 std::function<void(zxdg_imported_v1_t, std::string)> &on_import();
8060
8061};
8062
8063using global_zxdg_importer_v1_t = global_t<zxdg_importer_v1_t>;
8064
8065
8074class zxdg_exported_v1_t : public resource_t
8075{
8076private:
8077 struct events_t : public resource_t::events_base_t
8078 {
8079 std::function<void()> destroy;
8080 };
8081
8082 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8083
8084protected:
8085 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_exported_v1_interface;
8086 static constexpr const unsigned int max_version = 1;
8087
8088 friend class global_t<zxdg_exported_v1_t>;
8089 friend class global_base_t;
8090
8091public:
8092 zxdg_exported_v1_t() = default;
8093 zxdg_exported_v1_t(const client_t& client, uint32_t id, int version = 1);
8094 zxdg_exported_v1_t(const resource_t &resource);
8095
8096 static const std::string interface_name;
8097
8098 operator zxdg_exported_v1*() const;
8099
8107 std::function<void()> &on_destroy();
8108
8118 void handle(std::string const& handle, bool post = true);
8119
8122 static constexpr std::uint32_t handle_since_version = 1;
8123
8124};
8125
8126using global_zxdg_exported_v1_t = global_t<zxdg_exported_v1_t>;
8127
8128
8136class zxdg_imported_v1_t : public resource_t
8137{
8138private:
8139 struct events_t : public resource_t::events_base_t
8140 {
8141 std::function<void()> destroy;
8142 std::function<void(surface_t)> set_parent_of;
8143 };
8144
8145 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8146
8147protected:
8148 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_imported_v1_interface;
8149 static constexpr const unsigned int max_version = 1;
8150
8151 friend class global_t<zxdg_imported_v1_t>;
8152 friend class global_base_t;
8153
8154public:
8155 zxdg_imported_v1_t() = default;
8156 zxdg_imported_v1_t(const client_t& client, uint32_t id, int version = 1);
8157 zxdg_imported_v1_t(const resource_t &resource);
8158
8159 static const std::string interface_name;
8160
8161 operator zxdg_imported_v1*() const;
8162
8170 std::function<void()> &on_destroy();
8171
8181 std::function<void(surface_t)> &on_set_parent_of();
8182
8191 void destroyed(bool post = true);
8192
8195 static constexpr std::uint32_t destroyed_since_version = 1;
8196
8197};
8198
8199using global_zxdg_imported_v1_t = global_t<zxdg_imported_v1_t>;
8200
8201
8208class zxdg_exporter_v2_t : public resource_t
8209{
8210private:
8211 struct events_t : public resource_t::events_base_t
8212 {
8213 std::function<void()> destroy;
8214 std::function<void(zxdg_exported_v2_t, surface_t)> export_toplevel;
8215 };
8216
8217 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8218
8219protected:
8220 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_exporter_v2_interface;
8221 static constexpr const unsigned int max_version = 1;
8222
8223 friend class global_t<zxdg_exporter_v2_t>;
8224 friend class global_base_t;
8225
8226public:
8227 zxdg_exporter_v2_t() = default;
8228 zxdg_exporter_v2_t(const client_t& client, uint32_t id, int version = 1);
8229 zxdg_exporter_v2_t(const resource_t &resource);
8230
8231 static const std::string interface_name;
8232
8233 operator zxdg_exporter_v2*() const;
8234
8241 std::function<void()> &on_destroy();
8242
8258 std::function<void(zxdg_exported_v2_t, surface_t)> &on_export_toplevel();
8259
8262 void post_invalid_surface(std::string const& msg);
8263
8264};
8265
8266using global_zxdg_exporter_v2_t = global_t<zxdg_exporter_v2_t>;
8267
8274enum class zxdg_exporter_v2_error : uint32_t
8275 {
8277 invalid_surface = 0
8278};
8279
8280
8288class zxdg_importer_v2_t : public resource_t
8289{
8290private:
8291 struct events_t : public resource_t::events_base_t
8292 {
8293 std::function<void()> destroy;
8294 std::function<void(zxdg_imported_v2_t, std::string)> import_toplevel;
8295 };
8296
8297 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8298
8299protected:
8300 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_importer_v2_interface;
8301 static constexpr const unsigned int max_version = 1;
8302
8303 friend class global_t<zxdg_importer_v2_t>;
8304 friend class global_base_t;
8305
8306public:
8307 zxdg_importer_v2_t() = default;
8308 zxdg_importer_v2_t(const client_t& client, uint32_t id, int version = 1);
8309 zxdg_importer_v2_t(const resource_t &resource);
8310
8311 static const std::string interface_name;
8312
8313 operator zxdg_importer_v2*() const;
8314
8321 std::function<void()> &on_destroy();
8322
8334 std::function<void(zxdg_imported_v2_t, std::string)> &on_import_toplevel();
8335
8336};
8337
8338using global_zxdg_importer_v2_t = global_t<zxdg_importer_v2_t>;
8339
8340
8349class zxdg_exported_v2_t : public resource_t
8350{
8351private:
8352 struct events_t : public resource_t::events_base_t
8353 {
8354 std::function<void()> destroy;
8355 };
8356
8357 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8358
8359protected:
8360 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_exported_v2_interface;
8361 static constexpr const unsigned int max_version = 1;
8362
8363 friend class global_t<zxdg_exported_v2_t>;
8364 friend class global_base_t;
8365
8366public:
8367 zxdg_exported_v2_t() = default;
8368 zxdg_exported_v2_t(const client_t& client, uint32_t id, int version = 1);
8369 zxdg_exported_v2_t(const resource_t &resource);
8370
8371 static const std::string interface_name;
8372
8373 operator zxdg_exported_v2*() const;
8374
8382 std::function<void()> &on_destroy();
8383
8393 void handle(std::string const& handle, bool post = true);
8394
8397 static constexpr std::uint32_t handle_since_version = 1;
8398
8399};
8400
8401using global_zxdg_exported_v2_t = global_t<zxdg_exported_v2_t>;
8402
8403
8411class zxdg_imported_v2_t : public resource_t
8412{
8413private:
8414 struct events_t : public resource_t::events_base_t
8415 {
8416 std::function<void()> destroy;
8417 std::function<void(surface_t)> set_parent_of;
8418 };
8419
8420 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8421
8422protected:
8423 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_imported_v2_interface;
8424 static constexpr const unsigned int max_version = 1;
8425
8426 friend class global_t<zxdg_imported_v2_t>;
8427 friend class global_base_t;
8428
8429public:
8430 zxdg_imported_v2_t() = default;
8431 zxdg_imported_v2_t(const client_t& client, uint32_t id, int version = 1);
8432 zxdg_imported_v2_t(const resource_t &resource);
8433
8434 static const std::string interface_name;
8435
8436 operator zxdg_imported_v2*() const;
8437
8445 std::function<void()> &on_destroy();
8446
8457 std::function<void(surface_t)> &on_set_parent_of();
8458
8467 void destroyed(bool post = true);
8468
8471 static constexpr std::uint32_t destroyed_since_version = 1;
8472
8475 void post_invalid_surface(std::string const& msg);
8476
8477};
8478
8479using global_zxdg_imported_v2_t = global_t<zxdg_imported_v2_t>;
8480
8487enum class zxdg_imported_v2_error : uint32_t
8488 {
8490 invalid_surface = 0
8491};
8492
8493
8499class zxdg_output_manager_v1_t : public resource_t
8500{
8501private:
8502 struct events_t : public resource_t::events_base_t
8503 {
8504 std::function<void()> destroy;
8505 std::function<void(zxdg_output_v1_t, output_t)> get_xdg_output;
8506 };
8507
8508 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8509
8510protected:
8511 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_output_manager_v1_interface;
8512 static constexpr const unsigned int max_version = 3;
8513
8514 friend class global_t<zxdg_output_manager_v1_t>;
8515 friend class global_base_t;
8516
8517public:
8518 zxdg_output_manager_v1_t() = default;
8519 zxdg_output_manager_v1_t(const client_t& client, uint32_t id, int version = 3);
8520 zxdg_output_manager_v1_t(const resource_t &resource);
8521
8522 static const std::string interface_name;
8523
8524 operator zxdg_output_manager_v1*() const;
8525
8534 std::function<void()> &on_destroy();
8535
8543 std::function<void(zxdg_output_v1_t, output_t)> &on_get_xdg_output();
8544
8545};
8546
8547using global_zxdg_output_manager_v1_t = global_t<zxdg_output_manager_v1_t>;
8548
8549
8563class zxdg_output_v1_t : public resource_t
8564{
8565private:
8566 struct events_t : public resource_t::events_base_t
8567 {
8568 std::function<void()> destroy;
8569 };
8570
8571 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8572
8573protected:
8574 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_output_v1_interface;
8575 static constexpr const unsigned int max_version = 3;
8576
8577 friend class global_t<zxdg_output_v1_t>;
8578 friend class global_base_t;
8579
8580public:
8581 zxdg_output_v1_t() = default;
8582 zxdg_output_v1_t(const client_t& client, uint32_t id, int version = 3);
8583 zxdg_output_v1_t(const resource_t &resource);
8584
8585 static const std::string interface_name;
8586
8587 operator zxdg_output_v1*() const;
8588
8595 std::function<void()> &on_destroy();
8596
8609 void logical_position(int32_t x, int32_t y, bool post = true);
8610
8613 static constexpr std::uint32_t logical_position_since_version = 1;
8614
8655 void logical_size(int32_t width, int32_t height, bool post = true);
8656
8659 static constexpr std::uint32_t logical_size_since_version = 1;
8660
8674 void done(bool post = true);
8675
8678 static constexpr std::uint32_t done_since_version = 1;
8679
8703 void name(std::string const& name, bool post = true);
8704
8707 static constexpr std::uint32_t name_since_version = 2;
8708
8712 bool can_name() const;
8713
8734 void description(std::string const& description, bool post = true);
8735
8738 static constexpr std::uint32_t description_since_version = 2;
8739
8743 bool can_description() const;
8744
8745};
8746
8747using global_zxdg_output_v1_t = global_t<zxdg_output_v1_t>;
8748
8749
8758class zxdg_shell_v6_t : public resource_t
8759{
8760private:
8761 struct events_t : public resource_t::events_base_t
8762 {
8763 std::function<void()> destroy;
8764 std::function<void(zxdg_positioner_v6_t)> create_positioner;
8765 std::function<void(zxdg_surface_v6_t, surface_t)> get_xdg_surface;
8766 std::function<void(uint32_t)> pong;
8767 };
8768
8769 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8770
8771protected:
8772 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_shell_v6_interface;
8773 static constexpr const unsigned int max_version = 1;
8774
8775 friend class global_t<zxdg_shell_v6_t>;
8776 friend class global_base_t;
8777
8778public:
8779 zxdg_shell_v6_t() = default;
8780 zxdg_shell_v6_t(const client_t& client, uint32_t id, int version = 1);
8781 zxdg_shell_v6_t(const resource_t &resource);
8782
8783 static const std::string interface_name;
8784
8785 operator zxdg_shell_v6*() const;
8786
8796 std::function<void()> &on_destroy();
8797
8806 std::function<void(zxdg_positioner_v6_t)> &on_create_positioner();
8807
8825 std::function<void(zxdg_surface_v6_t, surface_t)> &on_get_xdg_surface();
8826
8834 std::function<void(uint32_t)> &on_pong();
8835
8852 void ping(uint32_t serial, bool post = true);
8853
8856 static constexpr std::uint32_t ping_since_version = 1;
8857
8860 void post_role(std::string const& msg);
8861
8864 void post_defunct_surfaces(std::string const& msg);
8865
8868 void post_not_the_topmost_popup(std::string const& msg);
8869
8872 void post_invalid_popup_parent(std::string const& msg);
8873
8876 void post_invalid_surface_state(std::string const& msg);
8877
8880 void post_invalid_positioner(std::string const& msg);
8881
8882};
8883
8884using global_zxdg_shell_v6_t = global_t<zxdg_shell_v6_t>;
8885
8889enum class zxdg_shell_v6_error : uint32_t
8890 {
8892 role = 0,
8894 defunct_surfaces = 1,
8896 not_the_topmost_popup = 2,
8898 invalid_popup_parent = 3,
8900 invalid_surface_state = 4,
8902 invalid_positioner = 5
8903};
8904
8905
8929class zxdg_positioner_v6_t : public resource_t
8930{
8931private:
8932 struct events_t : public resource_t::events_base_t
8933 {
8934 std::function<void()> destroy;
8935 std::function<void(int32_t, int32_t)> set_size;
8936 std::function<void(int32_t, int32_t, int32_t, int32_t)> set_anchor_rect;
8937 std::function<void(zxdg_positioner_v6_anchor)> set_anchor;
8938 std::function<void(zxdg_positioner_v6_gravity)> set_gravity;
8939 std::function<void(zxdg_positioner_v6_constraint_adjustment)> set_constraint_adjustment;
8940 std::function<void(int32_t, int32_t)> set_offset;
8941 };
8942
8943 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
8944
8945protected:
8946 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_positioner_v6_interface;
8947 static constexpr const unsigned int max_version = 1;
8948
8949 friend class global_t<zxdg_positioner_v6_t>;
8950 friend class global_base_t;
8951
8952public:
8953 zxdg_positioner_v6_t() = default;
8954 zxdg_positioner_v6_t(const client_t& client, uint32_t id, int version = 1);
8955 zxdg_positioner_v6_t(const resource_t &resource);
8956
8957 static const std::string interface_name;
8958
8959 operator zxdg_positioner_v6*() const;
8960
8966 std::function<void()> &on_destroy();
8967
8979 std::function<void(int32_t, int32_t)> &on_set_size();
8980
8999 std::function<void(int32_t, int32_t, int32_t, int32_t)> &on_set_anchor_rect();
9000
9016 std::function<void(zxdg_positioner_v6_anchor)> &on_set_anchor();
9017
9032 std::function<void(zxdg_positioner_v6_gravity)> &on_set_gravity();
9033
9053
9071 std::function<void(int32_t, int32_t)> &on_set_offset();
9072
9075 void post_invalid_input(std::string const& msg);
9076
9077};
9078
9079using global_zxdg_positioner_v6_t = global_t<zxdg_positioner_v6_t>;
9080
9084enum class zxdg_positioner_v6_error : uint32_t
9085 {
9087 invalid_input = 0
9088};
9089
9093struct zxdg_positioner_v6_anchor : public wayland::detail::bitfield<2147483649, 37>
9094{
9095 zxdg_positioner_v6_anchor(const wayland::detail::bitfield<2147483649, 37> &b)
9096 : wayland::detail::bitfield<2147483649, 37>(b) {}
9097 zxdg_positioner_v6_anchor(const uint32_t value)
9098 : wayland::detail::bitfield<2147483649, 37>(value) {}
9100 static const wayland::detail::bitfield<2147483649, 37> none;
9102 static const wayland::detail::bitfield<2147483649, 37> top;
9104 static const wayland::detail::bitfield<2147483649, 37> bottom;
9106 static const wayland::detail::bitfield<2147483649, 37> left;
9108 static const wayland::detail::bitfield<2147483649, 37> right;
9109};
9110
9114struct zxdg_positioner_v6_gravity : public wayland::detail::bitfield<2147483649, 38>
9115{
9116 zxdg_positioner_v6_gravity(const wayland::detail::bitfield<2147483649, 38> &b)
9117 : wayland::detail::bitfield<2147483649, 38>(b) {}
9118 zxdg_positioner_v6_gravity(const uint32_t value)
9119 : wayland::detail::bitfield<2147483649, 38>(value) {}
9121 static const wayland::detail::bitfield<2147483649, 38> none;
9123 static const wayland::detail::bitfield<2147483649, 38> top;
9125 static const wayland::detail::bitfield<2147483649, 38> bottom;
9127 static const wayland::detail::bitfield<2147483649, 38> left;
9129 static const wayland::detail::bitfield<2147483649, 38> right;
9130};
9131
9147struct zxdg_positioner_v6_constraint_adjustment : public wayland::detail::bitfield<2147483649, 39>
9148{
9149 zxdg_positioner_v6_constraint_adjustment(const wayland::detail::bitfield<2147483649, 39> &b)
9150 : wayland::detail::bitfield<2147483649, 39>(b) {}
9151 zxdg_positioner_v6_constraint_adjustment(const uint32_t value)
9152 : wayland::detail::bitfield<2147483649, 39>(value) {}
9153 static const wayland::detail::bitfield<2147483649, 39> none;
9154 static const wayland::detail::bitfield<2147483649, 39> slide_x;
9155 static const wayland::detail::bitfield<2147483649, 39> slide_y;
9156 static const wayland::detail::bitfield<2147483649, 39> flip_x;
9157 static const wayland::detail::bitfield<2147483649, 39> flip_y;
9158 static const wayland::detail::bitfield<2147483649, 39> resize_x;
9159 static const wayland::detail::bitfield<2147483649, 39> resize_y;
9160};
9161
9162
9197class zxdg_surface_v6_t : public resource_t
9198{
9199private:
9200 struct events_t : public resource_t::events_base_t
9201 {
9202 std::function<void()> destroy;
9203 std::function<void(zxdg_toplevel_v6_t)> get_toplevel;
9204 std::function<void(zxdg_popup_v6_t, zxdg_surface_v6_t, zxdg_positioner_v6_t)> get_popup;
9205 std::function<void(int32_t, int32_t, int32_t, int32_t)> set_window_geometry;
9206 std::function<void(uint32_t)> ack_configure;
9207 };
9208
9209 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
9210
9211protected:
9212 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_surface_v6_interface;
9213 static constexpr const unsigned int max_version = 1;
9214
9215 friend class global_t<zxdg_surface_v6_t>;
9216 friend class global_base_t;
9217
9218public:
9219 zxdg_surface_v6_t() = default;
9220 zxdg_surface_v6_t(const client_t& client, uint32_t id, int version = 1);
9221 zxdg_surface_v6_t(const resource_t &resource);
9222
9223 static const std::string interface_name;
9224
9225 operator zxdg_surface_v6*() const;
9226
9233 std::function<void()> &on_destroy();
9234
9245 std::function<void(zxdg_toplevel_v6_t)> &on_get_toplevel();
9246
9259 std::function<void(zxdg_popup_v6_t, zxdg_surface_v6_t, zxdg_positioner_v6_t)> &on_get_popup();
9260
9293 std::function<void(int32_t, int32_t, int32_t, int32_t)> &on_set_window_geometry();
9294
9319 std::function<void(uint32_t)> &on_ack_configure();
9320
9342 void configure(uint32_t serial, bool post = true);
9343
9346 static constexpr std::uint32_t configure_since_version = 1;
9347
9350 void post_not_constructed(std::string const& msg);
9351
9354 void post_already_constructed(std::string const& msg);
9355
9358 void post_unconfigured_buffer(std::string const& msg);
9359
9360};
9361
9362using global_zxdg_surface_v6_t = global_t<zxdg_surface_v6_t>;
9363
9367enum class zxdg_surface_v6_error : uint32_t
9368 {
9369 not_constructed = 1,
9370 already_constructed = 2,
9371 unconfigured_buffer = 3
9372};
9373
9374
9384class zxdg_toplevel_v6_t : public resource_t
9385{
9386private:
9387 struct events_t : public resource_t::events_base_t
9388 {
9389 std::function<void()> destroy;
9390 std::function<void(zxdg_toplevel_v6_t)> set_parent;
9391 std::function<void(std::string)> set_title;
9392 std::function<void(std::string)> set_app_id;
9393 std::function<void(seat_t, uint32_t, int32_t, int32_t)> show_window_menu;
9394 std::function<void(seat_t, uint32_t)> move;
9395 std::function<void(seat_t, uint32_t, zxdg_toplevel_v6_resize_edge)> resize;
9396 std::function<void(int32_t, int32_t)> set_max_size;
9397 std::function<void(int32_t, int32_t)> set_min_size;
9398 std::function<void()> set_maximized;
9399 std::function<void()> unset_maximized;
9400 std::function<void(output_t)> set_fullscreen;
9401 std::function<void()> unset_fullscreen;
9402 std::function<void()> set_minimized;
9403 };
9404
9405 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
9406
9407protected:
9408 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_toplevel_v6_interface;
9409 static constexpr const unsigned int max_version = 1;
9410
9411 friend class global_t<zxdg_toplevel_v6_t>;
9412 friend class global_base_t;
9413
9414public:
9415 zxdg_toplevel_v6_t() = default;
9416 zxdg_toplevel_v6_t(const client_t& client, uint32_t id, int version = 1);
9417 zxdg_toplevel_v6_t(const resource_t &resource);
9418
9419 static const std::string interface_name;
9420
9421 operator zxdg_toplevel_v6*() const;
9422
9430 std::function<void()> &on_destroy();
9431
9444 std::function<void(zxdg_toplevel_v6_t)> &on_set_parent();
9445
9458 std::function<void(std::string)> &on_set_title();
9459
9485 std::function<void(std::string)> &on_set_app_id();
9486
9506 std::function<void(seat_t, uint32_t, int32_t, int32_t)> &on_show_window_menu();
9507
9530 std::function<void(seat_t, uint32_t)> &on_move();
9531
9569 std::function<void(seat_t, uint32_t, zxdg_toplevel_v6_resize_edge)> &on_resize();
9570
9611 std::function<void(int32_t, int32_t)> &on_set_max_size();
9612
9653 std::function<void(int32_t, int32_t)> &on_set_min_size();
9654
9675 std::function<void()> &on_set_maximized();
9676
9698 std::function<void()> &on_unset_maximized();
9699
9714 std::function<void(output_t)> &on_set_fullscreen();
9715
9719 std::function<void()> &on_unset_fullscreen();
9720
9733 std::function<void()> &on_set_minimized();
9734
9761 void configure(int32_t width, int32_t height, array_t const& states, bool post = true);
9762
9765 static constexpr std::uint32_t configure_since_version = 1;
9766
9779 void close(bool post = true);
9780
9783 static constexpr std::uint32_t close_since_version = 1;
9784
9785};
9786
9787using global_zxdg_toplevel_v6_t = global_t<zxdg_toplevel_v6_t>;
9788
9795struct zxdg_toplevel_v6_resize_edge : public wayland::detail::bitfield<2147483649, 41>
9796{
9797 zxdg_toplevel_v6_resize_edge(const wayland::detail::bitfield<2147483649, 41> &b)
9798 : wayland::detail::bitfield<2147483649, 41>(b) {}
9799 zxdg_toplevel_v6_resize_edge(const uint32_t value)
9800 : wayland::detail::bitfield<2147483649, 41>(value) {}
9801 static const wayland::detail::bitfield<2147483649, 41> none;
9802 static const wayland::detail::bitfield<2147483649, 41> top;
9803 static const wayland::detail::bitfield<2147483649, 41> bottom;
9804 static const wayland::detail::bitfield<2147483649, 41> left;
9805 static const wayland::detail::bitfield<2147483649, 41> top_left;
9806 static const wayland::detail::bitfield<2147483649, 41> bottom_left;
9807 static const wayland::detail::bitfield<2147483649, 41> right;
9808 static const wayland::detail::bitfield<2147483649, 41> top_right;
9809 static const wayland::detail::bitfield<2147483649, 41> bottom_right;
9810};
9811
9823enum class zxdg_toplevel_v6_state : uint32_t
9824 {
9826 maximized = 1,
9828 fullscreen = 2,
9830 resizing = 3,
9832 activated = 4
9833};
9834
9835
9873class zxdg_popup_v6_t : public resource_t
9874{
9875private:
9876 struct events_t : public resource_t::events_base_t
9877 {
9878 std::function<void()> destroy;
9879 std::function<void(seat_t, uint32_t)> grab;
9880 };
9881
9882 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
9883
9884protected:
9885 static constexpr const wl_interface *interface = &wayland::server::detail::zxdg_popup_v6_interface;
9886 static constexpr const unsigned int max_version = 1;
9887
9888 friend class global_t<zxdg_popup_v6_t>;
9889 friend class global_base_t;
9890
9891public:
9892 zxdg_popup_v6_t() = default;
9893 zxdg_popup_v6_t(const client_t& client, uint32_t id, int version = 1);
9894 zxdg_popup_v6_t(const resource_t &resource);
9895
9896 static const std::string interface_name;
9897
9898 operator zxdg_popup_v6*() const;
9899
9909 std::function<void()> &on_destroy();
9910
9958 std::function<void(seat_t, uint32_t)> &on_grab();
9959
9975 void configure(int32_t x, int32_t y, int32_t width, int32_t height, bool post = true);
9976
9979 static constexpr std::uint32_t configure_since_version = 1;
9980
9988 void popup_done(bool post = true);
9989
9992 static constexpr std::uint32_t popup_done_since_version = 1;
9993
9996 void post_invalid_grab(std::string const& msg);
9997
9998};
9999
10000using global_zxdg_popup_v6_t = global_t<zxdg_popup_v6_t>;
10001
10005enum class zxdg_popup_v6_error : uint32_t
10006 {
10008 invalid_grab = 0
10009};
10010
10011
10017class zwp_xwayland_keyboard_grab_manager_v1_t : public resource_t
10018{
10019private:
10020 struct events_t : public resource_t::events_base_t
10021 {
10022 std::function<void()> destroy;
10023 std::function<void(zwp_xwayland_keyboard_grab_v1_t, surface_t, seat_t)> grab_keyboard;
10024 };
10025
10026 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
10027
10028protected:
10029 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_xwayland_keyboard_grab_manager_v1_interface;
10030 static constexpr const unsigned int max_version = 1;
10031
10032 friend class global_t<zwp_xwayland_keyboard_grab_manager_v1_t>;
10033 friend class global_base_t;
10034
10035public:
10036 zwp_xwayland_keyboard_grab_manager_v1_t() = default;
10037 zwp_xwayland_keyboard_grab_manager_v1_t(const client_t& client, uint32_t id, int version = 1);
10038 zwp_xwayland_keyboard_grab_manager_v1_t(const resource_t &resource);
10039
10040 static const std::string interface_name;
10041
10042 operator zwp_xwayland_keyboard_grab_manager_v1*() const;
10043
10049 std::function<void()> &on_destroy();
10050
10078
10079};
10080
10081using global_zwp_xwayland_keyboard_grab_manager_v1_t = global_t<zwp_xwayland_keyboard_grab_manager_v1_t>;
10082
10083
10089class zwp_xwayland_keyboard_grab_v1_t : public resource_t
10090{
10091private:
10092 struct events_t : public resource_t::events_base_t
10093 {
10094 std::function<void()> destroy;
10095 };
10096
10097 static int dispatcher(int opcode, const std::vector<wayland::detail::any>& args, const std::shared_ptr<resource_t::events_base_t>& e);
10098
10099protected:
10100 static constexpr const wl_interface *interface = &wayland::server::detail::zwp_xwayland_keyboard_grab_v1_interface;
10101 static constexpr const unsigned int max_version = 1;
10102
10103 friend class global_t<zwp_xwayland_keyboard_grab_v1_t>;
10104 friend class global_base_t;
10105
10106public:
10107 zwp_xwayland_keyboard_grab_v1_t() = default;
10108 zwp_xwayland_keyboard_grab_v1_t(const client_t& client, uint32_t id, int version = 1);
10109 zwp_xwayland_keyboard_grab_v1_t(const resource_t &resource);
10110
10111 static const std::string interface_name;
10112
10113 operator zwp_xwayland_keyboard_grab_v1*() const;
10114
10121 std::function<void()> &on_destroy();
10122
10123};
10124
10125using global_zwp_xwayland_keyboard_grab_v1_t = global_t<zwp_xwayland_keyboard_grab_v1_t>;
10126
10127
10128
10129}
10130}
compositor output region
void post_already_used(std::string const &msg)
Post error: The token has already been used previously.
std::function< void()> & on_destroy()
destroy the xdg_activation_token_v1 object
std::function< void()> & on_commit()
issues the token request
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
void done(std::string const &token, bool post=true)
the exported activation token
std::function< void(surface_t)> & on_set_surface()
specifies the application being activated
std::function< void(std::string)> & on_set_app_id()
specifies the application being activated
std::function< void(uint32_t, seat_t)> & on_set_serial()
specifies the seat and serial of the activating event
std::function< void()> & on_destroy()
destroy the xdg_activation object
std::function< void(std::string, surface_t)> & on_activate()
notify new interaction being available
std::function< void(xdg_activation_token_v1_t)> & on_get_activation_token()
requests a token
static constexpr std::uint32_t unconfined_since_version
Minimum protocol version required for the unconfined function.
std::function< void()> & on_destroy()
destroy the confined pointer object
std::function< void(region_t)> & on_set_region()
set a new confine region
static constexpr std::uint32_t confined_since_version
Minimum protocol version required for the confined function.
void post_role(std::string const &msg)
Post error: given wl_surface has another role.
static constexpr std::uint32_t capability_since_version
Minimum protocol version required for the capability function.
std::function< void(surface_t, zwp_fullscreen_shell_v1_present_method, output_t)> & on_present_surface()
present surface for display
void capability(zwp_fullscreen_shell_v1_capability const &capability, bool post=true)
advertises a capability of the compositor
void post_invalid_method(std::string const &msg)
Post error: present_method is not known.
std::function< void()> & on_release()
release the wl_fullscreen_shell interface
std::function< void(surface_t, output_t, int32_t, zwp_fullscreen_shell_mode_feedback_v1_t)> & on_present_surface_for_mode()
present surface for display at a particular mode
std::function< void()> & on_destroy()
destroy the idle inhibitor object
std::function< void(zwp_idle_inhibitor_v1_t, surface_t)> & on_create_inhibitor()
create a new inhibitor object
context object for inhibiting idle behavior
std::function< void()> & on_destroy()
destroy the idle inhibitor object
static constexpr std::uint32_t commit_state_since_version
Minimum protocol version required for the commit_state function.
void invoke_action(uint32_t button, uint32_t index, bool post=true)
void surrounding_text(std::string const &text, uint32_t cursor, uint32_t anchor, bool post=true)
surrounding text event
static constexpr std::uint32_t content_type_since_version
Minimum protocol version required for the content_type function.
std::function< void(uint32_t, uint32_t, uint32_t, keyboard_key_state, uint32_t)> & on_keysym()
keysym
static constexpr std::uint32_t preferred_language_since_version
Minimum protocol version required for the preferred_language function.
std::function< void(int32_t)> & on_preedit_cursor()
pre-edit cursor
static constexpr std::uint32_t surrounding_text_since_version
Minimum protocol version required for the surrounding_text function.
std::function< void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> & on_modifiers()
forward modifiers event
static constexpr std::uint32_t invoke_action_since_version
Minimum protocol version required for the invoke_action function.
std::function< void(int32_t, int32_t)> & on_cursor_position()
set cursor to a new position
std::function< void(uint32_t, uint32_t)> & on_text_direction()
std::function< void(uint32_t, std::string)> & on_commit_string()
commit string
std::function< void(uint32_t, uint32_t, zwp_text_input_v1_preedit_style)> & on_preedit_styling()
pre-edit styling
static constexpr std::uint32_t reset_since_version
Minimum protocol version required for the reset function.
std::function< void(uint32_t, std::string, std::string)> & on_preedit_string()
pre-edit string
std::function< void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> & on_key()
forward key event
std::function< void(int32_t, uint32_t)> & on_delete_surrounding_text()
delete text
void preferred_language(std::string const &language, bool post=true)
std::function< void(uint32_t, std::string)> & on_language()
void content_type(zwp_text_input_v1_content_hint const &hint, zwp_text_input_v1_content_purpose const &purpose, bool post=true)
std::function< void(keyboard_t)> & on_grab_keyboard()
grab hardware keyboard
static constexpr std::uint32_t activate_since_version
Minimum protocol version required for the activate function.
void deactivate(zwp_input_method_context_v1_t const &context, bool post=true)
deactivate event
static constexpr std::uint32_t deactivate_since_version
Minimum protocol version required for the deactivate function.
std::function< void(zwp_input_panel_surface_v1_t, surface_t)> & on_get_input_panel_surface()
context object for high-resolution input timestamps
std::function< void(zwp_input_timestamps_v1_t, keyboard_t)> & on_get_keyboard_timestamps()
subscribe to high-resolution keyboard timestamp events
std::function< void(zwp_input_timestamps_v1_t, touch_t)> & on_get_touch_timestamps()
subscribe to high-resolution touch timestamp events
std::function< void(zwp_input_timestamps_v1_t, pointer_t)> & on_get_pointer_timestamps()
subscribe to high-resolution pointer timestamp events
std::function< void()> & on_destroy()
destroy the input timestamps manager object
std::function< void()> & on_destroy()
destroy the input timestamps object
static constexpr std::uint32_t timestamp_since_version
Minimum protocol version required for the timestamp function.
void timestamp(uint32_t tv_sec_hi, uint32_t tv_sec_lo, uint32_t tv_nsec, bool post=true)
high-resolution timestamp event
std::function< void(zwp_keyboard_shortcuts_inhibitor_v1_t, surface_t, seat_t)> & on_inhibit_shortcuts()
create a new keyboard shortcuts inhibitor object
void post_already_inhibited(std::string const &msg)
Post error: the shortcuts are already inhibited for this surface.
std::function< void()> & on_destroy()
destroy the keyboard shortcuts inhibitor object
std::function< void()> & on_destroy()
destroy the keyboard shortcuts inhibitor object
static constexpr std::uint32_t active_since_version
Minimum protocol version required for the active function.
static constexpr std::uint32_t inactive_since_version
Minimum protocol version required for the inactive function.
parameters for creating a dmabuf-based wl_buffer
static constexpr std::uint32_t created_since_version
Minimum protocol version required for the created function.
void post_incomplete(std::string const &msg)
Post error: missing or too many planes to create a buffer.
void post_already_used(std::string const &msg)
Post error: the dmabuf_batch object has already been used to create a wl_buffer.
void created(bool post=true)
buffer creation succeeded
void post_out_of_bounds(std::string const &msg)
Post error: offset + stride * height goes out of dmabuf bounds.
void post_invalid_format(std::string const &msg)
Post error: format not supported.
std::function< void(int, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> & on_add()
add a dmabuf to the temporary set
void post_invalid_wl_buffer(std::string const &msg)
Post error: invalid wl_buffer resulted from importing dmabufs via the create_immed request on given b...
std::function< void(int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> & on_create()
create a wl_buffer from the given dmabufs
void post_plane_idx(std::string const &msg)
Post error: plane index out of bounds.
void post_invalid_dimensions(std::string const &msg)
Post error: invalid width or height.
std::function< void()> & on_destroy()
delete this object, used or not
void post_plane_set(std::string const &msg)
Post error: the plane index was already set.
std::function< void(buffer_t, int32_t, int32_t, uint32_t, zwp_linux_buffer_params_v1_flags)> & on_create_immed()
immediately create a wl_buffer from the given dmabufs
static constexpr std::uint32_t failed_since_version
Minimum protocol version required for the failed function.
static constexpr std::uint32_t immediate_release_since_version
Minimum protocol version required for the immediate_release function.
void immediate_release(bool post=true)
release buffer immediately
void fenced_release(int fence, bool post=true)
release buffer with fence
static constexpr std::uint32_t fenced_release_since_version
Minimum protocol version required for the fenced_release function.
static constexpr std::uint32_t tranche_done_since_version
Minimum protocol version required for the tranche_done function.
static constexpr std::uint32_t main_device_since_version
Minimum protocol version required for the main_device function.
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
static constexpr std::uint32_t tranche_flags_since_version
Minimum protocol version required for the tranche_flags function.
static constexpr std::uint32_t tranche_target_device_since_version
Minimum protocol version required for the tranche_target_device function.
void tranche_formats(array_t const &indices, bool post=true)
supported buffer format modifier
void tranche_target_device(array_t const &device, bool post=true)
target device
static constexpr std::uint32_t tranche_formats_since_version
Minimum protocol version required for the tranche_formats function.
void tranche_flags(zwp_linux_dmabuf_feedback_v1_tranche_flags const &flags, bool post=true)
tranche flags
void main_device(array_t const &device, bool post=true)
preferred main device
static constexpr std::uint32_t format_table_since_version
Minimum protocol version required for the format_table function.
std::function< void()> & on_destroy()
destroy the feedback object
void format_table(int fd, uint32_t size, bool post=true)
format and modifier table
void tranche_done(bool post=true)
a preference tranche has been sent
factory for creating dmabuf-based wl_buffers
std::function< void(zwp_linux_dmabuf_feedback_v1_t, surface_t)> & on_get_surface_feedback()
get feedback for a surface
static constexpr std::uint32_t format_since_version
Minimum protocol version required for the format function.
std::function< void()> & on_destroy()
unbind the factory
bool can_modifier() const
Check whether the modifier function is available with the currently bound version of the protocol.
static constexpr std::uint32_t modifier_since_version
Minimum protocol version required for the modifier function.
std::function< void(zwp_linux_dmabuf_feedback_v1_t)> & on_get_default_feedback()
get default feedback
std::function< void(zwp_linux_buffer_params_v1_t)> & on_create_params()
create a temporary object for buffer parameters
void modifier(uint32_t format, uint32_t modifier_hi, uint32_t modifier_lo, bool post=true)
supported buffer format modifier
void format(uint32_t format, bool post=true)
supported buffer format
std::function< void()> & on_destroy()
destroy explicit synchronization factory object
std::function< void(zwp_linux_surface_synchronization_v1_t, surface_t)> & on_get_synchronization()
extend surface interface for explicit synchronization
void post_synchronization_exists(std::string const &msg)
Post error: the surface already has a synchronization object associated.
std::function< void(int)> & on_set_acquire_fence()
set the acquire fence
void post_duplicate_release(std::string const &msg)
Post error: multiple releases added for a single surface commit.
std::function< void()> & on_destroy()
destroy synchronization object
void post_unsupported_buffer(std::string const &msg)
Post error: the buffer does not support explicit synchronization.
void post_no_buffer(std::string const &msg)
Post error: no buffer was attached.
void post_duplicate_fence(std::string const &msg)
Post error: multiple fences added for a single surface commit.
void post_invalid_fence(std::string const &msg)
Post error: the fence specified by the client could not be imported.
std::function< void(zwp_linux_buffer_release_v1_t)> & on_get_release()
release fence for last-attached buffer
void post_no_surface(std::string const &msg)
Post error: the associated wl_surface was destroyed.
std::function< void()> & on_destroy()
destroy the locked pointer object
std::function< void(double, double)> & on_set_cursor_position_hint()
set the pointer cursor position hint
static constexpr std::uint32_t locked_since_version
Minimum protocol version required for the locked function.
void unlocked(bool post=true)
lock deactivation event
static constexpr std::uint32_t unlocked_since_version
Minimum protocol version required for the unlocked function.
std::function< void(region_t)> & on_set_region()
set a new lock region
std::function< void(zwp_confined_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> & on_confine_pointer()
confine pointer to a region
std::function< void()> & on_destroy()
destroy the pointer constraints manager object
void post_already_constrained(std::string const &msg)
Post error: pointer constraint already requested on that surface.
std::function< void(zwp_locked_pointer_v1_t, surface_t, pointer_t, region_t, zwp_pointer_constraints_v1_lifetime)> & on_lock_pointer()
lock pointer to a position
bool can_end() const
Check whether the end function is available with the currently bound version of the protocol.
static constexpr std::uint32_t end_since_version
Minimum protocol version required for the end function.
void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post=true)
multi-finger hold end
std::function< void()> & on_destroy()
destroy the hold gesture object
void begin(uint32_t serial, uint32_t time, surface_t const &surface, uint32_t fingers, bool post=true)
multi-finger hold begin
bool can_begin() const
Check whether the begin function is available with the currently bound version of the protocol.
static constexpr std::uint32_t begin_since_version
Minimum protocol version required for the begin function.
static constexpr std::uint32_t begin_since_version
Minimum protocol version required for the begin function.
std::function< void()> & on_destroy()
destroy the pinch gesture object
static constexpr std::uint32_t end_since_version
Minimum protocol version required for the end function.
void begin(uint32_t serial, uint32_t time, surface_t const &surface, uint32_t fingers, bool post=true)
multi-finger pinch begin
void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post=true)
multi-finger pinch end
static constexpr std::uint32_t update_since_version
Minimum protocol version required for the update function.
void update(uint32_t time, double dx, double dy, double scale, double rotation, bool post=true)
multi-finger pinch motion
void end(uint32_t serial, uint32_t time, int32_t cancelled, bool post=true)
multi-finger swipe end
void update(uint32_t time, double dx, double dy, bool post=true)
multi-finger swipe motion
std::function< void()> & on_destroy()
destroy the pointer swipe gesture object
static constexpr std::uint32_t end_since_version
Minimum protocol version required for the end function.
void begin(uint32_t serial, uint32_t time, surface_t const &surface, uint32_t fingers, bool post=true)
multi-finger swipe begin
static constexpr std::uint32_t begin_since_version
Minimum protocol version required for the begin function.
static constexpr std::uint32_t update_since_version
Minimum protocol version required for the update function.
std::function< void(zwp_pointer_gesture_swipe_v1_t, pointer_t)> & on_get_swipe_gesture()
get swipe gesture
std::function< void(zwp_pointer_gesture_hold_v1_t, pointer_t)> & on_get_hold_gesture()
get hold gesture
std::function< void(zwp_pointer_gesture_pinch_v1_t, pointer_t)> & on_get_pinch_gesture()
get pinch gesture
std::function< void()> & on_release()
destroy the pointer gesture object
std::function< void(zwp_primary_selection_source_v1_t)> & on_create_source()
create a new primary selection source
std::function< void()> & on_destroy()
destroy the primary selection device manager
std::function< void(zwp_primary_selection_device_v1_t, seat_t)> & on_get_device()
create a new primary selection device
void offer(std::string const &mime_type, bool post=true)
advertise offered mime type
static constexpr std::uint32_t offer_since_version
Minimum protocol version required for the offer function.
std::function< void(std::string, int)> & on_receive()
request that the data is transferred
std::function< void()> & on_destroy()
destroy the primary selection offer
offer to replace the contents of the primary selection
static constexpr std::uint32_t send_since_version
Minimum protocol version required for the send function.
static constexpr std::uint32_t cancelled_since_version
Minimum protocol version required for the cancelled function.
void send(std::string const &mime_type, int fd, bool post=true)
send the primary selection contents
std::function< void()> & on_destroy()
destroy the primary selection source
std::function< void(std::string)> & on_offer()
add an offered mime type
void cancelled(bool post=true)
request for primary selection contents was canceled
std::function< void()> & on_destroy()
destroy the relative pointer manager object
std::function< void(zwp_relative_pointer_v1_t, pointer_t)> & on_get_relative_pointer()
get a relative pointer object
static constexpr std::uint32_t relative_motion_since_version
Minimum protocol version required for the relative_motion function.
std::function< void()> & on_destroy()
release the relative pointer object
void relative_motion(uint32_t utime_hi, uint32_t utime_lo, double dx, double dy, double dx_unaccel, double dy_unaccel, bool post=true)
relative pointer motion
controller object for graphic tablet devices
std::function< void()> & on_destroy()
release the memory for the tablet manager object
std::function< void(zwp_tablet_seat_v1_t, seat_t)> & on_get_tablet_seat()
get the tablet seat
controller object for graphic tablet devices
std::function< void()> & on_destroy()
release the memory for the tablet manager object
std::function< void(zwp_tablet_seat_v2_t, seat_t)> & on_get_tablet_seat()
get the tablet seat
static constexpr std::uint32_t strip_since_version
Minimum protocol version required for the strip function.
static constexpr std::uint32_t modes_since_version
Minimum protocol version required for the modes function.
void done(bool post=true)
tablet group description events sequence complete
void buttons(array_t const &buttons, bool post=true)
buttons announced
std::function< void()> & on_destroy()
destroy the pad object
void mode_switch(uint32_t time, uint32_t serial, uint32_t mode, bool post=true)
mode switch event
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
static constexpr std::uint32_t buttons_since_version
Minimum protocol version required for the buttons function.
static constexpr std::uint32_t ring_since_version
Minimum protocol version required for the ring function.
void modes(uint32_t modes, bool post=true)
mode-switch ability announced
static constexpr std::uint32_t mode_switch_since_version
Minimum protocol version required for the mode_switch function.
static constexpr std::uint32_t angle_since_version
Minimum protocol version required for the angle function.
static constexpr std::uint32_t frame_since_version
Minimum protocol version required for the frame function.
static constexpr std::uint32_t source_since_version
Minimum protocol version required for the source function.
void angle(double degrees, bool post=true)
angle changed
std::function< void()> & on_destroy()
destroy the ring object
std::function< void(std::string, uint32_t)> & on_set_feedback()
set compositor feedback
void source(zwp_tablet_pad_ring_v2_source const &source, bool post=true)
ring event source
static constexpr std::uint32_t stop_since_version
Minimum protocol version required for the stop function.
void frame(uint32_t time, bool post=true)
end of a ring event sequence
void frame(uint32_t time, bool post=true)
end of a strip event sequence
void position(uint32_t position, bool post=true)
position changed
static constexpr std::uint32_t position_since_version
Minimum protocol version required for the position function.
std::function< void()> & on_destroy()
destroy the strip object
static constexpr std::uint32_t source_since_version
Minimum protocol version required for the source function.
std::function< void(std::string, uint32_t)> & on_set_feedback()
set compositor feedback
void source(zwp_tablet_pad_strip_v2_source const &source, bool post=true)
strip event source
static constexpr std::uint32_t frame_since_version
Minimum protocol version required for the frame function.
static constexpr std::uint32_t stop_since_version
Minimum protocol version required for the stop function.
std::function< void(uint32_t, std::string, uint32_t)> & on_set_feedback()
set compositor feedback
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
void leave(uint32_t serial, surface_t const &surface, bool post=true)
enter event
void path(std::string const &path, bool post=true)
path to the device
std::function< void()> & on_destroy()
destroy the pad object
void button(uint32_t time, uint32_t button, zwp_tablet_pad_v2_button_state const &state, bool post=true)
physical button state
static constexpr std::uint32_t buttons_since_version
Minimum protocol version required for the buttons function.
void done(bool post=true)
pad description event sequence complete
void buttons(uint32_t buttons, bool post=true)
buttons announced
static constexpr std::uint32_t leave_since_version
Minimum protocol version required for the leave function.
static constexpr std::uint32_t button_since_version
Minimum protocol version required for the button function.
static constexpr std::uint32_t group_since_version
Minimum protocol version required for the group function.
void enter(uint32_t serial, zwp_tablet_v2_t const &tablet, surface_t const &surface, bool post=true)
enter event
static constexpr std::uint32_t path_since_version
Minimum protocol version required for the path function.
static constexpr std::uint32_t removed_since_version
Minimum protocol version required for the removed function.
static constexpr std::uint32_t enter_since_version
Minimum protocol version required for the enter function.
controller object for graphic tablet devices of a seat
void tablet_added(bool post=true)
new device notification
void tool_added(bool post=true)
a new tool has been used with a tablet
static constexpr std::uint32_t tablet_added_since_version
Minimum protocol version required for the tablet_added function.
static constexpr std::uint32_t tool_added_since_version
Minimum protocol version required for the tool_added function.
std::function< void()> & on_destroy()
release the memory for the tablet seat object
controller object for graphic tablet devices of a seat
static constexpr std::uint32_t tablet_added_since_version
Minimum protocol version required for the tablet_added function.
std::function< void()> & on_destroy()
release the memory for the tablet seat object
static constexpr std::uint32_t tool_added_since_version
Minimum protocol version required for the tool_added function.
void tablet_added(bool post=true)
new device notification
void pad_added(bool post=true)
new pad notification
static constexpr std::uint32_t pad_added_since_version
Minimum protocol version required for the pad_added function.
void tool_added(bool post=true)
a new tool has been used with a tablet
void slider(int32_t position, bool post=true)
Slider position change event.
static constexpr std::uint32_t hardware_serial_since_version
Minimum protocol version required for the hardware_serial function.
void post_role(std::string const &msg)
Post error: given wl_surface has another role.
void hardware_id_wacom(uint32_t hardware_id_hi, uint32_t hardware_id_lo, bool post=true)
hardware id notification in Wacom's format
static constexpr std::uint32_t capability_since_version
Minimum protocol version required for the capability function.
static constexpr std::uint32_t motion_since_version
Minimum protocol version required for the motion function.
static constexpr std::uint32_t type_since_version
Minimum protocol version required for the type function.
static constexpr std::uint32_t proximity_in_since_version
Minimum protocol version required for the proximity_in function.
static constexpr std::uint32_t distance_since_version
Minimum protocol version required for the distance function.
static constexpr std::uint32_t tilt_since_version
Minimum protocol version required for the tilt function.
static constexpr std::uint32_t proximity_out_since_version
Minimum protocol version required for the proximity_out function.
static constexpr std::uint32_t removed_since_version
Minimum protocol version required for the removed function.
void done(bool post=true)
tool description events sequence complete
static constexpr std::uint32_t frame_since_version
Minimum protocol version required for the frame function.
static constexpr std::uint32_t rotation_since_version
Minimum protocol version required for the rotation function.
void button(uint32_t serial, uint32_t button, zwp_tablet_tool_v1_button_state const &state, bool post=true)
button event
void up(bool post=true)
tablet tool is no longer making contact
static constexpr std::uint32_t up_since_version
Minimum protocol version required for the up function.
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
static constexpr std::uint32_t pressure_since_version
Minimum protocol version required for the pressure function.
void rotation(int32_t degrees, bool post=true)
z-rotation change event
static constexpr std::uint32_t button_since_version
Minimum protocol version required for the button function.
std::function< void()> & on_destroy()
destroy the tool object
std::function< void(uint32_t, surface_t, int32_t, int32_t)> & on_set_cursor()
set the tablet tool's surface
static constexpr std::uint32_t down_since_version
Minimum protocol version required for the down function.
void down(uint32_t serial, bool post=true)
tablet tool is making contact
void distance(uint32_t distance, bool post=true)
distance change event
void frame(uint32_t time, bool post=true)
frame event
void tilt(int32_t tilt_x, int32_t tilt_y, bool post=true)
tilt change event
void proximity_out(bool post=true)
proximity out event
void wheel(int32_t degrees, int32_t clicks, bool post=true)
Wheel delta event.
static constexpr std::uint32_t wheel_since_version
Minimum protocol version required for the wheel function.
void pressure(uint32_t pressure, bool post=true)
pressure change event
void type(zwp_tablet_tool_v1_type const &tool_type, bool post=true)
tool type
static constexpr std::uint32_t hardware_id_wacom_since_version
Minimum protocol version required for the hardware_id_wacom function.
void hardware_serial(uint32_t hardware_serial_hi, uint32_t hardware_serial_lo, bool post=true)
unique hardware serial number of the tool
void motion(double x, double y, bool post=true)
motion event
static constexpr std::uint32_t slider_since_version
Minimum protocol version required for the slider function.
void proximity_in(uint32_t serial, zwp_tablet_v1_t const &tablet, surface_t const &surface, bool post=true)
proximity in event
void capability(zwp_tablet_tool_v1_capability const &capability, bool post=true)
tool capability notification
static constexpr std::uint32_t hardware_id_wacom_since_version
Minimum protocol version required for the hardware_id_wacom function.
void tilt(double tilt_x, double tilt_y, bool post=true)
tilt change event
static constexpr std::uint32_t motion_since_version
Minimum protocol version required for the motion function.
static constexpr std::uint32_t up_since_version
Minimum protocol version required for the up function.
void type(zwp_tablet_tool_v2_type const &tool_type, bool post=true)
tool type
static constexpr std::uint32_t down_since_version
Minimum protocol version required for the down function.
void done(bool post=true)
tool description events sequence complete
static constexpr std::uint32_t hardware_serial_since_version
Minimum protocol version required for the hardware_serial function.
static constexpr std::uint32_t slider_since_version
Minimum protocol version required for the slider function.
void proximity_out(bool post=true)
proximity out event
static constexpr std::uint32_t removed_since_version
Minimum protocol version required for the removed function.
static constexpr std::uint32_t distance_since_version
Minimum protocol version required for the distance function.
static constexpr std::uint32_t frame_since_version
Minimum protocol version required for the frame function.
static constexpr std::uint32_t rotation_since_version
Minimum protocol version required for the rotation function.
void wheel(double degrees, int32_t clicks, bool post=true)
Wheel delta event.
void rotation(double degrees, bool post=true)
z-rotation change event
void capability(zwp_tablet_tool_v2_capability const &capability, bool post=true)
tool capability notification
static constexpr std::uint32_t tilt_since_version
Minimum protocol version required for the tilt function.
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
void hardware_serial(uint32_t hardware_serial_hi, uint32_t hardware_serial_lo, bool post=true)
unique hardware serial number of the tool
void frame(uint32_t time, bool post=true)
frame event
std::function< void(uint32_t, surface_t, int32_t, int32_t)> & on_set_cursor()
set the tablet tool's surface
void hardware_id_wacom(uint32_t hardware_id_hi, uint32_t hardware_id_lo, bool post=true)
hardware id notification in Wacom's format
static constexpr std::uint32_t capability_since_version
Minimum protocol version required for the capability function.
static constexpr std::uint32_t button_since_version
Minimum protocol version required for the button function.
void button(uint32_t serial, uint32_t button, zwp_tablet_tool_v2_button_state const &state, bool post=true)
button event
static constexpr std::uint32_t wheel_since_version
Minimum protocol version required for the wheel function.
std::function< void()> & on_destroy()
destroy the tool object
void motion(double x, double y, bool post=true)
motion event
void post_role(std::string const &msg)
Post error: given wl_surface has another role.
void pressure(uint32_t pressure, bool post=true)
pressure change event
void up(bool post=true)
tablet tool is no longer making contact
static constexpr std::uint32_t proximity_in_since_version
Minimum protocol version required for the proximity_in function.
static constexpr std::uint32_t proximity_out_since_version
Minimum protocol version required for the proximity_out function.
static constexpr std::uint32_t pressure_since_version
Minimum protocol version required for the pressure function.
void distance(uint32_t distance, bool post=true)
distance change event
void down(uint32_t serial, bool post=true)
tablet tool is making contact
void slider(int32_t position, bool post=true)
Slider position change event.
void proximity_in(uint32_t serial, zwp_tablet_v2_t const &tablet, surface_t const &surface, bool post=true)
proximity in event
static constexpr std::uint32_t type_since_version
Minimum protocol version required for the type function.
void path(std::string const &path, bool post=true)
path to the device
static constexpr std::uint32_t id_since_version
Minimum protocol version required for the id function.
void name(std::string const &name, bool post=true)
tablet device name
void id(uint32_t vid, uint32_t pid, bool post=true)
tablet device USB vendor/product id
void removed(bool post=true)
tablet removed event
std::function< void()> & on_destroy()
destroy the tablet object
void done(bool post=true)
tablet description events sequence complete
static constexpr std::uint32_t path_since_version
Minimum protocol version required for the path function.
static constexpr std::uint32_t name_since_version
Minimum protocol version required for the name function.
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
static constexpr std::uint32_t removed_since_version
Minimum protocol version required for the removed function.
void removed(bool post=true)
tablet removed event
void id(uint32_t vid, uint32_t pid, bool post=true)
tablet device USB vendor/product id
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
void path(std::string const &path, bool post=true)
path to the device
static constexpr std::uint32_t path_since_version
Minimum protocol version required for the path function.
void done(bool post=true)
tablet description events sequence complete
void name(std::string const &name, bool post=true)
tablet device name
static constexpr std::uint32_t name_since_version
Minimum protocol version required for the name function.
static constexpr std::uint32_t removed_since_version
Minimum protocol version required for the removed function.
static constexpr std::uint32_t id_since_version
Minimum protocol version required for the id function.
std::function< void()> & on_destroy()
destroy the tablet object
std::function< void(zwp_text_input_v1_t)> & on_create_text_input()
create text input
std::function< void()> & on_destroy()
Destroy the wp_text_input_manager.
std::function< void(zwp_text_input_v3_t, seat_t)> & on_get_text_input()
create a new text input object
void input_panel_state(uint32_t state, bool post=true)
state of the input panel
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_set_cursor_rectangle()
void language(uint32_t serial, std::string const &language, bool post=true)
language
void preedit_styling(uint32_t index, uint32_t length, zwp_text_input_v1_preedit_style const &style, bool post=true)
pre-edit styling
void modifiers_map(array_t const &map, bool post=true)
modifiers map
std::function< void()> & on_hide_input_panel()
hide input panels
std::function< void(seat_t, surface_t)> & on_activate()
request activation
static constexpr std::uint32_t leave_since_version
Minimum protocol version required for the leave function.
static constexpr std::uint32_t keysym_since_version
Minimum protocol version required for the keysym function.
static constexpr std::uint32_t modifiers_map_since_version
Minimum protocol version required for the modifiers_map function.
std::function< void(seat_t)> & on_deactivate()
request deactivation
std::function< void(zwp_text_input_v1_content_hint, zwp_text_input_v1_content_purpose)> & on_set_content_type()
set content purpose and hint
void keysym(uint32_t serial, uint32_t time, uint32_t sym, keyboard_key_state const &state, uint32_t modifiers, bool post=true)
keysym
void cursor_position(int32_t index, int32_t anchor, bool post=true)
set cursor to new position
std::function< void(uint32_t, uint32_t)> & on_invoke_action()
void text_direction(uint32_t serial, zwp_text_input_v1_text_direction const &direction, bool post=true)
text direction
static constexpr std::uint32_t language_since_version
Minimum protocol version required for the language function.
static constexpr std::uint32_t preedit_string_since_version
Minimum protocol version required for the preedit_string function.
static constexpr std::uint32_t preedit_cursor_since_version
Minimum protocol version required for the preedit_cursor function.
static constexpr std::uint32_t text_direction_since_version
Minimum protocol version required for the text_direction function.
static constexpr std::uint32_t delete_surrounding_text_since_version
Minimum protocol version required for the delete_surrounding_text function.
void preedit_string(uint32_t serial, std::string const &text, std::string const &commit, bool post=true)
pre-edit
void preedit_cursor(int32_t index, bool post=true)
pre-edit cursor
static constexpr std::uint32_t preedit_styling_since_version
Minimum protocol version required for the preedit_styling function.
void delete_surrounding_text(int32_t index, uint32_t length, bool post=true)
delete surrounding text
std::function< void(std::string)> & on_set_preferred_language()
sets preferred language
std::function< void()> & on_show_input_panel()
show input panels
static constexpr std::uint32_t enter_since_version
Minimum protocol version required for the enter function.
static constexpr std::uint32_t input_panel_state_since_version
Minimum protocol version required for the input_panel_state function.
static constexpr std::uint32_t cursor_position_since_version
Minimum protocol version required for the cursor_position function.
static constexpr std::uint32_t commit_string_since_version
Minimum protocol version required for the commit_string function.
std::function< void(std::string, uint32_t, uint32_t)> & on_set_surrounding_text()
sets the surrounding text
void commit_string(uint32_t serial, std::string const &text, bool post=true)
commit
void enter(surface_t const &surface, bool post=true)
enter event
void enter(surface_t const &surface, bool post=true)
enter event
std::function< void()> & on_destroy()
Destroy the wp_text_input.
std::function< void(zwp_text_input_v3_change_cause)> & on_set_text_change_cause()
indicates the cause of surrounding text change
static constexpr std::uint32_t delete_surrounding_text_since_version
Minimum protocol version required for the delete_surrounding_text function.
std::function< void()> & on_enable()
Request text input to be enabled.
std::function< void(std::string, int32_t, int32_t)> & on_set_surrounding_text()
sets the surrounding text
void preedit_string(std::string const &text, int32_t cursor_begin, int32_t cursor_end, bool post=true)
pre-edit
std::function< void()> & on_commit()
commit state
void commit_string(std::string const &text, bool post=true)
text commit
void done(uint32_t serial, bool post=true)
apply changes
static constexpr std::uint32_t preedit_string_since_version
Minimum protocol version required for the preedit_string function.
std::function< void(zwp_text_input_v3_content_hint, zwp_text_input_v3_content_purpose)> & on_set_content_type()
set content purpose and hint
static constexpr std::uint32_t enter_since_version
Minimum protocol version required for the enter function.
void delete_surrounding_text(uint32_t before_length, uint32_t after_length, bool post=true)
delete surrounding text
void leave(surface_t const &surface, bool post=true)
leave event
std::function< void()> & on_disable()
Disable text input on a surface.
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_set_cursor_rectangle()
set cursor position
static constexpr std::uint32_t commit_string_since_version
Minimum protocol version required for the commit_string function.
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
static constexpr std::uint32_t leave_since_version
Minimum protocol version required for the leave function.
std::function< void(zwp_xwayland_keyboard_grab_v1_t, surface_t, seat_t)> & on_grab_keyboard()
grab the keyboard to a surface
std::function< void()> & on_destroy()
destroy the keyboard grab manager
std::function< void()> & on_destroy()
destroy the grabbed keyboard object
std::function< void(zxdg_toplevel_decoration_v1_t, xdg_toplevel_t)> & on_get_toplevel_decoration()
create a new toplevel decoration object
std::function< void()> & on_destroy()
destroy the decoration manager object
void handle(std::string const &handle, bool post=true)
the exported surface handle
std::function< void()> & on_destroy()
unexport the exported surface
static constexpr std::uint32_t handle_since_version
Minimum protocol version required for the handle function.
std::function< void()> & on_destroy()
unexport the exported surface
static constexpr std::uint32_t handle_since_version
Minimum protocol version required for the handle function.
void handle(std::string const &handle, bool post=true)
the exported surface handle
std::function< void(zxdg_exported_v1_t, surface_t)> & on_export()
export a surface
std::function< void()> & on_destroy()
destroy the xdg_exporter object
std::function< void(zxdg_exported_v2_t, surface_t)> & on_export_toplevel()
export a toplevel surface
void post_invalid_surface(std::string const &msg)
Post error: surface is not an xdg_toplevel.
std::function< void()> & on_destroy()
destroy the xdg_exporter object
void destroyed(bool post=true)
the imported surface handle has been destroyed
std::function< void(surface_t)> & on_set_parent_of()
set as the parent of some surface
std::function< void()> & on_destroy()
destroy the xdg_imported object
static constexpr std::uint32_t destroyed_since_version
Minimum protocol version required for the destroyed function.
static constexpr std::uint32_t destroyed_since_version
Minimum protocol version required for the destroyed function.
void post_invalid_surface(std::string const &msg)
Post error: surface is not an xdg_toplevel.
void destroyed(bool post=true)
the imported surface handle has been destroyed
std::function< void()> & on_destroy()
destroy the xdg_imported object
std::function< void(surface_t)> & on_set_parent_of()
set as the parent of some surface
std::function< void(zxdg_imported_v1_t, std::string)> & on_import()
import a surface
std::function< void()> & on_destroy()
destroy the xdg_importer object
std::function< void()> & on_destroy()
destroy the xdg_importer object
std::function< void(zxdg_imported_v2_t, std::string)> & on_import_toplevel()
import a toplevel surface
std::function< void()> & on_destroy()
destroy the xdg_output_manager object
std::function< void(zxdg_output_v1_t, output_t)> & on_get_xdg_output()
create an xdg output from a wl_output
static constexpr std::uint32_t done_since_version
Minimum protocol version required for the done function.
bool can_name() const
Check whether the name function is available with the currently bound version of the protocol.
void logical_position(int32_t x, int32_t y, bool post=true)
position of the output within the global compositor space
void done(bool post=true)
all information about the output have been sent
bool can_description() const
Check whether the description function is available with the currently bound version of the protocol.
static constexpr std::uint32_t logical_position_since_version
Minimum protocol version required for the logical_position function.
static constexpr std::uint32_t name_since_version
Minimum protocol version required for the name function.
void logical_size(int32_t width, int32_t height, bool post=true)
size of the output in the global compositor space
std::function< void()> & on_destroy()
destroy the xdg_output object
static constexpr std::uint32_t description_since_version
Minimum protocol version required for the description function.
void name(std::string const &name, bool post=true)
name of this output
void description(std::string const &description, bool post=true)
human-readable description of this output
static constexpr std::uint32_t logical_size_since_version
Minimum protocol version required for the logical_size function.
void post_invalid_grab(std::string const &msg)
Post error: tried to grab after being mapped.
void popup_done(bool post=true)
popup interaction is done
static constexpr std::uint32_t configure_since_version
Minimum protocol version required for the configure function.
static constexpr std::uint32_t popup_done_since_version
Minimum protocol version required for the popup_done function.
std::function< void(seat_t, uint32_t)> & on_grab()
make the popup take an explicit grab
std::function< void()> & on_destroy()
remove xdg_popup interface
void configure(int32_t x, int32_t y, int32_t width, int32_t height, bool post=true)
configure the popup surface
std::function< void(zxdg_positioner_v6_anchor)> & on_set_anchor()
set anchor rectangle anchor edges
std::function< void()> & on_destroy()
destroy the xdg_positioner object
std::function< void(int32_t, int32_t)> & on_set_offset()
set surface position offset
std::function< void(zxdg_positioner_v6_constraint_adjustment)> & on_set_constraint_adjustment()
set the adjustment to be done when constrained
std::function< void(zxdg_positioner_v6_gravity)> & on_set_gravity()
set child surface gravity
std::function< void(int32_t, int32_t)> & on_set_size()
set the size of the to-be positioned rectangle
void post_invalid_input(std::string const &msg)
Post error: invalid input provided.
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_set_anchor_rect()
set the anchor rectangle within the parent surface
void post_invalid_surface_state(std::string const &msg)
Post error: the client provided an invalid surface state.
void post_invalid_positioner(std::string const &msg)
Post error: the client provided an invalid positioner.
static constexpr std::uint32_t ping_since_version
Minimum protocol version required for the ping function.
void ping(uint32_t serial, bool post=true)
check if the client is alive
void post_defunct_surfaces(std::string const &msg)
Post error: xdg_shell was destroyed before children.
std::function< void(zxdg_positioner_v6_t)> & on_create_positioner()
create a positioner object
std::function< void(uint32_t)> & on_pong()
respond to a ping event
void post_role(std::string const &msg)
Post error: given wl_surface has another role.
std::function< void(zxdg_surface_v6_t, surface_t)> & on_get_xdg_surface()
create a shell surface from a surface
void post_not_the_topmost_popup(std::string const &msg)
Post error: the client tried to map or destroy a non-topmost popup.
void post_invalid_popup_parent(std::string const &msg)
Post error: the client specified an invalid popup parent surface.
std::function< void()> & on_destroy()
destroy xdg_shell
desktop user interface surface base interface
static constexpr std::uint32_t configure_since_version
Minimum protocol version required for the configure function.
std::function< void(uint32_t)> & on_ack_configure()
ack a configure event
void configure(uint32_t serial, bool post=true)
suggest a surface change
std::function< void(zxdg_toplevel_v6_t)> & on_get_toplevel()
assign the xdg_toplevel surface role
std::function< void(zxdg_popup_v6_t, zxdg_surface_v6_t, zxdg_positioner_v6_t)> & on_get_popup()
assign the xdg_popup surface role
void post_not_constructed(std::string const &msg)
Post error:
void post_unconfigured_buffer(std::string const &msg)
Post error:
std::function< void(int32_t, int32_t, int32_t, int32_t)> & on_set_window_geometry()
set the new window geometry
std::function< void()> & on_destroy()
destroy the xdg_surface
void post_already_constructed(std::string const &msg)
Post error:
void post_already_constructed(std::string const &msg)
Post error: xdg_toplevel already has a decoration object.
std::function< void()> & on_destroy()
destroy the decoration object
std::function< void()> & on_unset_mode()
unset the decoration mode
std::function< void(zxdg_toplevel_decoration_v1_mode)> & on_set_mode()
set the decoration mode
void configure(zxdg_toplevel_decoration_v1_mode const &mode, bool post=true)
suggest a surface change
void post_unconfigured_buffer(std::string const &msg)
Post error: xdg_toplevel has a buffer attached before configure.
void post_orphaned(std::string const &msg)
Post error: xdg_toplevel destroyed before the decoration object.
static constexpr std::uint32_t configure_since_version
Minimum protocol version required for the configure function.
static constexpr std::uint32_t close_since_version
Minimum protocol version required for the close function.
std::function< void(std::string)> & on_set_title()
set surface title
std::function< void(std::string)> & on_set_app_id()
set application ID
std::function< void(output_t)> & on_set_fullscreen()
set the window as fullscreen on a monitor
std::function< void(seat_t, uint32_t)> & on_move()
start an interactive move
std::function< void()> & on_unset_maximized()
unmaximize the window
void close(bool post=true)
surface wants to be closed
std::function< void()> & on_set_maximized()
maximize the window
std::function< void(zxdg_toplevel_v6_t)> & on_set_parent()
set the parent of this surface
std::function< void(seat_t, uint32_t, int32_t, int32_t)> & on_show_window_menu()
show the window menu
std::function< void(int32_t, int32_t)> & on_set_min_size()
set the minimum size
std::function< void()> & on_destroy()
destroy the xdg_toplevel
std::function< void()> & on_set_minimized()
set the window as minimized
static constexpr std::uint32_t configure_since_version
Minimum protocol version required for the configure function.
std::function< void(seat_t, uint32_t, zxdg_toplevel_v6_resize_edge)> & on_resize()
start an interactive resize
std::function< void(int32_t, int32_t)> & on_set_max_size()
set the maximum size
void configure(int32_t width, int32_t height, array_t const &states, bool post=true)
suggest a surface change
offer to transfer primary selection contents
offer to replace the contents of the primary selection
static const wayland::detail::bitfield< 2147483649, 23 > auto_capitalization
switch to uppercase letters at the start of a sentence
static const wayland::detail::bitfield< 2147483649, 23 > auto_correction
suggest word corrections
static const wayland::detail::bitfield< 2147483649, 23 > _default
auto completion, correction and capitalization
static const wayland::detail::bitfield< 2147483649, 23 > none
no special behaviour
static const wayland::detail::bitfield< 2147483649, 23 > multiline
the text input is multiline
static const wayland::detail::bitfield< 2147483649, 23 > sensitive_data
typed text should not be stored
static const wayland::detail::bitfield< 2147483649, 23 > password
hidden and sensitive text
static const wayland::detail::bitfield< 2147483649, 23 > titlecase
prefer casing for titles and headings (can be language dependent)
static const wayland::detail::bitfield< 2147483649, 23 > lowercase
prefer lowercase letters
static const wayland::detail::bitfield< 2147483649, 23 > uppercase
prefer uppercase letters
static const wayland::detail::bitfield< 2147483649, 23 > auto_completion
suggest word completions
static const wayland::detail::bitfield< 2147483649, 23 > latin
just latin characters should be entered
static const wayland::detail::bitfield< 2147483649, 23 > hidden_text
characters should be hidden
static const wayland::detail::bitfield< 2147483649, 28 > hidden_text
characters should be hidden
static const wayland::detail::bitfield< 2147483649, 28 > auto_capitalization
switch to uppercase letters at the start of a sentence
static const wayland::detail::bitfield< 2147483649, 28 > completion
suggest word completions
static const wayland::detail::bitfield< 2147483649, 28 > titlecase
prefer casing for titles and headings (can be language dependent)
static const wayland::detail::bitfield< 2147483649, 28 > latin
just Latin characters should be entered
static const wayland::detail::bitfield< 2147483649, 28 > sensitive_data
typed text should not be stored
static const wayland::detail::bitfield< 2147483649, 28 > multiline
the text input is multiline
static const wayland::detail::bitfield< 2147483649, 28 > spellcheck
suggest word corrections
static const wayland::detail::bitfield< 2147483649, 28 > lowercase
prefer lowercase letters
static const wayland::detail::bitfield< 2147483649, 28 > uppercase
prefer uppercase letters
static const wayland::detail::bitfield< 2147483649, 28 > none
no special behavior