18 struct wl_data_source;
19 struct wl_data_device;
20 struct wl_data_device_manager;
22 struct wl_shell_surface;
30 struct wl_subcompositor;
40 enum class shm_error : uint32_t;
41 enum class shm_format : uint32_t;
44 enum class data_offer_error : uint32_t;
46 enum class data_source_error : uint32_t;
48 enum class data_device_error : uint32_t;
49 class data_device_manager_t;
50 struct data_device_manager_dnd_action;
52 enum class shell_error : uint32_t;
53 class shell_surface_t;
54 struct shell_surface_resize;
55 struct shell_surface_transient;
56 enum class shell_surface_fullscreen_method : uint32_t;
58 enum class surface_error : uint32_t;
60 struct seat_capability;
61 enum class seat_error : uint32_t;
63 enum class pointer_error : uint32_t;
64 enum class pointer_button_state : uint32_t;
65 enum class pointer_axis : uint32_t;
66 enum class pointer_axis_source : uint32_t;
68 enum class keyboard_keymap_format : uint32_t;
69 enum class keyboard_key_state : uint32_t;
72 enum class output_subpixel : uint32_t;
73 struct output_transform;
76 class subcompositor_t;
77 enum class subcompositor_error : uint32_t;
79 enum class subsurface_error : uint32_t;
83 extern const wl_interface display_interface;
84 extern const wl_interface registry_interface;
85 extern const wl_interface callback_interface;
86 extern const wl_interface compositor_interface;
87 extern const wl_interface shm_pool_interface;
88 extern const wl_interface shm_interface;
89 extern const wl_interface buffer_interface;
90 extern const wl_interface data_offer_interface;
91 extern const wl_interface data_source_interface;
92 extern const wl_interface data_device_interface;
93 extern const wl_interface data_device_manager_interface;
94 extern const wl_interface shell_interface;
95 extern const wl_interface shell_surface_interface;
96 extern const wl_interface surface_interface;
97 extern const wl_interface seat_interface;
98 extern const wl_interface pointer_interface;
99 extern const wl_interface keyboard_interface;
100 extern const wl_interface touch_interface;
101 extern const wl_interface output_interface;
102 extern const wl_interface region_interface;
103 extern const wl_interface subcompositor_interface;
104 extern const wl_interface subsurface_interface;
134 struct events_t :
public detail::events_base_t
136 std::function<void(uint32_t, std::string, uint32_t)> global;
137 std::function<void(uint32_t)> global_remove;
140 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
151 static const std::string interface_name;
153 operator wl_registry*()
const;
183 std::function<void(uint32_t, std::string, uint32_t)> &
on_global();
214 struct events_t :
public detail::events_base_t
216 std::function<void(uint32_t)> done;
219 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
230 static const std::string interface_name;
232 operator wl_callback*()
const;
240 std::function<void(uint32_t)> &
on_done();
255 struct events_t :
public detail::events_base_t
259 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
270 static const std::string interface_name;
272 operator wl_compositor*()
const;
315 struct events_t :
public detail::events_base_t
319 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
330 static const std::string interface_name;
332 operator wl_shm_pool*()
const;
355 buffer_t create_buffer(int32_t offset, int32_t width, int32_t height, int32_t stride, shm_format
const& format);
370 void resize(int32_t size);
395 struct events_t :
public detail::events_base_t
397 std::function<void(shm_format)> format;
400 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
402 shm_t(
proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag );
409 shm_t proxy_create_wrapper();
411 static const std::string interface_name;
413 operator wl_shm*()
const;
441 std::function<void(shm_format)> &
on_format();
450 enum class shm_error : uint32_t
473 enum class shm_format : uint32_t
486 xrgb4444 = 0x32315258,
488 xbgr4444 = 0x32314258,
490 rgbx4444 = 0x32315852,
492 bgrx4444 = 0x32315842,
494 argb4444 = 0x32315241,
496 abgr4444 = 0x32314241,
498 rgba4444 = 0x32314152,
500 bgra4444 = 0x32314142,
502 xrgb1555 = 0x35315258,
504 xbgr1555 = 0x35314258,
506 rgbx5551 = 0x35315852,
508 bgrx5551 = 0x35315842,
510 argb1555 = 0x35315241,
512 abgr1555 = 0x35314241,
514 rgba5551 = 0x35314152,
516 bgra5551 = 0x35314142,
526 xbgr8888 = 0x34324258,
528 rgbx8888 = 0x34325852,
530 bgrx8888 = 0x34325842,
532 abgr8888 = 0x34324241,
534 rgba8888 = 0x34324152,
536 bgra8888 = 0x34324142,
538 xrgb2101010 = 0x30335258,
540 xbgr2101010 = 0x30334258,
542 rgbx1010102 = 0x30335852,
544 bgrx1010102 = 0x30335842,
546 argb2101010 = 0x30335241,
548 abgr2101010 = 0x30334241,
550 rgba1010102 = 0x30334152,
552 bgra1010102 = 0x30334142,
604 xrgb16161616f = 0x48345258,
606 xbgr16161616f = 0x48344258,
608 argb16161616f = 0x48345241,
610 abgr16161616f = 0x48344241,
612 xyuv8888 = 0x56555958,
616 vuy101010 = 0x30335556,
630 xvyu2101010 = 0x30335658,
632 xvyu12_16161616 = 0x36335658,
634 xvyu16161616 = 0x38345658,
643 yuv420_8bit = 0x38305559,
644 yuv420_10bit = 0x30315559,
645 xrgb8888_a8 = 0x38415258,
646 xbgr8888_a8 = 0x38414258,
647 rgbx8888_a8 = 0x38415852,
648 bgrx8888_a8 = 0x38415842,
649 rgb888_a8 = 0x38413852,
650 bgr888_a8 = 0x38413842,
651 rgb565_a8 = 0x38413552,
652 bgr565_a8 = 0x38413542,
680 struct events_t :
public detail::events_base_t
682 std::function<void()> release;
685 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
696 static const std::string interface_name;
698 operator wl_buffer*()
const;
734 struct events_t :
public detail::events_base_t
736 std::function<void(std::string)> offer;
741 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
752 static const std::string interface_name;
754 operator wl_data_offer*()
const;
776 void accept(uint32_t serial, std::string
const& mime_type);
803 void receive(std::string
const& mime_type,
int fd);
893 std::function<void(std::string)> &
on_offer();
952 enum class data_offer_error : uint32_t
957 invalid_action_mask = 1,
976 struct events_t :
public detail::events_base_t
978 std::function<void(std::string)> target;
979 std::function<void(std::string,
int)> send;
980 std::function<void()> cancelled;
981 std::function<void()> dnd_drop_performed;
982 std::function<void()> dnd_finished;
986 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
997 static const std::string interface_name;
999 operator wl_data_source*()
const;
1009 void offer(std::string
const& mime_type);
1053 std::function<void(std::string)> &
on_target();
1064 std::function<void(std::string,
int)> &
on_send();
1156 enum class data_source_error : uint32_t
1159 invalid_action_mask = 0,
1177 struct events_t :
public detail::events_base_t
1181 std::function<void()> leave;
1182 std::function<void(uint32_t,
double,
double)> motion;
1183 std::function<void()> drop;
1187 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1198 static const std::string interface_name;
1200 operator wl_data_device*()
const;
1324 std::function<void(uint32_t,
double,
double)> &
on_motion();
1343 std::function<void()> &
on_drop();
1368 enum class data_device_error : uint32_t
1392 struct events_t :
public detail::events_base_t
1396 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1407 static const std::string interface_name;
1409 operator wl_data_device_manager*()
const;
1468 : detail::bitfield<3, 6>(b) {}
1470 : detail::bitfield<3, 6>(value) {}
1472 static const detail::bitfield<3, 6>
none;
1474 static const detail::bitfield<3, 6>
copy;
1476 static const detail::bitfield<3, 6>
move;
1478 static const detail::bitfield<3, 6>
ask;
1497 struct events_t :
public detail::events_base_t
1501 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1503 shell_t(
proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag );
1510 shell_t proxy_create_wrapper();
1512 static const std::string interface_name;
1514 operator wl_shell*()
const;
1538 enum class shell_error : uint32_t
1563 struct events_t :
public detail::events_base_t
1565 std::function<void(uint32_t)> ping;
1567 std::function<void()> popup_done;
1570 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1581 static const std::string interface_name;
1583 operator wl_shell_surface*()
const;
1592 void pong(uint32_t serial);
1609 void move(
seat_t const& seat, uint32_t serial);
1707 void set_fullscreen(shell_surface_fullscreen_method
const& method, uint32_t framerate,
output_t const& output);
1789 void set_title(std::string
const& title);
1806 void set_class(std::string
const& class_);
1819 std::function<void(uint32_t)> &
on_ping();
1869 : detail::bitfield<4, 8>(b) {}
1871 : detail::bitfield<4, 8>(value) {}
1873 static const detail::bitfield<4, 8>
none;
1875 static const detail::bitfield<4, 8>
top;
1879 static const detail::bitfield<4, 8>
left;
1885 static const detail::bitfield<4, 8>
right;
1901 : detail::bitfield<1, 9>(b) {}
1903 : detail::bitfield<1, 9>(value) {}
1915 enum class shell_surface_fullscreen_method : uint32_t
1976 struct events_t :
public detail::events_base_t
1978 std::function<void(
output_t)> enter;
1979 std::function<void(
output_t)> leave;
1982 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
1993 static const std::string interface_name;
1995 operator wl_surface*()
const;
2085 void damage(int32_t x, int32_t y, int32_t width, int32_t height);
2353 void damage_buffer(int32_t x, int32_t y, int32_t width, int32_t height);
2393 enum class surface_error : uint32_t
2398 invalid_transform = 1,
2415 struct events_t :
public detail::events_base_t
2418 std::function<void(std::string)> name;
2421 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
2423 seat_t(
proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag );
2430 seat_t proxy_create_wrapper();
2432 static const std::string interface_name;
2434 operator wl_seat*()
const;
2549 std::function<void(std::string)> &
on_name();
2562 : detail::bitfield<3, 12>(b) {}
2564 : detail::bitfield<3, 12>(value) {}
2570 static const detail::bitfield<3, 12>
touch;
2578 enum class seat_error : uint32_t
2581 missing_capability = 0
2600 struct events_t :
public detail::events_base_t
2602 std::function<void(uint32_t,
surface_t,
double,
double)> enter;
2603 std::function<void(uint32_t,
surface_t)> leave;
2604 std::function<void(uint32_t,
double,
double)> motion;
2605 std::function<void(uint32_t, uint32_t, uint32_t, pointer_button_state)> button;
2606 std::function<void(uint32_t, pointer_axis,
double)> axis;
2607 std::function<void()> frame;
2608 std::function<void(pointer_axis_source)> axis_source;
2609 std::function<void(uint32_t, pointer_axis)> axis_stop;
2610 std::function<void(pointer_axis, int32_t)> axis_discrete;
2613 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
2624 static const std::string interface_name;
2626 operator wl_pointer*()
const;
2667 void set_cursor(uint32_t serial,
surface_t const& surface, int32_t hotspot_x, int32_t hotspot_y);
2732 std::function<void(uint32_t,
double,
double)> &
on_motion();
2756 std::function<void(uint32_t, uint32_t, uint32_t, pointer_button_state)> &
on_button();
2781 std::function<void(uint32_t, pointer_axis,
double)> &
on_axis();
2875 std::function<void(uint32_t, pointer_axis)> &
on_axis_stop();
2916 enum class pointer_error : uint32_t
2928 enum class pointer_button_state : uint32_t
2941 enum class pointer_axis : uint32_t
2944 vertical_scroll = 0,
2946 horizontal_scroll = 1
2969 enum class pointer_axis_source : uint32_t
2991 struct events_t :
public detail::events_base_t
2993 std::function<void(keyboard_keymap_format,
int, uint32_t)> keymap;
2994 std::function<void(uint32_t,
surface_t, array_t)> enter;
2995 std::function<void(uint32_t,
surface_t)> leave;
2996 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> key;
2997 std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> modifiers;
2998 std::function<void(int32_t, int32_t)> repeat_info;
3001 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3012 static const std::string interface_name;
3014 operator wl_keyboard*()
const;
3042 std::function<void(keyboard_keymap_format,
int, uint32_t)> &
on_keymap();
3091 std::function<void(uint32_t, uint32_t, uint32_t, keyboard_key_state)> &
on_key();
3104 std::function<void(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)> &
on_modifiers();
3134 enum class keyboard_keymap_format : uint32_t
3147 enum class keyboard_key_state : uint32_t
3171 struct events_t :
public detail::events_base_t
3173 std::function<void(uint32_t, uint32_t,
surface_t, int32_t,
double,
double)> down;
3174 std::function<void(uint32_t, uint32_t, int32_t)> up;
3175 std::function<void(uint32_t, int32_t,
double,
double)> motion;
3176 std::function<void()> frame;
3177 std::function<void()> cancel;
3178 std::function<void(int32_t,
double,
double)> shape;
3179 std::function<void(int32_t,
double)> orientation;
3182 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3184 touch_t(
proxy_t const &wrapped_proxy, construct_proxy_wrapper_tag );
3191 touch_t proxy_create_wrapper();
3193 static const std::string interface_name;
3195 operator wl_touch*()
const;
3225 std::function<void(uint32_t, uint32_t,
surface_t, int32_t,
double,
double)> &
on_down();
3237 std::function<void(uint32_t, uint32_t, int32_t)> &
on_up();
3248 std::function<void(uint32_t, int32_t,
double,
double)> &
on_motion();
3308 std::function<void(int32_t,
double,
double)> &
on_shape();
3357 struct events_t :
public detail::events_base_t
3359 std::function<void(int32_t, int32_t, int32_t, int32_t, output_subpixel, std::string, std::string,
output_transform)> geometry;
3360 std::function<void(
output_mode, int32_t, int32_t, int32_t)> mode;
3361 std::function<void()> done;
3362 std::function<void(int32_t)> scale;
3365 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3376 static const std::string interface_name;
3378 operator wl_output*()
const;
3422 std::function<void(int32_t, int32_t, int32_t, int32_t, output_subpixel, std::string, std::string,
output_transform)> &
on_geometry();
3469 std::function<void()> &
on_done();
3494 std::function<void(int32_t)> &
on_scale();
3504 enum class output_subpixel : uint32_t
3538 : detail::bitfield<3, 21>(b) {}
3540 : detail::bitfield<3, 21>(value) {}
3544 static const detail::bitfield<3, 21>
_90;
3546 static const detail::bitfield<3, 21>
_180;
3548 static const detail::bitfield<3, 21>
_270;
3568 : detail::bitfield<2, 22>(b) {}
3570 : detail::bitfield<2, 22>(value) {}
3589 struct events_t :
public detail::events_base_t
3593 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3604 static const std::string interface_name;
3606 operator wl_region*()
const;
3617 void add(int32_t x, int32_t y, int32_t width, int32_t height);
3632 void subtract(int32_t x, int32_t y, int32_t width, int32_t height);
3667 struct events_t :
public detail::events_base_t
3671 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3682 static const std::string interface_name;
3684 operator wl_subcompositor*()
const;
3719 enum class subcompositor_error : uint32_t
3782 struct events_t :
public detail::events_base_t
3786 static int dispatcher(uint32_t opcode,
const std::vector<detail::any>& args,
const std::shared_ptr<detail::events_base_t>& e);
3797 static const std::string interface_name;
3799 operator wl_subsurface*()
const;
3925 enum class subsurface_error : uint32_t