summaryrefslogtreecommitdiff
path: root/nvim/undo/%home%coast%Projects%cvox%window_wayland.c
blob: 4ab89ec1a0e0839244fb09b223b0bceae907786e (plain)
ofshex dumpascii
0000 56 69 6d 9f 55 6e 44 6f e5 00 03 38 e0 9b 1c be 09 bc 31 ff 06 c7 3a 10 48 0b b0 87 ea 78 6f 43 Vim.UnDo...8......1...:.H....xoC
0020 5d ca c3 e1 d0 d9 47 e3 6a e0 40 00 00 01 2f 00 00 00 44 20 20 20 20 20 20 20 20 73 74 72 75 63 ].....G.j.@.../...D........struc
0040 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 t.xdg_wm_base.*wm_base.=.wl_regi
0060 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 00 00 00 cf 00 00 00 44 00 stry_bind(registry,.nam.......D.
0080 00 00 01 00 00 00 08 00 00 00 00 00 00 00 08 00 00 00 08 00 00 00 08 00 00 00 00 6a 63 49 9b 04 ...........................jcI..
00a0 01 00 00 00 04 00 5f d0 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 ......_.........................
00c0 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0220 00 00 00 00 00 00 00 00 00 00 6a 63 46 d0 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 ..........jcF...................
0240 00 00 00 00 00 01 45 00 00 00 15 23 69 6e 63 6c 75 64 65 20 22 70 6c 61 74 66 6f 72 6d 2e 68 22 ......E....#include."platform.h"
0260 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 ....#include.<wayland-client.h>.
0280 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 65 67 6c 2e 68 3e 00 00 00 14 23 ...#include.<wayland-egl.h>....#
02a0 69 6e 63 6c 75 64 65 20 3c 45 47 4c 2f 65 67 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 include.<EGL/egl.h>....#include.
02c0 3c 47 4c 2f 67 6c 2e 68 3e 00 00 00 20 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e <GL/gl.h>....#include.<xkbcommon
02e0 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e 00 00 00 28 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f /xkbcommon.h>...(#include.<xkbco
0300 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2d 6b 65 79 73 79 6d 73 2e 68 3e 00 00 00 15 23 69 6e mmon/xkbcommon-keysyms.h>....#in
0320 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c clude.<sys/mman.h>....#include.<
0340 75 6e 69 73 74 64 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e unistd.h>....#include.<stdlib.h>
0360 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 26 23 69 6e 63 6c ....#include.<string.h>...&#incl
0380 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 ude."xdg-shell-client-protocol.h
03a0 22 00 00 00 39 23 69 6e 63 6c 75 64 65 20 22 72 65 6c 61 74 69 76 65 2d 70 6f 69 6e 74 65 72 2d "...9#include."relative-pointer-
03c0 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 unstable-v1-client-protocol.h"..
03e0 00 3c 23 69 6e 63 6c 75 64 65 20 22 70 6f 69 6e 74 65 72 2d 63 6f 6e 73 74 72 61 69 6e 74 73 2d .<#include."pointer-constraints-
0400 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 unstable-v1-client-protocol.h"..
0420 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 1f 20 20 20 20 73 74 ......typedef.struct.{........st
0440 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 21 20 20 20 ruct.wl_display.*display;...!...
0460 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 .struct.wl_registry.*registry;..
0480 00 25 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 .%....struct.wl_compositor.*comp
04a0 6f 73 69 74 6f 72 3b 00 00 00 19 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 ositor;........struct.wl_seat.*s
04c0 65 61 74 3b 00 00 00 20 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a eat;........struct.xdg_wm_base.*
04e0 77 6d 5f 62 61 73 65 3b 00 00 00 38 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 wm_base;...8....struct.zwp_relat
0500 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 20 2a 72 65 6c 5f 70 74 72 5f ive_pointer_manager_v1.*rel_ptr_
0520 6d 67 72 3b 00 00 00 37 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 mgr;...7....struct.zwp_pointer_c
0540 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 20 2a 70 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 3b 00 onstraints_v1.*ptr_constraints;.
0560 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 .......struct.wl_surface.*surfac
0580 65 3b 00 00 00 24 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 e;...$....struct.xdg_surface.*xd
05a0 67 5f 73 75 72 66 61 63 65 3b 00 00 00 26 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 g_surface;...&....struct.xdg_top
05c0 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 3b 00 00 00 1f 20 20 20 20 73 74 72 75 level.*xdg_toplevel;........stru
05e0 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 21 20 20 20 20 73 ct.wl_pointer.*pointer;...!....s
0600 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 30 truct.wl_keyboard.*keyboard;...0
0620 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f ....struct.zwp_relative_pointer_
0640 76 31 20 2a 72 65 6c 5f 70 6f 69 6e 74 65 72 3b 00 00 00 31 20 20 20 20 73 74 72 75 63 74 20 7a v1.*rel_pointer;...1....struct.z
0660 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 6c 6f 63 6b 65 64 5f 70 6f 69 wp_locked_pointer_v1.*locked_poi
0680 6e 74 65 72 3b 00 00 00 25 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f nter;...%....struct.wl_egl_windo
06a0 77 20 2a 65 67 6c 5f 77 69 6e 64 6f 77 3b 00 00 00 1b 20 20 20 20 45 47 4c 44 69 73 70 6c 61 79 w.*egl_window;........EGLDisplay
06c0 20 65 67 6c 5f 64 69 73 70 6c 61 79 3b 00 00 00 1b 20 20 20 20 45 47 4c 43 6f 6e 74 65 78 74 20 .egl_display;........EGLContext.
06e0 65 67 6c 5f 63 6f 6e 74 65 78 74 3b 00 00 00 1b 20 20 20 20 45 47 4c 53 75 72 66 61 63 65 20 65 egl_context;........EGLSurface.e
0700 67 6c 5f 73 75 72 66 61 63 65 3b 00 00 00 20 20 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f gl_surface;........struct.xkb_co
0720 6e 74 65 78 74 20 2a 78 6b 62 5f 63 74 78 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 78 6b ntext.*xkb_ctx;..."....struct.xk
0740 62 5f 6b 65 79 6d 61 70 20 2a 78 6b 62 5f 6b 65 79 6d 61 70 3b 00 00 00 20 20 20 20 20 73 74 72 b_keymap.*xkb_keymap;........str
0760 75 63 74 20 78 6b 62 5f 73 74 61 74 65 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 13 20 20 20 uct.xkb_state.*xkb_state;.......
0780 20 69 6e 74 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 13 20 20 20 20 50 6c 61 74 66 6f 72 6d .int.configured;........Platform
07a0 20 2a 70 6c 61 74 3b 00 00 00 0c 7d 20 57 6c 42 61 63 6b 65 6e 64 3b 00 00 00 00 00 00 00 2b 73 .*plat;....}.WlBackend;.......+s
07c0 74 61 74 69 63 20 69 6e 74 20 6b 65 79 73 79 6d 5f 74 6f 5f 6b 65 79 28 78 6b 62 5f 6b 65 79 73 tatic.int.keysym_to_key(xkb_keys
07e0 79 6d 5f 74 20 6b 73 29 20 7b 00 00 00 11 20 20 20 20 73 77 69 74 63 68 20 28 6b 73 29 20 7b 00 ym_t.ks).{........switch.(ks).{.
0800 00 00 35 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 77 3a 20 63 61 73 65 20 ..5........case.XKB_KEY_w:.case.
0820 58 4b 42 5f 4b 45 59 5f 57 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 57 3b 00 00 00 35 20 20 20 20 XKB_KEY_W:.return.KEY_W;...5....
0840 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 61 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 ....case.XKB_KEY_a:.case.XKB_KEY
0860 5f 41 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 41 3b 00 00 00 35 20 20 20 20 20 20 20 20 63 61 73 _A:.return.KEY_A;...5........cas
0880 65 20 58 4b 42 5f 4b 45 59 5f 73 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 53 3a 20 72 65 74 e.XKB_KEY_s:.case.XKB_KEY_S:.ret
08a0 75 72 6e 20 4b 45 59 5f 53 3b 00 00 00 35 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b urn.KEY_S;...5........case.XKB_K
08c0 45 59 5f 64 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 44 3a 20 72 65 74 75 72 6e 20 4b 45 59 EY_d:.case.XKB_KEY_D:.return.KEY
08e0 5f 44 3b 00 00 00 2d 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 73 70 61 63 _D;...-........case.XKB_KEY_spac
0900 65 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 53 50 41 43 45 3b 00 00 00 2c 20 20 20 20 20 20 20 20 e:.return.KEY_SPACE;...,........
0920 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 45 73 63 61 70 65 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f case.XKB_KEY_Escape:.return.KEY_
0940 45 53 43 3b 00 00 00 25 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 31 3a 20 ESC;...%........case.XKB_KEY_1:.
0960 72 65 74 75 72 6e 20 4b 45 59 5f 31 3b 00 00 00 25 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b return.KEY_1;...%........case.XK
0980 42 5f 4b 45 59 5f 32 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 32 3b 00 00 00 25 20 20 20 20 20 20 B_KEY_2:.return.KEY_2;...%......
09a0 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 33 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 33 3b 00 ..case.XKB_KEY_3:.return.KEY_3;.
09c0 00 00 1b 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 ...........default:.return.-1;..
09e0 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 ......}....}.......Tstatic.void.
0a00 77 6d 5f 62 61 73 65 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 wm_base_ping(void.*data,.struct.
0a20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 xdg_wm_base.*wm_base,.uint32_t.s
0a40 65 72 69 61 6c 29 20 7b 00 00 00 0f 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 26 20 erial).{........(void)data;...&.
0a60 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 ...xdg_wm_base_pong(wm_base,.ser
0a80 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 ial);....}...Mstatic.const.struc
0aa0 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c t.xdg_wm_base_listener.wm_base_l
0ac0 69 73 74 65 6e 65 72 20 3d 20 7b 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 00 istener.=.{.wm_base_ping.};.....
0ae0 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 ..Xstatic.void.xdg_surface_confi
0b00 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 gure(void.*data,.struct.xdg_surf
0b20 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 18 20 ace.*xs,.uint32_t.serial).{.....
0b40 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 20 20 78 ...WlBackend.*b.=.data;...*....x
0b60 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 dg_surface_ack_configure(xs,.ser
0b80 69 61 6c 29 3b 00 00 00 16 20 20 20 20 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 31 3b 00 ial);........b->configured.=.1;.
0ba0 00 00 01 7d 00 00 00 5b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f ...}...[static.const.struct.xdg_
0bc0 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 surface_listener.xdg_surface_lis
0be0 74 65 6e 65 72 5f 20 3d 20 7b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 tener_.=.{.xdg_surface_configure
0c00 20 7d 3b 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f .};.......Cstatic.void.toplevel_
0c20 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 configure(void.*data,.struct.xdg
0c40 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6c 2c 00 00 00 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _toplevel.*tl,...Y..............
0c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c ..................int32_t.width,
0c80 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 .int32_t.height,.struct.wl_array
0ca0 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1b 20 20 20 20 28 76 6f 69 64 29 74 6c 3b 20 28 76 6f .*states).{........(void)tl;.(vo
0cc0 69 64 29 73 74 61 74 65 73 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d id)states;........WlBackend.*b.=
0ce0 20 64 61 74 61 3b 00 00 00 22 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 .data;..."....if.(width.>.0.&&.h
0d00 65 69 67 68 74 20 3e 20 30 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 62 2d 3e 70 6c 61 74 2d eight.>.0).{...%........b->plat-
0d20 3e 73 74 61 74 65 2e 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 27 20 20 20 20 20 20 20 >state.width.=.width;...'.......
0d40 20 62 2d 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b .b->plat->state.height.=.height;
0d60 00 00 00 54 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 20 77 ...T........if.(b->egl_window).w
0d80 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 72 65 73 69 7a 65 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f l_egl_window_resize(b->egl_windo
0da0 77 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 30 2c 20 30 29 3b 00 00 00 05 20 20 20 20 w,.width,.height,.0,.0);........
0dc0 7d 00 00 00 01 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 }....}...Astatic.void.toplevel_c
0de0 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c lose(void.*data,.struct.xdg_topl
0e00 65 76 65 6c 20 2a 74 6c 29 20 7b 00 00 00 0d 20 20 20 20 28 76 6f 69 64 29 74 6c 3b 00 00 00 18 evel.*tl).{........(void)tl;....
0e20 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 24 20 20 20 20 ....WlBackend.*b.=.data;...$....
0e40 62 2d 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 73 68 6f 75 6c 64 5f 63 6c 6f 73 65 20 3d 20 31 3b b->plat->state.should_close.=.1;
0e60 00 00 00 01 7d 00 00 00 65 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 ....}...estatic.const.struct.xdg
0e80 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 _toplevel_listener.toplevel_list
0ea0 65 6e 65 72 20 3d 20 7b 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 74 6f 70 ener.=.{.toplevel_configure,.top
0ec0 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 level_close.};.......Nstatic.voi
0ee0 64 20 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 d.pointer_enter(void.*data,.stru
0f00 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 74 72 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 ct.wl_pointer.*ptr,.uint32_t.ser
0f20 69 61 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ial,...Q........................
0f40 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 2c 20 77 6c 5f 66 ...struct.wl_surface.*surf,.wl_f
0f60 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 2d 20 20 20 ixed_t.x,.wl_fixed_t.y).{...-...
0f80 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 20 28 76 6f 69 64 29 78 .(void)data;.(void)surf;.(void)x
0fa0 3b 20 28 76 6f 69 64 29 79 3b 00 00 00 33 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 73 65 74 ;.(void)y;...3....wl_pointer_set
0fc0 5f 63 75 72 73 6f 72 28 70 74 72 2c 20 73 65 72 69 61 6c 2c 20 4e 55 4c 4c 2c 20 30 2c 20 30 29 _cursor(ptr,.serial,.NULL,.0,.0)
0fe0 3b 00 00 00 01 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6c 65 ;....}..._static.void.pointer_le
1000 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a ave(void.*d,.struct.wl_pointer.*
1020 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 p,.uint32_t.s,.struct.wl_surface
1040 20 2a 73 75 72 66 29 20 7b 00 00 00 2a 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 .*surf).{...*....(void)d;.(void)
1060 70 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 00 00 00 01 7d 00 00 00 63 p;.(void)s;.(void)surf;....}...c
1080 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 static.void.pointer_motion(void.
10a0 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 *d,.struct.wl_pointer.*p,.uint32
10c0 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 _t.t,.wl_fixed_t.x,.wl_fixed_t.y
10e0 29 20 7b 00 00 00 30 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f ).{...0....(void)d;.(void)p;.(vo
1100 69 64 29 74 3b 20 28 76 6f 69 64 29 78 3b 20 28 76 6f 69 64 29 79 3b 00 00 00 01 7d 00 00 00 5e id)t;.(void)x;.(void)y;....}...^
1120 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 static.void.pointer_button(void.
1140 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 74 72 2c 20 75 *data,.struct.wl_pointer.*ptr,.u
1160 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 00 00 int32_t.serial,.uint32_t.time,..
1180 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 .>............................ui
11a0 6e 74 33 32 5f 74 20 62 75 74 74 6f 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b nt32_t.button,.uint32_t.state).{
11c0 00 00 00 28 20 20 20 20 28 76 6f 69 64 29 70 74 72 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b ...(....(void)ptr;.(void)serial;
11e0 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 .(void)time;........WlBackend.*b
1200 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 69 6e 74 20 70 72 65 73 73 65 64 20 3d 20 28 73 .=.data;...=....int.pressed.=.(s
1220 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f tate.==.WL_POINTER_BUTTON_STATE_
1240 50 52 45 53 53 45 44 29 3b 00 00 00 3d 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 30 PRESSED);...=....if.(button.==.0
1260 78 31 31 30 29 20 62 2d 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 6c 65 66 74 20 x110).b->plat->state.mouse_left.
1280 3d 20 70 72 65 73 73 65 64 3b 00 00 00 3e 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 =.pressed;...>....if.(button.==.
12a0 30 78 31 31 31 29 20 62 2d 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 72 69 67 68 0x111).b->plat->state.mouse_righ
12c0 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 01 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 t.=.pressed;....}..._static.void
12e0 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c .pointer_axis(void.*d,.struct.wl
1300 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f _pointer.*p,.uint32_t.t,.uint32_
1320 74 20 61 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 20 7b 00 00 00 30 20 20 20 20 28 76 6f 69 t.a,.wl_fixed_t.v).{...0....(voi
1340 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 74 3b 20 28 76 6f 69 64 29 61 3b 20 d)d;.(void)p;.(void)t;.(void)a;.
1360 28 76 6f 69 64 29 76 3b 00 00 00 01 7d 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 (void)v;....}...Nstatic.void.poi
1380 6e 74 65 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f nter_frame(void.*d,.struct.wl_po
13a0 69 6e 74 65 72 20 2a 70 29 20 7b 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 7d 00 inter.*p).{.(void)d;.(void)p;.}.
13c0 00 00 69 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 73 6f 75 72 ..istatic.void.pointer_axis_sour
13e0 63 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 ce(void.*d,.struct.wl_pointer.*p
1400 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 ,.uint32_t.s).{.(void)d;.(void)p
1420 3b 20 28 76 6f 69 64 29 73 3b 20 7d 00 00 00 56 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e ;.(void)s;.}...Vstatic.void.poin
1440 74 65 72 5f 61 78 69 73 5f 73 74 6f 70 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c ter_axis_stop(void.*d,.struct.wl
1460 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 2c 20 75 69 6e 74 33 32 5f _pointer.*p,.uint32_t.t,.uint32_
1480 74 20 61 29 20 7b 00 00 00 27 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 t.a).{...'....(void)d;.(void)p;.
14a0 28 76 6f 69 64 29 74 3b 20 28 76 6f 69 64 29 61 3b 00 00 00 01 7d 00 00 00 5c 73 74 61 74 69 63 (void)t;.(void)a;....}...\static
14c0 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 28 76 6f 69 64 .void.pointer_axis_discrete(void
14e0 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 .*d,.struct.wl_pointer.*p,.uint3
1500 32 5f 74 20 61 2c 20 69 6e 74 33 32 5f 74 20 64 69 73 63 29 20 7b 00 00 00 2a 20 20 20 20 28 76 2_t.a,.int32_t.disc).{...*....(v
1520 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 61 3b 20 28 76 6f 69 64 29 64 oid)d;.(void)p;.(void)a;.(void)d
1540 69 73 63 3b 00 00 00 01 7d 00 00 00 3c 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 isc;....}...<static.const.struct
1560 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 6f 69 6e 74 65 72 5f 6c 69 73 .wl_pointer_listener.pointer_lis
1580 74 65 6e 65 72 20 3d 20 7b 00 00 00 4f 20 20 20 20 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 2c 20 tener.=.{...O....pointer_enter,.
15a0 70 6f 69 6e 74 65 72 5f 6c 65 61 76 65 2c 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 2c 20 70 pointer_leave,.pointer_motion,.p
15c0 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 2c 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 2c 00 00 00 50 ointer_button,.pointer_axis,...P
15e0 20 20 20 20 70 6f 69 6e 74 65 72 5f 66 72 61 6d 65 2c 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f ....pointer_frame,.pointer_axis_
1600 73 6f 75 72 63 65 2c 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 73 74 6f 70 2c 20 70 6f 69 6e 74 source,.pointer_axis_stop,.point
1620 65 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4b 73 74 er_axis_discrete....};.......Kst
1640 61 74 69 63 20 76 6f 69 64 20 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a atic.void.relative_motion(void.*
1660 64 61 74 61 2c 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 data,.struct.zwp_relative_pointe
1680 72 5f 76 31 20 2a 72 70 2c 00 00 00 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r_v1.*rp,...T...................
16a0 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 68 69 2c 20 75 69 6e 74 33 32 5f 74 20 ..........uint32_t.hi,.uint32_t.
16c0 6c 6f 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 79 lo,.wl_fixed_t.dx,.wl_fixed_t.dy
16e0 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...@...........................
1700 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 5f 75 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 79 ..wl_fixed_t.dx_u,.wl_fixed_t.dy
1720 5f 75 29 20 7b 00 00 00 35 20 20 20 20 28 76 6f 69 64 29 72 70 3b 20 28 76 6f 69 64 29 68 69 3b _u).{...5....(void)rp;.(void)hi;
1740 20 28 76 6f 69 64 29 6c 6f 3b 20 28 76 6f 69 64 29 64 78 3b 20 28 76 6f 69 64 29 64 79 3b 00 00 .(void)lo;.(void)dx;.(void)dy;..
1760 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 38 20 20 ......WlBackend.*b.=.data;...8..
1780 20 20 62 2d 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 78 20 2b 3d 20 77 6c 5f ..b->plat->state.mouse_dx.+=.wl_
17a0 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 64 78 5f 75 29 3b 00 00 00 38 20 20 20 20 62 2d fixed_to_double(dx_u);...8....b-
17c0 3e 70 6c 61 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 2b 3d 20 77 6c 5f 66 69 78 65 >plat->state.mouse_dy.+=.wl_fixe
17e0 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 64 79 5f 75 29 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 d_to_double(dy_u);....}...`stati
1800 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e c.const.struct.zwp_relative_poin
1820 74 65 72 5f 76 31 5f 6c 69 73 74 65 6e 65 72 20 72 65 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 ter_v1_listener.rel_pointer_list
1840 65 6e 65 72 20 3d 20 7b 20 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 20 7d 3b 00 00 00 00 00 ener.=.{.relative_motion.};.....
1860 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 ..Pstatic.void.keyboard_keymap(v
1880 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b oid.*data,.struct.wl_keyboard.*k
18a0 62 2c 20 75 69 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 b,.uint32_t.format,...9.........
18c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 66 64 2c 20 ....................int32_t.fd,.
18e0 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 0d 20 20 20 20 28 76 6f 69 64 29 6b 62 uint32_t.size).{........(void)kb
1900 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 ;........WlBackend.*b.=.data;...
1920 4a 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b J....if.(format.!=.WL_KEYBOARD_K
1940 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b 42 5f 56 31 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 EYMAP_FORMAT_XKB_V1).{.close(fd)
1960 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 44 20 20 20 20 63 68 61 72 20 2a 6d 61 70 5f 73 74 72 ;.return;.}...D....char.*map_str
1980 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 2c 20 4d .=.mmap(NULL,.size,.PROT_READ,.M
19a0 41 50 5f 50 52 49 56 41 54 45 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 6d AP_PRIVATE,.fd,.0);........if.(m
19c0 61 70 5f 73 74 72 20 21 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 3f 20 20 20 20 20 ap_str.!=.MAP_FAILED).{...?.....
19e0 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 2a 6b 65 79 6d 61 70 20 3d 20 78 ...struct.xkb_keymap.*keymap.=.x
1a00 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 00 00 00 59 20 20 kb_keymap_new_from_string(...Y..
1a20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 78 6b 62 5f 63 74 78 2c 20 6d 61 70 5f 73 74 72 2c 20 58 ..........b->xkb_ctx,.map_str,.X
1a40 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 54 45 58 54 5f 56 31 2c 20 58 4b 42 5f 4b 45 KB_KEYMAP_FORMAT_TEXT_V1,.XKB_KE
1a60 59 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 1e 20 20 20 20 20 YMAP_COMPILE_NO_FLAGS);.........
1a80 20 20 20 6d 75 6e 6d 61 70 28 6d 61 70 5f 73 74 72 2c 20 73 69 7a 65 29 3b 00 00 00 15 20 20 20 ...munmap(map_str,.size);.......
1aa0 20 20 20 20 20 69 66 20 28 6b 65 79 6d 61 70 29 20 7b 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 .....if.(keymap).{...<..........
1ac0 20 20 69 66 20 28 62 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 78 6b 62 5f 73 74 61 74 65 5f 75 6e ..if.(b->xkb_state).xkb_state_un
1ae0 72 65 66 28 62 2d 3e 78 6b 62 5f 73 74 61 74 65 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 ref(b->xkb_state);...?..........
1b00 20 20 69 66 20 28 62 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 20 78 6b 62 5f 6b 65 79 6d 61 70 5f ..if.(b->xkb_keymap).xkb_keymap_
1b20 75 6e 72 65 66 28 62 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 29 3b 00 00 00 23 20 20 20 20 20 20 20 unref(b->xkb_keymap);...#.......
1b40 20 20 20 20 20 62 2d 3e 78 6b 62 5f 6b 65 79 6d 61 70 20 3d 20 6b 65 79 6d 61 70 3b 00 00 00 31 .....b->xkb_keymap.=.keymap;...1
1b60 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 78 6b 62 5f 73 74 61 74 65 20 3d 20 78 6b 62 5f 73 ............b->xkb_state.=.xkb_s
1b80 74 61 74 65 5f 6e 65 77 28 6b 65 79 6d 61 70 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 tate_new(keymap);............}..
1ba0 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 ......}........close(fd);....}..
1bc0 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 .Fstatic.void.keyboard_enter(voi
1be0 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e d.*d,.struct.wl_keyboard.*k,.uin
1c00 74 33 32 5f 74 20 73 2c 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t32_t.s,...M....................
1c20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 2c ........struct.wl_surface.*surf,
1c40 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 65 79 73 29 20 7b 00 00 00 36 20 20 20 .struct.wl_array.*keys).{...6...
1c60 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 6b 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 .(void)d;.(void)k;.(void)s;.(voi
1c80 64 29 73 75 72 66 3b 20 28 76 6f 69 64 29 6b 65 79 73 3b 00 00 00 01 7d 00 00 00 61 73 74 61 74 d)surf;.(void)keys;....}...astat
1ca0 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 ic.void.keyboard_leave(void.*d,.
1cc0 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 struct.wl_keyboard.*k,.uint32_t.
1ce0 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 29 20 7b 00 00 00 s,.struct.wl_surface.*surf).{...
1d00 2a 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 6b 3b 20 28 76 6f 69 64 29 73 3b 20 *....(void)d;.(void)k;.(void)s;.
1d20 28 76 6f 69 64 29 73 75 72 66 3b 00 00 00 01 7d 00 00 00 5c 73 74 61 74 69 63 20 76 6f 69 64 20 (void)surf;....}...\static.void.
1d40 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 keyboard_key(void.*data,.struct.
1d60 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c wl_keyboard.*kb,.uint32_t.serial
1d80 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 ,.uint32_t.time,...9............
1da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 ..............uint32_t.key,.uint
1dc0 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 27 20 20 20 20 28 76 6f 69 64 29 6b 62 3b 20 28 32_t.state).{...'....(void)kb;.(
1de0 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 18 20 20 20 20 void)serial;.(void)time;........
1e00 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 1e 20 20 20 20 69 66 20 28 WlBackend.*b.=.data;........if.(
1e20 21 62 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 72 65 74 75 72 6e 3b 00 00 00 48 20 20 20 20 78 6b !b->xkb_state).return;...H....xk
1e40 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 b_keysym_t.sym.=.xkb_state_key_g
1e60 65 74 5f 6f 6e 65 5f 73 79 6d 28 62 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 6b 65 79 20 2b 20 38 et_one_sym(b->xkb_state,.key.+.8
1e80 29 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 6b 20 3d 20 6b 65 79 73 79 6d 5f 74 6f 5f 6b 65 79 28 );........int.k.=.keysym_to_key(
1ea0 73 79 6d 29 3b 00 00 00 52 20 20 20 20 69 66 20 28 6b 20 3e 3d 20 30 29 20 62 2d 3e 70 6c 61 74 sym);...R....if.(k.>=.0).b->plat
1ec0 2d 3e 73 74 61 74 65 2e 6b 65 79 73 5b 6b 5d 20 3d 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b ->state.keys[k].=.(state.==.WL_K
1ee0 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 3b 00 00 00 01 7d EYBOARD_KEY_STATE_PRESSED);....}
1f00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 ...Sstatic.void.keyboard_modifie
1f20 72 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 rs(void.*data,.struct.wl_keyboar
1f40 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 5c 20 20 20 20 20 d.*kb,.uint32_t.serial,...\.....
1f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 ...........................uint3
1f80 32 5f 74 20 64 65 70 2c 20 75 69 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 2_t.dep,.uint32_t.lat,.uint32_t.
1fa0 6c 6f 63 6b 2c 20 75 69 6e 74 33 32 5f 74 20 67 72 6f 75 70 29 20 7b 00 00 00 1b 20 20 20 20 28 lock,.uint32_t.group).{........(
1fc0 76 6f 69 64 29 6b 62 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 00 00 00 18 20 20 20 20 57 6c void)kb;.(void)serial;........Wl
1fe0 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 57 20 20 20 20 69 66 20 28 62 2d Backend.*b.=.data;...W....if.(b-
2000 3e 78 6b 62 5f 73 74 61 74 65 29 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 >xkb_state).xkb_state_update_mas
2020 6b 28 62 2d 3e 78 6b 62 5f 73 74 61 74 65 2c 20 64 65 70 2c 20 6c 61 74 2c 20 6c 6f 63 6b 2c 20 k(b->xkb_state,.dep,.lat,.lock,.
2040 30 2c 20 30 2c 20 67 72 6f 75 70 29 3b 00 00 00 01 7d 00 00 00 5c 73 74 61 74 69 63 20 76 6f 69 0,.0,.group);....}...\static.voi
2060 64 20 6b 65 79 62 6f 61 72 64 5f 72 65 70 65 61 74 5f 69 6e 66 6f 28 76 6f 69 64 20 2a 64 2c 20 d.keyboard_repeat_info(void.*d,.
2080 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 69 6e 74 33 32 5f 74 20 72 struct.wl_keyboard.*k,.int32_t.r
20a0 2c 20 69 6e 74 33 32 5f 74 20 64 65 6c 61 79 29 20 7b 00 00 00 2b 20 20 20 20 28 76 6f 69 64 29 ,.int32_t.delay).{...+....(void)
20c0 64 3b 20 28 76 6f 69 64 29 6b 3b 20 28 76 6f 69 64 29 72 3b 20 28 76 6f 69 64 29 64 65 6c 61 79 d;.(void)k;.(void)r;.(void)delay
20e0 3b 00 00 00 01 7d 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c ;....}...>static.const.struct.wl
2100 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 _keyboard_listener.keyboard_list
2120 65 6e 65 72 20 3d 20 7b 00 00 00 42 20 20 20 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c ener.=.{...B....keyboard_keymap,
2140 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c .keyboard_enter,.keyboard_leave,
2160 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 2c 20 20 20 20 6b 65 79 62 6f 61 72 64 5f 6d .keyboard_key,...,....keyboard_m
2180 6f 64 69 66 69 65 72 73 2c 20 6b 65 79 62 6f 61 72 64 5f 72 65 70 65 61 74 5f 69 6e 66 6f 00 00 odifiers,.keyboard_repeat_info..
21a0 00 02 7d 3b 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 ..};.......Pstatic.void.seat_cap
21c0 61 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f abilities(void.*data,.struct.wl_
21e0 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 20 7b 00 00 00 18 seat.*seat,.uint32_t.caps).{....
2200 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 ....WlBackend.*b.=.data;...=....
2220 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 if.((caps.&.WL_SEAT_CAPABILITY_P
2240 4f 49 4e 54 45 52 29 20 26 26 20 21 62 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2f 20 20 20 OINTER).&&.!b->pointer).{.../...
2260 20 20 20 20 20 62 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f .....b->pointer.=.wl_seat_get_po
2280 69 6e 74 65 72 28 73 65 61 74 29 3b 00 00 00 42 20 20 20 20 20 20 20 20 77 6c 5f 70 6f 69 6e 74 inter(seat);...B........wl_point
22a0 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 26 70 6f 69 er_add_listener(b->pointer,.&poi
22c0 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 69 66 nter_listener,.b);............if
22e0 20 28 62 2d 3e 72 65 6c 5f 70 74 72 5f 6d 67 72 29 20 7b 00 00 00 52 20 20 20 20 20 20 20 20 20 .(b->rel_ptr_mgr).{...R.........
2300 20 20 20 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 ...b->rel_pointer.=.zwp_relative
2320 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 67 65 74 5f 72 65 6c 61 74 69 76 65 _pointer_manager_v1_get_relative
2340 5f 70 6f 69 6e 74 65 72 28 00 00 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e _pointer(...,................b->
2360 72 65 6c 5f 70 74 72 5f 6d 67 72 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 5b 20 20 20 rel_ptr_mgr,.b->pointer);...[...
2380 20 20 20 20 20 20 20 20 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 .........zwp_relative_pointer_v1
23a0 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 65 72 2c 20 26 72 _add_listener(b->rel_pointer,.&r
23c0 65 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 09 20 20 20 20 el_pointer_listener,.b);........
23e0 20 20 20 20 7d 00 00 00 2f 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 70 74 72 5f 63 6f 6e 73 ....}.../........if.(b->ptr_cons
2400 74 72 61 69 6e 74 73 20 26 26 20 62 2d 3e 73 75 72 66 61 63 65 29 20 7b 00 00 00 48 20 20 20 20 traints.&&.b->surface).{...H....
2420 20 20 20 20 20 20 20 20 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f ........b->locked_pointer.=.zwp_
2440 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 6c 6f 63 6b 5f 70 6f 69 6e pointer_constraints_v1_lock_poin
2460 74 65 72 28 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 70 74 72 5f 63 ter(...A................b->ptr_c
2480 6f 6e 73 74 72 61 69 6e 74 73 2c 20 62 2d 3e 73 75 72 66 61 63 65 2c 20 62 2d 3e 70 6f 69 6e 74 onstraints,.b->surface,.b->point
24a0 65 72 2c 20 4e 55 4c 4c 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5a 57 50 er,.NULL,...@................ZWP
24c0 5f 50 4f 49 4e 54 45 52 5f 43 4f 4e 53 54 52 41 49 4e 54 53 5f 56 31 5f 4c 49 46 45 54 49 4d 45 _POINTER_CONSTRAINTS_V1_LIFETIME
24e0 5f 50 45 52 53 49 53 54 45 4e 54 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 _PERSISTENT);............}......
2500 20 20 7d 00 00 00 3f 20 20 20 20 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 ..}...?....if.((caps.&.WL_SEAT_C
2520 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 21 62 2d 3e 6b 65 79 62 6f APABILITY_KEYBOARD).&&.!b->keybo
2540 61 72 64 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 62 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 ard).{...1........b->keyboard.=.
2560 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 45 20 wl_seat_get_keyboard(seat);...E.
2580 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 .......wl_keyboard_add_listener(
25a0 62 2d 3e 6b 65 79 62 6f 61 72 64 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c b->keyboard,.&keyboard_listener,
25c0 20 62 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 .b);........}....}...Estatic.voi
25e0 64 20 73 65 61 74 5f 6e 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 d.seat_name(void.*d,.struct.wl_s
2600 65 61 74 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 7b 00 00 00 21 20 eat.*s,.const.char.*name).{...!.
2620 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 6e 61 6d 65 3b ...(void)d;.(void)s;.(void)name;
2640 00 00 00 01 7d 00 00 00 56 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f ....}...Vstatic.const.struct.wl_
2660 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 seat_listener.seat_listener.=.{.
2680 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 73 65 61 74 5f 6e 61 6d 65 20 7d 3b 00 seat_capabilities,.seat_name.};.
26a0 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 ......Ostatic.void.registry_glob
26c0 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 al(void.*data,.struct.wl_registr
26e0 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 2c 00 00 00 47 20 20 20 20 20 20 y.*reg,.uint32_t.name,...G......
2700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 .......................const.cha
2720 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 r.*interface,.uint32_t.version).
2740 7b 00 00 00 12 20 20 20 20 28 76 6f 69 64 29 76 65 72 73 69 6f 6e 3b 00 00 00 18 20 20 20 20 57 {........(void)version;........W
2760 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3b 20 20 20 20 69 66 20 28 21 lBackend.*b.=.data;...;....if.(!
2780 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f strcmp(interface,.wl_compositor_
27a0 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 51 20 20 20 20 20 20 20 20 62 2d interface.name)).{...Q........b-
27c0 3e 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 >compositor.=.wl_registry_bind(r
27e0 65 67 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 eg,.name,.&wl_compositor_interfa
2800 63 65 2c 20 34 29 3b 00 00 00 3c 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d ce,.4);...<....}.else.if.(!strcm
2820 70 28 69 6e 74 65 72 66 61 63 65 2c 20 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2e 6e p(interface,.wl_seat_interface.n
2840 61 6d 65 29 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 62 2d 3e 73 65 61 74 20 3d 20 77 6c 5f ame)).{...E........b->seat.=.wl_
2860 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 registry_bind(reg,.name,.&wl_sea
2880 74 5f 69 6e 74 65 72 66 61 63 65 2c 20 35 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 t_interface,.5);...9........wl_s
28a0 65 61 74 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f eat_add_listener(b->seat,.&seat_
28c0 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 40 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 listener,.b);...@....}.else.if.(
28e0 21 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 !strcmp(interface,.xdg_wm_base_i
2900 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 62 2d 3e nterface.name)).{...L........b->
2920 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 wm_base.=.wl_registry_bind(reg,.
2940 6e 61 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 name,.&xdg_wm_base_interface,.1)
2960 3b 00 00 00 43 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 ;...C........xdg_wm_base_add_lis
2980 74 65 6e 65 72 28 62 2d 3e 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 tener(b->wm_base,.&wm_base_liste
29a0 6e 65 72 2c 20 62 29 3b 00 00 00 54 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 ner,.b);...T....}.else.if.(!strc
29c0 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 mp(interface,.zwp_relative_point
29e0 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b er_manager_v1_interface.name)).{
2a00 00 00 00 64 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 5f 70 74 72 5f 6d 67 72 20 3d 20 77 6c 5f ...d........b->rel_ptr_mgr.=.wl_
2a20 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 72 65 registry_bind(reg,.name,.&zwp_re
2a40 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 lative_pointer_manager_v1_interf
2a60 61 63 65 2c 20 31 29 3b 00 00 00 4f 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 ace,.1);...O....}.else.if.(!strc
2a80 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 mp(interface,.zwp_pointer_constr
2aa0 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 63 20 aints_v1_interface.name)).{...c.
2ac0 20 20 20 20 20 20 20 62 2d 3e 70 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 77 6c 5f 72 .......b->ptr_constraints.=.wl_r
2ae0 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 70 6f 69 egistry_bind(reg,.name,.&zwp_poi
2b00 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 nter_constraints_v1_interface,.1
2b20 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 );........}....}...Sstatic.void.
2b40 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 registry_global_remove(void.*d,.
2b60 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 struct.wl_registry.*r,.uint32_t.
2b80 6e 61 6d 65 29 20 7b 00 00 00 21 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 72 3b name).{...!....(void)d;.(void)r;
2ba0 20 28 76 6f 69 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 00 69 73 74 61 74 69 63 20 63 6f 6e 73 .(void)name;....}...istatic.cons
2bc0 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 t.struct.wl_registry_listener.re
2be0 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 72 65 67 69 73 74 72 79 5f 67 6c 6f gistry_listener.=.{.registry_glo
2c00 62 61 6c 2c 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 7d 3b 00 00 bal,.registry_global_remove.};..
2c20 00 00 00 00 00 49 69 6e 74 20 70 6c 61 74 66 6f 72 6d 5f 77 61 79 6c 61 6e 64 5f 69 6e 69 74 28 .....Iint.platform_wayland_init(
2c40 50 6c 61 74 66 6f 72 6d 20 2a 70 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 63 6f 6e 73 74 Platform.*p,.int.w,.int.h,.const
2c60 20 63 68 61 72 20 2a 74 69 74 6c 65 29 20 7b 00 00 00 30 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 .char.*title).{...0....WlBackend
2c80 20 2a 62 20 3d 20 63 61 6c 6c 6f 63 28 31 2c 20 73 69 7a 65 6f 66 28 57 6c 42 61 63 6b 65 6e 64 .*b.=.calloc(1,.sizeof(WlBackend
2ca0 29 29 3b 00 00 00 10 20 20 20 20 62 2d 3e 70 6c 61 74 20 3d 20 70 3b 00 00 00 13 20 20 20 20 70 ));........b->plat.=.p;........p
2cc0 2d 3e 62 61 63 6b 65 6e 64 20 3d 20 62 3b 00 00 00 00 00 00 00 2a 20 20 20 20 62 2d 3e 64 69 73 ->backend.=.b;.......*....b->dis
2ce0 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b play.=.wl_display_connect(NULL);
2d00 00 00 00 2b 20 20 20 20 69 66 20 28 21 62 2d 3e 64 69 73 70 6c 61 79 29 20 7b 20 66 72 65 65 28 ...+....if.(!b->display).{.free(
2d20 62 29 3b 20 72 65 74 75 72 6e 20 30 3b 20 7d 00 00 00 00 00 00 00 37 20 20 20 20 62 2d 3e 78 6b b);.return.0;.}.......7....b->xk
2d40 62 5f 63 74 78 20 3d 20 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 28 58 4b 42 5f 43 4f 4e 54 b_ctx.=.xkb_context_new(XKB_CONT
2d60 45 58 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 00 00 00 00 36 20 20 20 20 62 2d 3e 72 65 67 EXT_NO_FLAGS);.......6....b->reg
2d80 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 istry.=.wl_display_get_registry(
2da0 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f b->display);...A....wl_registry_
2dc0 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 add_listener(b->registry,.&regis
2de0 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 try_listener,.b);...%....wl_disp
2e00 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 25 20 20 lay_roundtrip(b->display);...%..
2e20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 ..wl_display_roundtrip(b->displa
2e40 79 29 3b 00 00 00 00 00 00 00 28 20 20 20 20 69 66 20 28 21 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f y);.......(....if.(!b->composito
2e60 72 20 7c 7c 20 21 62 2d 3e 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 77 r.||.!b->wm_base).{...*........w
2e80 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 l_display_disconnect(b->display)
2ea0 3b 00 00 00 10 20 20 20 20 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 11 20 20 20 20 20 20 20 ;............free(b);...........
2ec0 20 72 65 74 75 72 6e 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 3d 20 20 20 20 62 .return.0;........}.......=....b
2ee0 2d 3e 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 ->surface.=.wl_compositor_create
2f00 5f 73 75 72 66 61 63 65 28 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 49 20 20 20 20 _surface(b->compositor);...I....
2f20 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 b->xdg_surface.=.xdg_wm_base_get
2f40 5f 78 64 67 5f 73 75 72 66 61 63 65 28 62 2d 3e 77 6d 5f 62 61 73 65 2c 20 62 2d 3e 73 75 72 66 _xdg_surface(b->wm_base,.b->surf
2f60 61 63 65 29 3b 00 00 00 48 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 ace);...H....xdg_surface_add_lis
2f80 74 65 6e 65 72 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 tener(b->xdg_surface,.&xdg_surfa
2fa0 63 65 5f 6c 69 73 74 65 6e 65 72 5f 2c 20 62 29 3b 00 00 00 3f 20 20 20 20 62 2d 3e 78 64 67 5f ce_listener_,.b);...?....b->xdg_
2fc0 74 6f 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 toplevel.=.xdg_surface_get_tople
2fe0 76 65 6c 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 46 20 20 20 20 78 64 67 5f vel(b->xdg_surface);...F....xdg_
3000 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 78 64 67 5f 74 6f 70 toplevel_add_listener(b->xdg_top
3020 6c 65 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 level,.&toplevel_listener,.b);..
3040 00 33 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 62 2d 3e .3....xdg_toplevel_set_title(b->
3060 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2c 20 74 69 74 6c 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f xdg_toplevel,.title);..."....wl_
3080 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 62 2d 3e 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 surface_commit(b->surface);.....
30a0 00 00 3b 20 20 20 20 77 68 69 6c 65 20 28 21 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c ..;....while.(!b->configured).wl
30c0 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 _display_dispatch(b->display);..
30e0 00 00 00 00 00 3b 20 20 20 20 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 20 3d 20 77 6c 5f 65 67 6c .....;....b->egl_window.=.wl_egl
3100 5f 77 69 6e 64 6f 77 5f 63 72 65 61 74 65 28 62 2d 3e 73 75 72 66 61 63 65 2c 20 77 2c 20 68 29 _window_create(b->surface,.w,.h)
3120 3b 00 00 00 00 00 00 00 45 20 20 20 20 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 20 3d 20 65 67 ;.......E....b->egl_display.=.eg
3140 6c 47 65 74 44 69 73 70 6c 61 79 28 28 45 47 4c 4e 61 74 69 76 65 44 69 73 70 6c 61 79 54 79 70 lGetDisplay((EGLNativeDisplayTyp
3160 65 29 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 2e 20 20 20 20 65 67 6c 49 6e 69 74 69 61 6c e)b->display);........eglInitial
3180 69 7a 65 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b ize(b->egl_display,.NULL,.NULL);
31a0 00 00 00 1f 20 20 20 20 65 67 6c 42 69 6e 64 41 50 49 28 45 47 4c 5f 4f 50 45 4e 47 4c 5f 41 50 ........eglBindAPI(EGL_OPENGL_AP
31c0 49 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 45 47 4c 69 6e 74 20 63 66 67 5f 61 74 74 72 69 62 I);............EGLint.cfg_attrib
31e0 73 5b 5d 20 3d 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 45 47 4c 5f 53 55 52 46 41 43 45 5f 54 s[].=.{...)........EGL_SURFACE_T
3200 59 50 45 2c 20 45 47 4c 5f 57 49 4e 44 4f 57 5f 42 49 54 2c 00 00 00 3d 20 20 20 20 20 20 20 20 YPE,.EGL_WINDOW_BIT,...=........
3220 45 47 4c 5f 52 45 44 5f 53 49 5a 45 2c 20 38 2c 20 45 47 4c 5f 47 52 45 45 4e 5f 53 49 5a 45 2c EGL_RED_SIZE,.8,.EGL_GREEN_SIZE,
3240 20 38 2c 20 45 47 4c 5f 42 4c 55 45 5f 53 49 5a 45 2c 20 38 2c 00 00 00 1b 20 20 20 20 20 20 20 .8,.EGL_BLUE_SIZE,.8,...........
3260 20 45 47 4c 5f 44 45 50 54 48 5f 53 49 5a 45 2c 20 32 34 2c 00 00 00 2c 20 20 20 20 20 20 20 20 .EGL_DEPTH_SIZE,.24,...,........
3280 45 47 4c 5f 52 45 4e 44 45 52 41 42 4c 45 5f 54 59 50 45 2c 20 45 47 4c 5f 4f 50 45 4e 47 4c 5f EGL_RENDERABLE_TYPE,.EGL_OPENGL_
32a0 42 49 54 2c 00 00 00 10 20 20 20 20 20 20 20 20 45 47 4c 5f 4e 4f 4e 45 00 00 00 06 20 20 20 20 BIT,............EGL_NONE........
32c0 7d 3b 00 00 00 15 20 20 20 20 45 47 4c 43 6f 6e 66 69 67 20 63 6f 6e 66 69 67 3b 00 00 00 16 20 };........EGLConfig.config;.....
32e0 20 20 20 45 47 4c 69 6e 74 20 6e 75 6d 5f 63 6f 6e 66 69 67 3b 00 00 00 4a 20 20 20 20 65 67 6c ...EGLint.num_config;...J....egl
3300 43 68 6f 6f 73 65 43 6f 6e 66 69 67 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 63 66 67 ChooseConfig(b->egl_display,.cfg
3320 5f 61 74 74 72 69 62 73 2c 20 26 63 6f 6e 66 69 67 2c 20 31 2c 20 26 6e 75 6d 5f 63 6f 6e 66 69 _attribs,.&config,.1,.&num_confi
3340 67 29 3b 00 00 00 00 00 00 00 43 20 20 20 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 20 3d 20 g);.......C....b->egl_surface.=.
3360 65 67 6c 43 72 65 61 74 65 57 69 6e 64 6f 77 53 75 72 66 61 63 65 28 62 2d 3e 65 67 6c 5f 64 69 eglCreateWindowSurface(b->egl_di
3380 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 00 00 00 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 splay,.config,...W..............
33a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
33c0 45 47 4c 4e 61 74 69 76 65 57 69 6e 64 6f 77 54 79 70 65 29 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f EGLNativeWindowType)b->egl_windo
33e0 77 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 45 47 4c 69 6e 74 20 63 74 78 5f w,.NULL);............EGLint.ctx_
3400 61 74 74 72 69 62 73 5b 5d 20 3d 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 45 47 4c 5f 43 4f 4e attribs[].=.{...%........EGL_CON
3420 54 45 58 54 5f 4d 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 2c 20 32 2c 00 00 00 25 20 20 20 20 20 20 TEXT_MAJOR_VERSION,.2,...%......
3440 20 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 4f 4e 2c 20 31 2c 00 ..EGL_CONTEXT_MINOR_VERSION,.1,.
3460 00 00 56 20 20 20 20 20 20 20 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4f 50 45 4e 47 4c 5f 50 52 ..V........EGL_CONTEXT_OPENGL_PR
3480 4f 46 49 4c 45 5f 4d 41 53 4b 2c 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4f 50 45 4e 47 4c 5f 43 OFILE_MASK,.EGL_CONTEXT_OPENGL_C
34a0 4f 4d 50 41 54 49 42 49 4c 49 54 59 5f 50 52 4f 46 49 4c 45 5f 42 49 54 2c 00 00 00 10 20 20 20 OMPATIBILITY_PROFILE_BIT,.......
34c0 20 20 20 20 20 45 47 4c 5f 4e 4f 4e 45 00 00 00 06 20 20 20 20 7d 3b 00 00 00 5b 20 20 20 20 62 .....EGL_NONE........};...[....b
34e0 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 20 3d 20 65 67 6c 43 72 65 61 74 65 43 6f 6e 74 65 78 74 ->egl_context.=.eglCreateContext
3500 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 20 45 47 4c 5f 4e 4f 5f (b->egl_display,.config,.EGL_NO_
3520 43 4f 4e 54 45 58 54 2c 20 63 74 78 5f 61 74 74 72 69 62 73 29 3b 00 00 00 53 20 20 20 20 65 67 CONTEXT,.ctx_attribs);...S....eg
3540 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e lMakeCurrent(b->egl_display,.b->
3560 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e egl_surface,.b->egl_surface,.b->
3580 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 27 20 20 20 20 65 67 6c 53 77 61 70 49 6e 74 65 egl_context);...'....eglSwapInte
35a0 72 76 61 6c 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 31 29 3b 00 00 00 00 00 00 00 17 rval(b->egl_display,.1);........
35c0 20 20 20 20 70 2d 3e 73 74 61 74 65 2e 77 69 64 74 68 20 3d 20 77 3b 00 00 00 18 20 20 20 20 70 ....p->state.width.=.w;........p
35e0 2d 3e 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 3b 00 00 00 00 00 00 00 25 20 20 20 20 77 ->state.height.=.h;.......%....w
3600 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b l_display_roundtrip(b->display);
3620 00 00 00 00 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 ............return.1;....}......
3640 00 29 76 6f 69 64 20 70 6c 61 74 66 6f 72 6d 5f 77 61 79 6c 61 6e 64 5f 70 6f 6c 6c 28 50 6c 61 .)void.platform_wayland_poll(Pla
3660 74 66 6f 72 6d 20 2a 70 29 20 7b 00 00 00 1e 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 tform.*p).{........WlBackend.*b.
3680 3d 20 70 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 1a 20 20 20 20 70 2d 3e 73 74 61 74 65 2e 6d 6f =.p->backend;........p->state.mo
36a0 75 73 65 5f 64 78 20 3d 20 30 3b 00 00 00 1a 20 20 20 20 70 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 use_dx.=.0;........p->state.mous
36c0 65 5f 64 79 20 3d 20 30 3b 00 00 00 2c 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 e_dy.=.0;...,....wl_display_disp
36e0 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 21 20 20 20 atch_pending(b->display);...!...
3700 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 .wl_display_flush(b->display);..
3720 00 01 7d 00 00 00 00 00 00 00 29 76 6f 69 64 20 70 6c 61 74 66 6f 72 6d 5f 77 61 79 6c 61 6e 64 ..}.......)void.platform_wayland
3740 5f 73 77 61 70 28 50 6c 61 74 66 6f 72 6d 20 2a 70 29 20 7b 00 00 00 1e 20 20 20 20 57 6c 42 61 _swap(Platform.*p).{........WlBa
3760 63 6b 65 6e 64 20 2a 62 20 3d 20 70 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 33 20 20 20 20 65 67 ckend.*b.=.p->backend;...3....eg
3780 6c 53 77 61 70 42 75 66 66 65 72 73 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e lSwapBuffers(b->egl_display,.b->
37a0 65 67 6c 5f 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 76 6f 69 64 20 70 egl_surface);....}.......,void.p
37c0 6c 61 74 66 6f 72 6d 5f 77 61 79 6c 61 6e 64 5f 64 65 73 74 72 6f 79 28 50 6c 61 74 66 6f 72 6d latform_wayland_destroy(Platform
37e0 20 2a 70 29 20 7b 00 00 00 1e 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 70 2d 3e .*p).{........WlBackend.*b.=.p->
3800 62 61 63 6b 65 6e 64 3b 00 00 00 4c 20 20 20 20 69 66 20 28 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f backend;...L....if.(b->locked_po
3820 69 6e 74 65 72 29 20 7a 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 64 65 73 inter).zwp_locked_pointer_v1_des
3840 74 72 6f 79 28 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 29 3b 00 00 00 48 20 20 20 20 troy(b->locked_pointer);...H....
3860 69 66 20 28 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 65 72 29 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 if.(b->rel_pointer).zwp_relative
3880 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 _pointer_v1_destroy(b->rel_point
38a0 65 72 29 3b 00 00 00 53 20 20 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 er);...S....eglMakeCurrent(b->eg
38c0 6c 5f 64 69 73 70 6c 61 79 2c 20 45 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c 5f 4e l_display,.EGL_NO_SURFACE,.EGL_N
38e0 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 29 3b 00 00 00 36 20 O_SURFACE,.EGL_NO_CONTEXT);...6.
3900 20 20 20 65 67 6c 44 65 73 74 72 6f 79 53 75 72 66 61 63 65 28 62 2d 3e 65 67 6c 5f 64 69 73 70 ...eglDestroySurface(b->egl_disp
3920 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 29 3b 00 00 00 36 20 20 20 20 65 67 6c lay,.b->egl_surface);...6....egl
3940 44 65 73 74 72 6f 79 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 DestroyContext(b->egl_display,.b
3960 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 29 20 20 20 20 77 6c 5f 65 67 6c 5f 77 69 ->egl_context);...)....wl_egl_wi
3980 6e 64 6f 77 5f 64 65 73 74 72 6f 79 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 3b 00 00 00 2a ndow_destroy(b->egl_window);...*
39a0 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 62 2d 3e 78 64 67 5f ....xdg_toplevel_destroy(b->xdg_
39c0 74 6f 70 6c 65 76 65 6c 29 3b 00 00 00 28 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 toplevel);...(....xdg_surface_de
39e0 73 74 72 6f 79 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 23 20 20 20 20 77 6c stroy(b->xdg_surface);...#....wl
3a00 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 62 2d 3e 73 75 72 66 61 63 65 29 3b 00 00 00 _surface_destroy(b->surface);...
3a20 26 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 &....wl_display_disconnect(b->di
3a40 73 70 6c 61 79 29 3b 00 00 00 0c 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 01 7d 35 81 f5 18 splay);........free(b);....}5...
3a60 00 00 00 00 00 00 00 00 00 00 00 00 45 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ............E...................
3a80 00 00 00 00 46 34 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 01 00 00 00 03 ....F4..............5._.........
3aa0 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 46 d3 04 01 ..........................jcF...
3c20 00 00 00 01 00 f5 18 00 00 01 1f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 33 20 20 20 20 65 ..........................3....e
3c40 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d glMakeCurrent(b->egl_display,.b-
3c60 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 f5 18 00 00 01 20 00 00 00 00 00 00 00 00 00 00 00 00 >egl_surface,...................
3c80 f5 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 44 20 20 20 20 20 20 20 20 20 20 .....................D..........
3ca0 20 20 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 70 6f 69 6e 74 65 ..b->locked_pointer.=.zwp_pointe
3cc0 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 6c 6f 63 6b 5f 70 6f 69 6e f5 18 00 00 00 c0 r_constraints_v1_lock_poin......
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 6c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 .................l..............
3d00 00 03 73 74 61 f5 18 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 ..sta.....m.....................
3d20 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 ...............................5
3d40 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6c 00 00 00 03 00 00 00 00 .......................l........
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 6c 00 00 .............................l..
3d80 00 03 00 00 00 00 00 00 00 00 00 00 00 53 00 00 00 44 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 .............S...D..............
3da0 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 bf 00 00 00 44 00 00 00 00 00 00 00 00 .......................D........
3dc0 00 00 00 60 00 00 00 33 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 ...`...3........................
3de0 00 00 00 f5 18 00 00 00 00 1f 01 00 00 33 00 00 00 00 00 00 00 00 00 00 00 25 00 00 00 01 00 00 .............3...........%......
3e00 00 f7 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d 04 00 00 00 00 00 00 35 81 5f d0 00 00 00 ../..............}.......5._....
3e20 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ................................
3e40 ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a ...............................j
3fa0 63 48 4b 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 45 00 00 00 13 cHK........................E....
3fc0 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 64 6f 77 2e 68 22 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 #include."window.h"....#include.
3fe0 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c <wayland-client.h>....#include.<
4000 77 61 79 6c 61 6e 64 2d 65 67 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 45 47 4c 2f wayland-egl.h>....#include.<EGL/
4020 65 67 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 47 4c 2f 67 6c 2e 68 3e 00 00 00 20 egl.h>....#include.<GL/gl.h>....
4040 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f 6e 2e 68 3e #include.<xkbcommon/xkbcommon.h>
4060 00 00 00 28 23 69 6e 63 6c 75 64 65 20 3c 78 6b 62 63 6f 6d 6d 6f 6e 2f 78 6b 62 63 6f 6d 6d 6f ...(#include.<xkbcommon/xkbcommo
4080 6e 2d 6b 65 79 73 79 6d 73 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d n-keysyms.h>....#include.<sys/mm
40a0 61 6e 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 13 an.h>....#include.<unistd.h>....
40c0 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 #include.<stdlib.h>....#include.
40e0 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c <string.h>...&#include."xdg-shel
4100 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 39 23 69 6e 63 6c 75 64 65 l-client-protocol.h"...9#include
4120 20 22 72 65 6c 61 74 69 76 65 2d 70 6f 69 6e 74 65 72 2d 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 ."relative-pointer-unstable-v1-c
4140 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 3c 23 69 6e 63 6c 75 64 65 20 22 70 lient-protocol.h"...<#include."p
4160 6f 69 6e 74 65 72 2d 63 6f 6e 73 74 72 61 69 6e 74 73 2d 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 ointer-constraints-unstable-v1-c
4180 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 lient-protocol.h"........typedef
41a0 20 73 74 72 75 63 74 20 7b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c .struct.{........struct.wl_displ
41c0 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 ay.*display;...!....struct.wl_re
41e0 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 25 20 20 20 20 73 74 72 75 63 74 20 gistry.*registry;...%....struct.
4200 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 19 20 20 wl_compositor.*compositor;......
4220 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 3b 00 00 00 20 20 20 20 20 73 ..struct.wl_seat.*seat;........s
4240 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 3b 00 00 00 38 20 truct.xdg_wm_base.*wm_base;...8.
4260 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d ...struct.zwp_relative_pointer_m
4280 61 6e 61 67 65 72 5f 76 31 20 2a 72 65 6c 5f 70 74 72 5f 6d 67 72 3b 00 00 00 37 20 20 20 20 73 anager_v1.*rel_ptr_mgr;...7....s
42a0 74 72 75 63 74 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 truct.zwp_pointer_constraints_v1
42c0 20 2a 70 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 3b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 .*ptr_constraints;........struct
42e0 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 24 20 20 20 20 73 74 72 .wl_surface.*surface;...$....str
4300 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b 00 00 00 uct.xdg_surface.*xdg_surface;...
4320 26 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 5f 74 6f &....struct.xdg_toplevel.*xdg_to
4340 70 6c 65 76 65 6c 3b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 plevel;........struct.wl_pointer
4360 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 .*pointer;...!....struct.wl_keyb
4380 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 30 20 20 20 20 73 74 72 75 63 74 20 7a 77 oard.*keyboard;...0....struct.zw
43a0 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 72 65 6c 5f 70 6f 69 6e 74 p_relative_pointer_v1.*rel_point
43c0 65 72 3b 00 00 00 31 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 er;...1....struct.zwp_locked_poi
43e0 6e 74 65 72 5f 76 31 20 2a 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 3b 00 00 00 25 20 20 20 20 nter_v1.*locked_pointer;...%....
4400 73 74 72 75 63 74 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 20 2a 65 67 6c 5f 77 69 6e 64 6f 77 struct.wl_egl_window.*egl_window
4420 3b 00 00 00 1b 20 20 20 20 45 47 4c 44 69 73 70 6c 61 79 20 65 67 6c 5f 64 69 73 70 6c 61 79 3b ;........EGLDisplay.egl_display;
4440 00 00 00 1b 20 20 20 20 45 47 4c 43 6f 6e 74 65 78 74 20 65 67 6c 5f 63 6f 6e 74 65 78 74 3b 00 ........EGLContext.egl_context;.
4460 00 00 1b 20 20 20 20 45 47 4c 53 75 72 66 61 63 65 20 65 67 6c 5f 73 75 72 66 61 63 65 3b 00 00 .......EGLSurface.egl_surface;..
4480 00 20 20 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 63 6f 6e 74 65 78 74 20 2a 78 6b 62 5f 63 74 ......struct.xkb_context.*xkb_ct
44a0 78 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b 65 79 6d 61 70 20 2a 78 6b 62 x;..."....struct.xkb_keymap.*xkb
44c0 5f 6b 65 79 6d 61 70 3b 00 00 00 20 20 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 73 74 61 74 65 _keymap;........struct.xkb_state
44e0 20 2a 78 6b 62 5f 73 74 61 74 65 3b 00 00 00 13 20 20 20 20 69 6e 74 20 63 6f 6e 66 69 67 75 72 .*xkb_state;........int.configur
4500 65 64 3b 00 00 00 15 20 20 20 20 57 69 6e 64 6f 77 20 2a 77 69 6e 5f 69 6e 73 74 3b 00 00 00 0c ed;........Window.*win_inst;....
4520 7d 20 57 6c 42 61 63 6b 65 6e 64 3b 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 69 6e 74 20 6b }.WlBackend;.......+static.int.k
4540 65 79 73 79 6d 5f 74 6f 5f 6b 65 79 28 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 6b 73 29 20 7b 00 eysym_to_key(xkb_keysym_t.ks).{.
4560 00 00 11 20 20 20 20 73 77 69 74 63 68 20 28 6b 73 29 20 7b 00 00 00 35 20 20 20 20 20 20 20 20 .......switch.(ks).{...5........
4580 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 77 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 57 3a 20 case.XKB_KEY_w:.case.XKB_KEY_W:.
45a0 72 65 74 75 72 6e 20 4b 45 59 5f 57 3b 00 00 00 35 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b return.KEY_W;...5........case.XK
45c0 42 5f 4b 45 59 5f 61 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 41 3a 20 72 65 74 75 72 6e 20 B_KEY_a:.case.XKB_KEY_A:.return.
45e0 4b 45 59 5f 41 3b 00 00 00 35 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 73 KEY_A;...5........case.XKB_KEY_s
4600 3a 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 53 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 53 3b 00 :.case.XKB_KEY_S:.return.KEY_S;.
4620 00 00 35 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 64 3a 20 63 61 73 65 20 ..5........case.XKB_KEY_d:.case.
4640 58 4b 42 5f 4b 45 59 5f 44 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 44 3b 00 00 00 2d 20 20 20 20 XKB_KEY_D:.return.KEY_D;...-....
4660 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 73 70 61 63 65 3a 20 72 65 74 75 72 6e 20 4b ....case.XKB_KEY_space:.return.K
4680 45 59 5f 53 50 41 43 45 3b 00 00 00 2c 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 EY_SPACE;...,........case.XKB_KE
46a0 59 5f 45 73 63 61 70 65 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 45 53 43 3b 00 00 00 25 20 20 20 Y_Escape:.return.KEY_ESC;...%...
46c0 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 31 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f .....case.XKB_KEY_1:.return.KEY_
46e0 31 3b 00 00 00 25 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f 4b 45 59 5f 32 3a 20 72 65 1;...%........case.XKB_KEY_2:.re
4700 74 75 72 6e 20 4b 45 59 5f 32 3b 00 00 00 25 20 20 20 20 20 20 20 20 63 61 73 65 20 58 4b 42 5f turn.KEY_2;...%........case.XKB_
4720 4b 45 59 5f 33 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 33 3b 00 00 00 1b 20 20 20 20 20 20 20 20 KEY_3:.return.KEY_3;............
4740 64 65 66 61 75 6c 74 3a 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 default:.return.-1;........}....
4760 7d 00 00 00 00 00 00 00 54 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 62 61 73 65 5f 70 69 6e }.......Tstatic.void.wm_base_pin
4780 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 g(void.*data,.struct.xdg_wm_base
47a0 20 2a 77 6d 5f 62 61 73 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 .*wm_base,.uint32_t.serial).{...
47c0 0f 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 .....(void)data;...&....xdg_wm_b
47e0 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 ase_pong(wm_base,.serial);....}.
4800 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 ..Mstatic.const.struct.xdg_wm_ba
4820 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b se_listener.wm_base_listener.=.{
4840 20 77 6d 5f 62 61 73 65 5f 70 69 6e 67 20 7d 3b 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 .wm_base_ping.};.......Xstatic.v
4860 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a oid.xdg_surface_configure(void.*
4880 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 data,.struct.xdg_surface.*xs,.ui
48a0 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e nt32_t.serial).{........WlBacken
48c0 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f d.*b.=.data;...*....xdg_surface_
48e0 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 16 20 20 ack_configure(xs,.serial);......
4900 20 20 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 5b 73 74 61 ..b->configured.=.1;....}...[sta
4920 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 tic.const.struct.xdg_surface_lis
4940 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 5f 20 3d 20 7b 20 tener.xdg_surface_listener_.=.{.
4960 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 20 7d 3b 00 00 00 00 00 00 00 43 xdg_surface_configure.};.......C
4980 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 28 76 static.void.toplevel_configure(v
49a0 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a oid.*data,.struct.xdg_toplevel.*
49c0 74 6c 2c 00 00 00 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tl,...Y.........................
49e0 20 20 20 20 20 20 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 .......int32_t.width,.int32_t.he
4a00 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b ight,.struct.wl_array.*states).{
4a20 00 00 00 1b 20 20 20 20 28 76 6f 69 64 29 74 6c 3b 20 28 76 6f 69 64 29 73 74 61 74 65 73 3b 00 ........(void)tl;.(void)states;.
4a40 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 22 20 .......WlBackend.*b.=.data;...".
4a60 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 20 ...if.(width.>.0.&&.height.>.0).
4a80 7b 00 00 00 29 20 20 20 20 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e {...)........b->win_inst->state.
4aa0 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 2b 20 20 20 20 20 20 20 20 62 2d 3e 77 69 6e width.=.width;...+........b->win
4ac0 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 _inst->state.height.=.height;...
4ae0 54 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 20 77 6c 5f 65 T........if.(b->egl_window).wl_e
4b00 67 6c 5f 77 69 6e 64 6f 77 5f 72 65 73 69 7a 65 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 2c 20 gl_window_resize(b->egl_window,.
4b20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 30 2c 20 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 width,.height,.0,.0);........}..
4b40 00 01 7d 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 ..}...Astatic.void.toplevel_clos
4b60 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 e(void.*data,.struct.xdg_topleve
4b80 6c 20 2a 74 6c 29 20 7b 00 00 00 0d 20 20 20 20 28 76 6f 69 64 29 74 6c 3b 00 00 00 18 20 20 20 l.*tl).{........(void)tl;.......
4ba0 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 28 20 20 20 20 62 2d 3e .WlBackend.*b.=.data;...(....b->
4bc0 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 73 68 6f 75 6c 64 5f 63 6c 6f 73 65 20 3d 20 31 win_inst->state.should_close.=.1
4be0 3b 00 00 00 01 7d 00 00 00 65 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 ;....}...estatic.const.struct.xd
4c00 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 g_toplevel_listener.toplevel_lis
4c20 74 65 6e 65 72 20 3d 20 7b 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 74 6f tener.=.{.toplevel_configure,.to
4c40 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f plevel_close.};.......Nstatic.vo
4c60 69 64 20 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 id.pointer_enter(void.*data,.str
4c80 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 74 72 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 uct.wl_pointer.*ptr,.uint32_t.se
4ca0 72 69 61 6c 2c 00 00 00 51 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rial,...Q.......................
4cc0 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 2c 20 77 6c 5f ....struct.wl_surface.*surf,.wl_
4ce0 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 79 29 20 7b 00 00 00 2d 20 20 fixed_t.x,.wl_fixed_t.y).{...-..
4d00 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 20 28 76 6f 69 64 29 ..(void)data;.(void)surf;.(void)
4d20 78 3b 20 28 76 6f 69 64 29 79 3b 00 00 00 33 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 73 65 x;.(void)y;...3....wl_pointer_se
4d40 74 5f 63 75 72 73 6f 72 28 70 74 72 2c 20 73 65 72 69 61 6c 2c 20 4e 55 4c 4c 2c 20 30 2c 20 30 t_cursor(ptr,.serial,.NULL,.0,.0
4d60 29 3b 00 00 00 01 7d 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6c );....}..._static.void.pointer_l
4d80 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 eave(void.*d,.struct.wl_pointer.
4da0 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 *p,.uint32_t.s,.struct.wl_surfac
4dc0 65 20 2a 73 75 72 66 29 20 7b 00 00 00 2a 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 e.*surf).{...*....(void)d;.(void
4de0 29 70 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 00 00 00 01 7d 00 00 00 )p;.(void)s;.(void)surf;....}...
4e00 63 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 cstatic.void.pointer_motion(void
4e20 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 .*d,.struct.wl_pointer.*p,.uint3
4e40 32 5f 74 20 74 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 2_t.t,.wl_fixed_t.x,.wl_fixed_t.
4e60 79 29 20 7b 00 00 00 30 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 y).{...0....(void)d;.(void)p;.(v
4e80 6f 69 64 29 74 3b 20 28 76 6f 69 64 29 78 3b 20 28 76 6f 69 64 29 79 3b 00 00 00 01 7d 00 00 00 oid)t;.(void)x;.(void)y;....}...
4ea0 5e 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 ^static.void.pointer_button(void
4ec0 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 74 72 2c 20 .*data,.struct.wl_pointer.*ptr,.
4ee0 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 00 uint32_t.serial,.uint32_t.time,.
4f00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 ..>............................u
4f20 69 6e 74 33 32 5f 74 20 62 75 74 74 6f 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 int32_t.button,.uint32_t.state).
4f40 7b 00 00 00 28 20 20 20 20 28 76 6f 69 64 29 70 74 72 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c {...(....(void)ptr;.(void)serial
4f60 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a ;.(void)time;........WlBackend.*
4f80 62 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 69 6e 74 20 70 72 65 73 73 65 64 20 3d 20 28 b.=.data;...=....int.pressed.=.(
4fa0 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 state.==.WL_POINTER_BUTTON_STATE
4fc0 5f 50 52 45 53 53 45 44 29 3b 00 00 00 41 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 _PRESSED);...A....if.(button.==.
4fe0 30 78 31 31 30 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 0x110).b->win_inst->state.mouse_
5000 6c 65 66 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 42 20 20 20 20 69 66 20 28 62 75 74 74 6f left.=.pressed;...B....if.(butto
5020 6e 20 3d 3d 20 30 78 31 31 31 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d n.==.0x111).b->win_inst->state.m
5040 6f 75 73 65 5f 72 69 67 68 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 01 7d 00 00 00 5f 73 74 ouse_right.=.pressed;....}..._st
5060 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 2c 20 atic.void.pointer_axis(void.*d,.
5080 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 struct.wl_pointer.*p,.uint32_t.t
50a0 2c 20 75 69 6e 74 33 32 5f 74 20 61 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 29 20 7b 00 00 00 ,.uint32_t.a,.wl_fixed_t.v).{...
50c0 30 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 74 3b 20 0....(void)d;.(void)p;.(void)t;.
50e0 28 76 6f 69 64 29 61 3b 20 28 76 6f 69 64 29 76 3b 00 00 00 01 7d 00 00 00 4e 73 74 61 74 69 63 (void)a;.(void)v;....}...Nstatic
5100 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 66 72 61 6d 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 .void.pointer_frame(void.*d,.str
5120 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 29 20 7b 20 28 76 6f 69 64 29 64 3b 20 28 76 uct.wl_pointer.*p).{.(void)d;.(v
5140 6f 69 64 29 70 3b 20 7d 00 00 00 69 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f oid)p;.}...istatic.void.pointer_
5160 61 78 69 73 5f 73 6f 75 72 63 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 axis_source(void.*d,.struct.wl_p
5180 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 20 28 76 6f 69 64 29 64 ointer.*p,.uint32_t.s).{.(void)d
51a0 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 73 3b 20 7d 00 00 00 56 73 74 61 74 69 63 20 ;.(void)p;.(void)s;.}...Vstatic.
51c0 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 73 74 6f 70 28 76 6f 69 64 20 2a 64 2c 20 void.pointer_axis_stop(void.*d,.
51e0 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 74 struct.wl_pointer.*p,.uint32_t.t
5200 2c 20 75 69 6e 74 33 32 5f 74 20 61 29 20 7b 00 00 00 27 20 20 20 20 28 76 6f 69 64 29 64 3b 20 ,.uint32_t.a).{...'....(void)d;.
5220 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 74 3b 20 28 76 6f 69 64 29 61 3b 00 00 00 01 7d 00 (void)p;.(void)t;.(void)a;....}.
5240 00 00 5c 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 64 69 73 63 ..\static.void.pointer_axis_disc
5260 72 65 74 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 rete(void.*d,.struct.wl_pointer.
5280 2a 70 2c 20 75 69 6e 74 33 32 5f 74 20 61 2c 20 69 6e 74 33 32 5f 74 20 64 69 73 63 29 20 7b 00 *p,.uint32_t.a,.int32_t.disc).{.
52a0 00 00 2a 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 70 3b 20 28 76 6f 69 64 29 61 ..*....(void)d;.(void)p;.(void)a
52c0 3b 20 28 76 6f 69 64 29 64 69 73 63 3b 00 00 00 01 7d 00 00 00 3c 73 74 61 74 69 63 20 63 6f 6e ;.(void)disc;....}...<static.con
52e0 73 74 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 6f st.struct.wl_pointer_listener.po
5300 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 4f 20 20 20 20 70 6f 69 6e 74 65 inter_listener.=.{...O....pointe
5320 72 5f 65 6e 74 65 72 2c 20 70 6f 69 6e 74 65 72 5f 6c 65 61 76 65 2c 20 70 6f 69 6e 74 65 72 5f r_enter,.pointer_leave,.pointer_
5340 6d 6f 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 2c 20 70 6f 69 6e 74 65 72 5f motion,.pointer_button,.pointer_
5360 61 78 69 73 2c 00 00 00 50 20 20 20 20 70 6f 69 6e 74 65 72 5f 66 72 61 6d 65 2c 20 70 6f 69 6e axis,...P....pointer_frame,.poin
5380 74 65 72 5f 61 78 69 73 5f 73 6f 75 72 63 65 2c 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 73 74 ter_axis_source,.pointer_axis_st
53a0 6f 70 2c 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 5f 64 69 73 63 72 65 74 65 00 00 00 02 7d 3b 00 op,.pointer_axis_discrete....};.
53c0 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 ......Kstatic.void.relative_moti
53e0 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 on(void.*data,.struct.zwp_relati
5400 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 72 70 2c 00 00 00 54 20 20 20 20 20 20 20 20 20 20 ve_pointer_v1.*rp,...T..........
5420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 68 69 2c 20 ...................uint32_t.hi,.
5440 75 69 6e 74 33 32 5f 74 20 6c 6f 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 2c 20 77 6c 5f 66 uint32_t.lo,.wl_fixed_t.dx,.wl_f
5460 69 78 65 64 5f 74 20 64 79 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ixed_t.dy,...@..................
5480 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 5f 75 2c 20 77 6c 5f 66 ...........wl_fixed_t.dx_u,.wl_f
54a0 69 78 65 64 5f 74 20 64 79 5f 75 29 20 7b 00 00 00 35 20 20 20 20 28 76 6f 69 64 29 72 70 3b 20 ixed_t.dy_u).{...5....(void)rp;.
54c0 28 76 6f 69 64 29 68 69 3b 20 28 76 6f 69 64 29 6c 6f 3b 20 28 76 6f 69 64 29 64 78 3b 20 28 76 (void)hi;.(void)lo;.(void)dx;.(v
54e0 6f 69 64 29 64 79 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 oid)dy;........WlBackend.*b.=.da
5500 74 61 3b 00 00 00 3c 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f ta;...<....b->win_inst->state.mo
5520 75 73 65 5f 64 78 20 2b 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 64 78 5f use_dx.+=.wl_fixed_to_double(dx_
5540 75 29 3b 00 00 00 3c 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f u);...<....b->win_inst->state.mo
5560 75 73 65 5f 64 79 20 2b 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 64 79 5f use_dy.+=.wl_fixed_to_double(dy_
5580 75 29 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 u);....}...`static.const.struct.
55a0 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 6c 69 73 74 65 6e 65 72 zwp_relative_pointer_v1_listener
55c0 20 72 65 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 72 65 6c 61 74 69 .rel_pointer_listener.=.{.relati
55e0 76 65 5f 6d 6f 74 69 6f 6e 20 7d 3b 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 ve_motion.};.......Pstatic.void.
5600 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 keyboard_keymap(void.*data,.stru
5620 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 33 32 5f 74 20 66 6f 72 ct.wl_keyboard.*kb,.uint32_t.for
5640 6d 61 74 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mat,...9........................
5660 20 20 20 20 20 69 6e 74 33 32 5f 74 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 .....int32_t.fd,.uint32_t.size).
5680 7b 00 00 00 0d 20 20 20 20 28 76 6f 69 64 29 6b 62 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b {........(void)kb;........WlBack
56a0 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 4a 20 20 20 20 69 66 20 28 66 6f 72 6d 61 74 end.*b.=.data;...J....if.(format
56c0 20 21 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 54 5f 58 4b .!=.WL_KEYBOARD_KEYMAP_FORMAT_XK
56e0 42 5f 56 31 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 44 B_V1).{.close(fd);.return;.}...D
5700 20 20 20 20 63 68 61 72 20 2a 6d 61 70 5f 73 74 72 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 ....char.*map_str.=.mmap(NULL,.s
5720 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 2c 20 4d 41 50 5f 50 52 49 56 41 54 45 2c 20 66 64 2c ize,.PROT_READ,.MAP_PRIVATE,.fd,
5740 20 30 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 6d 61 70 5f 73 74 72 20 21 3d 20 4d 41 50 5f 46 .0);........if.(map_str.!=.MAP_F
5760 41 49 4c 45 44 29 20 7b 00 00 00 3f 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 78 6b 62 5f 6b AILED).{...?........struct.xkb_k
5780 65 79 6d 61 70 20 2a 6b 65 79 6d 61 70 20 3d 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 6e 65 77 5f 66 eymap.*keymap.=.xkb_keymap_new_f
57a0 72 6f 6d 5f 73 74 72 69 6e 67 28 00 00 00 59 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 78 6b rom_string(...Y............b->xk
57c0 62 5f 63 74 78 2c 20 6d 61 70 5f 73 74 72 2c 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 46 4f 52 4d 41 b_ctx,.map_str,.XKB_KEYMAP_FORMA
57e0 54 5f 54 45 58 54 5f 56 31 2c 20 58 4b 42 5f 4b 45 59 4d 41 50 5f 43 4f 4d 50 49 4c 45 5f 4e 4f T_TEXT_V1,.XKB_KEYMAP_COMPILE_NO
5800 5f 46 4c 41 47 53 29 3b 00 00 00 1e 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 6d 61 70 5f 73 _FLAGS);............munmap(map_s
5820 74 72 2c 20 73 69 7a 65 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 6d 61 70 tr,.size);............if.(keymap
5840 29 20 7b 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 78 6b 62 5f 73 74 ).{...<............if.(b->xkb_st
5860 61 74 65 29 20 78 6b 62 5f 73 74 61 74 65 5f 75 6e 72 65 66 28 62 2d 3e 78 6b 62 5f 73 74 61 74 ate).xkb_state_unref(b->xkb_stat
5880 65 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 78 6b 62 5f 6b 65 e);...?............if.(b->xkb_ke
58a0 79 6d 61 70 29 20 78 6b 62 5f 6b 65 79 6d 61 70 5f 75 6e 72 65 66 28 62 2d 3e 78 6b 62 5f 6b 65 ymap).xkb_keymap_unref(b->xkb_ke
58c0 79 6d 61 70 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 78 6b 62 5f 6b 65 79 ymap);...#............b->xkb_key
58e0 6d 61 70 20 3d 20 6b 65 79 6d 61 70 3b 00 00 00 31 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e map.=.keymap;...1............b->
5900 78 6b 62 5f 73 74 61 74 65 20 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6e 65 77 28 6b 65 79 6d 61 70 xkb_state.=.xkb_state_new(keymap
5920 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 );............}........}........
5940 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 6b close(fd);....}...Fstatic.void.k
5960 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c eyboard_enter(void.*d,.struct.wl
5980 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 00 00 00 4d 20 20 20 _keyboard.*k,.uint32_t.s,...M...
59a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 .........................struct.
59c0 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 wl_surface.*surf,.struct.wl_arra
59e0 79 20 2a 6b 65 79 73 29 20 7b 00 00 00 36 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 y.*keys).{...6....(void)d;.(void
5a00 29 6b 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 20 28 76 6f 69 64 29 6b )k;.(void)s;.(void)surf;.(void)k
5a20 65 79 73 3b 00 00 00 01 7d 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 eys;....}...astatic.void.keyboar
5a40 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f d_leave(void.*d,.struct.wl_keybo
5a60 61 72 64 20 2a 6b 2c 20 75 69 6e 74 33 32 5f 74 20 73 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 ard.*k,.uint32_t.s,.struct.wl_su
5a80 72 66 61 63 65 20 2a 73 75 72 66 29 20 7b 00 00 00 2a 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 rface.*surf).{...*....(void)d;.(
5aa0 76 6f 69 64 29 6b 3b 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 73 75 72 66 3b 00 00 00 01 void)k;.(void)s;.(void)surf;....
5ac0 7d 00 00 00 5c 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f }...\static.void.keyboard_key(vo
5ae0 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 id.*data,.struct.wl_keyboard.*kb
5b00 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 ,.uint32_t.serial,.uint32_t.time
5b20 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 ,...9..........................u
5b40 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 int32_t.key,.uint32_t.state).{..
5b60 00 27 20 20 20 20 28 76 6f 69 64 29 6b 62 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 .'....(void)kb;.(void)serial;.(v
5b80 6f 69 64 29 74 69 6d 65 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 oid)time;........WlBackend.*b.=.
5ba0 64 61 74 61 3b 00 00 00 1e 20 20 20 20 69 66 20 28 21 62 2d 3e 78 6b 62 5f 73 74 61 74 65 29 20 data;........if.(!b->xkb_state).
5bc0 72 65 74 75 72 6e 3b 00 00 00 48 20 20 20 20 78 6b 62 5f 6b 65 79 73 79 6d 5f 74 20 73 79 6d 20 return;...H....xkb_keysym_t.sym.
5be0 3d 20 78 6b 62 5f 73 74 61 74 65 5f 6b 65 79 5f 67 65 74 5f 6f 6e 65 5f 73 79 6d 28 62 2d 3e 78 =.xkb_state_key_get_one_sym(b->x
5c00 6b 62 5f 73 74 61 74 65 2c 20 6b 65 79 20 2b 20 38 29 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 6b kb_state,.key.+.8);........int.k
5c20 20 3d 20 6b 65 79 73 79 6d 5f 74 6f 5f 6b 65 79 28 73 79 6d 29 3b 00 00 00 56 20 20 20 20 69 66 .=.keysym_to_key(sym);...V....if
5c40 20 28 6b 20 3e 3d 20 30 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6b 65 79 .(k.>=.0).b->win_inst->state.key
5c60 73 5b 6b 5d 20 3d 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 s[k].=.(state.==.WL_KEYBOARD_KEY
5c80 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 3b 00 00 00 01 7d 00 00 00 53 73 74 61 74 69 63 20 _STATE_PRESSED);....}...Sstatic.
5ca0 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 20 2a 64 61 void.keyboard_modifiers(void.*da
5cc0 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 62 2c 20 75 69 6e 74 ta,.struct.wl_keyboard.*kb,.uint
5ce0 33 32 5f 74 20 73 65 72 69 61 6c 2c 00 00 00 5c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32_t.serial,...\................
5d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 64 65 70 2c 20 75 69 ................uint32_t.dep,.ui
5d20 6e 74 33 32 5f 74 20 6c 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 6c 6f 63 6b 2c 20 75 69 6e 74 33 nt32_t.lat,.uint32_t.lock,.uint3
5d40 32 5f 74 20 67 72 6f 75 70 29 20 7b 00 00 00 1b 20 20 20 20 28 76 6f 69 64 29 6b 62 3b 20 28 76 2_t.group).{........(void)kb;.(v
5d60 6f 69 64 29 73 65 72 69 61 6c 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 oid)serial;........WlBackend.*b.
5d80 3d 20 64 61 74 61 3b 00 00 00 57 20 20 20 20 69 66 20 28 62 2d 3e 78 6b 62 5f 73 74 61 74 65 29 =.data;...W....if.(b->xkb_state)
5da0 20 78 6b 62 5f 73 74 61 74 65 5f 75 70 64 61 74 65 5f 6d 61 73 6b 28 62 2d 3e 78 6b 62 5f 73 74 .xkb_state_update_mask(b->xkb_st
5dc0 61 74 65 2c 20 64 65 70 2c 20 6c 61 74 2c 20 6c 6f 63 6b 2c 20 30 2c 20 30 2c 20 67 72 6f 75 70 ate,.dep,.lat,.lock,.0,.0,.group
5de0 29 3b 00 00 00 01 7d 00 00 00 5c 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f );....}...\static.void.keyboard_
5e00 72 65 70 65 61 74 5f 69 6e 66 6f 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b repeat_info(void.*d,.struct.wl_k
5e20 65 79 62 6f 61 72 64 20 2a 6b 2c 20 69 6e 74 33 32 5f 74 20 72 2c 20 69 6e 74 33 32 5f 74 20 64 eyboard.*k,.int32_t.r,.int32_t.d
5e40 65 6c 61 79 29 20 7b 00 00 00 2b 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 6b 3b elay).{...+....(void)d;.(void)k;
5e60 20 28 76 6f 69 64 29 72 3b 20 28 76 6f 69 64 29 64 65 6c 61 79 3b 00 00 00 01 7d 00 00 00 3e 73 .(void)r;.(void)delay;....}...>s
5e80 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c tatic.const.struct.wl_keyboard_l
5ea0 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 istener.keyboard_listener.=.{...
5ec0 42 20 20 20 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 20 6b 65 79 62 6f 61 72 64 5f 65 B....keyboard_keymap,.keyboard_e
5ee0 6e 74 65 72 2c 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 20 6b 65 79 62 6f 61 72 64 5f 6b nter,.keyboard_leave,.keyboard_k
5f00 65 79 2c 00 00 00 2c 20 20 20 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 2c 20 6b ey,...,....keyboard_modifiers,.k
5f20 65 79 62 6f 61 72 64 5f 72 65 70 65 61 74 5f 69 6e 66 6f 00 00 00 02 7d 3b 00 00 00 00 00 00 00 eyboard_repeat_info....};.......
5f40 50 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c 69 74 69 65 73 28 76 Pstatic.void.seat_capabilities(v
5f60 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c oid.*data,.struct.wl_seat.*seat,
5f80 20 75 69 6e 74 33 32 5f 74 20 63 61 70 73 29 20 7b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 .uint32_t.caps).{........WlBacke
5fa0 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 69 66 20 28 28 63 61 70 73 20 26 nd.*b.=.data;...=....if.((caps.&
5fc0 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 .WL_SEAT_CAPABILITY_POINTER).&&.
5fe0 21 62 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 62 2d 3e 70 6f 69 !b->pointer).{.../........b->poi
6000 6e 74 65 72 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 nter.=.wl_seat_get_pointer(seat)
6020 3b 00 00 00 42 20 20 20 20 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 ;...B........wl_pointer_add_list
6040 65 6e 65 72 28 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 26 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e ener(b->pointer,.&pointer_listen
6060 65 72 2c 20 62 29 3b 00 00 00 1d 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 72 65 6c 5f 70 74 er,.b);............if.(b->rel_pt
6080 72 5f 6d 67 72 29 20 7b 00 00 00 52 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 5f 70 r_mgr).{...R............b->rel_p
60a0 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 ointer.=.zwp_relative_pointer_ma
60c0 6e 61 67 65 72 5f 76 31 5f 67 65 74 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 28 00 00 nager_v1_get_relative_pointer(..
60e0 00 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 5f 70 74 72 5f 6d 67 72 .,................b->rel_ptr_mgr
6100 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 5b 20 20 20 20 20 20 20 20 20 20 20 20 7a 77 ,.b->pointer);...[............zw
6120 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 61 64 64 5f 6c 69 73 74 65 6e p_relative_pointer_v1_add_listen
6140 65 72 28 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 65 72 2c 20 26 72 65 6c 5f 70 6f 69 6e 74 65 72 5f er(b->rel_pointer,.&rel_pointer_
6160 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 2f 20 20 listener,.b);............}.../..
6180 20 20 20 20 20 20 69 66 20 28 62 2d 3e 70 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 26 26 20 ......if.(b->ptr_constraints.&&.
61a0 62 2d 3e 73 75 72 66 61 63 65 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e b->surface).{...H............b->
61c0 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e locked_pointer.=.zwp_pointer_con
61e0 73 74 72 61 69 6e 74 73 5f 76 31 5f 6c 6f 63 6b 5f 70 6f 69 6e 74 65 72 28 00 00 00 41 20 20 20 straints_v1_lock_pointer(...A...
6200 20 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 70 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 2c .............b->ptr_constraints,
6220 20 62 2d 3e 73 75 72 66 61 63 65 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 4e 55 4c 4c 2c 00 00 .b->surface,.b->pointer,.NULL,..
6240 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5a 57 50 5f 50 4f 49 4e 54 45 52 5f 43 4f .@................ZWP_POINTER_CO
6260 4e 53 54 52 41 49 4e 54 53 5f 56 31 5f 4c 49 46 45 54 49 4d 45 5f 50 45 52 53 49 53 54 45 4e 54 NSTRAINTS_V1_LIFETIME_PERSISTENT
6280 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 3f 20 20 20 20 );............}........}...?....
62a0 69 66 20 28 28 63 61 70 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b if.((caps.&.WL_SEAT_CAPABILITY_K
62c0 45 59 42 4f 41 52 44 29 20 26 26 20 21 62 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 31 20 EYBOARD).&&.!b->keyboard).{...1.
62e0 20 20 20 20 20 20 20 62 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 .......b->keyboard.=.wl_seat_get
6300 5f 6b 65 79 62 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b _keyboard(seat);...E........wl_k
6320 65 79 62 6f 61 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 6b 65 79 62 6f 61 72 64 eyboard_add_listener(b->keyboard
6340 2c 20 26 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 05 20 20 20 ,.&keyboard_listener,.b);.......
6360 20 7d 00 00 00 01 7d 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 6e 61 6d 65 .}....}...Estatic.void.seat_name
6380 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 20 2a 73 2c 20 63 6f 6e (void.*d,.struct.wl_seat.*s,.con
63a0 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 29 20 7b 00 00 00 21 20 20 20 20 28 76 6f 69 64 29 64 3b st.char.*name).{...!....(void)d;
63c0 20 28 76 6f 69 64 29 73 3b 20 28 76 6f 69 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 00 56 73 74 .(void)s;.(void)name;....}...Vst
63e0 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 5f 6c 69 73 74 65 6e atic.const.struct.wl_seat_listen
6400 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 73 65 61 74 5f 63 61 70 61 62 69 er.seat_listener.=.{.seat_capabi
6420 6c 69 74 69 65 73 2c 20 73 65 61 74 5f 6e 61 6d 65 20 7d 3b 00 00 00 00 00 00 00 4f 73 74 61 74 lities,.seat_name.};.......Ostat
6440 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 ic.void.registry_global(void.*da
6460 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 2c 20 75 69 6e ta,.struct.wl_registry.*reg,.uin
6480 74 33 32 5f 74 20 6e 61 6d 65 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t32_t.name,...G.................
64a0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 ............const.char.*interfac
64c0 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 12 20 20 20 20 28 76 e,.uint32_t.version).{........(v
64e0 6f 69 64 29 76 65 72 73 69 6f 6e 3b 00 00 00 18 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 oid)version;........WlBackend.*b
6500 20 3d 20 64 61 74 61 3b 00 00 00 3b 20 20 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 6e 74 65 .=.data;...;....if.(!strcmp(inte
6520 72 66 61 63 65 2c 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2e 6e rface,.wl_compositor_interface.n
6540 61 6d 65 29 29 20 7b 00 00 00 51 20 20 20 20 20 20 20 20 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 ame)).{...Q........b->compositor
6560 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 .=.wl_registry_bind(reg,.name,.&
6580 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 3c wl_compositor_interface,.4);...<
65a0 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 ....}.else.if.(!strcmp(interface
65c0 2c 20 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 45 ,.wl_seat_interface.name)).{...E
65e0 20 20 20 20 20 20 20 20 62 2d 3e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 ........b->seat.=.wl_registry_bi
6600 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 nd(reg,.name,.&wl_seat_interface
6620 2c 20 35 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 ,.5);...9........wl_seat_add_lis
6640 74 65 6e 65 72 28 62 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 62 tener(b->seat,.&seat_listener,.b
6660 29 3b 00 00 00 40 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 6e 74 );...@....}.else.if.(!strcmp(int
6680 65 72 66 61 63 65 2c 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 erface,.xdg_wm_base_interface.na
66a0 6d 65 29 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 62 2d 3e 77 6d 5f 62 61 73 65 20 3d 20 77 me)).{...L........b->wm_base.=.w
66c0 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 78 64 67 5f l_registry_bind(reg,.name,.&xdg_
66e0 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 20 20 wm_base_interface,.1);...C......
6700 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 77 6d ..xdg_wm_base_add_listener(b->wm
6720 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 _base,.&wm_base_listener,.b);...
6740 54 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 T....}.else.if.(!strcmp(interfac
6760 65 2c 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f e,.zwp_relative_pointer_manager_
6780 76 31 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 64 20 20 20 20 20 20 20 v1_interface.name)).{...d.......
67a0 20 62 2d 3e 72 65 6c 5f 70 74 72 5f 6d 67 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 .b->rel_ptr_mgr.=.wl_registry_bi
67c0 6e 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e nd(reg,.name,.&zwp_relative_poin
67e0 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 ter_manager_v1_interface,.1);...
6800 4f 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 O....}.else.if.(!strcmp(interfac
6820 65 2c 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e e,.zwp_pointer_constraints_v1_in
6840 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 29 20 7b 00 00 00 63 20 20 20 20 20 20 20 20 62 2d 3e 70 terface.name)).{...c........b->p
6860 74 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e tr_constraints.=.wl_registry_bin
6880 64 28 72 65 67 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 d(reg,.name,.&zwp_pointer_constr
68a0 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 05 20 20 20 20 7d aints_v1_interface,.1);........}
68c0 00 00 00 01 7d 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 67 6c ....}...Sstatic.void.registry_gl
68e0 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 obal_remove(void.*d,.struct.wl_r
6900 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 20 7b 00 00 00 21 egistry.*r,.uint32_t.name).{...!
6920 20 20 20 20 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 72 3b 20 28 76 6f 69 64 29 6e 61 6d 65 ....(void)d;.(void)r;.(void)name
6940 3b 00 00 00 01 7d 00 00 00 69 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c ;....}...istatic.const.struct.wl
6960 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 _registry_listener.registry_list
6980 65 6e 65 72 20 3d 20 7b 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 2c 20 72 65 67 69 73 74 ener.=.{.registry_global,.regist
69a0 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 7d 3b 00 00 00 00 00 00 00 4e 69 6e 74 20 77 ry_global_remove.};.......Nint.w
69c0 69 6e 64 6f 77 5f 77 61 79 6c 61 6e 64 5f 69 6e 69 74 28 57 69 6e 64 6f 77 20 2a 77 2c 20 69 6e indow_wayland_init(Window.*w,.in
69e0 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 t.width,.int.height,.const.char.
6a00 2a 74 69 74 6c 65 29 20 7b 00 00 00 30 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 *title).{...0....WlBackend.*b.=.
6a20 63 61 6c 6c 6f 63 28 31 2c 20 73 69 7a 65 6f 66 28 57 6c 42 61 63 6b 65 6e 64 29 29 3b 00 00 00 calloc(1,.sizeof(WlBackend));...
6a40 14 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 20 3d 20 77 3b 00 00 00 13 20 20 20 20 77 2d 3e .....b->win_inst.=.w;........w->
6a60 62 61 63 6b 65 6e 64 20 3d 20 62 3b 00 00 00 00 00 00 00 2a 20 20 20 20 62 2d 3e 64 69 73 70 6c backend.=.b;.......*....b->displ
6a80 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 ay.=.wl_display_connect(NULL);..
6aa0 00 2b 20 20 20 20 69 66 20 28 21 62 2d 3e 64 69 73 70 6c 61 79 29 20 7b 20 66 72 65 65 28 62 29 .+....if.(!b->display).{.free(b)
6ac0 3b 20 72 65 74 75 72 6e 20 30 3b 20 7d 00 00 00 00 00 00 00 37 20 20 20 20 62 2d 3e 78 6b 62 5f ;.return.0;.}.......7....b->xkb_
6ae0 63 74 78 20 3d 20 78 6b 62 5f 63 6f 6e 74 65 78 74 5f 6e 65 77 28 58 4b 42 5f 43 4f 4e 54 45 58 ctx.=.xkb_context_new(XKB_CONTEX
6b00 54 5f 4e 4f 5f 46 4c 41 47 53 29 3b 00 00 00 00 00 00 00 36 20 20 20 20 62 2d 3e 72 65 67 69 73 T_NO_FLAGS);.......6....b->regis
6b20 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 62 2d try.=.wl_display_get_registry(b-
6b40 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 >display);...A....wl_registry_ad
6b60 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 d_listener(b->registry,.&registr
6b80 79 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 y_listener,.b);...%....wl_displa
6ba0 79 5f 72 6f 75 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 25 20 20 20 20 y_roundtrip(b->display);...%....
6bc0 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 wl_display_roundtrip(b->display)
6be0 3b 00 00 00 00 00 00 00 28 20 20 20 20 69 66 20 28 21 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 20 ;.......(....if.(!b->compositor.
6c00 7c 7c 20 21 62 2d 3e 77 6d 5f 62 61 73 65 29 20 7b 00 00 00 2a 20 20 20 20 20 20 20 20 77 6c 5f ||.!b->wm_base).{...*........wl_
6c20 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 display_disconnect(b->display);.
6c40 00 00 10 20 20 20 20 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 11 20 20 20 20 20 20 20 20 72 ...........free(b);............r
6c60 65 74 75 72 6e 20 30 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 3d 20 20 20 20 62 2d 3e eturn.0;........}.......=....b->
6c80 73 75 72 66 61 63 65 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 surface.=.wl_compositor_create_s
6ca0 75 72 66 61 63 65 28 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 49 20 20 20 20 62 2d urface(b->compositor);...I....b-
6cc0 3e 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 >xdg_surface.=.xdg_wm_base_get_x
6ce0 64 67 5f 73 75 72 66 61 63 65 28 62 2d 3e 77 6d 5f 62 61 73 65 2c 20 62 2d 3e 73 75 72 66 61 63 dg_surface(b->wm_base,.b->surfac
6d00 65 29 3b 00 00 00 48 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 e);...H....xdg_surface_add_liste
6d20 6e 65 72 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 72 66 61 63 65 ner(b->xdg_surface,.&xdg_surface
6d40 5f 6c 69 73 74 65 6e 65 72 5f 2c 20 62 29 3b 00 00 00 3f 20 20 20 20 62 2d 3e 78 64 67 5f 74 6f _listener_,.b);...?....b->xdg_to
6d60 70 6c 65 76 65 6c 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 plevel.=.xdg_surface_get_topleve
6d80 6c 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 46 20 20 20 20 78 64 67 5f 74 6f l(b->xdg_surface);...F....xdg_to
6da0 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 78 64 67 5f 74 6f 70 6c 65 plevel_add_listener(b->xdg_tople
6dc0 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 33 vel,.&toplevel_listener,.b);...3
6de0 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 62 2d 3e 78 64 ....xdg_toplevel_set_title(b->xd
6e00 67 5f 74 6f 70 6c 65 76 65 6c 2c 20 74 69 74 6c 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 73 75 g_toplevel,.title);..."....wl_su
6e20 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 62 2d 3e 73 75 72 66 61 63 65 29 3b 00 00 00 00 00 00 00 rface_commit(b->surface);.......
6e40 3b 20 20 20 20 77 68 69 6c 65 20 28 21 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 ;....while.(!b->configured).wl_d
6e60 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 isplay_dispatch(b->display);....
6e80 00 00 00 44 20 20 20 20 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 20 3d 20 77 6c 5f 65 67 6c 5f 77 ...D....b->egl_window.=.wl_egl_w
6ea0 69 6e 64 6f 77 5f 63 72 65 61 74 65 28 62 2d 3e 73 75 72 66 61 63 65 2c 20 77 69 64 74 68 2c 20 indow_create(b->surface,.width,.
6ec0 68 65 69 67 68 74 29 3b 00 00 00 00 00 00 00 45 20 20 20 20 62 2d 3e 65 67 6c 5f 64 69 73 70 6c height);.......E....b->egl_displ
6ee0 61 79 20 3d 20 65 67 6c 47 65 74 44 69 73 70 6c 61 79 28 28 45 47 4c 4e 61 74 69 76 65 44 69 73 ay.=.eglGetDisplay((EGLNativeDis
6f00 70 6c 61 79 54 79 70 65 29 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 2e 20 20 20 20 65 67 6c playType)b->display);........egl
6f20 49 6e 69 74 69 61 6c 69 7a 65 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 4e 55 4c 4c 2c Initialize(b->egl_display,.NULL,
6f40 20 4e 55 4c 4c 29 3b 00 00 00 1f 20 20 20 20 65 67 6c 42 69 6e 64 41 50 49 28 45 47 4c 5f 4f 50 .NULL);........eglBindAPI(EGL_OP
6f60 45 4e 47 4c 5f 41 50 49 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 45 47 4c 69 6e 74 20 63 66 67 ENGL_API);............EGLint.cfg
6f80 5f 61 74 74 72 69 62 73 5b 5d 20 3d 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 45 47 4c 5f 53 55 _attribs[].=.{...)........EGL_SU
6fa0 52 46 41 43 45 5f 54 59 50 45 2c 20 45 47 4c 5f 57 49 4e 44 4f 57 5f 42 49 54 2c 00 00 00 3d 20 RFACE_TYPE,.EGL_WINDOW_BIT,...=.
6fc0 20 20 20 20 20 20 20 45 47 4c 5f 52 45 44 5f 53 49 5a 45 2c 20 38 2c 20 45 47 4c 5f 47 52 45 45 .......EGL_RED_SIZE,.8,.EGL_GREE
6fe0 4e 5f 53 49 5a 45 2c 20 38 2c 20 45 47 4c 5f 42 4c 55 45 5f 53 49 5a 45 2c 20 38 2c 00 00 00 1b N_SIZE,.8,.EGL_BLUE_SIZE,.8,....
7000 20 20 20 20 20 20 20 20 45 47 4c 5f 44 45 50 54 48 5f 53 49 5a 45 2c 20 32 34 2c 00 00 00 2c 20 ........EGL_DEPTH_SIZE,.24,...,.
7020 20 20 20 20 20 20 20 45 47 4c 5f 52 45 4e 44 45 52 41 42 4c 45 5f 54 59 50 45 2c 20 45 47 4c 5f .......EGL_RENDERABLE_TYPE,.EGL_
7040 4f 50 45 4e 47 4c 5f 42 49 54 2c 00 00 00 10 20 20 20 20 20 20 20 20 45 47 4c 5f 4e 4f 4e 45 00 OPENGL_BIT,............EGL_NONE.
7060 00 00 06 20 20 20 20 7d 3b 00 00 00 15 20 20 20 20 45 47 4c 43 6f 6e 66 69 67 20 63 6f 6e 66 69 .......};........EGLConfig.confi
7080 67 3b 00 00 00 16 20 20 20 20 45 47 4c 69 6e 74 20 6e 75 6d 5f 63 6f 6e 66 69 67 3b 00 00 00 4a g;........EGLint.num_config;...J
70a0 20 20 20 20 65 67 6c 43 68 6f 6f 73 65 43 6f 6e 66 69 67 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c ....eglChooseConfig(b->egl_displ
70c0 61 79 2c 20 63 66 67 5f 61 74 74 72 69 62 73 2c 20 26 63 6f 6e 66 69 67 2c 20 31 2c 20 26 6e 75 ay,.cfg_attribs,.&config,.1,.&nu
70e0 6d 5f 63 6f 6e 66 69 67 29 3b 00 00 00 00 00 00 00 43 20 20 20 20 62 2d 3e 65 67 6c 5f 73 75 72 m_config);.......C....b->egl_sur
7100 66 61 63 65 20 3d 20 65 67 6c 43 72 65 61 74 65 57 69 6e 64 6f 77 53 75 72 66 61 63 65 28 62 2d face.=.eglCreateWindowSurface(b-
7120 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 00 00 00 57 20 20 20 20 20 20 20 >egl_display,.config,...W.......
7140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7160 20 20 20 20 20 20 28 45 47 4c 4e 61 74 69 76 65 57 69 6e 64 6f 77 54 79 70 65 29 62 2d 3e 65 67 ......(EGLNativeWindowType)b->eg
7180 6c 5f 77 69 6e 64 6f 77 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 1c 20 20 20 20 45 47 4c 69 l_window,.NULL);............EGLi
71a0 6e 74 20 63 74 78 5f 61 74 74 72 69 62 73 5b 5d 20 3d 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 nt.ctx_attribs[].=.{...%........
71c0 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4d 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 2c 20 32 2c 00 00 00 EGL_CONTEXT_MAJOR_VERSION,.2,...
71e0 25 20 20 20 20 20 20 20 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 %........EGL_CONTEXT_MINOR_VERSI
7200 4f 4e 2c 20 31 2c 00 00 00 56 20 20 20 20 20 20 20 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4f 50 ON,.1,...V........EGL_CONTEXT_OP
7220 45 4e 47 4c 5f 50 52 4f 46 49 4c 45 5f 4d 41 53 4b 2c 20 45 47 4c 5f 43 4f 4e 54 45 58 54 5f 4f ENGL_PROFILE_MASK,.EGL_CONTEXT_O
7240 50 45 4e 47 4c 5f 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 5f 50 52 4f 46 49 4c 45 5f 42 49 54 2c PENGL_COMPATIBILITY_PROFILE_BIT,
7260 00 00 00 10 20 20 20 20 20 20 20 20 45 47 4c 5f 4e 4f 4e 45 00 00 00 06 20 20 20 20 7d 3b 00 00 ............EGL_NONE........};..
7280 00 5b 20 20 20 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 20 3d 20 65 67 6c 43 72 65 61 74 65 .[....b->egl_context.=.eglCreate
72a0 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 20 Context(b->egl_display,.config,.
72c0 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 2c 20 63 74 78 5f 61 74 74 72 69 62 73 29 3b 00 00 00 EGL_NO_CONTEXT,.ctx_attribs);...
72e0 53 20 20 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c S....eglMakeCurrent(b->egl_displ
7300 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 ay,.b->egl_surface,.b->egl_surfa
7320 63 65 2c 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 27 20 20 20 20 65 67 6c 53 ce,.b->egl_context);...'....eglS
7340 77 61 70 49 6e 74 65 72 76 61 6c 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 31 29 3b 00 wapInterval(b->egl_display,.1);.
7360 00 00 00 00 00 00 1b 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 77 69 64 74 68 20 3d 20 77 69 64 74 ...........w->state.width.=.widt
7380 68 3b 00 00 00 1d 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 h;........w->state.height.=.heig
73a0 68 74 3b 00 00 00 00 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 ht;.......%....wl_display_roundt
73c0 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 0d 20 20 20 20 72 65 74 75 rip(b->display);............retu
73e0 72 6e 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 76 6f 69 64 20 77 69 6e 64 6f 77 5f 77 61 rn.1;....}.......%void.window_wa
7400 79 6c 61 6e 64 5f 70 6f 6c 6c 28 57 69 6e 64 6f 77 20 2a 77 29 20 7b 00 00 00 1e 20 20 20 20 57 yland_poll(Window.*w).{........W
7420 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 1a 20 20 20 lBackend.*b.=.w->backend;.......
7440 20 77 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 78 20 3d 20 30 3b 00 00 00 1a 20 20 20 20 77 .w->state.mouse_dx.=.0;........w
7460 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 3d 20 30 3b 00 00 00 2c 20 20 20 20 77 6c 5f ->state.mouse_dy.=.0;...,....wl_
7480 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 62 2d 3e 64 69 73 70 display_dispatch_pending(b->disp
74a0 6c 61 79 29 3b 00 00 00 21 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 62 2d lay);...!....wl_display_flush(b-
74c0 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 25 76 6f 69 64 20 77 69 6e 64 >display);....}.......%void.wind
74e0 6f 77 5f 77 61 79 6c 61 6e 64 5f 73 77 61 70 28 57 69 6e 64 6f 77 20 2a 77 29 20 7b 00 00 00 1e ow_wayland_swap(Window.*w).{....
7500 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 ....WlBackend.*b.=.w->backend;..
7520 00 33 20 20 20 20 65 67 6c 53 77 61 70 42 75 66 66 65 72 73 28 62 2d 3e 65 67 6c 5f 64 69 73 70 .3....eglSwapBuffers(b->egl_disp
7540 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 lay,.b->egl_surface);....}......
7560 00 28 76 6f 69 64 20 77 69 6e 64 6f 77 5f 77 61 79 6c 61 6e 64 5f 64 65 73 74 72 6f 79 28 57 69 .(void.window_wayland_destroy(Wi
7580 6e 64 6f 77 20 2a 77 29 20 7b 00 00 00 1e 20 20 20 20 57 6c 42 61 63 6b 65 6e 64 20 2a 62 20 3d ndow.*w).{........WlBackend.*b.=
75a0 20 77 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 4c 20 20 20 20 69 66 20 28 62 2d 3e 6c 6f 63 6b 65 .w->backend;...L....if.(b->locke
75c0 64 5f 70 6f 69 6e 74 65 72 29 20 7a 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 5f 76 31 d_pointer).zwp_locked_pointer_v1
75e0 5f 64 65 73 74 72 6f 79 28 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 29 3b 00 00 00 48 _destroy(b->locked_pointer);...H
7600 20 20 20 20 69 66 20 28 62 2d 3e 72 65 6c 5f 70 6f 69 6e 74 65 72 29 20 7a 77 70 5f 72 65 6c 61 ....if.(b->rel_pointer).zwp_rela
7620 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 62 2d 3e 72 65 6c 5f 70 tive_pointer_v1_destroy(b->rel_p
7640 6f 69 6e 74 65 72 29 3b 00 00 00 53 20 20 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 ointer);...S....eglMakeCurrent(b
7660 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 45 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 ->egl_display,.EGL_NO_SURFACE,.E
7680 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 29 3b 00 GL_NO_SURFACE,.EGL_NO_CONTEXT);.
76a0 00 00 36 20 20 20 20 65 67 6c 44 65 73 74 72 6f 79 53 75 72 66 61 63 65 28 62 2d 3e 65 67 6c 5f ..6....eglDestroySurface(b->egl_
76c0 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 29 3b 00 00 00 36 20 20 20 display,.b->egl_surface);...6...
76e0 20 65 67 6c 44 65 73 74 72 6f 79 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 .eglDestroyContext(b->egl_displa
7700 79 2c 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 29 20 20 20 20 77 6c 5f 65 67 y,.b->egl_context);...)....wl_eg
7720 6c 5f 77 69 6e 64 6f 77 5f 64 65 73 74 72 6f 79 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 3b l_window_destroy(b->egl_window);
7740 00 00 00 2a 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 62 2d 3e ...*....xdg_toplevel_destroy(b->
7760 78 64 67 5f 74 6f 70 6c 65 76 65 6c 29 3b 00 00 00 28 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 xdg_toplevel);...(....xdg_surfac
7780 65 5f 64 65 73 74 72 6f 79 28 62 2d 3e 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 23 20 20 e_destroy(b->xdg_surface);...#..
77a0 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 62 2d 3e 73 75 72 66 61 63 65 29 ..wl_surface_destroy(b->surface)
77c0 3b 00 00 00 26 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 ;...&....wl_display_disconnect(b
77e0 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 0c 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 01 7d ->display);........free(b);....}
7800 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 45 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 5...............E...............
7820 00 00 00 00 00 00 00 00 75 34 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 03 ........u4..............5._.....
7840 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff ................................
7860 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 ..............................jc
79c0 48 4d 04 01 00 00 00 02 00 f5 18 00 00 00 cb 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 25 20 HM............................%.
79e0 20 20 20 20 20 20 20 62 2d 3e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e .......b->seat.=.wl_registry_bin
7a00 64 28 72 65 f5 18 00 00 00 cc 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 6f 00 00 00 00 d(re.......................o....
7a20 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 2e 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e .................relative_motion
7a40 20 3d 20 72 65 6c 61 74 f5 18 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 .=.relat.....p..................
7a60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................................
7a80 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6f 00 00 00 1c 00 ..5.......................o.....
7aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 ................................
7ac0 6f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 25 00 00 00 f9 0f 00 00 00 00 00 00 o...............\...%...........
7ae0 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 cb 00 00 00 25 00 00 00 00 00 ..........................%.....
7b00 00 00 00 00 00 00 59 00 00 00 01 00 00 00 f8 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 0c ......Y.........................
7b20 00 00 00 00 00 00 35 81 5f d0 00 00 00 04 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 05 00 00 ......5._.......................
7b40 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ca0 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 48 73 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 ............jcHs................
7cc0 02 00 00 00 00 00 00 01 25 00 00 00 13 23 64 65 66 69 6e 65 20 5f 47 4e 55 5f 53 4f 55 52 43 45 ........%....#define._GNU_SOURCE
7ce0 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 ....#include.<wayland-client.h>.
7d00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 65 67 6c 2e 68 3e 00 00 00 14 23 ...#include.<wayland-egl.h>....#
7d20 69 6e 63 6c 75 64 65 20 3c 45 47 4c 2f 65 67 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 include.<EGL/egl.h>....#include.
7d40 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 <stdlib.h>....#include.<string.h
7d60 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c >....#include.<stdio.h>....#incl
7d80 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 64 ude.<unistd.h>....#include."wind
7da0 6f 77 2e 68 22 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c 2d 63 6c 69 ow.h"...&#include."xdg-shell-cli
7dc0 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 39 23 69 6e 63 6c 75 64 65 20 22 72 65 6c ent-protocol.h"...9#include."rel
7de0 61 74 69 76 65 2d 70 6f 69 6e 74 65 72 2d 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 6c 69 65 6e 74 ative-pointer-unstable-v1-client
7e00 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 3c 23 69 6e 63 6c 75 64 65 20 22 70 6f 69 6e 74 65 -protocol.h"...<#include."pointe
7e20 72 2d 63 6f 6e 73 74 72 61 69 6e 74 73 2d 75 6e 73 74 61 62 6c 65 2d 76 31 2d 63 6c 69 65 6e 74 r-constraints-unstable-v1-client
7e40 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 10 74 79 70 65 64 65 66 20 73 74 72 75 -protocol.h"........typedef.stru
7e60 63 74 20 7b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 ct.{........struct.wl_display.*d
7e80 69 73 70 6c 61 79 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 isplay;...!....struct.wl_registr
7ea0 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 25 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f y.*registry;...%....struct.wl_co
7ec0 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 1f 20 20 20 20 73 74 72 mpositor.*compositor;........str
7ee0 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b 00 00 00 24 20 20 20 20 uct.wl_surface.*surface;...$....
7f00 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 3b struct.xdg_surface.*xdg_surface;
7f20 00 00 00 26 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 64 67 ...&....struct.xdg_toplevel.*xdg
7f40 5f 74 6f 70 6c 65 76 65 6c 3b 00 00 00 19 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 _toplevel;........struct.wl_seat
7f60 20 2a 73 65 61 74 3b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 .*seat;........struct.wl_pointer
7f80 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 .*pointer;...!....struct.wl_keyb
7fa0 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 45 20 20 20 20 73 74 72 75 63 74 20 7a 77 oard.*keyboard;...E....struct.zw
7fc0 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 20 2a 72 p_relative_pointer_manager_v1.*r
7fe0 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 3b 00 00 00 35 20 20 20 20 elative_pointer_manager;...5....
8000 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a struct.zwp_relative_pointer_v1.*
8020 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 3b 00 00 00 3b 20 20 20 20 73 74 72 75 63 74 20 relative_pointer;...;....struct.
8040 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 20 2a 70 6f 69 6e zwp_pointer_constraints_v1.*poin
8060 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 3b 00 00 00 31 20 20 20 20 73 74 72 75 63 74 20 7a ter_constraints;...1....struct.z
8080 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 6c 6f 63 6b 65 64 5f 70 6f 69 wp_locked_pointer_v1.*locked_poi
80a0 6e 74 65 72 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 45 47 4c 44 69 73 70 6c 61 79 20 nter;................EGLDisplay.
80c0 65 67 6c 5f 64 69 73 70 6c 61 79 3b 00 00 00 1b 20 20 20 20 45 47 4c 43 6f 6e 74 65 78 74 20 65 egl_display;........EGLContext.e
80e0 67 6c 5f 63 6f 6e 74 65 78 74 3b 00 00 00 1b 20 20 20 20 45 47 4c 53 75 72 66 61 63 65 20 65 67 gl_context;........EGLSurface.eg
8100 6c 5f 73 75 72 66 61 63 65 3b 00 00 00 25 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 65 67 6c 5f l_surface;...%....struct.wl_egl_
8120 77 69 6e 64 6f 77 20 2a 65 67 6c 5f 77 69 6e 64 6f 77 3b 00 00 00 00 00 00 00 1b 20 20 20 20 4e window.*egl_window;............N
8140 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 69 6e 5f 69 6e 73 74 3b 00 00 00 13 20 20 20 20 69 6e ativeWindow.*win_inst;........in
8160 74 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 11 7d 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e t.configured;....}.WaylandBacken
8180 64 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 d;.......astatic.void.xdg_surfac
81a0 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 e_configure(void.*data,.struct.x
81c0 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 20 75 69 6e 74 33 32 5f dg_surface.*xdg_surface,.uint32_
81e0 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e t.serial).{........WaylandBacken
8200 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 33 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f d.*b.=.data;...3....xdg_surface_
8220 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 73 65 72 69 61 ack_configure(xdg_surface,.seria
8240 6c 29 3b 00 00 00 16 20 20 20 20 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 31 3b 00 00 00 l);........b->configured.=.1;...
8260 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 .}.......Bstatic.const.struct.xd
8280 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c g_surface_listener.xdg_surface_l
82a0 69 73 74 65 6e 65 72 5f 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d istener_.=.{...&.....configure.=
82c0 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 00 00 00 02 7d 3b 00 00 00 00 .xdg_surface_configure....};....
82e0 00 00 00 83 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 ....static.void.toplevel_configu
8300 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 re(void.*data,.struct.xdg_toplev
8320 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 20 69 6e 74 33 32 5f 74 20 77 69 64 74 68 2c 20 69 6e 74 el.*toplevel,.int32_t.width,.int
8340 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 32_t.height,.struct.wl_array.*st
8360 61 74 65 73 29 20 7b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 74 6f 70 6c 65 76 65 6c 3b 00 00 ates).{........(void)toplevel;..
8380 00 11 20 20 20 20 28 76 6f 69 64 29 73 74 61 74 65 73 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 ......(void)states;........Wayla
83a0 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 22 20 20 20 20 69 66 20 28 ndBackend.*b.=.data;..."....if.(
83c0 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 20 7b 00 00 00 29 20 20 width.>.0.&&.height.>.0).{...)..
83e0 20 20 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 77 69 64 74 68 20 3d ......b->win_inst->state.width.=
8400 20 77 69 64 74 68 3b 00 00 00 2b 20 20 20 20 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e .width;...+........b->win_inst->
8420 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1c 20 20 20 20 20 20 state.height.=.height;..........
8440 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 20 7b 00 00 00 45 20 20 20 20 20 20 ..if.(b->egl_window).{...E......
8460 20 20 20 20 20 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 72 65 73 69 7a 65 28 62 2d 3e 65 67 ......wl_egl_window_resize(b->eg
8480 6c 5f 77 69 6e 64 6f 77 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 30 2c 20 30 29 3b 00 l_window,.width,.height,.0,.0);.
84a0 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 ...........}........}....}......
84c0 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 28 76 6f 69 .Gstatic.void.toplevel_close(voi
84e0 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f d.*data,.struct.xdg_toplevel.*to
8500 70 6c 65 76 65 6c 29 20 7b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 74 6f 70 6c 65 76 65 6c 3b plevel).{........(void)toplevel;
8520 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 ........WaylandBackend.*b.=.data
8540 3b 00 00 00 28 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 73 68 6f 75 ;...(....b->win_inst->state.shou
8560 6c 64 5f 63 6c 6f 73 65 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 ld_close.=.1;....}.......?static
8580 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 .const.struct.xdg_toplevel_liste
85a0 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 24 20 20 20 ner.toplevel_listener.=.{...$...
85c0 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 ..configure.=.toplevel_configure
85e0 2c 00 00 00 1b 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 6c 6f 73 65 ,.........close.=.toplevel_close
8600 00 00 00 02 7d 3b 00 00 00 00 00 00 00 8e 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 ....};........static.void.pointe
8620 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f r_enter(void.*data,.struct.wl_po
8640 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c inter.*pointer,.uint32_t.serial,
8660 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c 20 77 6c 5f .struct.wl_surface.*surface,.wl_
8680 66 69 78 65 64 5f 74 20 73 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 79 29 20 7b 00 00 00 4f fixed_t.sx,.wl_fixed_t.sy).{...O
86a0 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 ....(void)data;.(void)pointer;.(
86c0 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 73 75 72 66 61 63 65 3b 20 28 76 6f 69 void)serial;.(void)surface;.(voi
86e0 64 29 73 78 3b 20 28 76 6f 69 64 29 73 79 3b 00 00 00 01 7d 00 00 00 00 00 00 00 70 73 74 61 74 d)sx;.(void)sy;....}.......pstat
8700 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 61 74 61 ic.void.pointer_leave(void.*data
8720 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 ,.struct.wl_pointer.*pointer,.ui
8740 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 nt32_t.serial,.struct.wl_surface
8760 20 2a 73 75 72 66 61 63 65 29 20 7b 00 00 00 3b 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 .*surface).{...;....(void)data;.
8780 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f (void)pointer;.(void)serial;.(vo
87a0 69 64 29 73 75 72 66 61 63 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 73 74 61 74 69 63 20 76 id)surface;....}.......qstatic.v
87c0 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 oid.pointer_motion(void.*data,.s
87e0 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 truct.wl_pointer.*pointer,.uint3
8800 32 5f 74 20 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 78 2c 20 77 6c 5f 66 69 78 65 2_t.time,.wl_fixed_t.sx,.wl_fixe
8820 64 5f 74 20 73 79 29 20 7b 00 00 00 3e 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f d_t.sy).{...>....(void)data;.(vo
8840 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 73 78 id)pointer;.(void)time;.(void)sx
8860 3b 20 28 76 6f 69 64 29 73 79 3b 00 00 00 01 7d 00 00 00 00 00 00 00 85 73 74 61 74 69 63 20 76 ;.(void)sy;....}........static.v
8880 6f 69 64 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 oid.pointer_button(void.*data,.s
88a0 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 truct.wl_pointer.*pointer,.uint3
88c0 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 2_t.serial,.uint32_t.time,.uint3
88e0 32 5f 74 20 62 75 74 74 6f 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 2_t.button,.uint32_t.state).{...
8900 2c 20 20 20 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c ,....(void)pointer;.(void)serial
8920 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b ;.(void)time;........WaylandBack
8940 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 69 6e 74 20 70 72 65 73 73 65 end.*b.=.data;...=....int.presse
8960 64 20 3d 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 5f 42 55 54 54 4f 4e 5f d.=.(state.==.WL_POINTER_BUTTON_
8980 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 3b 00 00 00 41 20 20 20 20 69 66 20 28 62 75 74 74 6f STATE_PRESSED);...A....if.(butto
89a0 6e 20 3d 3d 20 30 78 31 31 30 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d n.==.0x110).b->win_inst->state.m
89c0 6f 75 73 65 5f 6c 65 66 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 42 20 20 20 20 69 66 20 28 ouse_left.=.pressed;...B....if.(
89e0 62 75 74 74 6f 6e 20 3d 3d 20 30 78 31 31 31 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 button.==.0x111).b->win_inst->st
8a00 61 74 65 2e 6d 6f 75 73 65 5f 72 69 67 68 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 01 7d 00 ate.mouse_right.=.pressed;....}.
8a20 00 00 00 00 00 00 72 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 28 ......rstatic.void.pointer_axis(
8a40 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 void.*data,.struct.wl_pointer.*p
8a60 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 ointer,.uint32_t.time,.uint32_t.
8a80 61 78 69 73 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 61 6c 75 65 29 20 7b 00 00 00 43 20 20 20 axis,.wl_fixed_t.value).{...C...
8aa0 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 .(void)data;.(void)pointer;.(voi
8ac0 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 61 78 69 73 3b 20 28 76 6f 69 64 29 76 61 6c 75 65 3b d)time;.(void)axis;.(void)value;
8ae0 00 00 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 ....}.......<static.const.struct
8b00 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 6f 69 6e 74 65 72 5f 6c 69 73 .wl_pointer_listener.pointer_lis
8b20 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 70 6f 69 6e 74 65 tener.=.{.........enter.=.pointe
8b40 72 5f 65 6e 74 65 72 2c 00 00 00 1b 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 70 6f 69 6e 74 65 72 r_enter,.........leave.=.pointer
8b60 5f 6c 65 61 76 65 2c 00 00 00 1d 20 20 20 20 2e 6d 6f 74 69 6f 6e 20 3d 20 70 6f 69 6e 74 65 72 _leave,.........motion.=.pointer
8b80 5f 6d 6f 74 69 6f 6e 2c 00 00 00 1d 20 20 20 20 2e 62 75 74 74 6f 6e 20 3d 20 70 6f 69 6e 74 65 _motion,.........button.=.pointe
8ba0 72 5f 62 75 74 74 6f 6e 2c 00 00 00 18 20 20 20 20 2e 61 78 69 73 20 3d 20 70 6f 69 6e 74 65 72 r_button,.........axis.=.pointer
8bc0 5f 61 78 69 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 c7 73 74 61 74 69 63 20 76 6f 69 64 20 72 _axis....};........static.void.r
8be0 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 elative_motion(void.*data,.struc
8c00 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 72 65 6c 61 74 t.zwp_relative_pointer_v1.*relat
8c20 69 76 65 5f 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 75 74 69 6d 65 2c 20 75 69 6e ive_pointer,.uint32_t.utime,.uin
8c40 74 33 32 5f 74 20 73 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 2c 20 77 6c 5f 66 t32_t.stime,.wl_fixed_t.dx,.wl_f
8c60 69 78 65 64 5f 74 20 64 79 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 5f 75 6e 61 63 63 65 6c ixed_t.dy,.wl_fixed_t.dx_unaccel
8c80 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 79 5f 75 6e 61 63 63 65 6c 29 20 7b 00 00 00 49 20 20 ,.wl_fixed_t.dy_unaccel).{...I..
8ca0 20 20 28 76 6f 69 64 29 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 ..(void)relative_pointer;.(void)
8cc0 75 74 69 6d 65 3b 20 28 76 6f 69 64 29 73 74 69 6d 65 3b 20 28 76 6f 69 64 29 64 78 3b 20 28 76 utime;.(void)stime;.(void)dx;.(v
8ce0 6f 69 64 29 64 79 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 oid)dy;........WaylandBackend.*b
8d00 20 3d 20 64 61 74 61 3b 00 00 00 42 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 .=.data;...B....b->win_inst->sta
8d20 74 65 2e 6d 6f 75 73 65 5f 64 78 20 2b 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c te.mouse_dx.+=.wl_fixed_to_doubl
8d40 65 28 64 78 5f 75 6e 61 63 63 65 6c 29 3b 00 00 00 42 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 e(dx_unaccel);...B....b->win_ins
8d60 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 2b 3d 20 77 6c 5f 66 69 78 65 64 5f 74 6f t->state.mouse_dy.+=.wl_fixed_to
8d80 5f 64 6f 75 62 6c 65 28 64 79 5f 75 6e 61 63 63 65 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 _double(dy_unaccel);....}.......
8da0 52 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 Rstatic.const.struct.zwp_relativ
8dc0 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 6c 69 73 74 65 6e 65 72 20 72 65 6c 61 74 69 76 65 5f 70 e_pointer_v1_listener.relative_p
8de0 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 72 65 6c 61 ointer_listener.=.{...&.....rela
8e00 74 69 76 65 5f 6d 6f 74 69 6f 6e 20 3d 20 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 00 00 00 tive_motion.=.relative_motion...
8e20 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 6b 65 79 73 79 6d 5f 74 6f 5f .};.......'static.int.keysym_to_
8e40 6b 65 79 28 75 69 6e 74 33 32 5f 74 20 6b 73 29 20 7b 00 00 00 11 20 20 20 20 73 77 69 74 63 68 key(uint32_t.ks).{........switch
8e60 20 28 6b 73 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 37 37 3a 20 .(ks).{.../........case.0x0077:.
8e80 63 61 73 65 20 30 78 30 30 35 37 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 57 3b 00 00 00 2f 20 20 case.0x0057:.return.KEY_W;.../..
8ea0 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 36 31 3a 20 63 61 73 65 20 30 78 30 30 34 31 3a 20 ......case.0x0061:.case.0x0041:.
8ec0 72 65 74 75 72 6e 20 4b 45 59 5f 41 3b 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 return.KEY_A;.../........case.0x
8ee0 30 30 37 33 3a 20 63 61 73 65 20 30 78 30 30 35 33 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 53 3b 0073:.case.0x0053:.return.KEY_S;
8f00 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 36 34 3a 20 63 61 73 65 20 30 78 .../........case.0x0064:.case.0x
8f20 30 30 34 34 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 44 3b 00 00 00 26 20 20 20 20 20 20 20 20 63 0044:.return.KEY_D;...&........c
8f40 61 73 65 20 30 78 30 30 32 30 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 53 50 41 43 45 3b 00 00 00 ase.0x0020:.return.KEY_SPACE;...
8f60 24 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 66 66 31 62 3a 20 72 65 74 75 72 6e 20 4b 45 59 $........case.0xff1b:.return.KEY
8f80 5f 45 53 43 3b 00 00 00 22 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 33 31 3a 20 72 65 _ESC;..."........case.0x0031:.re
8fa0 74 75 72 6e 20 4b 45 59 5f 31 3b 00 00 00 22 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 turn.KEY_1;..."........case.0x00
8fc0 33 32 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 32 3b 00 00 00 22 20 20 20 20 20 20 20 20 63 61 73 32:.return.KEY_2;..."........cas
8fe0 65 20 30 78 30 30 33 33 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 33 3b 00 00 00 1b 20 20 20 20 20 e.0x0033:.return.KEY_3;.........
9000 20 20 20 64 65 66 61 75 6c 74 3a 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 00 05 20 20 20 20 7d 00 ...default:.return.-1;........}.
9020 00 00 01 7d 00 00 00 00 00 00 00 82 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 ...}........static.void.keyboard
9040 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f _key(void.*data,.struct.wl_keybo
9060 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 ard.*keyboard,.uint32_t.serial,.
9080 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 2c 20 75 69 6e uint32_t.time,.uint32_t.key,.uin
90a0 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 2d 20 20 20 20 28 76 6f 69 64 29 6b 65 79 62 t32_t.state).{...-....(void)keyb
90c0 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 oard;.(void)serial;.(void)time;.
90e0 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b .......WaylandBackend.*b.=.data;
9100 00 00 00 1f 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 73 79 6d 20 3d 20 6b 65 79 20 2b 20 ........uint32_t.keysym.=.key.+.
9120 38 3b 20 00 00 00 22 20 20 20 20 69 6e 74 20 6b 20 3d 20 6b 65 79 73 79 6d 5f 74 6f 5f 6b 65 79 8;...."....int.k.=.keysym_to_key
9140 28 6b 65 79 73 79 6d 29 3b 00 00 00 56 20 20 20 20 69 66 20 28 6b 20 3e 3d 20 30 29 20 62 2d 3e (keysym);...V....if.(k.>=.0).b->
9160 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6b 65 79 73 5b 6b 5d 20 3d 20 28 73 74 61 74 65 win_inst->state.keys[k].=.(state
9180 20 3d 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 45 5f 50 52 45 53 53 45 .==.WL_KEYBOARD_KEY_STATE_PRESSE
91a0 44 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 6f 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 D);....}.......ostatic.void.keyb
91c0 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 oard_keymap(void.*data,.struct.w
91e0 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 66 l_keyboard.*keyboard,.uint32_t.f
9200 6f 72 6d 61 74 2c 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 29 20 7b 00 ormat,.int.fd,.uint32_t.size).{.
9220 00 00 39 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 ..9....(void)data;.(void)keyboar
9240 64 3b 20 28 76 6f 69 64 29 66 6f 72 6d 61 74 3b 20 28 76 6f 69 64 29 73 69 7a 65 3b 00 00 00 0e d;.(void)format;.(void)size;....
9260 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 8a 73 74 61 74 69 ....close(fd);....}........stati
9280 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 c.void.keyboard_enter(void.*data
92a0 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 ,.struct.wl_keyboard.*keyboard,.
92c0 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 uint32_t.serial,.struct.wl_surfa
92e0 63 65 20 2a 73 75 72 66 61 63 65 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 6b 65 ce.*surface,.struct.wl_array.*ke
9300 79 73 29 20 7b 00 00 00 48 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 6b ys).{...H....(void)data;.(void)k
9320 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 73 75 72 eyboard;.(void)serial;.(void)sur
9340 66 61 63 65 3b 20 28 76 6f 69 64 29 6b 65 79 73 3b 00 00 00 01 7d 00 00 00 00 00 00 00 73 73 74 face;.(void)keys;....}.......sst
9360 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 28 76 6f 69 64 20 2a 64 atic.void.keyboard_leave(void.*d
9380 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 ata,.struct.wl_keyboard.*keyboar
93a0 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 d,.uint32_t.serial,.struct.wl_su
93c0 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 20 7b 00 00 00 3c 20 20 20 20 28 76 6f 69 64 29 64 rface.*surface).{...<....(void)d
93e0 61 74 61 3b 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 ata;.(void)keyboard;.(void)seria
9400 6c 3b 20 28 76 6f 69 64 29 73 75 72 66 61 63 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 b1 73 74 l;.(void)surface;....}........st
9420 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 28 76 6f 69 atic.void.keyboard_modifiers(voi
9440 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 d.*data,.struct.wl_keyboard.*key
9460 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 board,.uint32_t.serial,.uint32_t
9480 20 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c .mods_depressed,.uint32_t.mods_l
94a0 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 6f 63 6b 65 64 2c 20 75 69 atched,.uint32_t.mods_locked,.ui
94c0 6e 74 33 32 5f 74 20 67 72 6f 75 70 29 20 7b 00 00 00 77 20 20 20 20 28 76 6f 69 64 29 64 61 74 nt32_t.group).{...w....(void)dat
94e0 61 3b 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b a;.(void)keyboard;.(void)serial;
9500 20 28 76 6f 69 64 29 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 3b 20 28 76 6f 69 64 29 6d 6f 64 .(void)mods_depressed;.(void)mod
9520 73 5f 6c 61 74 63 68 65 64 3b 20 28 76 6f 69 64 29 6d 6f 64 73 5f 6c 6f 63 6b 65 64 3b 20 28 76 s_latched;.(void)mods_locked;.(v
9540 6f 69 64 29 67 72 6f 75 70 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f oid)group;....}.......>static.co
9560 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 nst.struct.wl_keyboard_listener.
9580 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 6b 65 keyboard_listener.=.{.........ke
95a0 79 6d 61 70 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 00 00 1c 20 20 20 20 2e ymap.=.keyboard_keymap,.........
95c0 65 6e 74 65 72 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 00 00 1c 20 20 20 20 2e enter.=.keyboard_enter,.........
95e0 6c 65 61 76 65 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 00 00 18 20 20 20 20 2e leave.=.keyboard_leave,.........
9600 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 23 20 20 20 20 2e 6d 6f 64 69 key.=.keyboard_key,...#.....modi
9620 66 69 65 72 73 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 72 73 00 00 00 02 7d 3b fiers.=.keyboard_modifiers....};
9640 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 5f 63 61 70 61 62 69 6c .......Xstatic.void.seat_capabil
9660 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 65 61 74 ities(void.*data,.struct.wl_seat
9680 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c 69 74 69 65 73 29 20 7b .*seat,.uint32_t.capabilities).{
96a0 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 ........WaylandBackend.*b.=.data
96c0 3b 00 00 00 45 20 20 20 20 69 66 20 28 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f ;...E....if.((capabilities.&.WL_
96e0 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 21 62 2d 3e SEAT_CAPABILITY_POINTER).&&.!b->
9700 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 62 2d 3e 70 6f 69 6e 74 65 72 pointer).{.../........b->pointer
9720 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 65 61 74 29 3b 00 00 00 .=.wl_seat_get_pointer(seat);...
9740 42 20 20 20 20 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 B........wl_pointer_add_listener
9760 28 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 26 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 2c 20 (b->pointer,.&pointer_listener,.
9780 62 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 b);...*........if.(b->relative_p
97a0 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 29 20 7b 00 00 00 80 20 20 20 20 20 20 20 20 20 20 20 ointer_manager).{...............
97c0 20 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 72 65 6c 61 74 .b->relative_pointer.=.zwp_relat
97e0 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 67 65 74 5f 72 65 6c 61 74 ive_pointer_manager_v1_get_relat
9800 69 76 65 5f 70 6f 69 6e 74 65 72 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f ive_pointer(b->relative_pointer_
9820 6d 61 6e 61 67 65 72 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 65 20 20 20 20 20 20 20 manager,.b->pointer);...e.......
9840 20 20 20 20 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 61 64 64 .....zwp_relative_pointer_v1_add
9860 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 2c 20 26 _listener(b->relative_pointer,.&
9880 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 relative_pointer_listener,.b);..
98a0 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 33 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 70 6f ..........}...3........if.(b->po
98c0 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 26 26 20 62 2d 3e 73 75 72 66 61 63 65 29 inter_constraints.&&.b->surface)
98e0 20 7b 00 00 00 b3 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 6c 6f 63 6b 65 64 5f 70 6f 69 6e .{................b->locked_poin
9900 74 65 72 20 3d 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 ter.=.zwp_pointer_constraints_v1
9920 5f 6c 6f 63 6b 5f 70 6f 69 6e 74 65 72 28 62 2d 3e 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 _lock_pointer(b->pointer_constra
9940 69 6e 74 73 2c 20 62 2d 3e 73 75 72 66 61 63 65 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 4e 55 ints,.b->surface,.b->pointer,.NU
9960 4c 4c 2c 20 5a 57 50 5f 50 4f 49 4e 54 45 52 5f 43 4f 4e 53 54 52 41 49 4e 54 53 5f 56 31 5f 4c LL,.ZWP_POINTER_CONSTRAINTS_V1_L
9980 49 46 45 5f 46 45 45 44 42 41 43 4b 5f 50 45 52 53 49 53 54 45 4e 54 29 3b 00 00 00 09 20 20 20 IFE_FEEDBACK_PERSISTENT);.......
99a0 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 45 20 20 20 20 69 66 20 28 21 28 63 61 70 .....}........}...E....if.(!(cap
99c0 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 abilities.&.WL_SEAT_CAPABILITY_P
99e0 4f 49 4e 54 45 52 29 20 26 26 20 62 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 76 20 20 20 20 OINTER).&&.b->pointer).{...v....
9a00 20 20 20 20 69 66 20 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 29 20 7b 20 7a ....if.(b->relative_pointer).{.z
9a20 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 64 65 73 74 72 6f 79 28 62 wp_relative_pointer_v1_destroy(b
9a40 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 29 3b 20 62 2d 3e 72 65 6c 61 74 69 76 65 ->relative_pointer);.b->relative
9a60 5f 70 6f 69 6e 74 65 72 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 27 20 20 20 20 20 20 20 20 77 6c _pointer.=.NULL;.}...'........wl
9a80 5f 70 6f 69 6e 74 65 72 5f 64 65 73 74 72 6f 79 28 62 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 _pointer_destroy(b->pointer);...
9aa0 1a 20 20 20 20 20 20 20 20 62 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 .........b->pointer.=.NULL;.....
9ac0 20 20 20 7d 00 00 00 00 00 00 00 47 20 20 20 20 69 66 20 28 28 63 61 70 61 62 69 6c 69 74 69 65 ...}.......G....if.((capabilitie
9ae0 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 s.&.WL_SEAT_CAPABILITY_KEYBOARD)
9b00 20 26 26 20 21 62 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 31 20 20 20 20 20 20 20 20 62 .&&.!b->keyboard).{...1........b
9b20 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 6f 61 72 ->keyboard.=.wl_seat_get_keyboar
9b40 64 28 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f d(seat);...E........wl_keyboard_
9b60 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 6b 65 79 62 6f 61 72 64 2c 20 26 6b 65 79 62 6f add_listener(b->keyboard,.&keybo
9b80 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 47 20 20 ard_listener,.b);........}...G..
9ba0 20 20 69 66 20 28 21 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 ..if.(!(capabilities.&.WL_SEAT_C
9bc0 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 62 2d 3e 6b 65 79 62 6f 61 APABILITY_KEYBOARD).&&.b->keyboa
9be0 72 64 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 64 65 73 rd).{...)........wl_keyboard_des
9c00 74 72 6f 79 28 62 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 62 2d troy(b->keyboard);............b-
9c20 3e 6b 65 79 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 >keyboard.=.NULL;........}....}.
9c40 00 00 00 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 73 65 ......6static.const.struct.wl_se
9c60 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 at_listener.seat_listener.=.{...
9c80 25 20 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 61 62 69 %.....capabilities.=.seat_capabi
9ca0 6c 69 74 69 65 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 7f 73 74 61 74 69 63 20 76 6f 69 64 20 lities....};........static.void.
9cc0 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 registry_global(void.*data,.stru
9ce0 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 ct.wl_registry.*registry,.uint32
9d00 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 20 _t.name,.const.char.*interface,.
9d20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 uint32_t.version).{........Wayla
9d40 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3f 20 20 20 20 69 66 20 28 ndBackend.*b.=.data;...?....if.(
9d60 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f strcmp(interface,.wl_compositor_
9d80 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 56 20 20 20 20 20 interface.name).==.0).{...V.....
9da0 20 20 20 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 ...b->compositor.=.wl_registry_b
9dc0 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 ind(registry,.name,.&wl_composit
9de0 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 44 20 20 20 20 7d 20 65 6c 73 65 20 or_interface,.4);...D....}.else.
9e00 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 78 64 67 5f 77 6d 5f 62 61 73 if.(strcmp(interface,.xdg_wm_bas
9e20 65 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 62 20 20 20 e_interface.name).==.0).{...b...
9e40 20 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 .....struct.xdg_wm_base.*wm_base
9e60 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 .=.wl_registry_bind(registry,.na
9e80 6d 65 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 me,.&xdg_wm_base_interface,.1);.
9ea0 00 00 16 20 20 20 20 20 20 20 20 28 76 6f 69 64 29 77 6d 5f 62 61 73 65 3b 00 00 00 40 20 20 20 ...........(void)wm_base;...@...
9ec0 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 77 6c .}.else.if.(strcmp(interface,.wl
9ee0 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 _seat_interface.name).==.0).{...
9f00 4a 20 20 20 20 20 20 20 20 62 2d 3e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 J........b->seat.=.wl_registry_b
9f20 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 ind(registry,.name,.&wl_seat_int
9f40 65 72 66 61 63 65 2c 20 37 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 erface,.7);...9........wl_seat_a
9f60 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 dd_listener(b->seat,.&seat_liste
9f80 6e 65 72 2c 20 62 29 3b 00 00 00 58 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d ner,.b);...X....}.else.if.(strcm
9fa0 70 28 69 6e 74 65 72 66 61 63 65 2c 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 p(interface,.zwp_relative_pointe
9fc0 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 r_manager_v1_interface.name).==.
9fe0 30 29 20 7b 00 00 00 76 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 0).{...v........b->relative_poin
a000 74 65 72 5f 6d 61 6e 61 67 65 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 ter_manager.=.wl_registry_bind(r
a020 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 egistry,.name,.&zwp_relative_poi
a040 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 nter_manager_v1_interface,.1);..
a060 00 53 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 .S....}.else.if.(strcmp(interfac
a080 65 2c 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e e,.zwp_pointer_constraints_v1_in
a0a0 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 6c 20 20 20 20 20 20 20 terface.name).==.0).{...l.......
a0c0 20 62 2d 3e 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 77 6c 5f 72 65 67 .b->pointer_constraints.=.wl_reg
a0e0 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f istry_bind(registry,.name,.&zwp_
a100 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 pointer_constraints_v1_interface
a120 2c 20 31 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 5d 73 74 61 74 69 ,.1);........}....}.......]stati
a140 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f c.void.registry_global_remove(vo
a160 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 id.*data,.struct.wl_registry.*re
a180 67 69 73 74 72 79 2c 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 20 7b 00 00 00 2b 20 20 20 20 gistry,.uint32_t.name).{...+....
a1a0 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 72 65 67 69 73 74 72 79 3b 20 28 76 6f 69 (void)data;.(void)registry;.(voi
a1c0 64 29 6e 61 6d 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 d)name;....}.......>static.const
a1e0 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 .struct.wl_registry_listener.reg
a200 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 67 6c 6f 62 61 istry_listener.=.{.........globa
a220 6c 20 3d 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 2c 00 00 00 2b 20 20 20 20 2e 67 6c 6f l.=.registry_global,...+.....glo
a240 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d bal_remove.=.registry_global_rem
a260 6f 76 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 54 69 6e 74 20 77 69 6e 64 6f 77 5f 77 61 79 6c ove....};.......Tint.window_wayl
a280 61 6e 64 5f 69 6e 69 74 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 2c 20 69 6e 74 20 77 69 and_init(NativeWindow.*w,.int.wi
a2a0 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 69 74 dth,.int.height,.const.char.*tit
a2c0 6c 65 29 20 7b 00 00 00 10 20 20 20 20 28 76 6f 69 64 29 74 69 74 6c 65 3b 00 00 00 3a 20 20 20 le).{........(void)title;...:...
a2e0 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 63 61 6c 6c 6f 63 28 31 2c 20 73 .WaylandBackend.*b.=.calloc(1,.s
a300 69 7a 65 6f 66 28 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 29 29 3b 00 00 00 13 20 20 20 20 77 izeof(WaylandBackend));........w
a320 2d 3e 62 61 63 6b 65 6e 64 20 3d 20 62 3b 00 00 00 14 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 ->backend.=.b;........b->win_ins
a340 74 20 3d 20 77 3b 00 00 00 00 00 00 00 2a 20 20 20 20 62 2d 3e 64 69 73 70 6c 61 79 20 3d 20 77 t.=.w;.......*....b->display.=.w
a360 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 2b 20 20 20 20 l_display_connect(NULL);...+....
a380 69 66 20 28 21 62 2d 3e 64 69 73 70 6c 61 79 29 20 7b 20 66 72 65 65 28 62 29 3b 20 72 65 74 75 if.(!b->display).{.free(b);.retu
a3a0 72 6e 20 30 3b 20 7d 00 00 00 00 00 00 00 36 20 20 20 20 62 2d 3e 72 65 67 69 73 74 72 79 20 3d rn.0;.}.......6....b->registry.=
a3c0 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 62 2d 3e 64 69 73 70 .wl_display_get_registry(b->disp
a3e0 6c 61 79 29 3b 00 00 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 lay);...A....wl_registry_add_lis
a400 74 65 6e 65 72 28 62 2d 3e 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 tener(b->registry,.&registry_lis
a420 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 tener,.b);...%....wl_display_rou
a440 6e 64 74 72 69 70 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 51 20 20 20 20 69 ndtrip(b->display);.......Q....i
a460 66 20 28 21 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 29 20 7b 20 77 6c 5f 64 69 73 70 6c 61 79 5f f.(!b->compositor).{.wl_display_
a480 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 20 66 72 65 65 28 62 29 3b disconnect(b->display);.free(b);
a4a0 20 72 65 74 75 72 6e 20 30 3b 20 7d 00 00 00 00 00 00 00 3d 20 20 20 20 62 2d 3e 73 75 72 66 61 .return.0;.}.......=....b->surfa
a4c0 63 65 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 ce.=.wl_compositor_create_surfac
a4e0 65 28 62 2d 3e 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 44 20 20 20 20 62 2d 3e 65 67 6c 5f e(b->compositor);...D....b->egl_
a500 77 69 6e 64 6f 77 20 3d 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 63 72 65 61 74 65 28 62 2d window.=.wl_egl_window_create(b-
a520 3e 73 75 72 66 61 63 65 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 00 00 00 00 >surface,.width,.height);.......
a540 45 20 20 20 20 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 20 3d 20 65 67 6c 47 65 74 44 69 73 70 E....b->egl_display.=.eglGetDisp
a560 6c 61 79 28 28 45 47 4c 4e 61 74 69 76 65 44 69 73 70 6c 61 79 54 79 70 65 29 62 2d 3e 64 69 73 lay((EGLNativeDisplayType)b->dis
a580 70 6c 61 79 29 3b 00 00 00 2e 20 20 20 20 65 67 6c 49 6e 69 74 69 61 6c 69 7a 65 28 62 2d 3e 65 play);........eglInitialize(b->e
a5a0 67 6c 5f 64 69 73 70 6c 61 79 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 00 00 00 1f 20 20 20 20 gl_display,.NULL,.NULL);........
a5c0 65 67 6c 42 69 6e 64 41 50 49 28 45 47 4c 5f 4f 50 45 4e 47 4c 5f 41 50 49 29 3b 00 00 00 00 00 eglBindAPI(EGL_OPENGL_API);.....
a5e0 00 00 18 20 20 20 20 45 47 4c 69 6e 74 20 61 74 74 72 69 62 73 5b 5d 20 3d 20 7b 00 00 00 29 20 .......EGLint.attribs[].=.{...).
a600 20 20 20 20 20 20 20 45 47 4c 5f 53 55 52 46 41 43 45 5f 54 59 50 45 2c 20 45 47 4c 5f 57 49 4e .......EGL_SURFACE_TYPE,.EGL_WIN
a620 44 4f 57 5f 42 49 54 2c 00 00 00 18 20 20 20 20 20 20 20 20 45 47 4c 5f 52 45 44 5f 53 49 5a 45 DOW_BIT,............EGL_RED_SIZE
a640 2c 20 38 2c 00 00 00 1a 20 20 20 20 20 20 20 20 45 47 4c 5f 47 52 45 45 4e 5f 53 49 5a 45 2c 20 ,.8,............EGL_GREEN_SIZE,.
a660 38 2c 00 00 00 19 20 20 20 20 20 20 20 20 45 47 4c 5f 42 4c 55 45 5f 53 49 5a 45 2c 20 38 2c 00 8,............EGL_BLUE_SIZE,.8,.
a680 00 00 2c 20 20 20 20 20 20 20 20 45 47 4c 5f 52 45 4e 44 45 52 41 42 4c 45 5f 54 59 50 45 2c 20 ..,........EGL_RENDERABLE_TYPE,.
a6a0 45 47 4c 5f 4f 50 45 4e 47 4c 5f 42 49 54 2c 00 00 00 10 20 20 20 20 20 20 20 20 45 47 4c 5f 4e EGL_OPENGL_BIT,............EGL_N
a6c0 4f 4e 45 00 00 00 06 20 20 20 20 7d 3b 00 00 00 15 20 20 20 20 45 47 4c 43 6f 6e 66 69 67 20 63 ONE........};........EGLConfig.c
a6e0 6f 6e 66 69 67 3b 00 00 00 17 20 20 20 20 45 47 4c 69 6e 74 20 6e 75 6d 5f 63 6f 6e 66 69 67 73 onfig;........EGLint.num_configs
a700 3b 00 00 00 47 20 20 20 20 65 67 6c 43 68 6f 6f 73 65 43 6f 6e 66 69 67 28 62 2d 3e 65 67 6c 5f ;...G....eglChooseConfig(b->egl_
a720 64 69 73 70 6c 61 79 2c 20 61 74 74 72 69 62 73 2c 20 26 63 6f 6e 66 69 67 2c 20 31 2c 20 26 6e display,.attribs,.&config,.1,.&n
a740 75 6d 5f 63 6f 6e 66 69 67 73 29 3b 00 00 00 00 00 00 00 54 20 20 20 20 62 2d 3e 65 67 6c 5f 63 um_configs);.......T....b->egl_c
a760 6f 6e 74 65 78 74 20 3d 20 65 67 6c 43 72 65 61 74 65 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c ontext.=.eglCreateContext(b->egl
a780 5f 64 69 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 _display,.config,.EGL_NO_CONTEXT
a7a0 2c 20 4e 55 4c 4c 29 3b 00 00 00 6e 20 20 20 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 20 3d ,.NULL);...n....b->egl_surface.=
a7c0 20 65 67 6c 43 72 65 61 74 65 57 69 6e 64 6f 77 53 75 72 66 61 63 65 28 62 2d 3e 65 67 6c 5f 64 .eglCreateWindowSurface(b->egl_d
a7e0 69 73 70 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 20 28 45 47 4c 4e 61 74 69 76 65 57 69 6e 64 6f 77 isplay,.config,.(EGLNativeWindow
a800 54 79 70 65 29 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 2c 20 4e 55 4c 4c 29 3b 00 00 00 53 20 20 Type)b->egl_window,.NULL);...S..
a820 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c ..eglMakeCurrent(b->egl_display,
a840 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c .b->egl_surface,.b->egl_surface,
a860 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 77 2d 3e .b->egl_context);............w->
a880 73 74 61 74 65 2e 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 1d 20 20 20 20 77 2d 3e 73 state.width.=.width;........w->s
a8a0 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 0d 20 20 20 20 72 65 74 tate.height.=.height;........ret
a8c0 75 72 6e 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 76 6f 69 64 20 77 69 6e 64 6f 77 5f 77 urn.1;....}.......+void.window_w
a8e0 61 79 6c 61 6e 64 5f 70 6f 6c 6c 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 29 20 7b 00 00 ayland_poll(NativeWindow.*w).{..
a900 00 23 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 2d 3e 62 61 63 .#....WaylandBackend.*b.=.w->bac
a920 6b 65 6e 64 3b 00 00 00 1a 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 78 20 3d kend;........w->state.mouse_dx.=
a940 20 30 3b 00 00 00 1a 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 3d 20 30 .0;........w->state.mouse_dy.=.0
a960 3b 00 00 00 35 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 ;...5....while.(wl_display_prepa
a980 72 65 5f 72 65 61 64 28 62 2d 3e 64 69 73 70 6c 61 79 29 20 3c 20 30 29 20 7b 00 00 00 30 20 20 re_read(b->display).<.0).{...0..
a9a0 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e ......wl_display_dispatch_pendin
a9c0 67 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 27 20 20 20 20 77 g(b->display);........}...'....w
a9e0 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 62 2d 3e 64 69 73 70 6c 61 79 l_display_read_events(b->display
aa00 29 3b 00 00 00 2c 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 );...,....wl_display_dispatch_pe
aa20 6e 64 69 6e 67 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 76 nding(b->display);....}.......+v
aa40 6f 69 64 20 77 69 6e 64 6f 77 5f 77 61 79 6c 61 6e 64 5f 73 77 61 70 28 4e 61 74 69 76 65 57 69 oid.window_wayland_swap(NativeWi
aa60 6e 64 6f 77 20 2a 77 29 20 7b 00 00 00 23 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 ndow.*w).{...#....WaylandBackend
aa80 20 2a 62 20 3d 20 77 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 33 20 20 20 20 65 67 6c 53 77 61 70 .*b.=.w->backend;...3....eglSwap
aaa0 42 75 66 66 65 72 73 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 Buffers(b->egl_display,.b->egl_s
aac0 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2e 76 6f 69 64 20 77 69 6e 64 6f 77 urface);....}........void.window
aae0 5f 77 61 79 6c 61 6e 64 5f 64 65 73 74 72 6f 79 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 _wayland_destroy(NativeWindow.*w
ab00 29 20 7b 00 00 00 23 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 ).{...#....WaylandBackend.*b.=.w
ab20 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 19 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 64 69 73 ->backend;........if.(b->egl_dis
ab40 70 6c 61 79 29 20 7b 00 00 00 57 20 20 20 20 20 20 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e play).{...W........eglMakeCurren
ab60 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 45 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 t(b->egl_display,.EGL_NO_SURFACE
ab80 2c 20 45 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 ,.EGL_NO_SURFACE,.EGL_NO_CONTEXT
aba0 29 3b 00 00 00 3a 20 20 20 20 20 20 20 20 65 67 6c 44 65 73 74 72 6f 79 53 75 72 66 61 63 65 28 );...:........eglDestroySurface(
abc0 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 29 3b b->egl_display,.b->egl_surface);
abe0 00 00 00 3a 20 20 20 20 20 20 20 20 65 67 6c 44 65 73 74 72 6f 79 43 6f 6e 74 65 78 74 28 62 2d ...:........eglDestroyContext(b-
ac00 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 >egl_display,.b->egl_context);..
ac20 00 25 20 20 20 20 20 20 20 20 65 67 6c 54 65 72 6d 69 6e 61 74 65 28 62 2d 3e 65 67 6c 5f 64 69 .%........eglTerminate(b->egl_di
ac40 73 70 6c 61 79 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 3c 20 20 20 20 69 66 20 28 62 2d 3e 65 splay);........}...<....if.(b->e
ac60 67 6c 5f 77 69 6e 64 6f 77 29 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 64 65 73 74 72 6f 79 gl_window).wl_egl_window_destroy
ac80 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 3b 00 00 00 33 20 20 20 20 69 66 20 28 62 2d 3e 73 (b->egl_window);...3....if.(b->s
aca0 75 72 66 61 63 65 29 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 62 2d 3e 73 75 urface).wl_surface_destroy(b->su
acc0 72 66 61 63 65 29 3b 00 00 00 36 20 20 20 20 69 66 20 28 62 2d 3e 64 69 73 70 6c 61 79 29 20 77 rface);...6....if.(b->display).w
ace0 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 l_display_disconnect(b->display)
ad00 3b 00 00 00 0c 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 ;........free(b);....}5.........
ad20 00 00 00 00 00 00 25 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 de 2c ......%........................,
ad40 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 07 00 00 00 00 00 00 ..............5._...............
ad60 00 00 00 00 00 06 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 48 74 04 01 00 00 00 03 00 f5 ....................jcHt........
aee0 18 00 00 00 cc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 17 20 20 20 20 20 20 20 20 62 2d 3e .............................b->
af00 73 65 61 74 20 3d 20 77 6c 5f 72 65 f5 18 00 00 00 cd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 seat.=.wl_re....................
af20 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 2e 72 65 6c 61 74 69 76 ...o.....................relativ
af40 65 5f 6d 6f 74 69 6f 6e 20 3d 20 72 65 6c 61 74 f5 18 00 00 00 70 00 00 00 00 00 00 00 00 00 00 e_motion.=.relat.....p..........
af60 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 01 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........5.....................
afa0 00 00 6f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 0f 00 00 00 00 ..o.............................
afc0 00 00 f5 18 00 00 00 00 6f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 5d 00 00 00 17 00 00 00 ........o...............].......
afe0 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 f5 18 00 00 00 00 cc 00 ................................
b000 00 00 17 00 00 00 00 00 00 00 00 00 00 00 5e 00 00 00 01 00 00 00 f8 1f 00 00 00 00 00 00 00 00 ..............^.................
b020 00 00 00 00 00 00 66 0d 00 00 00 00 00 00 35 81 5f d0 00 00 00 06 00 00 00 08 00 00 00 00 00 00 ......f.......5._...............
b040 00 00 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 ................................
b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 49 98 04 01 00 00 00 00 00 f5 ....................jcI.........
b1c0 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 2b 00 00 00 13 23 64 65 66 69 6e 65 20 5f 47 4e ................+....#define._GN
b1e0 55 5f 53 4f 55 52 43 45 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c U_SOURCE....#include.<wayland-cl
b200 69 65 6e 74 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 65 67 6c ient.h>....#include.<wayland-egl
b220 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 45 47 4c 2f 65 67 6c 2e 68 3e 00 00 00 13 23 .h>....#include.<EGL/egl.h>....#
b240 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c include.<stdlib.h>....#include.<
b260 73 74 72 69 6e 67 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 string.h>....#include.<stdio.h>.
b280 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 ...#include.<unistd.h>....#inclu
b2a0 64 65 20 22 77 69 6e 64 6f 77 2e 68 22 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 de."window.h"...&#include."xdg-s
b2c0 68 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 39 23 69 6e 63 6c hell-client-protocol.h"...9#incl
b2e0 75 64 65 20 22 72 65 6c 61 74 69 76 65 2d 70 6f 69 6e 74 65 72 2d 75 6e 73 74 61 62 6c 65 2d 76 ude."relative-pointer-unstable-v
b300 31 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 3c 23 69 6e 63 6c 75 64 65 1-client-protocol.h"...<#include
b320 20 22 70 6f 69 6e 74 65 72 2d 63 6f 6e 73 74 72 61 69 6e 74 73 2d 75 6e 73 74 61 62 6c 65 2d 76 ."pointer-constraints-unstable-v
b340 31 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 10 74 79 70 65 1-client-protocol.h"........type
b360 64 65 66 20 73 74 72 75 63 74 20 7b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 def.struct.{........struct.wl_di
b380 73 70 6c 61 79 20 2a 64 69 73 70 6c 61 79 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 20 77 6c splay.*display;...!....struct.wl
b3a0 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 3b 00 00 00 25 20 20 20 20 73 74 72 75 _registry.*registry;...%....stru
b3c0 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 ct.wl_compositor.*compositor;...
b3e0 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 3b .....struct.wl_surface.*surface;
b400 00 00 00 24 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f ...$....struct.xdg_surface.*xdg_
b420 73 75 72 66 61 63 65 3b 00 00 00 26 20 20 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 surface;...&....struct.xdg_tople
b440 76 65 6c 20 2a 78 64 67 5f 74 6f 70 6c 65 76 65 6c 3b 00 00 00 19 20 20 20 20 73 74 72 75 63 74 vel.*xdg_toplevel;........struct
b460 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 3b 00 00 00 1f 20 20 20 20 73 74 72 75 63 74 20 77 6c .wl_seat.*seat;........struct.wl
b480 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 74 _pointer.*pointer;...!....struct
b4a0 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 3b 00 00 00 45 20 20 20 20 73 .wl_keyboard.*keyboard;...E....s
b4c0 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 truct.zwp_relative_pointer_manag
b4e0 65 72 5f 76 31 20 2a 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 3b er_v1.*relative_pointer_manager;
b500 00 00 00 35 20 20 20 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e ...5....struct.zwp_relative_poin
b520 74 65 72 5f 76 31 20 2a 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 3b 00 00 00 3b 20 20 20 ter_v1.*relative_pointer;...;...
b540 20 73 74 72 75 63 74 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f .struct.zwp_pointer_constraints_
b560 76 31 20 2a 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 3b 00 00 00 31 20 20 20 20 v1.*pointer_constraints;...1....
b580 73 74 72 75 63 74 20 7a 77 70 5f 6c 6f 63 6b 65 64 5f 70 6f 69 6e 74 65 72 5f 76 31 20 2a 6c 6f struct.zwp_locked_pointer_v1.*lo
b5a0 63 6b 65 64 5f 70 6f 69 6e 74 65 72 3b 00 00 00 04 20 20 20 20 00 00 00 1b 20 20 20 20 45 47 4c cked_pointer;................EGL
b5c0 44 69 73 70 6c 61 79 20 65 67 6c 5f 64 69 73 70 6c 61 79 3b 00 00 00 1b 20 20 20 20 45 47 4c 43 Display.egl_display;........EGLC
b5e0 6f 6e 74 65 78 74 20 65 67 6c 5f 63 6f 6e 74 65 78 74 3b 00 00 00 1b 20 20 20 20 45 47 4c 53 75 ontext.egl_context;........EGLSu
b600 72 66 61 63 65 20 65 67 6c 5f 73 75 72 66 61 63 65 3b 00 00 00 25 20 20 20 20 73 74 72 75 63 74 rface.egl_surface;...%....struct
b620 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 20 2a 65 67 6c 5f 77 69 6e 64 6f 77 3b 00 00 00 00 00 .wl_egl_window.*egl_window;.....
b640 00 00 1b 20 20 20 20 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 69 6e 5f 69 6e 73 74 3b 00 00 .......NativeWindow.*win_inst;..
b660 00 13 20 20 20 20 69 6e 74 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 11 7d 20 57 61 79 6c 61 ......int.configured;....}.Wayla
b680 6e 64 42 61 63 6b 65 6e 64 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 ndBackend;.......astatic.void.xd
b6a0 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 g_surface_configure(void.*data,.
b6c0 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c struct.xdg_surface.*xdg_surface,
b6e0 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 .uint32_t.serial).{........Wayla
b700 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 33 20 20 20 20 78 64 67 5f ndBackend.*b.=.data;...3....xdg_
b720 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 64 67 5f 73 75 72 66 61 63 surface_ack_configure(xdg_surfac
b740 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 16 20 20 20 20 62 2d 3e 63 6f 6e 66 69 67 75 72 65 64 e,.serial);........b->configured
b760 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 .=.1;....}.......Bstatic.const.s
b780 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 64 67 5f 73 truct.xdg_surface_listener.xdg_s
b7a0 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 5f 20 3d 20 7b 00 00 00 26 20 20 20 20 2e 63 6f 6e urface_listener_.=.{...&.....con
b7c0 66 69 67 75 72 65 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 00 00 figure.=.xdg_surface_configure..
b7e0 00 02 7d 3b 00 00 00 00 00 00 00 83 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c ..};........static.void.toplevel
b800 5f 63 6f 6e 66 69 67 75 72 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 _configure(void.*data,.struct.xd
b820 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 20 69 6e 74 33 32 5f 74 20 77 69 g_toplevel.*toplevel,.int32_t.wi
b840 64 74 68 2c 20 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 dth,.int32_t.height,.struct.wl_a
b860 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 74 6f 70 rray.*states).{........(void)top
b880 6c 65 76 65 6c 3b 00 00 00 11 20 20 20 20 28 76 6f 69 64 29 73 74 61 74 65 73 3b 00 00 00 1d 20 level;........(void)states;.....
b8a0 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 22 ...WaylandBackend.*b.=.data;..."
b8c0 20 20 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 20 68 65 69 67 68 74 20 3e 20 30 29 ....if.(width.>.0.&&.height.>.0)
b8e0 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 .{...)........b->win_inst->state
b900 2e 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 2b 20 20 20 20 20 20 20 20 62 2d 3e 77 69 .width.=.width;...+........b->wi
b920 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 n_inst->state.height.=.height;..
b940 00 1c 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 29 20 7b 00 00 ..........if.(b->egl_window).{..
b960 00 45 20 20 20 20 20 20 20 20 20 20 20 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 72 65 73 69 .E............wl_egl_window_resi
b980 7a 65 28 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c ze(b->egl_window,.width,.height,
b9a0 20 30 2c 20 30 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 .0,.0);............}........}...
b9c0 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c 5f 63 .}.......Gstatic.void.toplevel_c
b9e0 6c 6f 73 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c lose(void.*data,.struct.xdg_topl
ba00 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 29 20 7b 00 00 00 13 20 20 20 20 28 76 6f 69 64 29 74 evel.*toplevel).{........(void)t
ba20 6f 70 6c 65 76 65 6c 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a oplevel;........WaylandBackend.*
ba40 62 20 3d 20 64 61 74 61 3b 00 00 00 28 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 b.=.data;...(....b->win_inst->st
ba60 61 74 65 2e 73 68 6f 75 6c 64 5f 63 6c 6f 73 65 20 3d 20 31 3b 00 00 00 01 7d 00 00 00 00 00 00 ate.should_close.=.1;....}......
ba80 00 3f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 .?static.const.struct.xdg_toplev
baa0 65 6c 5f 6c 69 73 74 65 6e 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 el_listener.toplevel_listener.=.
bac0 7b 00 00 00 24 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f 63 {...$.....configure.=.toplevel_c
bae0 6f 6e 66 69 67 75 72 65 2c 00 00 00 1b 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 onfigure,.........close.=.toplev
bb00 65 6c 5f 63 6c 6f 73 65 00 00 00 02 7d 3b 00 00 00 00 00 00 00 8e 73 74 61 74 69 63 20 76 6f 69 el_close....};........static.voi
bb20 64 20 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 d.pointer_enter(void.*data,.stru
bb40 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 ct.wl_pointer.*pointer,.uint32_t
bb60 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 .serial,.struct.wl_surface.*surf
bb80 61 63 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 ace,.wl_fixed_t.sx,.wl_fixed_t.s
bba0 79 29 20 7b 00 00 00 4f 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 70 6f y).{...O....(void)data;.(void)po
bbc0 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 73 75 72 66 61 inter;.(void)serial;.(void)surfa
bbe0 63 65 3b 20 28 76 6f 69 64 29 73 78 3b 20 28 76 6f 69 64 29 73 79 3b 00 00 00 01 7d 00 00 00 00 ce;.(void)sx;.(void)sy;....}....
bc00 00 00 00 70 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6c 65 61 76 65 28 76 6f ...pstatic.void.pointer_leave(vo
bc20 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 id.*data,.struct.wl_pointer.*poi
bc40 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 77 6c nter,.uint32_t.serial,.struct.wl
bc60 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 20 7b 00 00 00 3b 20 20 20 20 28 76 6f 69 _surface.*surface).{...;....(voi
bc80 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 73 65 72 d)data;.(void)pointer;.(void)ser
bca0 69 61 6c 3b 20 28 76 6f 69 64 29 73 75 72 66 61 63 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 ial;.(void)surface;....}.......q
bcc0 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 static.void.pointer_motion(void.
bce0 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 *data,.struct.wl_pointer.*pointe
bd00 72 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 78 2c r,.uint32_t.time,.wl_fixed_t.sx,
bd20 20 77 6c 5f 66 69 78 65 64 5f 74 20 73 79 29 20 7b 00 00 00 3e 20 20 20 20 28 76 6f 69 64 29 64 .wl_fixed_t.sy).{...>....(void)d
bd40 61 74 61 3b 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 ata;.(void)pointer;.(void)time;.
bd60 28 76 6f 69 64 29 73 78 3b 20 28 76 6f 69 64 29 73 79 3b 00 00 00 01 7d 00 00 00 00 00 00 00 85 (void)sx;.(void)sy;....}........
bd80 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 28 76 6f 69 64 20 static.void.pointer_button(void.
bda0 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 *data,.struct.wl_pointer.*pointe
bdc0 72 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d r,.uint32_t.serial,.uint32_t.tim
bde0 65 2c 20 75 69 6e 74 33 32 5f 74 20 62 75 74 74 6f 6e 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 e,.uint32_t.button,.uint32_t.sta
be00 74 65 29 20 7b 00 00 00 2c 20 20 20 20 28 76 6f 69 64 29 70 6f 69 6e 74 65 72 3b 20 28 76 6f 69 te).{...,....(void)pointer;.(voi
be20 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 00 00 00 1d 20 20 20 20 57 61 79 d)serial;.(void)time;........Way
be40 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 3d 20 20 20 20 69 6e landBackend.*b.=.data;...=....in
be60 74 20 70 72 65 73 73 65 64 20 3d 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 50 4f 49 4e 54 45 52 t.pressed.=.(state.==.WL_POINTER
be80 5f 42 55 54 54 4f 4e 5f 53 54 41 54 45 5f 50 52 45 53 53 45 44 29 3b 00 00 00 41 20 20 20 20 69 _BUTTON_STATE_PRESSED);...A....i
bea0 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 30 78 31 31 30 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d f.(button.==.0x110).b->win_inst-
bec0 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 6c 65 66 74 20 3d 20 70 72 65 73 73 65 64 3b 00 00 00 42 >state.mouse_left.=.pressed;...B
bee0 20 20 20 20 69 66 20 28 62 75 74 74 6f 6e 20 3d 3d 20 30 78 31 31 31 29 20 62 2d 3e 77 69 6e 5f ....if.(button.==.0x111).b->win_
bf00 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 72 69 67 68 74 20 3d 20 70 72 65 73 73 65 inst->state.mouse_right.=.presse
bf20 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 72 73 74 61 74 69 63 20 76 6f 69 64 20 70 6f 69 6e 74 d;....}.......rstatic.void.point
bf40 65 72 5f 61 78 69 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 70 6f er_axis(void.*data,.struct.wl_po
bf60 69 6e 74 65 72 20 2a 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 inter.*pointer,.uint32_t.time,.u
bf80 69 6e 74 33 32 5f 74 20 61 78 69 73 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 76 61 6c 75 65 29 20 int32_t.axis,.wl_fixed_t.value).
bfa0 7b 00 00 00 43 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 70 6f 69 6e 74 {...C....(void)data;.(void)point
bfc0 65 72 3b 20 28 76 6f 69 64 29 74 69 6d 65 3b 20 28 76 6f 69 64 29 61 78 69 73 3b 20 28 76 6f 69 er;.(void)time;.(void)axis;.(voi
bfe0 64 29 76 61 6c 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 63 6f 6e 73 d)value;....}.......<static.cons
c000 74 20 73 74 72 75 63 74 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 70 6f 69 t.struct.wl_pointer_listener.poi
c020 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 2e 65 6e 74 65 72 20 nter_listener.=.{.........enter.
c040 3d 20 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 2c 00 00 00 1b 20 20 20 20 2e 6c 65 61 76 65 20 3d =.pointer_enter,.........leave.=
c060 20 70 6f 69 6e 74 65 72 5f 6c 65 61 76 65 2c 00 00 00 1d 20 20 20 20 2e 6d 6f 74 69 6f 6e 20 3d .pointer_leave,.........motion.=
c080 20 70 6f 69 6e 74 65 72 5f 6d 6f 74 69 6f 6e 2c 00 00 00 1d 20 20 20 20 2e 62 75 74 74 6f 6e 20 .pointer_motion,.........button.
c0a0 3d 20 70 6f 69 6e 74 65 72 5f 62 75 74 74 6f 6e 2c 00 00 00 18 20 20 20 20 2e 61 78 69 73 20 3d =.pointer_button,.........axis.=
c0c0 20 70 6f 69 6e 74 65 72 5f 61 78 69 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 c7 73 74 61 74 69 .pointer_axis....};........stati
c0e0 63 20 76 6f 69 64 20 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 28 76 6f 69 64 20 2a 64 61 74 c.void.relative_motion(void.*dat
c100 61 2c 20 73 74 72 75 63 74 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 a,.struct.zwp_relative_pointer_v
c120 31 20 2a 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 2c 20 75 69 6e 74 33 32 5f 74 20 75 74 1.*relative_pointer,.uint32_t.ut
c140 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 69 6d 65 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 ime,.uint32_t.stime,.wl_fixed_t.
c160 64 78 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 79 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 78 dx,.wl_fixed_t.dy,.wl_fixed_t.dx
c180 5f 75 6e 61 63 63 65 6c 2c 20 77 6c 5f 66 69 78 65 64 5f 74 20 64 79 5f 75 6e 61 63 63 65 6c 29 _unaccel,.wl_fixed_t.dy_unaccel)
c1a0 20 7b 00 00 00 49 20 20 20 20 28 76 6f 69 64 29 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 .{...I....(void)relative_pointer
c1c0 3b 20 28 76 6f 69 64 29 75 74 69 6d 65 3b 20 28 76 6f 69 64 29 73 74 69 6d 65 3b 20 28 76 6f 69 ;.(void)utime;.(void)stime;.(voi
c1e0 64 29 64 78 3b 20 28 76 6f 69 64 29 64 79 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 d)dx;.(void)dy;........WaylandBa
c200 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 42 20 20 20 20 62 2d 3e 77 69 6e 5f 69 ckend.*b.=.data;...B....b->win_i
c220 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 78 20 2b 3d 20 77 6c 5f 66 69 78 65 64 5f nst->state.mouse_dx.+=.wl_fixed_
c240 74 6f 5f 64 6f 75 62 6c 65 28 64 78 5f 75 6e 61 63 63 65 6c 29 3b 00 00 00 42 20 20 20 20 62 2d to_double(dx_unaccel);...B....b-
c260 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 2b 3d 20 77 6c 5f >win_inst->state.mouse_dy.+=.wl_
c280 66 69 78 65 64 5f 74 6f 5f 64 6f 75 62 6c 65 28 64 79 5f 75 6e 61 63 63 65 6c 29 3b 00 00 00 01 fixed_to_double(dy_unaccel);....
c2a0 7d 00 00 00 00 00 00 00 52 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7a 77 70 }.......Rstatic.const.struct.zwp
c2c0 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 6c 69 73 74 65 6e 65 72 20 72 65 _relative_pointer_v1_listener.re
c2e0 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 26 20 lative_pointer_listener.=.{...&.
c300 20 20 20 2e 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 20 3d 20 72 65 6c 61 74 69 76 65 5f 6d ....relative_motion.=.relative_m
c320 6f 74 69 6f 6e 00 00 00 02 7d 3b 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 69 6e 74 20 6b 65 otion....};.......'static.int.ke
c340 79 73 79 6d 5f 74 6f 5f 6b 65 79 28 75 69 6e 74 33 32 5f 74 20 6b 73 29 20 7b 00 00 00 11 20 20 ysym_to_key(uint32_t.ks).{......
c360 20 20 73 77 69 74 63 68 20 28 6b 73 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 ..switch.(ks).{.../........case.
c380 30 78 30 30 37 37 3a 20 63 61 73 65 20 30 78 30 30 35 37 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 0x0077:.case.0x0057:.return.KEY_
c3a0 57 3b 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 36 31 3a 20 63 61 73 65 20 W;.../........case.0x0061:.case.
c3c0 30 78 30 30 34 31 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 41 3b 00 00 00 2f 20 20 20 20 20 20 20 0x0041:.return.KEY_A;.../.......
c3e0 20 63 61 73 65 20 30 78 30 30 37 33 3a 20 63 61 73 65 20 30 78 30 30 35 33 3a 20 72 65 74 75 72 .case.0x0073:.case.0x0053:.retur
c400 6e 20 4b 45 59 5f 53 3b 00 00 00 2f 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 36 34 3a n.KEY_S;.../........case.0x0064:
c420 20 63 61 73 65 20 30 78 30 30 34 34 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 44 3b 00 00 00 26 20 .case.0x0044:.return.KEY_D;...&.
c440 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 32 30 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 53 .......case.0x0020:.return.KEY_S
c460 50 41 43 45 3b 00 00 00 24 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 66 66 31 62 3a 20 72 65 PACE;...$........case.0xff1b:.re
c480 74 75 72 6e 20 4b 45 59 5f 45 53 43 3b 00 00 00 22 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 turn.KEY_ESC;..."........case.0x
c4a0 30 30 33 31 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 31 3b 00 00 00 22 20 20 20 20 20 20 20 20 63 0031:.return.KEY_1;..."........c
c4c0 61 73 65 20 30 78 30 30 33 32 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 32 3b 00 00 00 22 20 20 20 ase.0x0032:.return.KEY_2;..."...
c4e0 20 20 20 20 20 63 61 73 65 20 30 78 30 30 33 33 3a 20 72 65 74 75 72 6e 20 4b 45 59 5f 33 3b 00 .....case.0x0033:.return.KEY_3;.
c500 00 00 1b 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 20 72 65 74 75 72 6e 20 2d 31 3b 00 00 ...........default:.return.-1;..
c520 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 82 73 74 61 74 69 63 20 76 6f 69 64 20 ......}....}........static.void.
c540 6b 65 79 62 6f 61 72 64 5f 6b 65 79 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 keyboard_key(void.*data,.struct.
c560 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 wl_keyboard.*keyboard,.uint32_t.
c580 73 65 72 69 61 6c 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d 65 2c 20 75 69 6e 74 33 32 5f 74 20 serial,.uint32_t.time,.uint32_t.
c5a0 6b 65 79 2c 20 75 69 6e 74 33 32 5f 74 20 73 74 61 74 65 29 20 7b 00 00 00 2d 20 20 20 20 28 76 key,.uint32_t.state).{...-....(v
c5c0 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 oid)keyboard;.(void)serial;.(voi
c5e0 64 29 74 69 6d 65 3b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 d)time;........WaylandBackend.*b
c600 20 3d 20 64 61 74 61 3b 00 00 00 1f 20 20 20 20 75 69 6e 74 33 32 5f 74 20 6b 65 79 73 79 6d 20 .=.data;........uint32_t.keysym.
c620 3d 20 6b 65 79 20 2b 20 38 3b 20 00 00 00 22 20 20 20 20 69 6e 74 20 6b 20 3d 20 6b 65 79 73 79 =.key.+.8;...."....int.k.=.keysy
c640 6d 5f 74 6f 5f 6b 65 79 28 6b 65 79 73 79 6d 29 3b 00 00 00 56 20 20 20 20 69 66 20 28 6b 20 3e m_to_key(keysym);...V....if.(k.>
c660 3d 20 30 29 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 2d 3e 73 74 61 74 65 2e 6b 65 79 73 5b 6b 5d 20 =.0).b->win_inst->state.keys[k].
c680 3d 20 28 73 74 61 74 65 20 3d 3d 20 57 4c 5f 4b 45 59 42 4f 41 52 44 5f 4b 45 59 5f 53 54 41 54 =.(state.==.WL_KEYBOARD_KEY_STAT
c6a0 45 5f 50 52 45 53 53 45 44 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 6f 73 74 61 74 69 63 20 76 E_PRESSED);....}.......ostatic.v
c6c0 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 oid.keyboard_keymap(void.*data,.
c6e0 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 struct.wl_keyboard.*keyboard,.ui
c700 6e 74 33 32 5f 74 20 66 6f 72 6d 61 74 2c 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 33 32 5f 74 20 nt32_t.format,.int.fd,.uint32_t.
c720 73 69 7a 65 29 20 7b 00 00 00 39 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 size).{...9....(void)data;.(void
c740 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 66 6f 72 6d 61 74 3b 20 28 76 6f 69 64 29 73 )keyboard;.(void)format;.(void)s
c760 69 7a 65 3b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 ize;........close(fd);....}.....
c780 00 00 8a 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 28 76 6f ...static.void.keyboard_enter(vo
c7a0 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 2a 6b 65 id.*data,.struct.wl_keyboard.*ke
c7c0 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 63 74 20 yboard,.uint32_t.serial,.struct.
c7e0 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 wl_surface.*surface,.struct.wl_a
c800 72 72 61 79 20 2a 6b 65 79 73 29 20 7b 00 00 00 48 20 20 20 20 28 76 6f 69 64 29 64 61 74 61 3b rray.*keys).{...H....(void)data;
c820 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 29 73 65 72 69 61 6c 3b 20 28 .(void)keyboard;.(void)serial;.(
c840 76 6f 69 64 29 73 75 72 66 61 63 65 3b 20 28 76 6f 69 64 29 6b 65 79 73 3b 00 00 00 01 7d 00 00 void)surface;.(void)keys;....}..
c860 00 00 00 00 00 73 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 .....sstatic.void.keyboard_leave
c880 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 20 (void.*data,.struct.wl_keyboard.
c8a0 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 73 74 72 75 *keyboard,.uint32_t.serial,.stru
c8c0 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 73 75 72 66 61 63 65 29 20 7b 00 00 00 3c 20 20 20 ct.wl_surface.*surface).{...<...
c8e0 20 28 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f .(void)data;.(void)keyboard;.(vo
c900 69 64 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 73 75 72 66 61 63 65 3b 00 00 00 01 7d 00 00 id)serial;.(void)surface;....}..
c920 00 00 00 00 00 b1 73 74 61 74 69 63 20 76 6f 69 64 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 ......static.void.keyboard_modif
c940 69 65 72 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f iers(void.*data,.struct.wl_keybo
c960 61 72 64 20 2a 6b 65 79 62 6f 61 72 64 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 2c 20 ard.*keyboard,.uint32_t.serial,.
c980 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 2c 20 75 69 6e 74 33 32 5f uint32_t.mods_depressed,.uint32_
c9a0 74 20 6d 6f 64 73 5f 6c 61 74 63 68 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 6d 6f 64 73 5f 6c 6f t.mods_latched,.uint32_t.mods_lo
c9c0 63 6b 65 64 2c 20 75 69 6e 74 33 32 5f 74 20 67 72 6f 75 70 29 20 7b 00 00 00 77 20 20 20 20 28 cked,.uint32_t.group).{...w....(
c9e0 76 6f 69 64 29 64 61 74 61 3b 20 28 76 6f 69 64 29 6b 65 79 62 6f 61 72 64 3b 20 28 76 6f 69 64 void)data;.(void)keyboard;.(void
ca00 29 73 65 72 69 61 6c 3b 20 28 76 6f 69 64 29 6d 6f 64 73 5f 64 65 70 72 65 73 73 65 64 3b 20 28 )serial;.(void)mods_depressed;.(
ca20 76 6f 69 64 29 6d 6f 64 73 5f 6c 61 74 63 68 65 64 3b 20 28 76 6f 69 64 29 6d 6f 64 73 5f 6c 6f void)mods_latched;.(void)mods_lo
ca40 63 6b 65 64 3b 20 28 76 6f 69 64 29 67 72 6f 75 70 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 cked;.(void)group;....}.......>s
ca60 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f 6c tatic.const.struct.wl_keyboard_l
ca80 69 73 74 65 6e 65 72 20 6b 65 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 istener.keyboard_listener.=.{...
caa0 1e 20 20 20 20 2e 6b 65 79 6d 61 70 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 6d 61 70 2c 00 ......keymap.=.keyboard_keymap,.
cac0 00 00 1c 20 20 20 20 2e 65 6e 74 65 72 20 3d 20 6b 65 79 62 6f 61 72 64 5f 65 6e 74 65 72 2c 00 ........enter.=.keyboard_enter,.
cae0 00 00 1c 20 20 20 20 2e 6c 65 61 76 65 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6c 65 61 76 65 2c 00 ........leave.=.keyboard_leave,.
cb00 00 00 18 20 20 20 20 2e 6b 65 79 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6b 65 79 2c 00 00 00 23 20 ........key.=.keyboard_key,...#.
cb20 20 20 20 2e 6d 6f 64 69 66 69 65 72 73 20 3d 20 6b 65 79 62 6f 61 72 64 5f 6d 6f 64 69 66 69 65 ....modifiers.=.keyboard_modifie
cb40 72 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 61 74 rs....};.......Xstatic.void.seat
cb60 5f 63 61 70 61 62 69 6c 69 74 69 65 73 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 _capabilities(void.*data,.struct
cb80 20 77 6c 5f 73 65 61 74 20 2a 73 65 61 74 2c 20 75 69 6e 74 33 32 5f 74 20 63 61 70 61 62 69 6c .wl_seat.*seat,.uint32_t.capabil
cba0 69 74 69 65 73 29 20 7b 00 00 00 1d 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a ities).{........WaylandBackend.*
cbc0 62 20 3d 20 64 61 74 61 3b 00 00 00 45 20 20 20 20 69 66 20 28 28 63 61 70 61 62 69 6c 69 74 69 b.=.data;...E....if.((capabiliti
cbe0 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 50 4f 49 4e 54 45 52 29 es.&.WL_SEAT_CAPABILITY_POINTER)
cc00 20 26 26 20 21 62 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 62 2d .&&.!b->pointer).{.../........b-
cc20 3e 70 6f 69 6e 74 65 72 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 70 6f 69 6e 74 65 72 28 73 >pointer.=.wl_seat_get_pointer(s
cc40 65 61 74 29 3b 00 00 00 42 20 20 20 20 20 20 20 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 61 64 64 5f eat);...B........wl_pointer_add_
cc60 6c 69 73 74 65 6e 65 72 28 62 2d 3e 70 6f 69 6e 74 65 72 2c 20 26 70 6f 69 6e 74 65 72 5f 6c 69 listener(b->pointer,.&pointer_li
cc80 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 72 65 stener,.b);...*........if.(b->re
cca0 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 29 20 7b 00 00 00 80 20 20 20 lative_pointer_manager).{.......
ccc0 20 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 20 3d 20 7a .........b->relative_pointer.=.z
cce0 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 5f 76 31 5f 67 wp_relative_pointer_manager_v1_g
cd00 65 74 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f et_relative_pointer(b->relative_
cd20 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 65 72 2c 20 62 2d 3e 70 6f 69 6e 74 65 72 29 3b 00 00 00 pointer_manager,.b->pointer);...
cd40 65 20 20 20 20 20 20 20 20 20 20 20 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 e............zwp_relative_pointe
cd60 72 5f 76 31 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f r_v1_add_listener(b->relative_po
cd80 69 6e 74 65 72 2c 20 26 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6c 69 73 74 65 6e 65 inter,.&relative_pointer_listene
cda0 72 2c 20 62 29 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 33 20 20 20 20 20 20 20 20 69 r,.b);............}...3........i
cdc0 66 20 28 62 2d 3e 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 26 26 20 62 2d 3e f.(b->pointer_constraints.&&.b->
cde0 73 75 72 66 61 63 65 29 20 7b 00 00 00 ae 20 20 20 20 20 20 20 20 20 20 20 20 62 2d 3e 6c 6f 63 surface).{................b->loc
ce00 6b 65 64 5f 70 6f 69 6e 74 65 72 20 3d 20 7a 77 70 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 ked_pointer.=.zwp_pointer_constr
ce20 61 69 6e 74 73 5f 76 31 5f 6c 6f 63 6b 5f 70 6f 69 6e 74 65 72 28 62 2d 3e 70 6f 69 6e 74 65 72 aints_v1_lock_pointer(b->pointer
ce40 5f 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 62 2d 3e 73 75 72 66 61 63 65 2c 20 62 2d 3e 70 6f 69 _constraints,.b->surface,.b->poi
ce60 6e 74 65 72 2c 20 4e 55 4c 4c 2c 20 5a 57 50 5f 50 4f 49 4e 54 45 52 5f 43 4f 4e 53 54 52 41 49 nter,.NULL,.ZWP_POINTER_CONSTRAI
ce80 4e 54 53 5f 56 31 5f 4c 49 46 45 54 49 4d 45 5f 50 45 52 53 49 53 54 45 4e 54 29 3b 00 00 00 09 NTS_V1_LIFETIME_PERSISTENT);....
cea0 20 20 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 45 20 20 20 20 69 66 20 28 21 28 ........}........}...E....if.(!(
cec0 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 capabilities.&.WL_SEAT_CAPABILIT
cee0 59 5f 50 4f 49 4e 54 45 52 29 20 26 26 20 62 2d 3e 70 6f 69 6e 74 65 72 29 20 7b 00 00 00 76 20 Y_POINTER).&&.b->pointer).{...v.
cf00 20 20 20 20 20 20 20 69 66 20 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 29 20 .......if.(b->relative_pointer).
cf20 7b 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 76 31 5f 64 65 73 74 72 6f {.zwp_relative_pointer_v1_destro
cf40 79 28 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 29 3b 20 62 2d 3e 72 65 6c 61 74 y(b->relative_pointer);.b->relat
cf60 69 76 65 5f 70 6f 69 6e 74 65 72 20 3d 20 4e 55 4c 4c 3b 20 7d 00 00 00 27 20 20 20 20 20 20 20 ive_pointer.=.NULL;.}...'.......
cf80 20 77 6c 5f 70 6f 69 6e 74 65 72 5f 64 65 73 74 72 6f 79 28 62 2d 3e 70 6f 69 6e 74 65 72 29 3b .wl_pointer_destroy(b->pointer);
cfa0 00 00 00 1a 20 20 20 20 20 20 20 20 62 2d 3e 70 6f 69 6e 74 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 ............b->pointer.=.NULL;..
cfc0 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 47 20 20 20 20 69 66 20 28 28 63 61 70 61 62 69 6c 69 ......}.......G....if.((capabili
cfe0 74 69 65 73 20 26 20 57 4c 5f 53 45 41 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 ties.&.WL_SEAT_CAPABILITY_KEYBOA
d000 52 44 29 20 26 26 20 21 62 2d 3e 6b 65 79 62 6f 61 72 64 29 20 7b 00 00 00 31 20 20 20 20 20 20 RD).&&.!b->keyboard).{...1......
d020 20 20 62 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 77 6c 5f 73 65 61 74 5f 67 65 74 5f 6b 65 79 62 ..b->keyboard.=.wl_seat_get_keyb
d040 6f 61 72 64 28 73 65 61 74 29 3b 00 00 00 45 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 oard(seat);...E........wl_keyboa
d060 72 64 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 2d 3e 6b 65 79 62 6f 61 72 64 2c 20 26 6b 65 rd_add_listener(b->keyboard,.&ke
d080 79 62 6f 61 72 64 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 yboard_listener,.b);........}...
d0a0 47 20 20 20 20 69 66 20 28 21 28 63 61 70 61 62 69 6c 69 74 69 65 73 20 26 20 57 4c 5f 53 45 41 G....if.(!(capabilities.&.WL_SEA
d0c0 54 5f 43 41 50 41 42 49 4c 49 54 59 5f 4b 45 59 42 4f 41 52 44 29 20 26 26 20 62 2d 3e 6b 65 79 T_CAPABILITY_KEYBOARD).&&.b->key
d0e0 62 6f 61 72 64 29 20 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f 6b 65 79 62 6f 61 72 64 5f board).{...)........wl_keyboard_
d100 64 65 73 74 72 6f 79 28 62 2d 3e 6b 65 79 62 6f 61 72 64 29 3b 00 00 00 1b 20 20 20 20 20 20 20 destroy(b->keyboard);...........
d120 20 62 2d 3e 6b 65 79 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 .b->keyboard.=.NULL;........}...
d140 01 7d 00 00 00 00 00 00 00 36 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c .}.......6static.const.struct.wl
d160 5f 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b _seat_listener.seat_listener.=.{
d180 00 00 00 25 20 20 20 20 2e 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 73 65 61 74 5f 63 61 70 ...%.....capabilities.=.seat_cap
d1a0 61 62 69 6c 69 74 69 65 73 00 00 00 02 7d 3b 00 00 00 00 00 00 00 7f 73 74 61 74 69 63 20 76 6f abilities....};........static.vo
d1c0 69 64 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 id.registry_global(void.*data,.s
d1e0 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 20 75 69 6e truct.wl_registry.*registry,.uin
d200 74 33 32 5f 74 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 t32_t.name,.const.char.*interfac
d220 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 1d 20 20 20 20 57 61 e,.uint32_t.version).{........Wa
d240 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 64 61 74 61 3b 00 00 00 12 20 20 20 20 28 ylandBackend.*b.=.data;........(
d260 76 6f 69 64 29 76 65 72 73 69 6f 6e 3b 00 00 00 3f 20 20 20 20 69 66 20 28 73 74 72 63 6d 70 28 void)version;...?....if.(strcmp(
d280 69 6e 74 65 72 66 61 63 65 2c 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 interface,.wl_compositor_interfa
d2a0 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 56 20 20 20 20 20 20 20 20 62 2d 3e 63 ce.name).==.0).{...V........b->c
d2c0 6f 6d 70 6f 73 69 74 6f 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 ompositor.=.wl_registry_bind(reg
d2e0 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 istry,.name,.&wl_compositor_inte
d300 72 66 61 63 65 2c 20 34 29 3b 00 00 00 44 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 rface,.4);...D....}.else.if.(str
d320 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 cmp(interface,.xdg_wm_base_inter
d340 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 62 20 20 20 20 20 20 20 20 73 74 face.name).==.0).{...b........st
d360 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 ruct.xdg_wm_base.*wm_base.=.wl_r
d380 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 78 64 egistry_bind(registry,.name,.&xd
d3a0 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 16 20 20 20 20 g_wm_base_interface,.1);........
d3c0 20 20 20 20 28 76 6f 69 64 29 77 6d 5f 62 61 73 65 3b 00 00 00 40 20 20 20 20 7d 20 65 6c 73 65 ....(void)wm_base;...@....}.else
d3e0 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 77 6c 5f 73 65 61 74 5f 69 .if.(strcmp(interface,.wl_seat_i
d400 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 4a 20 20 20 20 20 20 nterface.name).==.0).{...J......
d420 20 20 62 2d 3e 73 65 61 74 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 ..b->seat.=.wl_registry_bind(reg
d440 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 77 6c 5f 73 65 61 74 5f 69 6e 74 65 72 66 61 63 65 2c istry,.name,.&wl_seat_interface,
d460 20 37 29 3b 00 00 00 39 20 20 20 20 20 20 20 20 77 6c 5f 73 65 61 74 5f 61 64 64 5f 6c 69 73 74 .7);...9........wl_seat_add_list
d480 65 6e 65 72 28 62 2d 3e 73 65 61 74 2c 20 26 73 65 61 74 5f 6c 69 73 74 65 6e 65 72 2c 20 62 29 ener(b->seat,.&seat_listener,.b)
d4a0 3b 00 00 00 58 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 ;...X....}.else.if.(strcmp(inter
d4c0 66 61 63 65 2c 20 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e 61 67 face,.zwp_relative_pointer_manag
d4e0 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 er_v1_interface.name).==.0).{...
d500 76 20 20 20 20 20 20 20 20 62 2d 3e 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 6e v........b->relative_pointer_man
d520 61 67 65 72 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 ager.=.wl_registry_bind(registry
d540 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 72 65 6c 61 74 69 76 65 5f 70 6f 69 6e 74 65 72 5f 6d 61 ,.name,.&zwp_relative_pointer_ma
d560 6e 61 67 65 72 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 53 20 20 20 20 7d nager_v1_interface,.1);...S....}
d580 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 7a 77 70 5f .else.if.(strcmp(interface,.zwp_
d5a0 70 6f 69 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 pointer_constraints_v1_interface
d5c0 2e 6e 61 6d 65 29 20 3d 3d 20 30 29 20 7b 00 00 00 6c 20 20 20 20 20 20 20 20 62 2d 3e 70 6f 69 .name).==.0).{...l........b->poi
d5e0 6e 74 65 72 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 nter_constraints.=.wl_registry_b
d600 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d 65 2c 20 26 7a 77 70 5f 70 6f 69 6e 74 65 72 ind(registry,.name,.&zwp_pointer
d620 5f 63 6f 6e 73 74 72 61 69 6e 74 73 5f 76 31 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 _constraints_v1_interface,.1);..
d640 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 5d 73 74 61 74 69 63 20 76 6f 69 64 20 ......}....}.......]static.void.
d660 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 28 76 6f 69 64 20 2a 64 61 74 registry_global_remove(void.*dat
d680 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c a,.struct.wl_registry.*registry,
d6a0 20 75 69 6e 74 33 32 5f 74 20 6e 61 6d 65 29 20 7b 00 00 00 2b 20 20 20 20 28 76 6f 69 64 29 64 .uint32_t.name).{...+....(void)d
d6c0 61 74 61 3b 20 28 76 6f 69 64 29 72 65 67 69 73 74 72 79 3b 20 28 76 6f 69 64 29 6e 61 6d 65 3b ata;.(void)registry;.(void)name;
d6e0 00 00 00 01 7d 00 00 00 00 00 00 00 3e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 ....}.......>static.const.struct
d700 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c .wl_registry_listener.registry_l
d720 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1e 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 istener.=.{.........global.=.reg
d740 69 73 74 72 79 5f 67 6c 6f 62 61 6c 2c 00 00 00 2b 20 20 20 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d istry_global,...+.....global_rem
d760 6f 76 65 20 3d 20 72 65 67 69 73 74 72 79 5f 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 00 00 00 02 ove.=.registry_global_remove....
d780 7d 3b 00 00 00 00 00 00 00 54 69 6e 74 20 77 69 6e 64 6f 77 5f 77 61 79 6c 61 6e 64 5f 69 6e 69 };.......Tint.window_wayland_ini
d7a0 74 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 2c 20 69 6e 74 20 77 69 64 74 68 2c 20 69 6e t(NativeWindow.*w,.int.width,.in
d7c0 74 20 68 65 69 67 68 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 69 74 6c 65 29 20 7b 00 00 t.height,.const.char.*title).{..
d7e0 00 10 20 20 20 20 28 76 6f 69 64 29 74 69 74 6c 65 3b 00 00 00 3a 20 20 20 20 57 61 79 6c 61 6e ......(void)title;...:....Waylan
d800 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 63 61 6c 6c 6f 63 28 31 2c 20 73 69 7a 65 6f 66 28 57 dBackend.*b.=.calloc(1,.sizeof(W
d820 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 29 29 3b 00 00 00 13 20 20 20 20 77 2d 3e 62 61 63 6b 65 aylandBackend));........w->backe
d840 6e 64 20 3d 20 62 3b 00 00 00 14 20 20 20 20 62 2d 3e 77 69 6e 5f 69 6e 73 74 20 3d 20 77 3b 00 nd.=.b;........b->win_inst.=.w;.
d860 00 00 00 00 00 00 2a 20 20 20 20 62 2d 3e 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c ......*....b->display.=.wl_displ
d880 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 2b 20 20 20 20 69 66 20 28 21 62 2d ay_connect(NULL);...+....if.(!b-
d8a0 3e 64 69 73 70 6c 61 79 29 20 7b 20 66 72 65 65 28 62 29 3b 20 72 65 74 75 72 6e 20 30 3b 20 7d >display).{.free(b);.return.0;.}
d8c0 00 00 00 00 00 00 00 36 20 20 20 20 62 2d 3e 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 .......6....b->registry.=.wl_dis
d8e0 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 play_get_registry(b->display);..
d900 00 41 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 62 .A....wl_registry_add_listener(b
d920 2d 3e 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 ->registry,.&registry_listener,.
d940 62 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 b);...%....wl_display_roundtrip(
d960 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 00 00 00 00 51 20 20 20 20 69 66 20 28 21 62 2d 3e b->display);.......Q....if.(!b->
d980 63 6f 6d 70 6f 73 69 74 6f 72 29 20 7b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e compositor).{.wl_display_disconn
d9a0 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 20 66 72 65 65 28 62 29 3b 20 72 65 74 75 72 6e ect(b->display);.free(b);.return
d9c0 20 30 3b 20 7d 00 00 00 00 00 00 00 3d 20 20 20 20 62 2d 3e 73 75 72 66 61 63 65 20 3d 20 77 6c .0;.}.......=....b->surface.=.wl
d9e0 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 62 2d 3e 63 6f _compositor_create_surface(b->co
da00 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 04 20 20 20 20 00 00 00 2e 20 20 20 20 2f 2f 20 42 69 6e mpositor);................//.Bin
da20 64 20 6c 69 73 74 65 6e 65 72 73 20 74 6f 20 61 76 6f 69 64 20 75 6e 75 73 65 64 20 77 61 72 6e d.listeners.to.avoid.unused.warn
da40 69 6e 67 73 00 00 00 20 20 20 20 20 28 76 6f 69 64 29 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 ings........(void)xdg_surface_li
da60 73 74 65 6e 65 72 5f 3b 00 00 00 1c 20 20 20 20 28 76 6f 69 64 29 74 6f 70 6c 65 76 65 6c 5f 6c stener_;........(void)toplevel_l
da80 69 73 74 65 6e 65 72 3b 00 00 00 00 00 00 00 44 20 20 20 20 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f istener;.......D....b->egl_windo
daa0 77 20 3d 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 63 72 65 61 74 65 28 62 2d 3e 73 75 72 66 w.=.wl_egl_window_create(b->surf
dac0 61 63 65 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 00 00 00 00 45 20 20 20 20 ace,.width,.height);.......E....
dae0 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 20 3d 20 65 67 6c 47 65 74 44 69 73 70 6c 61 79 28 28 b->egl_display.=.eglGetDisplay((
db00 45 47 4c 4e 61 74 69 76 65 44 69 73 70 6c 61 79 54 79 70 65 29 62 2d 3e 64 69 73 70 6c 61 79 29 EGLNativeDisplayType)b->display)
db20 3b 00 00 00 2e 20 20 20 20 65 67 6c 49 6e 69 74 69 61 6c 69 7a 65 28 62 2d 3e 65 67 6c 5f 64 69 ;........eglInitialize(b->egl_di
db40 73 70 6c 61 79 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 00 00 00 1f 20 20 20 20 65 67 6c 42 69 splay,.NULL,.NULL);........eglBi
db60 6e 64 41 50 49 28 45 47 4c 5f 4f 50 45 4e 47 4c 5f 41 50 49 29 3b 00 00 00 00 00 00 00 18 20 20 ndAPI(EGL_OPENGL_API);..........
db80 20 20 45 47 4c 69 6e 74 20 61 74 74 72 69 62 73 5b 5d 20 3d 20 7b 00 00 00 29 20 20 20 20 20 20 ..EGLint.attribs[].=.{...)......
dba0 20 20 45 47 4c 5f 53 55 52 46 41 43 45 5f 54 59 50 45 2c 20 45 47 4c 5f 57 49 4e 44 4f 57 5f 42 ..EGL_SURFACE_TYPE,.EGL_WINDOW_B
dbc0 49 54 2c 00 00 00 18 20 20 20 20 20 20 20 20 45 47 4c 5f 52 45 44 5f 53 49 5a 45 2c 20 38 2c 00 IT,............EGL_RED_SIZE,.8,.
dbe0 00 00 1a 20 20 20 20 20 20 20 20 45 47 4c 5f 47 52 45 45 4e 5f 53 49 5a 45 2c 20 38 2c 00 00 00 ...........EGL_GREEN_SIZE,.8,...
dc00 19 20 20 20 20 20 20 20 20 45 47 4c 5f 42 4c 55 45 5f 53 49 5a 45 2c 20 38 2c 00 00 00 2c 20 20 .........EGL_BLUE_SIZE,.8,...,..
dc20 20 20 20 20 20 20 45 47 4c 5f 52 45 4e 44 45 52 41 42 4c 45 5f 54 59 50 45 2c 20 45 47 4c 5f 4f ......EGL_RENDERABLE_TYPE,.EGL_O
dc40 50 45 4e 47 4c 5f 42 49 54 2c 00 00 00 10 20 20 20 20 20 20 20 20 45 47 4c 5f 4e 4f 4e 45 00 00 PENGL_BIT,............EGL_NONE..
dc60 00 06 20 20 20 20 7d 3b 00 00 00 15 20 20 20 20 45 47 4c 43 6f 6e 66 69 67 20 63 6f 6e 66 69 67 ......};........EGLConfig.config
dc80 3b 00 00 00 17 20 20 20 20 45 47 4c 69 6e 74 20 6e 75 6d 5f 63 6f 6e 66 69 67 73 3b 00 00 00 47 ;........EGLint.num_configs;...G
dca0 20 20 20 20 65 67 6c 43 68 6f 6f 73 65 43 6f 6e 66 69 67 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c ....eglChooseConfig(b->egl_displ
dcc0 61 79 2c 20 61 74 74 72 69 62 73 2c 20 26 63 6f 6e 66 69 67 2c 20 31 2c 20 26 6e 75 6d 5f 63 6f ay,.attribs,.&config,.1,.&num_co
dce0 6e 66 69 67 73 29 3b 00 00 00 00 00 00 00 54 20 20 20 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 nfigs);.......T....b->egl_contex
dd00 74 20 3d 20 65 67 6c 43 72 65 61 74 65 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 t.=.eglCreateContext(b->egl_disp
dd20 6c 61 79 2c 20 63 6f 6e 66 69 67 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 2c 20 4e 55 4c lay,.config,.EGL_NO_CONTEXT,.NUL
dd40 4c 29 3b 00 00 00 6e 20 20 20 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 20 3d 20 65 67 6c 43 L);...n....b->egl_surface.=.eglC
dd60 72 65 61 74 65 57 69 6e 64 6f 77 53 75 72 66 61 63 65 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 reateWindowSurface(b->egl_displa
dd80 79 2c 20 63 6f 6e 66 69 67 2c 20 28 45 47 4c 4e 61 74 69 76 65 57 69 6e 64 6f 77 54 79 70 65 29 y,.config,.(EGLNativeWindowType)
dda0 62 2d 3e 65 67 6c 5f 77 69 6e 64 6f 77 2c 20 4e 55 4c 4c 29 3b 00 00 00 53 20 20 20 20 65 67 6c b->egl_window,.NULL);...S....egl
ddc0 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 MakeCurrent(b->egl_display,.b->e
dde0 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 2c 20 62 2d 3e 65 gl_surface,.b->egl_surface,.b->e
de00 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 00 00 00 00 1b 20 20 20 20 77 2d 3e 73 74 61 74 65 gl_context);............w->state
de20 2e 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 1d 20 20 20 20 77 2d 3e 73 74 61 74 65 2e .width.=.width;........w->state.
de40 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 height.=.height;........return.1
de60 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 76 6f 69 64 20 77 69 6e 64 6f 77 5f 77 61 79 6c 61 6e ;....}.......+void.window_waylan
de80 64 5f 70 6f 6c 6c 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 29 20 7b 00 00 00 23 20 20 20 d_poll(NativeWindow.*w).{...#...
dea0 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 2d 3e 62 61 63 6b 65 6e 64 3b .WaylandBackend.*b.=.w->backend;
dec0 00 00 00 1a 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 78 20 3d 20 30 3b 00 00 ........w->state.mouse_dx.=.0;..
dee0 00 1a 20 20 20 20 77 2d 3e 73 74 61 74 65 2e 6d 6f 75 73 65 5f 64 79 20 3d 20 30 3b 00 00 00 35 ......w->state.mouse_dy.=.0;...5
df00 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 ....while.(wl_display_prepare_re
df20 61 64 28 62 2d 3e 64 69 73 70 6c 61 79 29 20 3c 20 30 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 ad(b->display).<.0).{...0.......
df40 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 62 2d 3e .wl_display_dispatch_pending(b->
df60 64 69 73 70 6c 61 79 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 27 20 20 20 20 77 6c 5f 64 69 73 display);........}...'....wl_dis
df80 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 play_read_events(b->display);...
dfa0 2c 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 ,....wl_display_dispatch_pending
dfc0 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 76 6f 69 64 20 77 (b->display);....}.......+void.w
dfe0 69 6e 64 6f 77 5f 77 61 79 6c 61 6e 64 5f 73 77 61 70 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 indow_wayland_swap(NativeWindow.
e000 2a 77 29 20 7b 00 00 00 23 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d *w).{...#....WaylandBackend.*b.=
e020 20 77 2d 3e 62 61 63 6b 65 6e 64 3b 00 00 00 33 20 20 20 20 65 67 6c 53 77 61 70 42 75 66 66 65 .w->backend;...3....eglSwapBuffe
e040 72 73 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 rs(b->egl_display,.b->egl_surfac
e060 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2e 76 6f 69 64 20 77 69 6e 64 6f 77 5f 77 61 79 6c e);....}........void.window_wayl
e080 61 6e 64 5f 64 65 73 74 72 6f 79 28 4e 61 74 69 76 65 57 69 6e 64 6f 77 20 2a 77 29 20 7b 00 00 and_destroy(NativeWindow.*w).{..
e0a0 00 23 20 20 20 20 57 61 79 6c 61 6e 64 42 61 63 6b 65 6e 64 20 2a 62 20 3d 20 77 2d 3e 62 61 63 .#....WaylandBackend.*b.=.w->bac
e0c0 6b 65 6e 64 3b 00 00 00 19 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 29 kend;........if.(b->egl_display)
e0e0 20 7b 00 00 00 57 20 20 20 20 20 20 20 20 65 67 6c 4d 61 6b 65 43 75 72 72 65 6e 74 28 62 2d 3e .{...W........eglMakeCurrent(b->
e100 65 67 6c 5f 64 69 73 70 6c 61 79 2c 20 45 47 4c 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c egl_display,.EGL_NO_SURFACE,.EGL
e120 5f 4e 4f 5f 53 55 52 46 41 43 45 2c 20 45 47 4c 5f 4e 4f 5f 43 4f 4e 54 45 58 54 29 3b 00 00 00 _NO_SURFACE,.EGL_NO_CONTEXT);...
e140 3a 20 20 20 20 20 20 20 20 65 67 6c 44 65 73 74 72 6f 79 53 75 72 66 61 63 65 28 62 2d 3e 65 67 :........eglDestroySurface(b->eg
e160 6c 5f 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 73 75 72 66 61 63 65 29 3b 00 00 00 3a 20 l_display,.b->egl_surface);...:.
e180 20 20 20 20 20 20 20 65 67 6c 44 65 73 74 72 6f 79 43 6f 6e 74 65 78 74 28 62 2d 3e 65 67 6c 5f .......eglDestroyContext(b->egl_
e1a0 64 69 73 70 6c 61 79 2c 20 62 2d 3e 65 67 6c 5f 63 6f 6e 74 65 78 74 29 3b 00 00 00 25 20 20 20 display,.b->egl_context);...%...
e1c0 20 20 20 20 20 65 67 6c 54 65 72 6d 69 6e 61 74 65 28 62 2d 3e 65 67 6c 5f 64 69 73 70 6c 61 79 .....eglTerminate(b->egl_display
e1e0 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 3c 20 20 20 20 69 66 20 28 62 2d 3e 65 67 6c 5f 77 69 );........}...<....if.(b->egl_wi
e200 6e 64 6f 77 29 20 77 6c 5f 65 67 6c 5f 77 69 6e 64 6f 77 5f 64 65 73 74 72 6f 79 28 62 2d 3e 65 ndow).wl_egl_window_destroy(b->e
e220 67 6c 5f 77 69 6e 64 6f 77 29 3b 00 00 00 33 20 20 20 20 69 66 20 28 62 2d 3e 73 75 72 66 61 63 gl_window);...3....if.(b->surfac
e240 65 29 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 62 2d 3e 73 75 72 66 61 63 65 e).wl_surface_destroy(b->surface
e260 29 3b 00 00 00 36 20 20 20 20 69 66 20 28 62 2d 3e 64 69 73 70 6c 61 79 29 20 77 6c 5f 64 69 73 );...6....if.(b->display).wl_dis
e280 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 62 2d 3e 64 69 73 70 6c 61 79 29 3b 00 00 00 0c play_disconnect(b->display);....
e2a0 20 20 20 20 66 72 65 65 28 62 29 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 ....free(b);....}5..............
e2c0 00 2b 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5f 2d 00 00 00 00 00 .+......................._-.....
e2e0 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........5._....................
e300 08 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 63 49 9a 04 01 00 00 00 04 00 f5 18 00 00 00 ce ...............jcI..............
e480 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 44 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 78 ...............D........struct.x
e4a0 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 dg_wm_base.*wm_base.=.wl_registr
e4c0 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 6e 61 6d f5 18 00 00 00 cf 00 00 00 00 00 00 y_bind(registry,.nam............
e4e0 00 00 00 00 00 00 f5 18 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 ...........o....................
e500 2e 72 65 6c 61 74 69 76 65 5f 6d 6f 74 69 6f 6e 20 3d 20 72 65 6c 61 74 f5 18 00 00 00 70 00 00 .relative_motion.=.relat.....p..
e520 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 ................................
e540 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 ..................5.............
e560 00 00 00 00 00 00 00 00 00 00 6f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........o.....................
e580 00 00 f9 0f 00 00 00 00 00 00 f5 18 00 00 00 00 6f 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 ................o...............
e5a0 5f 00 00 00 44 00 00 00 f9 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 0f 00 00 00 00 00 00 _...D...........................
e5c0 f5 18 00 00 00 00 ce 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 60 00 00 00 01 00 00 00 f8 1f ..........D...........`.........
e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c5 0d 00 00 00 00 00 00 35 81 e7 aa ......................5...