| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 14 7c b4 04 3d af d9 25 d7 e7 f5 1c e7 bd ce 73 7d 3f 33 eb 95 | Vim.UnDo....|..=..%.......s}?3.. |
| 0020 | d8 a2 23 4e 4d e8 fc f2 2b ef 7c 00 00 01 3f 00 00 00 01 7d 00 00 00 f5 00 00 00 01 00 00 00 01 | ..#NM...+.|...?....}............ |
| 0040 | 00 00 00 bf 00 00 00 00 00 00 00 bf 00 00 00 bf 00 00 00 bf 00 00 00 00 69 9d ac dc 04 01 00 00 | ........................i....... |
| 0060 | 00 42 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 00 00 00 | .B._............................ |
| 0080 | 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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 69 9d 8a 96 04 01 00 00 00 00 00 f5 18 00 00 00 01 00 00 00 00 00 00 00 00 | .......i........................ |
| 0200 | 00 00 00 01 00 00 00 46 20 20 20 20 24 28 70 6b 67 2d 63 6f 6e 66 69 67 20 2d 2d 63 66 6c 61 67 | .......F....$(pkg-config.--cflag |
| 0220 | 73 20 2d 2d 6c 69 62 73 20 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 20 77 61 79 6c 61 6e 64 2d | s.--libs.wayland-client.wayland- |
| 0240 | 70 72 6f 74 6f 63 6f 6c 73 29 20 2d 6c 6d f5 18 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 | protocols).-lm.................. |
| 0260 | 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 00 00 | ................................ |
| 0280 | 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 00 00 | ........5....................... |
| 02a0 | 01 00 00 00 46 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d 00 00 00 00 00 00 00 | ....F...................}....... |
| 02c0 | 35 81 5f d0 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 00 | 5._............................. |
| 02e0 | 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 00 00 00 00 | ................................ |
| 0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0420 | 00 00 00 00 00 02 00 00 00 45 00 00 00 00 00 00 00 02 00 00 00 45 00 00 00 00 00 00 00 56 00 00 | .........E...........E.......V.. |
| 0440 | 00 45 00 00 00 00 69 9d 8a 98 04 01 00 00 00 00 00 f5 18 00 00 00 01 00 00 00 02 00 00 00 00 00 | .E....i......................... |
| 0460 | 00 00 01 00 00 00 46 20 20 20 20 24 28 70 6b 67 2d 63 6f 6e 66 69 67 20 2d 2d 63 66 6c 61 67 73 | ......F....$(pkg-config.--cflags |
| 0480 | 20 2d 2d 6c 69 62 73 20 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 20 77 61 79 6c 61 6e 64 2d 70 | .--libs.wayland-client.wayland-p |
| 04a0 | 72 6f 74 6f 63 6f 6c 73 29 20 2d 6c 6d 35 81 f5 18 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 | rotocols).-lm5.................. |
| 04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 37 00 00 00 00 00 00 00 47 00 00 00 00 00 00 00 00 00 00 | .............7.......G.......... |
| 04e0 | 00 00 00 00 00 35 81 5f d0 00 00 00 02 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 | .....5._........................ |
| 0500 | 01 00 00 00 35 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 | ....5........................... |
| 0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 45 00 00 00 00 00 00 00 02 00 00 00 45 00 00 00 00 00 | ..............E...........E..... |
| 0660 | 00 00 56 00 00 00 45 00 00 00 00 69 9d 8a 99 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 | ..V...E....i.................... |
| 0680 | 00 00 00 00 00 00 00 01 00 00 00 36 67 63 63 20 77 6c 63 6c 6f 63 6b 2e 63 20 78 64 67 2d 73 68 | ...........6gcc.wlclock.c.xdg-sh |
| 06a0 | 65 6c 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 63 20 2d 6f 20 77 6c 63 6c 6f 63 6b | ell-client-protocol.c.-o.wlclock |
| 06c0 | 20 5c 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 | .\5............................. |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 37 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........7...............5._... |
| 0700 | 00 03 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 | ................................ |
| 0720 | ff ff 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 | ................................ |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 0860 | 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 45 00 00 00 00 00 00 00 56 00 00 00 45 00 00 00 00 | ...E...........E.......V...E.... |
| 0880 | 69 9d 8a 9b 04 01 00 00 00 00 00 f5 18 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | i............................... |
| 08a0 | 01 7d f5 18 00 00 00 aa 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9c 00 00 00 00 00 00 | .}.............................. |
| 08c0 | 00 00 00 00 00 01 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 64 67 5f | .........%....xdg_surface.=.xdg_ |
| 08e0 | 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 f5 18 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 | wm_base_get_xdg................. |
| 0900 | 00 f5 18 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 35 73 74 61 74 69 63 20 63 6f | ......................5static.co |
| 0920 | 6e 73 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 | nst.struct.wl_registry_listener. |
| 0940 | 72 65 67 69 73 74 72 79 5f 6c 69 73 f5 18 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | registry_lis.................... |
| 0960 | 00 00 00 89 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 48 73 74 61 74 69 63 20 76 6f 69 64 20 | ...................Hstatic.void. |
| 0980 | 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | registry_handler(void.*data,.str |
| 09a0 | 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 75 69 f5 18 00 00 | uct.wl_registry.*registry,ui.... |
| 09c0 | 00 8a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 09e0 | 00 00 00 14 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 6c 65 76 65 6c f5 18 00 00 00 86 00 00 | ....static.void.toplevel........ |
| 0a00 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 | ...............z................ |
| 0a20 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 77 2c 68 2c 63 78 2c 63 f5 18 00 00 00 7b 00 | ....draw_line(px,w,h,cx,c.....{. |
| 0a40 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 5a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................Z............... |
| 0a60 | 2d 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2d | -........draw_pixel(cx.-.x,.cy.- |
| 0a80 | 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f f5 18 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 00 00 | .y,.w,.h,.colo.....[............ |
| 0aa0 | 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 00 00 | ................................ |
| 0ac0 | 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 00 00 | ........5....................... |
| 0ae0 | 5a 00 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 | Z...-........................... |
| 0b00 | f5 18 00 00 00 00 5a 00 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 19 00 00 00 00 0c | ......Z...-..................... |
| 0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 7a 00 00 00 | ............................z... |
| 0b40 | 19 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 14 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b60 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 85 00 00 00 14 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b80 | 00 00 04 00 00 00 48 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ......H......................... |
| 0ba0 | 00 00 f5 18 00 00 00 00 89 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 35 00 00 00 | ............H...............5... |
| 0bc0 | 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 92 00 | ................................ |
| 0be0 | 00 00 35 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 25 00 00 00 00 16 00 00 00 00 00 00 00 00 | ..5...............%............. |
| 0c00 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 9c 00 00 00 25 00 00 00 00 00 00 00 | ........................%....... |
| 0c20 | 00 00 00 00 0d 00 00 00 01 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d3 01 00 00 | ................................ |
| 0c40 | 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 00 aa | ....5._......................... |
| 0c60 | 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 | ................................ |
| 0c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0da0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 45 00 00 00 00 00 00 00 01 00 00 00 45 00 00 00 00 00 00 | .............E...........E...... |
| 0dc0 | 00 56 00 00 00 45 00 00 00 00 69 9d 8a 9d 04 01 00 00 00 02 00 f5 18 00 00 00 1a 00 00 00 dd 00 | .V...E....i..................... |
| 0de0 | 00 00 aa 00 00 00 8f 00 00 00 30 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d | ..........0....char.template[].= |
| 0e00 | 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 | ."/tmp/wayland-shm-XXXXXX";..... |
| 0e20 | 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 | ...int.fd.=.mkstemp(template);.. |
| 0e40 | 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 | ./....if.(fd.<.0).{.perror("mkst |
| 0e60 | 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 | emp");.exit(1);.}........unlink( |
| 0e80 | 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 42 20 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 | template);...B....if.(ftruncate( |
| 0ea0 | 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 | fd,.size).<.0).{.perror("ftrunca |
| 0ec0 | 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 | te");.exit(1);.}........return.f |
| 0ee0 | 64 3b 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 77 6d 5f 62 61 | d;....}.......Tstatic.void.wm_ba |
| 0f00 | 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 78 64 67 5f 77 | se_ping(void.*data,.struct.xdg_w |
| 0f20 | 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 65 72 69 61 6c | m_base.*wm_base,.uint32_t.serial |
| 0f40 | 29 20 7b 00 00 00 26 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 5f 62 | ).{...&....xdg_wm_base_pong(wm_b |
| 0f60 | 61 73 65 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 | ase,.serial);....}.......Kstatic |
| 0f80 | 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e | .const.struct.xdg_wm_base_listen |
| 0fa0 | 65 72 20 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 | er.wm_base_listener.=.{wm_base_p |
| 0fc0 | 69 6e 67 7d 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 | ing};.......astatic.void.xdg_sur |
| 0fe0 | 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 73 74 72 75 63 | face_configure(void.*data,.struc |
| 1000 | 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 20 75 69 6e 74 | t.xdg_surface.*xdg_surface,.uint |
| 1020 | 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 33 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 | 32_t.serial).{...3....xdg_surfac |
| 1040 | 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 65 2c 20 73 65 72 | e_ack_configure(xdg_surface,.ser |
| 1060 | 69 61 6c 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 | ial);........wl_surface_commit(s |
| 1080 | 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 63 6f 6e 73 | urface);....}.......Xstatic.cons |
| 10a0 | 74 20 73 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 | t.struct.xdg_surface_listener.xd |
| 10c0 | 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 78 64 67 5f 73 75 72 66 61 63 | g_surface_listener.=.{xdg_surfac |
| 10e0 | 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 20 76 6f 69 64 | e_configure};.......4static.void |
| 1100 | 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 | .allocate_buffer(int.width,.int. |
| 1120 | 68 65 69 67 68 74 29 20 7b 00 00 00 11 20 20 20 20 69 66 20 28 62 75 66 66 65 72 29 20 7b 00 00 | height).{........if.(buffer).{.. |
| 1140 | 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 | ."........wl_buffer_destroy(buff |
| 1160 | 65 72 29 3b 00 00 00 33 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 | er);...3........munmap(pixels,.b |
| 1180 | 75 66 5f 77 69 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 05 20 | uf_width.*.buf_height.*.4);..... |
| 11a0 | 20 20 20 7d 00 00 00 16 20 20 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 | ...}........buf_width.=.width;.. |
| 11c0 | 00 18 20 20 20 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 1b 20 20 | ......buf_height.=.height;...... |
| 11e0 | 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1f 20 20 20 | ..int.stride.=.width.*.4;....... |
| 1200 | 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 23 | .int.size.=.stride.*.height;...# |
| 1220 | 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a | ....int.fd.=.create_shm_file(siz |
| 1240 | 65 29 3b 00 00 00 49 20 20 20 20 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 | e);...I....pixels.=.mmap(NULL,.s |
| 1260 | 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 | ize,.PROT_READ.|.PROT_WRITE,.MAP |
| 1280 | 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 3a 20 20 20 20 69 66 20 28 70 69 78 65 | _SHARED,.fd,.0);...:....if.(pixe |
| 12a0 | 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 | ls.==.MAP_FAILED).{.perror("mmap |
| 12c0 | 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 41 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f | ");.exit(1);.}...A....struct.wl_ |
| 12e0 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| 1300 | 6f 6f 6c 28 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5f 20 20 20 20 62 75 66 66 65 | ool(shm,.fd,.size);..._....buffe |
| 1320 | 72 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f | r.=.wl_shm_pool_create_buffer(po |
| 1340 | 6f 6c 2c 20 30 2c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 20 57 4c | ol,.0,.width,.height,.stride,.WL |
| 1360 | 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 2d 20 20 20 20 77 6c | _SHM_FORMAT_ARGB8888);...-....wl |
| 1380 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c | _surface_attach(surface,.buffer, |
| 13a0 | 20 30 2c 20 30 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | .0,.0);........wl_surface_commit |
| 13c0 | 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f | (surface);....}.......Dstatic.vo |
| 13e0 | 69 64 20 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 | id.draw_pixel(int.x,.int.y,.int. |
| 1400 | 77 2c 20 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2b 20 | w,.int.h,.uint32_t.color).{...+. |
| 1420 | 20 20 20 69 66 20 28 78 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 | ...if.(x.>=.0.&&.x.<.w.&&.y.>=.0 |
| 1440 | 20 26 26 20 79 20 3c 20 68 29 00 00 00 30 20 20 20 20 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 | .&&.y.<.h)...0........((uint32_t |
| 1460 | 20 2a 29 70 69 78 65 6c 73 29 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 | .*)pixels)[y.*.w.+.x].=.color;.. |
| 1480 | 00 01 7d 00 00 00 00 00 00 00 63 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 | ..}.......cstatic.void.draw_line |
| 14a0 | 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 | (uint32_t.*px,.int.w,.int.h,.int |
| 14c0 | 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e | .x0,.int.y0,.int.x1,.int.y1,.uin |
| 14e0 | 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 31 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 | t32_t.color).{...1....int.dx.=.a |
| 1500 | 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 | bs(x1.-.x0),.sx.=.x0.<.x1.?.1.:. |
| 1520 | 2d 31 3b 00 00 00 32 20 20 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 | -1;...2....int.dy.=.-abs(y1.-.y0 |
| 1540 | 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 1a 20 20 20 | ),.sy.=.y0.<.y1.?.1.:.-1;....... |
| 1560 | 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0f 20 20 20 20 77 | .int.err.=.dx.+.dy,.e2;........w |
| 1580 | 68 69 6c 65 20 28 31 29 20 7b 00 00 00 4c 20 20 20 20 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 | hile.(1).{...L........if.(x0.>=. |
| 15a0 | 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 | 0.&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h |
| 15c0 | 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 28 20 20 | ).px[y0.*.w.+.x0].=.color;...(.. |
| 15e0 | 20 20 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 | ......if.(x0.==.x1.&&.y0.==.y1). |
| 1600 | 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 | break;............e2.=.2.*.err;. |
| 1620 | 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b | ...........if.(e2.>=.dy).{.err.+ |
| 1640 | 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2e 20 20 20 20 20 20 20 20 69 66 20 | =.dy;.x0.+=.sx;.}............if. |
| 1660 | 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 | (e2.<=.dx).{.err.+=.dx;.y0.+=.sy |
| 1680 | 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 5c 73 74 61 74 69 63 20 | ;.}........}....}.......\static. |
| 16a0 | 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 | void.draw_circle(uint32_t.*px,.i |
| 16c0 | 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 | nt.w,.int.h,.int.cx,.int.cy,.int |
| 16e0 | 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 1e 20 20 20 20 69 6e 74 | .r,.uint32_t.color).{........int |
| 1700 | 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 2c 20 65 72 72 20 3d 20 30 3b 00 00 00 14 20 20 20 20 77 | .x.=.r,.y.=.0,.err.=.0;........w |
| 1720 | 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f | hile.(x.>=.y).{...0........draw_ |
| 1740 | 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f | pixel(cx.+.x,.cy.+.y,.w,.h,.colo |
| 1760 | 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 | r);...0........draw_pixel(cx.+.y |
| 1780 | 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 | ,.cy.+.x,.w,.h,.color);...0..... |
| 17a0 | 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c | ...draw_pixel(cx.-.y,.cy.+.x,.w, |
| 17c0 | 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 | .h,.color);...0........draw_pixe |
| 17e0 | 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 | l(cx.-.x,.cy.+.y,.w,.h,.color);. |
| 1800 | 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 | ..0........draw_pixel(cx.-.x,.cy |
| 1820 | 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 | .-.y,.w,.h,.color);...0........d |
| 1840 | 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 | raw_pixel(cx.-.y,.cy.-.x,.w,.h,. |
| 1860 | 63 6f 6c 6f 72 29 3b 00 00 00 30 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 | color);...0........draw_pixel(cx |
| 1880 | 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 30 20 | .+.y,.cy.-.x,.w,.h,.color);...0. |
| 18a0 | 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | .......draw_pixel(cx.+.x,.cy.-.y |
| 18c0 | 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 0c 20 20 20 20 20 20 20 20 79 2b 2b 3b 00 | ,.w,.h,.color);............y++;. |
| 18e0 | 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d 20 30 29 20 7b 20 65 72 72 20 2b | ..)........if.(err.<=.0).{.err.+ |
| 1900 | 3d 20 32 2a 79 20 2b 20 31 3b 20 7d 00 00 00 2d 20 20 20 20 20 20 20 20 69 66 20 28 65 72 72 20 | =.2*y.+.1;.}...-........if.(err. |
| 1920 | 3e 20 30 29 20 7b 20 78 2d 2d 3b 20 65 72 72 20 2d 3d 20 32 2a 78 20 2b 20 31 3b 20 7d 00 00 00 | >.0).{.x--;.err.-=.2*x.+.1;.}... |
| 1940 | 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 64 | .....}....}........static.void.d |
| 1960 | 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 18 20 20 20 20 69 66 20 28 21 70 69 78 65 6c 73 | raw_clock().{........if.(!pixels |
| 1980 | 29 20 72 65 74 75 72 6e 3b 00 00 00 26 20 20 20 20 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 | ).return;...&....int.w.=.buf_wid |
| 19a0 | 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 68 74 3b 00 00 00 1a 20 20 20 20 75 69 6e 74 33 | th,.h.=.buf_height;........uint3 |
| 19c0 | 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 63 78 20 | 2_t.*px.=.pixels;........int.cx. |
| 19e0 | 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 | =.w./.2,.cy.=.h./.2;...%....int. |
| 1a00 | 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 | r.=.(w.<.h.?.w.:.h)./.2.-.10;... |
| 1a20 | 35 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 2a 68 3b 20 69 2b | 5....for.(int.i.=.0;.i.<.w*h;.i+ |
| 1a40 | 2b 29 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 66 66 66 66 66 66 3b 00 00 00 31 20 20 20 20 64 72 | +).px[i].=.0xffffffff;...1....dr |
| 1a60 | 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 | aw_circle(px,.w,.h,.cx,.cy,.r,.0 |
| 1a80 | 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 22 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | xff000000);..."....for.(int.i.=. |
| 1aa0 | 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2f 20 20 20 20 20 20 20 20 64 6f 75 | 0;.i.<.12;.i++).{.../........dou |
| 1ac0 | 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 20 2d 20 4d 5f 50 | ble.angle.=.i.*.M_PI./.6.0.-.M_P |
| 1ae0 | 49 2f 32 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 6e 74 20 78 30 20 3d 20 63 78 20 2b 20 28 69 | I/2;............int.x0.=.cx.+.(i |
| 1b00 | 6e 74 29 28 28 72 2d 35 29 2a 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2e 20 20 20 20 20 20 | nt)((r-5)*cos(angle));.......... |
| 1b20 | 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 28 72 2d 35 29 2a 73 69 6e 28 | ..int.y0.=.cy.+.(int)((r-5)*sin( |
| 1b40 | 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 20 | angle));...*........int.x1.=.cx. |
| 1b60 | 2b 20 28 69 6e 74 29 28 72 2a 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 00 00 2a 20 20 20 20 20 20 | +.(int)(r*cos(angle));...*...... |
| 1b80 | 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 72 2a 73 69 6e 28 61 6e 67 6c | ..int.y1.=.cy.+.(int)(r*sin(angl |
| 1ba0 | 65 29 29 3b 00 00 00 38 20 20 20 20 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c | e));...8........draw_line(px,.w, |
| 1bc0 | 20 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 31 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b | .h,.x0,.y0,.x1,.y1,.0xff000000); |
| 1be0 | 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 | ........}........time_t.t.=.time |
| 1c00 | 28 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c | (NULL);..."....struct.tm.*tm.=.l |
| 1c20 | 6f 63 61 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 4f 20 20 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 | ocaltime(&t);...O....double.hour |
| 1c40 | 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b 20 74 6d 2d | _angle.=.(tm->tm_hour.%.12.+.tm- |
| 1c60 | 3e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 2a 4d 5f 50 49 2f 36 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b | >tm_min/60.0)*M_PI/6.0.-.M_PI/2; |
| 1c80 | 00 00 00 49 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 6c 65 20 3d 20 28 74 6d 2d 3e | ...I....double.min_angle.=.(tm-> |
| 1ca0 | 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 2f 36 30 2e 30 29 2a 4d 5f 50 49 2f 33 | tm_min.+.tm->tm_sec/60.0)*M_PI/3 |
| 1cc0 | 30 2e 30 20 2d 20 4d 5f 50 49 2f 32 3b 00 00 00 37 20 20 20 20 64 6f 75 62 6c 65 20 73 65 63 5f | 0.0.-.M_PI/2;...7....double.sec_ |
| 1ce0 | 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2a 20 4d 5f 50 49 2f 33 30 2e 30 20 2d | angle.=.tm->tm_sec.*.M_PI/30.0.- |
| 1d00 | 20 4d 5f 50 49 2f 32 3b 00 00 00 67 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 77 2c 68 | .M_PI/2;...g....draw_line(px,w,h |
| 1d20 | 2c 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 28 72 2a 30 2e 35 2a 63 6f 73 28 68 6f 75 72 5f 61 | ,cx,cy,cx+(int)(r*0.5*cos(hour_a |
| 1d40 | 6e 67 6c 65 29 29 2c 63 79 2b 28 69 6e 74 29 28 72 2a 30 2e 35 2a 73 69 6e 28 68 6f 75 72 5f 61 | ngle)),cy+(int)(r*0.5*sin(hour_a |
| 1d60 | 6e 67 6c 65 29 29 2c 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 65 20 20 20 20 64 72 61 77 5f | ngle)),0xff000000);...e....draw_ |
| 1d80 | 6c 69 6e 65 28 70 78 2c 77 2c 68 2c 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 28 72 2a 30 2e 37 | line(px,w,h,cx,cy,cx+(int)(r*0.7 |
| 1da0 | 2a 63 6f 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 63 79 2b 28 69 6e 74 29 28 72 2a 30 2e 37 2a | *cos(min_angle)),cy+(int)(r*0.7* |
| 1dc0 | 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 65 | sin(min_angle)),0xff000000);...e |
| 1de0 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 77 2c 68 2c 63 78 2c 63 79 2c 63 78 2b 28 69 | ....draw_line(px,w,h,cx,cy,cx+(i |
| 1e00 | 6e 74 29 28 72 2a 30 2e 39 2a 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 63 79 2b 28 69 6e | nt)(r*0.9*cos(sec_angle)),cy+(in |
| 1e20 | 74 29 28 72 2a 30 2e 39 2a 73 69 6e 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 30 78 66 66 66 66 30 | t)(r*0.9*sin(sec_angle)),0xffff0 |
| 1e40 | 30 30 30 29 3b 00 00 00 2d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 | 000);...-....wl_surface_attach(s |
| 1e60 | 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 00 00 00 27 20 20 20 20 77 6c | urface,.buffer,.0,.0);...'....wl |
| 1e80 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 73 75 72 66 61 63 65 2c 30 2c 30 2c 77 2c 68 29 | _surface_damage(surface,0,0,w,h) |
| 1ea0 | 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 | ;........wl_surface_commit(surfa |
| 1ec0 | 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 80 73 74 61 74 69 63 20 76 6f 69 64 20 74 6f 70 | ce);....}........static.void.top |
| 1ee0 | 6c 65 76 65 6c 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 | level_configure(void.*data,.stru |
| 1f00 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 69 6e 74 33 32 5f | ct.xdg_toplevel.*toplevel,int32_ |
| 1f20 | 74 20 77 69 64 74 68 2c 69 6e 74 33 32 5f 74 20 68 65 69 67 68 74 2c 73 74 72 75 63 74 20 77 6c | t.width,int32_t.height,struct.wl |
| 1f40 | 5f 61 72 72 61 79 20 2a 73 74 61 74 65 73 29 20 7b 00 00 00 3b 20 20 20 20 69 66 20 28 77 69 64 | _array.*states).{...;....if.(wid |
| 1f60 | 74 68 3e 30 20 26 26 20 68 65 69 67 68 74 3e 30 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 | th>0.&&.height>0).allocate_buffe |
| 1f80 | 72 28 77 69 64 74 68 2c 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 54 73 74 61 | r(width,height);....}.......Tsta |
| 1fa0 | 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 64 20 2a 64 61 | tic.void.toplevel_close(void.*da |
| 1fc0 | 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 70 6c 65 76 65 | ta,.struct.xdg_toplevel.*topleve |
| 1fe0 | 6c 29 20 7b 20 72 75 6e 6e 69 6e 67 3d 30 3b 20 7d 00 00 00 00 00 00 00 74 73 74 61 74 69 63 20 | l).{.running=0;.}.......tstatic. |
| 2000 | 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 6e | const.struct.xdg_toplevel_listen |
| 2020 | 65 72 20 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 | er.toplevel_listener.=.{.configu |
| 2040 | 72 65 3d 74 6f 70 6c 65 76 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 2e 63 6c 6f 73 65 3d 74 6f 70 | re=toplevel_configure,.close=top |
| 2060 | 6c 65 76 65 6c 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 7a 73 74 61 74 69 63 20 76 6f 69 64 | level_close};.......zstatic.void |
| 2080 | 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 | .registry_handler(void.*data,.st |
| 20a0 | 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 75 69 6e 74 33 | ruct.wl_registry.*registry,uint3 |
| 20c0 | 32 5f 74 20 69 64 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 75 69 6e | 2_t.id,const.char.*interface,uin |
| 20e0 | 74 33 32 5f 74 20 76 65 72 73 69 6f 6e 29 7b 00 00 00 71 20 20 20 20 69 66 28 73 74 72 63 6d 70 | t32_t.version){...q....if(strcmp |
| 2100 | 28 69 6e 74 65 72 66 61 63 65 2c 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 3d 3d 30 29 20 | (interface,"wl_compositor")==0). |
| 2120 | 63 6f 6d 70 6f 73 69 74 6f 72 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 69 | compositor=wl_registry_bind(regi |
| 2140 | 73 74 72 79 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 | stry,id,&wl_compositor_interface |
| 2160 | 2c 34 29 3b 00 00 00 61 20 20 20 20 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 69 6e 74 65 72 | ,4);...a....else.if(strcmp(inter |
| 2180 | 66 61 63 65 2c 22 77 6c 5f 73 68 6d 22 29 3d 3d 30 29 20 73 68 6d 3d 77 6c 5f 72 65 67 69 73 74 | face,"wl_shm")==0).shm=wl_regist |
| 21a0 | 72 79 5f 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 | ry_bind(registry,id,&wl_shm_inte |
| 21c0 | 72 66 61 63 65 2c 31 29 3b 00 00 00 30 20 20 20 20 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 | rface,1);...0....else.if(strcmp( |
| 21e0 | 69 6e 74 65 72 66 61 63 65 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 3d 3d 30 29 7b 00 00 00 | interface,"xdg_wm_base")==0){... |
| 2200 | 47 20 20 20 20 20 20 20 20 77 6d 5f 62 61 73 65 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | G........wm_base=wl_registry_bin |
| 2220 | 64 28 72 65 67 69 73 74 72 79 2c 69 64 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | d(registry,id,&xdg_wm_base_inter |
| 2240 | 66 61 63 65 2c 31 29 3b 00 00 00 41 20 20 20 20 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f | face,1);...A........xdg_wm_base_ |
| 2260 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 26 77 6d 5f 62 61 73 65 5f 6c 69 | add_listener(wm_base,&wm_base_li |
| 2280 | 73 74 65 6e 65 72 2c 4e 55 4c 4c 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | stener,NULL);........}....}..... |
| 22a0 | 00 00 53 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | ..Sstatic.const.struct.wl_regist |
| 22c0 | 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 65 6e 65 72 3d 7b 72 | ry_listener.registry_listener={r |
| 22e0 | 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e | egistry_handler,NULL};........in |
| 2300 | 74 20 6d 61 69 6e 28 29 20 7b 00 00 00 27 20 20 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 | t.main().{...'....display.=.wl_d |
| 2320 | 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 57 20 20 20 20 69 66 28 | isplay_connect(NULL);...W....if( |
| 2340 | 21 64 69 73 70 6c 61 79 29 7b 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 22 46 61 69 6c 65 | !display){.fprintf(stderr,"Faile |
| 2360 | 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 6c 61 79 5c | d.to.connect.to.Wayland.display\ |
| 2380 | 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 30 20 20 20 20 72 65 67 69 73 74 72 79 | n");.return.1;.}...0....registry |
| 23a0 | 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 64 69 73 70 6c | .=.wl_display_get_registry(displ |
| 23c0 | 61 79 29 3b 00 00 00 3f 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 | ay);...?....wl_registry_add_list |
| 23e0 | 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 26 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 | ener(registry,®istry_listener |
| 2400 | 2c 4e 55 4c 4c 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 | ,NULL);..."....wl_display_roundt |
| 2420 | 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 61 20 20 20 20 69 66 28 21 63 6f 6d 70 6f 73 69 | rip(display);...a....if(!composi |
| 2440 | 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 73 65 29 7b 20 66 70 72 69 6e 74 | tor.||.!shm.||.!wm_base){.fprint |
| 2460 | 66 28 73 74 64 65 72 72 2c 22 4d 69 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c | f(stderr,"Missing.Wayland.global |
| 2480 | 73 5c 6e 22 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 00 00 00 37 20 20 20 20 73 75 72 66 61 63 | s\n");.return.1;.}...7....surfac |
| 24a0 | 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 65 | e.=.wl_compositor_create_surface |
| 24c0 | 28 63 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 | (compositor);...?....xdg_surface |
| 24e0 | 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 | .=.xdg_wm_base_get_xdg_surface(w |
| 2500 | 6d 5f 62 61 73 65 2c 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 20 20 78 64 67 5f 73 75 72 66 | m_base,surface);...E....xdg_surf |
| 2520 | 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 26 78 64 | ace_add_listener(xdg_surface,&xd |
| 2540 | 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 4e 55 4c 4c 29 3b 00 00 00 35 20 20 20 | g_surface_listener,NULL);...5... |
| 2560 | 20 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 | .toplevel.=.xdg_surface_get_topl |
| 2580 | 65 76 65 6c 28 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 20 20 78 64 67 5f 74 6f | evel(xdg_surface);...@....xdg_to |
| 25a0 | 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 26 74 6f | plevel_add_listener(toplevel,&to |
| 25c0 | 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 2c 4e 55 4c 4c 29 3b 00 00 00 2e 20 20 20 20 78 64 | plevel_listener,NULL);........xd |
| 25e0 | 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 22 78 | g_toplevel_set_title(toplevel,"x |
| 2600 | 63 6c 6f 63 6b 22 29 3b 00 00 00 1f 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | clock");........wl_surface_commi |
| 2620 | 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 22 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f | t(surface);..."....wl_display_ro |
| 2640 | 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 13 20 20 20 20 77 68 69 6c 65 28 72 | undtrip(display);........while(r |
| 2660 | 75 6e 6e 69 6e 67 29 7b 00 00 00 2d 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | unning){...-........wl_display_d |
| 2680 | 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 15 20 20 20 | ispatch_pending(display);....... |
| 26a0 | 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b 00 00 00 1b 20 20 20 20 20 20 20 20 75 73 | .....draw_clock();............us |
| 26c0 | 6c 65 65 70 28 31 30 30 30 30 30 30 2f 36 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 0d 20 20 | leep(1000000/60);........}...... |
| 26e0 | 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 1a 00 00 00 02 00 00 00 8e 00 00 00 02 | ..return.0;5.................... |
| 2700 | 00 00 00 c1 00 00 00 00 00 00 00 7d 02 00 00 00 00 00 00 49 17 00 00 00 00 00 00 f0 18 00 00 00 | ...........}.......I............ |
| 2720 | 00 00 00 35 81 5f d0 00 00 00 05 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 01 00 | ...5._.......................... |
| 2740 | 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 00 | ................................ |
| 2760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 27a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 27c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 27e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28a0 | 00 00 00 00 00 00 00 00 00 69 9d 8b 67 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 | .........i..g................... |
| 28c0 | 00 00 00 00 00 dd 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 | .........&#include."xdg-shell-cl |
| 28e0 | 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 | ient-protocol.h"....#include.<fc |
| 2900 | 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 12 23 | ntl.h>....#include.<math.h>....# |
| 2920 | 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 75 64 65 20 3c 73 | include.<stdio.h>....#include.<s |
| 2940 | 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 3e 00 | tdlib.h>....#include.<string.h>. |
| 2960 | 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 11 23 69 6e 63 | ...#include.<sys/mman.h>....#inc |
| 2980 | 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 | lude.<time.h>....#include.<unist |
| 29a0 | 64 2e 68 3e 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 | d.h>....#include.<wayland-client |
| 29c0 | 2e 68 3e 00 00 00 00 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 69 | .h>........struct.wl_display.*di |
| 29e0 | 73 70 6c 61 79 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 | splay;....struct.wl_registry.*re |
| 2a00 | 67 69 73 74 72 79 3b 00 00 00 21 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 | gistry;...!struct.wl_compositor. |
| 2a20 | 2a 63 6f 6d 70 6f 73 69 74 6f 72 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 | *compositor;....struct.wl_shm.*s |
| 2a40 | 68 6d 3b 00 00 00 1c 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 | hm;....struct.xdg_wm_base.*wm_ba |
| 2a60 | 73 65 3b 00 00 00 1b 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 | se;....struct.wl_surface.*surfac |
| 2a80 | 65 3b 00 00 00 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 73 75 | e;....struct.xdg_surface.*xdg_su |
| 2aa0 | 72 66 61 63 65 3b 00 00 00 1e 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 74 | rface;....struct.xdg_toplevel.*t |
| 2ac0 | 6f 70 6c 65 76 65 6c 3b 00 00 00 00 00 00 00 17 73 74 61 74 69 63 20 69 6e 74 20 72 75 6e 6e 69 | oplevel;........static.int.runni |
| 2ae0 | 6e 67 20 3d 20 31 3b 00 00 00 27 73 74 61 74 69 63 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 | ng.=.1;...'static.struct.wl_buff |
| 2b00 | 65 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 | er.*buffer.=.NULL;....static.voi |
| 2b20 | 64 20 2a 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 | d.*pixels.=.NULL;...)static.int. |
| 2b40 | 62 75 66 5f 77 69 64 74 68 20 3d 20 30 2c 20 62 75 66 5f 68 65 69 67 68 74 20 3d 20 30 3b 00 00 | buf_width.=.0,.buf_height.=.0;.. |
| 2b60 | 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 | .....)static.int.create_shm_file |
| 2b80 | 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 | (size_t.size).{......char.templa |
| 2ba0 | 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 | te[].=."/tmp/wayland-shm-XXXXXX" |
| 2bc0 | 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 | ;......int.fd.=.mkstemp(template |
| 2be0 | 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 | );......if.(fd.<.0).{........per |
| 2c00 | 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | ror("mkstemp");........exit(1);. |
| 2c20 | 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 | .....}......unlink(template);... |
| 2c40 | 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 | ...if.(ftruncate(fd,.size).<.0). |
| 2c60 | 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 | {........perror("ftruncate");... |
| 2c80 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e | .....exit(1);......}......return |
| 2ca0 | 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f | .fd;....}.......Astatic.void.wm_ |
| 2cc0 | 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 78 64 67 | base_ping(void.*data,.struct.xdg |
| 2ce0 | 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 5f 62 61 73 65 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 | _wm_base.*wm_base,...+.......... |
| 2d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 | ...............uint32_t.serial). |
| 2d20 | 7b 00 00 00 24 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 | {...$..xdg_wm_base_pong(wm_base, |
| 2d40 | 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e | .serial);....}.......Kstatic.con |
| 2d60 | 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 | st.struct.xdg_wm_base_listener.w |
| 2d80 | 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 77 6d 5f 62 61 73 65 5f 70 69 6e 67 7d | m_base_listener.=.{wm_base_ping} |
| 2da0 | 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 78 64 67 5f 73 75 72 66 61 63 65 | ;.......Nstatic.void.xdg_surface |
| 2dc0 | 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 |
| 2de0 | 67 5f 73 75 72 66 61 63 65 20 2a 78 64 67 5f 73 75 72 66 61 63 65 2c 00 00 00 34 20 20 20 20 20 | g_surface.*xdg_surface,...4..... |
| 2e00 | 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 75 69 6e | .............................uin |
| 2e20 | 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 31 20 20 78 64 67 5f 73 75 72 66 61 63 65 | t32_t.serial).{...1..xdg_surface |
| 2e40 | 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 65 2c 20 73 65 72 69 | _ack_configure(xdg_surface,.seri |
| 2e60 | 61 6c 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 | al);......wl_surface_commit(surf |
| 2e80 | 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | ace);....}.......Astatic.const.s |
| 2ea0 | 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 |
| 2ec0 | 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 1b 20 20 20 20 78 64 67 5f 73 | urface_listener.=.{........xdg_s |
| 2ee0 | 75 72 66 61 63 65 5f 63 6f 6e 66 69 67 75 72 65 7d 3b 00 00 00 00 00 00 00 34 73 74 61 74 69 63 | urface_configure};.......4static |
| 2f00 | 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 69 6e 74 20 77 69 64 74 68 2c | .void.allocate_buffer(int.width, |
| 2f20 | 20 69 6e 74 20 68 65 69 67 68 74 29 20 7b 00 00 00 0f 20 20 69 66 20 28 62 75 66 66 65 72 29 20 | .int.height).{......if.(buffer). |
| 2f40 | 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 62 75 66 66 65 | {........wl_buffer_destroy(buffe |
| 2f60 | 72 29 3b 00 00 00 2f 20 20 20 20 6d 75 6e 6d 61 70 28 70 69 78 65 6c 73 2c 20 62 75 66 5f 77 69 | r);.../....munmap(pixels,.buf_wi |
| 2f80 | 64 74 68 20 2a 20 62 75 66 5f 68 65 69 67 68 74 20 2a 20 34 29 3b 00 00 00 03 20 20 7d 00 00 00 | dth.*.buf_height.*.4);......}... |
| 2fa0 | 14 20 20 62 75 66 5f 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b 00 00 00 16 20 20 62 75 66 5f 68 | ...buf_width.=.width;......buf_h |
| 2fc0 | 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b 00 00 00 19 20 20 69 6e 74 20 73 74 72 69 64 65 20 | eight.=.height;......int.stride. |
| 2fe0 | 3d 20 77 69 64 74 68 20 2a 20 34 3b 00 00 00 1d 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 | =.width.*.4;......int.size.=.str |
| 3000 | 69 64 65 20 2a 20 68 65 69 67 68 74 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 | ide.*.height;...!..int.fd.=.crea |
| 3020 | 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 47 20 20 70 69 78 65 6c 73 20 3d | te_shm_file(size);...G..pixels.= |
| 3040 | 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 20 7c 20 50 52 | .mmap(NULL,.size,.PROT_READ.|.PR |
| 3060 | 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 | OT_WRITE,.MAP_SHARED,.fd,.0);... |
| 3080 | 1d 20 20 69 66 20 28 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 | ...if.(pixels.==.MAP_FAILED).{.. |
| 30a0 | 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 | ......perror("mmap");........exi |
| 30c0 | 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 3f 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f | t(1);......}...?..struct.wl_shm_ |
| 30e0 | 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 | pool.*pool.=.wl_shm_create_pool( |
| 3100 | 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 44 20 20 62 75 66 66 65 72 20 3d 20 77 6c | shm,.fd,.size);...D..buffer.=.wl |
| 3120 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 3140 | 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c 20 73 74 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 | .width,.height,.stride,...=..... |
| 3160 | 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 | ................................ |
| 3180 | 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 2b 20 20 77 6c | WL_SHM_FORMAT_ARGB8888);...+..wl |
| 31a0 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 2c | _surface_attach(surface,.buffer, |
| 31c0 | 20 30 2c 20 30 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 | .0,.0);......wl_surface_commit(s |
| 31e0 | 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f 69 64 | urface);....}.......Dstatic.void |
| 3200 | 20 64 72 61 77 5f 70 69 78 65 6c 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 2c | .draw_pixel(int.x,.int.y,.int.w, |
| 3220 | 20 69 6e 74 20 68 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 29 20 20 69 | .int.h,.uint32_t.color).{...)..i |
| 3240 | 66 20 28 78 20 3e 3d 20 30 20 26 26 20 78 20 3c 20 77 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 | f.(x.>=.0.&&.x.<.w.&&.y.>=.0.&&. |
| 3260 | 79 20 3c 20 68 29 00 00 00 2c 20 20 20 20 28 28 75 69 6e 74 33 32 5f 74 20 2a 29 70 69 78 65 6c | y.<.h)...,....((uint32_t.*)pixel |
| 3280 | 73 29 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 | s)[y.*.w.+.x].=.color;....}..... |
| 32a0 | 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f | ..Istatic.void.draw_line(uint32_ |
| 32c0 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 | t.*px,.int.w,.int.h,.int.x0,.int |
| 32e0 | 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .y0,.int.x1,.../................ |
| 3300 | 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 | ......int.y1,.uint32_t.color).{. |
| 3320 | 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d | ../..int.dx.=.abs(x1.-.x0),.sx.= |
| 3340 | 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d | .x0.<.x1.?.1.:.-1;...0..int.dy.= |
| 3360 | 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 | .-abs(y1.-.y0),.sy.=.y0.<.y1.?.1 |
| 3380 | 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 | .:.-1;......int.err.=.dx.+.dy,.e |
| 33a0 | 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 | 2;......while.(1).{.../....if.(x |
| 33c0 | 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 | 0.>=.0.&&.x0.<.w.&&.y0.>=.0.&&.y |
| 33e0 | 30 20 3c 20 68 29 00 00 00 1e 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 | 0.<.h)..........px[y0.*.w.+.x0]. |
| 3400 | 3d 20 63 6f 6c 6f 72 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 | =.color;........if.(x0.==.x1.&&. |
| 3420 | 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 | y0.==.y1)..........break;....... |
| 3440 | 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 | .e2.=.2.*.err;........if.(e2.>=. |
| 3460 | 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 | dy).{..........err.+=.dy;....... |
| 3480 | 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 | ...x0.+=.sx;........}........if. |
| 34a0 | 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b | (e2.<=.dx).{..........err.+=.dx; |
| 34c0 | 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 | ..........y0.+=.sy;........}.... |
| 34e0 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 | ..}....}.......Jstatic.void.draw |
| 3500 | 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | _circle(uint32_t.*px,.int.w,.int |
| 3520 | 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 29 20 20 | .h,.int.cx,.int.cy,.int.r,...).. |
| 3540 | 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 32 5f 74 20 63 | ......................uint32_t.c |
| 3560 | 6f 6c 6f 72 29 20 7b 00 00 00 1c 20 20 69 6e 74 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 2c 20 65 | olor).{......int.x.=.r,.y.=.0,.e |
| 3580 | 72 72 20 3d 20 30 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 | rr.=.0;......while.(x.>=.y).{... |
| 35a0 | 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 2c 20 | ,....draw_pixel(cx.+.x,.cy.+.y,. |
| 35c0 | 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 | w,.h,.color);...,....draw_pixel( |
| 35e0 | 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 | cx.+.y,.cy.+.x,.w,.h,.color);... |
| 3600 | 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 2c 20 | ,....draw_pixel(cx.-.y,.cy.+.x,. |
| 3620 | 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 | w,.h,.color);...,....draw_pixel( |
| 3640 | 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 | cx.-.x,.cy.+.y,.w,.h,.color);... |
| 3660 | 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 2c 20 | ,....draw_pixel(cx.-.x,.cy.-.y,. |
| 3680 | 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 | w,.h,.color);...,....draw_pixel( |
| 36a0 | 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 | cx.-.y,.cy.-.x,.w,.h,.color);... |
| 36c0 | 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c 20 | ,....draw_pixel(cx.+.y,.cy.-.x,. |
| 36e0 | 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2c 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 | w,.h,.color);...,....draw_pixel( |
| 3700 | 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 2c 20 77 2c 20 68 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 | cx.+.x,.cy.-.y,.w,.h,.color);... |
| 3720 | 08 20 20 20 20 79 2b 2b 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d 20 30 29 20 7b | .....y++;........if.(err.<=.0).{ |
| 3740 | 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2b 3d 20 32 20 2a 20 79 20 2b 20 31 3b 00 00 00 05 20 | ..........err.+=.2.*.y.+.1;..... |
| 3760 | 20 20 20 7d 00 00 00 12 20 20 20 20 69 66 20 28 65 72 72 20 3e 20 30 29 20 7b 00 00 00 0a 20 20 | ...}........if.(err.>.0).{...... |
| 3780 | 20 20 20 20 78 2d 2d 3b 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2d 3d 20 32 20 2a 20 78 20 2b | ....x--;..........err.-=.2.*.x.+ |
| 37a0 | 20 31 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 1a | .1;........}......}....}........ |
| 37c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 20 7b 00 00 00 0e 20 20 | static.void.draw_clock().{...... |
| 37e0 | 69 66 20 28 21 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 24 20 | if.(!pixels)........return;...$. |
| 3800 | 20 69 6e 74 20 77 20 3d 20 62 75 66 5f 77 69 64 74 68 2c 20 68 20 3d 20 62 75 66 5f 68 65 69 67 | .int.w.=.buf_width,.h.=.buf_heig |
| 3820 | 68 74 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 70 69 78 65 6c 73 3b 00 | ht;......uint32_t.*px.=.pixels;. |
| 3840 | 00 00 1d 20 20 69 6e 74 20 63 78 20 3d 20 77 20 2f 20 32 2c 20 63 79 20 3d 20 68 20 2f 20 32 3b | .....int.cx.=.w./.2,.cy.=.h./.2; |
| 3860 | 00 00 00 23 20 20 69 6e 74 20 72 20 3d 20 28 77 20 3c 20 68 20 3f 20 77 20 3a 20 68 29 20 2f 20 | ...#..int.r.=.(w.<.h.?.w.:.h)./. |
| 3880 | 32 20 2d 20 31 30 3b 00 00 00 21 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | 2.-.10;...!..for.(int.i.=.0;.i.< |
| 38a0 | 20 77 20 2a 20 68 3b 20 69 2b 2b 29 00 00 00 17 20 20 20 20 70 78 5b 69 5d 20 3d 20 30 78 66 66 | .w.*.h;.i++)........px[i].=.0xff |
| 38c0 | 66 66 66 66 66 66 3b 00 00 00 2f 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 77 2c 20 | ffffff;.../..draw_circle(px,.w,. |
| 38e0 | 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 | h,.cx,.cy,.r,.0xff000000);...... |
| 3900 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 | for.(int.i.=.0;.i.<.12;.i++).{.. |
| 3920 | 00 2d 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 6c 65 20 3d 20 69 20 2a 20 4d 5f 50 49 20 2f 20 | .-....double.angle.=.i.*.M_PI./. |
| 3940 | 36 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 2e 20 20 20 20 69 6e 74 20 78 30 20 3d 20 | 6.0.-.M_PI./.2;........int.x0.=. |
| 3960 | 63 78 20 2b 20 28 69 6e 74 29 28 28 72 20 2d 20 35 29 20 2a 20 63 6f 73 28 61 6e 67 6c 65 29 29 | cx.+.(int)((r.-.5).*.cos(angle)) |
| 3980 | 3b 00 00 00 2e 20 20 20 20 69 6e 74 20 79 30 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 28 72 20 | ;........int.y0.=.cy.+.(int)((r. |
| 39a0 | 2d 20 35 29 20 2a 20 73 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 28 20 20 20 20 69 6e 74 20 78 | -.5).*.sin(angle));...(....int.x |
| 39c0 | 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 63 6f 73 28 61 6e 67 6c 65 29 29 3b 00 | 1.=.cx.+.(int)(r.*.cos(angle));. |
| 39e0 | 00 00 28 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 73 | ..(....int.y1.=.cy.+.(int)(r.*.s |
| 3a00 | 69 6e 28 61 6e 67 6c 65 29 29 3b 00 00 00 34 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c | in(angle));...4....draw_line(px, |
| 3a20 | 20 77 2c 20 68 2c 20 78 30 2c 20 79 30 2c 20 78 31 2c 20 79 31 2c 20 30 78 66 66 30 30 30 30 30 | .w,.h,.x0,.y0,.x1,.y1,.0xff00000 |
| 3a40 | 30 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 74 69 6d 65 5f 74 20 74 20 3d 20 74 69 6d 65 28 | 0);......}......time_t.t.=.time( |
| 3a60 | 4e 55 4c 4c 29 3b 00 00 00 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 20 3d 20 6c 6f 63 61 | NULL);......struct.tm.*tm.=.loca |
| 3a80 | 6c 74 69 6d 65 28 26 74 29 3b 00 00 00 15 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 5f 61 6e 67 6c | ltime(&t);......double.hour_angl |
| 3aa0 | 65 20 3d 00 00 00 45 20 20 20 20 20 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 20 2b | e.=...E......(tm->tm_hour.%.12.+ |
| 3ac0 | 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 36 2e 30 | .tm->tm_min./.60.0).*.M_PI./.6.0 |
| 3ae0 | 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 4f 20 20 64 6f 75 62 6c 65 20 6d 69 6e 5f 61 6e 67 | .-.M_PI./.2;...O..double.min_ang |
| 3b00 | 6c 65 20 3d 20 28 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 2d 3e 74 6d 5f 73 65 63 20 2f 20 | le.=.(tm->tm_min.+.tm->tm_sec./. |
| 3b20 | 36 30 2e 30 29 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 | 60.0).*.M_PI./.30.0.-.M_PI./.2;. |
| 3b40 | 00 00 39 20 20 64 6f 75 62 6c 65 20 73 65 63 5f 61 6e 67 6c 65 20 3d 20 74 6d 2d 3e 74 6d 5f 73 | ..9..double.sec_angle.=.tm->tm_s |
| 3b60 | 65 63 20 2a 20 4d 5f 50 49 20 2f 20 33 30 2e 30 20 2d 20 4d 5f 50 49 20 2f 20 32 3b 00 00 00 44 | ec.*.M_PI./.30.0.-.M_PI./.2;...D |
| 3b80 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | ..draw_line(px,.w,.h,.cx,.cy,.cx |
| 3ba0 | 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 35 20 2a 20 63 6f 73 28 68 6f 75 72 5f 61 6e 67 6c | .+.(int)(r.*.0.5.*.cos(hour_angl |
| 3bc0 | 65 29 29 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 | e)),...?............cy.+.(int)(r |
| 3be0 | 20 2a 20 30 2e 35 20 2a 20 73 69 6e 28 68 6f 75 72 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 30 | .*.0.5.*.sin(hour_angle)),.0xff0 |
| 3c00 | 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 77 2c 20 68 2c | 00000);...C..draw_line(px,.w,.h, |
| 3c20 | 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 63 6f | .cx,.cy,.cx.+.(int)(r.*.0.7.*.co |
| 3c40 | 73 28 6d 69 6e 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 79 | s(min_angle)),...>............cy |
| 3c60 | 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 37 20 2a 20 73 69 6e 28 6d 69 6e 5f 61 6e 67 6c 65 | .+.(int)(r.*.0.7.*.sin(min_angle |
| 3c80 | 29 29 2c 20 30 78 66 66 30 30 30 30 30 30 29 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 | )),.0xff000000);...C..draw_line( |
| 3ca0 | 70 78 2c 20 77 2c 20 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 72 20 2a | px,.w,.h,.cx,.cy,.cx.+.(int)(r.* |
| 3cc0 | 20 30 2e 39 20 2a 20 63 6f 73 28 73 65 63 5f 61 6e 67 6c 65 29 29 2c 00 00 00 3e 20 20 20 20 20 | .0.9.*.cos(sec_angle)),...>..... |
| 3ce0 | 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 72 20 2a 20 30 2e 39 20 2a 20 73 69 6e 28 | .......cy.+.(int)(r.*.0.9.*.sin( |
| 3d00 | 73 65 63 5f 61 6e 67 6c 65 29 29 2c 20 30 78 66 66 66 66 30 30 30 30 29 3b 00 00 00 2b 20 20 77 | sec_angle)),.0xffff0000);...+..w |
| 3d20 | 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 73 75 72 66 61 63 65 2c 20 62 75 66 66 65 72 | l_surface_attach(surface,.buffer |
| 3d40 | 2c 20 30 2c 20 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 | ,.0,.0);...)..wl_surface_damage( |
| 3d60 | 73 75 72 66 61 63 65 2c 20 30 2c 20 30 2c 20 77 2c 20 68 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 | surface,.0,.0,.w,.h);......wl_su |
| 3d80 | 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 65 29 3b 00 00 00 01 7d 00 00 00 00 00 | rface_commit(surface);....}..... |
| 3da0 | 00 00 49 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 | ..Istatic.void.toplevel_configur |
| 3dc0 | 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 |
| 3de0 | 6c 20 2a 74 6f 70 6c 65 76 65 6c 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.*toplevel,...=................ |
| 3e00 | 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 20 69 6e | ...............int32_t.width,.in |
| 3e20 | 74 33 32 5f 74 20 68 65 69 67 68 74 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t32_t.height,...9............... |
| 3e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 | ................struct.wl_array. |
| 3e60 | 2a 73 74 61 74 65 73 29 20 7b 00 00 00 1e 20 20 69 66 20 28 77 69 64 74 68 20 3e 20 30 20 26 26 | *states).{......if.(width.>.0.&& |
| 3e80 | 20 68 65 69 67 68 74 20 3e 20 30 29 00 00 00 23 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 | .height.>.0)...#....allocate_buf |
| 3ea0 | 66 65 72 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 | fer(width,.height);....}.......G |
| 3ec0 | 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 64 20 | static.void.toplevel_close(void. |
| 3ee0 | 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 70 6c | *data,.struct.xdg_toplevel.*topl |
| 3f00 | 65 76 65 6c 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 | evel).{......running.=.0;....}.. |
| 3f20 | 00 00 00 00 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 | .....?static.const.struct.xdg_to |
| 3f40 | 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 65 6e 65 | plevel_listener.toplevel_listene |
| 3f60 | 72 20 3d 20 7b 00 00 00 3e 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 74 6f 70 6c 65 76 | r.=.{...>.....configure.=.toplev |
| 3f80 | 65 6c 5f 63 6f 6e 66 69 67 75 72 65 2c 20 2e 63 6c 6f 73 65 20 3d 20 74 6f 70 6c 65 76 65 6c 5f | el_configure,..close.=.toplevel_ |
| 3fa0 | 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 | close};.......Fstatic.void.regis |
| 3fc0 | 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 | try_handler(void.*data,.struct.w |
| 3fe0 | 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 69 73 74 72 79 2c 00 00 00 40 20 20 20 20 20 20 20 | l_registry.*registry,...@....... |
| 4000 | 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 32 5f 74 20 69 | ......................uint32_t.i |
| 4020 | 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 6e 74 65 72 66 61 63 65 2c 00 00 00 30 20 20 20 | d,.const.char.*interface,...0... |
| 4040 | 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 32 | ..........................uint32 |
| 4060 | 5f 74 20 76 65 72 73 69 6f 6e 29 20 7b 00 00 00 2e 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e | _t.version).{......if.(strcmp(in |
| 4080 | 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 | terface,."wl_compositor").==.0). |
| 40a0 | 00 00 4d 20 20 20 20 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 | ..M....compositor.=.wl_registry_ |
| 40c0 | 62 69 6e 64 28 72 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | bind(registry,.id,.&wl_composito |
| 40e0 | 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 2c 20 20 65 6c 73 65 20 69 66 20 28 73 | r_interface,.4);...,..else.if.(s |
| 4100 | 74 72 63 6d 70 28 69 6e 74 65 72 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 | trcmp(interface,."wl_shm").==.0) |
| 4120 | 00 00 00 3f 20 20 20 20 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | ...?....shm.=.wl_registry_bind(r |
| 4140 | 65 67 69 73 74 72 79 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 | egistry,.id,.&wl_shm_interface,. |
| 4160 | 31 29 3b 00 00 00 33 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 6e 74 65 72 66 61 | 1);...3..else.if.(strcmp(interfa |
| 4180 | 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 48 20 20 | ce,."xdg_wm_base").==.0).{...H.. |
| 41a0 | 20 20 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 | ..wm_base.=.wl_registry_bind(reg |
| 41c0 | 69 73 74 72 79 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 | istry,.id,.&xdg_wm_base_interfac |
| 41e0 | 65 2c 20 31 29 3b 00 00 00 3f 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 | e,.1);...?....xdg_wm_base_add_li |
| 4200 | 73 74 65 6e 65 72 28 77 6d 5f 62 61 73 65 2c 20 26 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 | stener(wm_base,.&wm_base_listene |
| 4220 | 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 | r,.NULL);......}....}.......Osta |
| 4240 | 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 | tic.const.struct.wl_registry_lis |
| 4260 | 74 65 6e 65 72 20 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 72 65 67 69 73 | tener.registry_listener.=.{regis |
| 4280 | 74 72 79 5f 68 61 6e 64 6c 65 72 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | try_handler,...D................ |
| 42a0 | 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 | ................................ |
| 42c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 0c 69 6e 74 20 | ..............NULL};........int. |
| 42e0 | 6d 61 69 6e 28 29 20 7b 00 00 00 25 20 20 64 69 73 70 6c 61 79 20 3d 20 77 6c 5f 64 69 73 70 6c | main().{...%..display.=.wl_displ |
| 4300 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 11 20 20 69 66 20 28 21 64 69 73 70 | ay_connect(NULL);......if.(!disp |
| 4320 | 6c 61 79 29 20 7b 00 00 00 3e 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 46 | lay).{...>....fprintf(stderr,."F |
| 4340 | 61 69 6c 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 57 61 79 6c 61 6e 64 20 64 69 73 70 | ailed.to.connect.to.Wayland.disp |
| 4360 | 6c 61 79 5c 6e 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d | lay\n");........return.1;......} |
| 4380 | 00 00 00 2e 20 20 72 65 67 69 73 74 72 79 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f | ......registry.=.wl_display_get_ |
| 43a0 | 72 65 67 69 73 74 72 79 28 64 69 73 70 6c 61 79 29 3b 00 00 00 3f 20 20 77 6c 5f 72 65 67 69 73 | registry(display);...?..wl_regis |
| 43c0 | 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 72 65 67 69 73 74 72 79 2c 20 26 72 65 67 69 | try_add_listener(registry,.®i |
| 43e0 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 | stry_listener,.NULL);......wl_di |
| 4400 | 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 73 70 6c 61 79 29 3b 00 00 00 28 20 20 69 | splay_roundtrip(display);...(..i |
| 4420 | 66 20 28 21 63 6f 6d 70 6f 73 69 74 6f 72 20 7c 7c 20 21 73 68 6d 20 7c 7c 20 21 77 6d 5f 62 61 | f.(!compositor.||.!shm.||.!wm_ba |
| 4440 | 73 65 29 20 7b 00 00 00 31 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 4d 69 | se).{...1....fprintf(stderr,."Mi |
| 4460 | 73 73 69 6e 67 20 57 61 79 6c 61 6e 64 20 67 6c 6f 62 61 6c 73 5c 6e 22 29 3b 00 00 00 0d 20 20 | ssing.Wayland.globals\n");...... |
| 4480 | 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 03 20 20 7d 00 00 00 35 20 20 73 75 72 66 61 63 65 20 | ..return.1;......}...5..surface. |
| 44a0 | 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 65 28 63 | =.wl_compositor_create_surface(c |
| 44c0 | 6f 6d 70 6f 73 69 74 6f 72 29 3b 00 00 00 3e 20 20 78 64 67 5f 73 75 72 66 61 63 65 20 3d 20 78 | ompositor);...>..xdg_surface.=.x |
| 44e0 | 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 77 6d 5f 62 61 | dg_wm_base_get_xdg_surface(wm_ba |
| 4500 | 73 65 2c 20 73 75 72 66 61 63 65 29 3b 00 00 00 45 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | se,.surface);...E..xdg_surface_a |
| 4520 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 78 64 67 5f 73 75 72 66 61 63 65 2c 20 26 78 64 67 5f 73 75 | dd_listener(xdg_surface,.&xdg_su |
| 4540 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 33 20 20 74 6f 70 6c | rface_listener,.NULL);...3..topl |
| 4560 | 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 6c 28 | evel.=.xdg_surface_get_toplevel( |
| 4580 | 78 64 67 5f 73 75 72 66 61 63 65 29 3b 00 00 00 40 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | xdg_surface);...@..xdg_toplevel_ |
| 45a0 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 74 6f 70 6c 65 76 65 6c 2c 20 26 74 6f 70 6c 65 76 65 6c | add_listener(toplevel,.&toplevel |
| 45c0 | 5f 6c 69 73 74 65 6e 65 72 2c 20 4e 55 4c 4c 29 3b 00 00 00 2d 20 20 78 64 67 5f 74 6f 70 6c 65 | _listener,.NULL);...-..xdg_tople |
| 45e0 | 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 74 6f 70 6c 65 76 65 6c 2c 20 22 78 63 6c 6f 63 6b 22 | vel_set_title(toplevel,."xclock" |
| 4600 | 29 3b 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 73 75 72 66 61 63 | );......wl_surface_commit(surfac |
| 4620 | 65 29 3b 00 00 00 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 64 69 | e);......wl_display_roundtrip(di |
| 4640 | 73 70 6c 61 79 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 | splay);......while.(running).{.. |
| 4660 | 00 29 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 |
| 4680 | 67 28 64 69 73 70 6c 61 79 29 3b 00 00 00 11 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 29 3b | g(display);........draw_clock(); |
| 46a0 | 00 00 00 19 20 20 20 20 75 73 6c 65 65 70 28 31 30 30 30 30 30 30 20 2f 20 36 30 29 3b 00 00 00 | ........usleep(1000000./.60);... |
| 46c0 | 03 20 20 7d 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 | ...}......return.0;....}5....... |
| 46e0 | 00 00 00 00 00 00 00 00 dd 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4700 | 7b 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 06 00 00 00 08 00 00 00 00 | {...............5._............. |
| 4720 | 00 00 00 00 00 00 00 07 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 | ................................ |
| 4740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 8b 68 04 01 00 00 00 00 | ......................i..h...... |
| 48a0 | 00 f5 18 00 00 00 b9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 ba 00 00 | .......................}........ |
| 48c0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 | ...............~................ |
| 48e0 | 20 20 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 f5 18 00 00 00 7f 00 00 00 00 00 00 00 00 | ....struct.timespe.............. |
| 4900 | 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 f5 18 00 00 00 01 | ................................ |
| 4920 | 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 00 00 00 00 00 00 | ............5................... |
| 4940 | 00 00 00 00 7e 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 | ....~........................... |
| 4960 | 00 00 00 00 f5 18 00 00 00 00 7e 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 3b 00 00 00 01 00 | ..........~...............;..... |
| 4980 | 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 0a 00 00 00 00 00 00 35 81 5f d0 00 00 | ..................!.......5._... |
| 49a0 | 00 07 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 ba 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 49c0 | ff 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 | ................................ |
| 49e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b20 | 69 9d 8b 68 04 01 00 00 00 03 00 f5 18 00 00 00 03 00 00 00 fe 00 00 00 ba 00 00 00 b6 00 00 00 | i..h............................ |
| 4b40 | 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c | .#include.<math.h>....#include.< |
| 4b60 | 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 | poll.h>....#include.<signal.h>.. |
| 4b80 | 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 | ..#include.<stdbool.h>....#inclu |
| 4ba0 | 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 | de.<stdio.h>....#include.<stdlib |
| 4bc0 | 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 3e 00 00 00 11 23 69 | .h>....#include.<string.h>....#i |
| 4be0 | 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 | nclude.<time.h>....#include.<uni |
| 4c00 | 73 74 64 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 | std.h>....#include.<sys/mman.h>. |
| 4c20 | 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 12 23 | ...#include.<sys/timerfd.h>....# |
| 4c40 | 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 | include.<fcntl.h>....#include.<w |
| 4c60 | 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 26 23 69 6e 63 6c 75 64 65 | ayland-client.h>.......&#include |
| 4c80 | 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 22 00 00 | ."xdg-shell-client-protocol.h".. |
| 4ca0 | 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f | ......#ifndef.M_PI...##define.M_ |
| 4cc0 | 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e | PI.3.14159265358979323846....#en |
| 4ce0 | 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 | dif....#ifndef.M_PI_2...%#define |
| 4d00 | 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 | .M_PI_2.1.57079632679489661923.. |
| 4d20 | 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 23 23 64 65 66 69 6e 65 20 53 57 43 4c 4f 43 4b 5f | ..#endif.......##define.SWCLOCK_ |
| 4d40 | 42 47 5f 43 4f 4c 4f 52 20 30 78 46 46 46 46 46 46 46 46 00 00 00 24 23 64 65 66 69 6e 65 20 53 | BG_COLOR.0xFFFFFFFF...$#define.S |
| 4d60 | 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 20 30 78 46 46 30 30 30 30 30 30 00 00 00 24 23 | WCLOCK_INK_COLOR.0xFF000000...$# |
| 4d80 | 64 65 66 69 6e 65 20 53 57 43 4c 4f 43 4b 5f 53 45 43 5f 43 4f 4c 4f 52 20 30 78 46 46 46 46 30 | define.SWCLOCK_SEC_COLOR.0xFFFF0 |
| 4da0 | 30 30 30 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 | 000.......)static.volatile.sig_a |
| 4dc0 | 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 30 73 74 61 74 69 63 20 76 | tomic_t.running.=.1;...0static.v |
| 4de0 | 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 7b 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 | oid.on_sig(int.s){(void)s;.runni |
| 4e00 | 6e 67 20 3d 20 30 3b 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 19 | ng.=.0;}........struct.app.{.... |
| 4e20 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1c 20 20 20 | ....struct.wl_display.*d;....... |
| 4e40 | 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1f 20 20 20 | .struct.wl_registry.*reg;....... |
| 4e60 | 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 3b 00 00 00 17 | .struct.wl_compositor.*comp;.... |
| 4e80 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1b 20 20 20 20 73 | ....struct.wl_shm.*shm;........s |
| 4ea0 | 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 1a 20 20 20 20 73 74 | truct.xdg_wm_base.*wm;........st |
| 4ec0 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 1b 20 20 20 20 73 74 72 75 | ruct.wl_surface.*ws;........stru |
| 4ee0 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1c 20 20 20 20 73 74 72 75 63 | ct.xdg_surface.*xs;........struc |
| 4f00 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 21 20 20 20 20 73 74 72 75 63 | t.xdg_toplevel.*xt;...!....struc |
| 4f20 | 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 62 3b 00 00 00 00 00 00 00 15 | t.wl_callback.*frame_cb;........ |
| 4f40 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 3b 00 00 00 1a 20 20 20 20 73 74 72 | ....uint32_t.*pixels;........str |
| 4f60 | 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0c 20 20 20 20 69 6e 74 20 77 | uct.wl_buffer.*buf;........int.w |
| 4f80 | 2c 68 3b 00 00 00 14 20 20 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 17 20 | ,h;........bool.configured;..... |
| 4fa0 | 20 20 20 62 6f 6f 6c 20 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 3b 00 00 00 02 7d 3b 00 00 00 00 | ...bool.frame_pending;....};.... |
| 4fc0 | 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 | ...)static.int.create_shm_file(s |
| 4fe0 | 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 30 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 | ize_t.size).{...0....char.templa |
| 5000 | 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 | te[].=."/tmp/wayland-shm-XXXXXX" |
| 5020 | 3b 00 00 00 1f 20 20 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 | ;........int.fd.=.mkstemp(templa |
| 5040 | 74 65 29 3b 00 00 00 2f 20 20 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 | te);.../....if.(fd.<.0).{.perror |
| 5060 | 28 22 6d 6b 73 74 65 6d 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 | ("mkstemp");.exit(1);.}........u |
| 5080 | 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 3f 20 20 20 20 69 66 20 28 66 74 72 75 | nlink(template);...?....if.(ftru |
| 50a0 | 6e 63 61 74 65 28 66 64 2c 73 69 7a 65 29 3c 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 | ncate(fd,size)<0).{.perror("ftru |
| 50c0 | 6e 63 61 74 65 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 | ncate");.exit(1);.}........retur |
| 50e0 | 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 | n.fd;....}.......Astatic.void.dr |
| 5100 | 61 77 5f 70 69 78 65 6c 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 78 2c 69 6e 74 | aw_pixel(struct.app.*a,int.x,int |
| 5120 | 20 79 2c 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 7b 00 00 00 28 20 20 20 20 69 66 28 78 3e | .y,uint32_t.color){...(....if(x> |
| 5140 | 3d 30 20 26 26 20 78 3c 61 2d 3e 77 20 26 26 20 79 3e 3d 30 20 26 26 20 79 3c 61 2d 3e 68 29 00 | =0.&&.x<a->w.&&.y>=0.&&.y<a->h). |
| 5160 | 00 00 22 20 20 20 20 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 5b 79 2a 61 2d 3e 77 2b 78 5d 3d 63 | .."........a->pixels[y*a->w+x]=c |
| 5180 | 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 | olor;....}.......Pstatic.void.dr |
| 51a0 | 61 77 5f 6c 69 6e 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 78 30 2c 69 6e 74 | aw_line(struct.app.*a,int.x0,int |
| 51c0 | 20 79 30 2c 69 6e 74 20 78 31 2c 69 6e 74 20 79 31 2c 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 | .y0,int.x1,int.y1,uint32_t.color |
| 51e0 | 29 7b 00 00 00 29 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 2d 78 30 29 2c 20 73 | ){...)....int.dx.=.abs(x1-x0),.s |
| 5200 | 78 20 3d 20 78 30 3c 78 31 3f 31 3a 2d 31 3b 00 00 00 2a 20 20 20 20 69 6e 74 20 64 79 20 3d 20 | x.=.x0<x1?1:-1;...*....int.dy.=. |
| 5220 | 2d 61 62 73 28 79 31 2d 79 30 29 2c 20 73 79 20 3d 20 79 30 3c 79 31 3f 31 3a 2d 31 3b 00 00 00 | -abs(y1-y0),.sy.=.y0<y1?1:-1;... |
| 5240 | 15 20 20 20 20 69 6e 74 20 65 72 72 3d 64 78 2b 64 79 2c 65 32 3b 00 00 00 0d 20 20 20 20 77 68 | .....int.err=dx+dy,e2;........wh |
| 5260 | 69 6c 65 28 31 29 7b 00 00 00 22 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c | ile(1){..."........draw_pixel(a, |
| 5280 | 78 30 2c 79 30 2c 63 6f 6c 6f 72 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 69 66 28 78 30 3d 3d | x0,y0,color);...#........if(x0== |
| 52a0 | 78 31 20 26 26 20 79 30 3d 3d 79 31 29 20 62 72 65 61 6b 3b 00 00 00 13 20 20 20 20 20 20 20 20 | x1.&&.y0==y1).break;............ |
| 52c0 | 65 32 20 3d 20 32 2a 65 72 72 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 28 65 32 3e 3d 64 79 | e2.=.2*err;...%........if(e2>=dy |
| 52e0 | 29 7b 20 65 72 72 2b 3d 64 79 3b 20 78 30 2b 3d 73 78 3b 7d 00 00 00 25 20 20 20 20 20 20 20 20 | ){.err+=dy;.x0+=sx;}...%........ |
| 5300 | 69 66 28 65 32 3c 3d 64 78 29 7b 20 65 72 72 2b 3d 64 78 3b 20 79 30 2b 3d 73 79 3b 7d 00 00 00 | if(e2<=dx){.err+=dx;.y0+=sy;}... |
| 5320 | 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 64 | .....}....}.......Tstatic.void.d |
| 5340 | 72 61 77 5f 63 69 72 63 6c 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 69 6e 74 20 63 78 2c | raw_circle(struct.app.*a,int.cx, |
| 5360 | 69 6e 74 20 63 79 2c 69 6e 74 20 72 2c 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 2c 62 6f 6f 6c | int.cy,int.r,uint32_t.color,bool |
| 5380 | 20 66 69 6c 6c 29 7b 00 00 00 16 20 20 20 20 69 6e 74 20 78 3d 72 2c 79 3d 30 2c 65 72 72 3d 30 | .fill){........int.x=r,y=0,err=0 |
| 53a0 | 3b 00 00 00 10 20 20 20 20 77 68 69 6c 65 28 78 3e 3d 79 29 7b 00 00 00 11 20 20 20 20 20 20 20 | ;........while(x>=y){........... |
| 53c0 | 20 69 66 28 66 69 6c 6c 29 7b 00 00 00 61 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28 69 6e | .if(fill){...a............for(in |
| 53e0 | 74 20 69 3d 63 78 2d 78 3b 69 3c 3d 63 78 2b 78 3b 69 2b 2b 29 7b 20 64 72 61 77 5f 70 69 78 65 | t.i=cx-x;i<=cx+x;i++){.draw_pixe |
| 5400 | 6c 28 61 2c 69 2c 63 79 2b 79 2c 63 6f 6c 6f 72 29 3b 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c | l(a,i,cy+y,color);.draw_pixel(a, |
| 5420 | 69 2c 63 79 2d 79 2c 63 6f 6c 6f 72 29 3b 7d 00 00 00 61 20 20 20 20 20 20 20 20 20 20 20 20 66 | i,cy-y,color);}...a............f |
| 5440 | 6f 72 28 69 6e 74 20 69 3d 63 78 2d 79 3b 69 3c 3d 63 78 2b 79 3b 69 2b 2b 29 7b 20 64 72 61 77 | or(int.i=cx-y;i<=cx+y;i++){.draw |
| 5460 | 5f 70 69 78 65 6c 28 61 2c 69 2c 63 79 2b 78 2c 63 6f 6c 6f 72 29 3b 20 64 72 61 77 5f 70 69 78 | _pixel(a,i,cy+x,color);.draw_pix |
| 5480 | 65 6c 28 61 2c 69 2c 63 79 2d 78 2c 63 6f 6c 6f 72 29 3b 7d 00 00 00 0e 20 20 20 20 20 20 20 20 | el(a,i,cy-x,color);}............ |
| 54a0 | 7d 65 6c 73 65 7b 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c | }else{...I............draw_pixel |
| 54c0 | 28 61 2c 63 78 2b 78 2c 63 79 2b 79 2c 63 6f 6c 6f 72 29 3b 20 64 72 61 77 5f 70 69 78 65 6c 28 | (a,cx+x,cy+y,color);.draw_pixel( |
| 54e0 | 61 2c 63 78 2b 79 2c 63 79 2b 78 2c 63 6f 6c 6f 72 29 3b 00 00 00 49 20 20 20 20 20 20 20 20 20 | a,cx+y,cy+x,color);...I......... |
| 5500 | 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 63 78 2d 79 2c 63 79 2b 78 2c 63 6f 6c 6f 72 29 | ...draw_pixel(a,cx-y,cy+x,color) |
| 5520 | 3b 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 63 78 2d 78 2c 63 79 2b 79 2c 63 6f 6c 6f 72 29 3b | ;.draw_pixel(a,cx-x,cy+y,color); |
| 5540 | 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 63 78 2d | ...I............draw_pixel(a,cx- |
| 5560 | 78 2c 63 79 2d 79 2c 63 6f 6c 6f 72 29 3b 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 63 78 2d 79 | x,cy-y,color);.draw_pixel(a,cx-y |
| 5580 | 2c 63 79 2d 78 2c 63 6f 6c 6f 72 29 3b 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 | ,cy-x,color);...I............dra |
| 55a0 | 77 5f 70 69 78 65 6c 28 61 2c 63 78 2b 79 2c 63 79 2d 78 2c 63 6f 6c 6f 72 29 3b 20 64 72 61 77 | w_pixel(a,cx+y,cy-x,color);.draw |
| 55c0 | 5f 70 69 78 65 6c 28 61 2c 63 78 2b 78 2c 63 79 2d 79 2c 63 6f 6c 6f 72 29 3b 00 00 00 09 20 20 | _pixel(a,cx+x,cy-y,color);...... |
| 55e0 | 20 20 20 20 20 20 7d 00 00 00 40 20 20 20 20 20 20 20 20 79 2b 2b 3b 20 69 66 28 65 72 72 3c 3d | ......}...@........y++;.if(err<= |
| 5600 | 30 29 20 65 72 72 2b 3d 32 2a 79 2b 31 3b 20 69 66 28 65 72 72 3e 30 29 7b 20 78 2d 2d 3b 20 65 | 0).err+=2*y+1;.if(err>0){.x--;.e |
| 5620 | 72 72 2d 3d 32 2a 78 2b 31 3b 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | rr-=2*x+1;}........}....}....... |
| 5640 | 3b 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 | ;static.void.draw_clock(struct.a |
| 5660 | 70 70 20 2a 61 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 29 7b 00 00 00 2c | pp.*a,.const.struct.tm.*tm){..., |
| 5680 | 20 20 20 20 69 66 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 21 61 2d 3e 70 69 78 | ....if(!a->configured.||.!a->pix |
| 56a0 | 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 1c 20 20 20 20 69 6e 74 20 63 78 3d 61 2d 3e 77 2f | els).return;........int.cx=a->w/ |
| 56c0 | 32 2c 63 79 3d 61 2d 3e 68 2f 32 3b 00 00 00 32 20 20 20 20 69 6e 74 20 72 3d 28 61 2d 3e 77 3c | 2,cy=a->h/2;...2....int.r=(a->w< |
| 56e0 | 61 2d 3e 68 3f 61 2d 3e 77 3a 61 2d 3e 68 29 2f 32 20 2d 38 3b 20 69 66 28 72 3c 32 29 20 72 3d | a->h?a->w:a->h)/2.-8;.if(r<2).r= |
| 5700 | 32 3b 00 00 00 3f 20 20 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 61 2d 3e 77 2a 61 2d 3e | 2;...?....for(int.i=0;i<a->w*a-> |
| 5720 | 68 3b 69 2b 2b 29 20 61 2d 3e 70 69 78 65 6c 73 5b 69 5d 3d 53 57 43 4c 4f 43 4b 5f 42 47 5f 43 | h;i++).a->pixels[i]=SWCLOCK_BG_C |
| 5740 | 4f 4c 4f 52 3b 00 00 00 33 20 20 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 61 2c 63 78 2c 63 79 | OLOR;...3....draw_circle(a,cx,cy |
| 5760 | 2c 72 2c 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 2c 66 61 6c 73 65 29 3b 00 00 00 1a | ,r,SWCLOCK_INK_COLOR,false);.... |
| 5780 | 20 20 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 31 32 3b 69 2b 2b 29 7b 00 00 00 2a 20 20 | ....for(int.i=0;i<12;i++){...*.. |
| 57a0 | 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 3d 69 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 20 2d | ......double.ang=i/12.0*2*M_PI.- |
| 57c0 | 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 20 20 20 20 20 20 69 6e 74 20 78 31 3d 63 78 2b 28 69 | .M_PI_2;............int.x1=cx+(i |
| 57e0 | 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 61 6e 67 29 2a 28 72 2d 31 30 29 29 3b 00 00 00 2e 20 20 | nt)round(cos(ang)*(r-10));...... |
| 5800 | 20 20 20 20 20 20 69 6e 74 20 79 31 3d 63 79 2b 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 61 | ......int.y1=cy+(int)round(sin(a |
| 5820 | 6e 67 29 2a 28 72 2d 31 30 29 29 3b 00 00 00 2d 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 3d 63 | ng)*(r-10));...-........int.x2=c |
| 5840 | 78 2b 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 29 3b 00 00 00 | x+(int)round(cos(ang)*(r-2));... |
| 5860 | 2d 20 20 20 20 20 20 20 20 69 6e 74 20 79 32 3d 63 79 2b 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 | -........int.y2=cy+(int)round(si |
| 5880 | 6e 28 61 6e 67 29 2a 28 72 2d 32 29 29 3b 00 00 00 33 20 20 20 20 20 20 20 20 64 72 61 77 5f 6c | n(ang)*(r-2));...3........draw_l |
| 58a0 | 69 6e 65 28 61 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f | ine(a,x1,y1,x2,y2,SWCLOCK_INK_CO |
| 58c0 | 4c 4f 52 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1a 20 20 20 20 64 6f 75 62 6c 65 20 73 65 63 | LOR);........}........double.sec |
| 58e0 | 3d 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 23 20 20 20 20 64 6f 75 62 6c 65 20 6d 69 6e 3d 74 | =tm->tm_sec;...#....double.min=t |
| 5900 | 6d 2d 3e 74 6d 5f 6d 69 6e 2b 73 65 63 2f 36 30 2e 30 3b 00 00 00 2a 20 20 20 20 64 6f 75 62 6c | m->tm_min+sec/60.0;...*....doubl |
| 5920 | 65 20 68 6f 75 72 3d 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 25 31 32 29 2b 6d 69 6e 2f 36 30 2e 30 | e.hour=(tm->tm_hour%12)+min/60.0 |
| 5940 | 3b 00 00 00 27 20 20 20 20 64 6f 75 62 6c 65 20 73 61 3d 73 65 63 2f 36 30 2e 30 2a 32 2a 4d 5f | ;...'....double.sa=sec/60.0*2*M_ |
| 5960 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 27 20 20 20 20 64 6f 75 62 6c 65 20 6d 61 3d 6d 69 | PI.-.M_PI_2;...'....double.ma=mi |
| 5980 | 6e 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 28 20 20 20 20 64 | n/60.0*2*M_PI.-.M_PI_2;...(....d |
| 59a0 | 6f 75 62 6c 65 20 68 61 3d 68 6f 75 72 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 | ouble.ha=hour/12.0*2*M_PI.-.M_PI |
| 59c0 | 5f 32 3b 00 00 00 65 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 61 2c 63 78 2c 63 79 2c 63 78 2b | _2;...e....draw_line(a,cx,cy,cx+ |
| 59e0 | 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 29 2c 63 79 2b 28 69 | (int)round(cos(ha)*r*0.55),cy+(i |
| 5a00 | 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 29 2c 53 57 43 4c 4f 43 4b | nt)round(sin(ha)*r*0.55),SWCLOCK |
| 5a20 | 5f 49 4e 4b 5f 43 4f 4c 4f 52 29 3b 00 00 00 63 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 61 2c | _INK_COLOR);...c....draw_line(a, |
| 5a40 | 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 6d 61 29 2a 72 2a 30 2e | cx,cy,cx+(int)round(cos(ma)*r*0. |
| 5a60 | 38 29 2c 63 79 2b 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 29 2c | 8),cy+(int)round(sin(ma)*r*0.8), |
| 5a80 | 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 29 3b 00 00 00 63 20 20 20 20 64 72 61 77 5f | SWCLOCK_INK_COLOR);...c....draw_ |
| 5aa0 | 6c 69 6e 65 28 61 2c 63 78 2c 63 79 2c 63 78 2b 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 73 | line(a,cx,cy,cx+(int)round(cos(s |
| 5ac0 | 61 29 2a 72 2a 30 2e 39 29 2c 63 79 2b 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 73 61 29 2a | a)*r*0.9),cy+(int)round(sin(sa)* |
| 5ae0 | 72 2a 30 2e 39 29 2c 53 57 43 4c 4f 43 4b 5f 53 45 43 5f 43 4f 4c 4f 52 29 3b 00 00 00 32 20 20 | r*0.9),SWCLOCK_SEC_COLOR);...2.. |
| 5b00 | 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 61 2c 63 78 2c 63 79 2c 33 2c 53 57 43 4c 4f 43 4b 5f | ..draw_circle(a,cx,cy,3,SWCLOCK_ |
| 5b20 | 49 4e 4b 5f 43 4f 4c 4f 52 2c 74 72 75 65 29 3b 00 00 00 28 20 20 20 20 77 6c 5f 73 75 72 66 61 | INK_COLOR,true);...(....wl_surfa |
| 5b40 | 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 61 2d 3e 62 75 66 2c 30 2c 30 29 3b 00 00 00 2b | ce_attach(a->ws,a->buf,0,0);...+ |
| 5b60 | 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 30 2c 30 2c | ....wl_surface_damage(a->ws,0,0, |
| 5b80 | 61 2d 3e 77 2c 61 2d 3e 68 29 3b 00 00 00 1d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | a->w,a->h);........wl_surface_co |
| 5ba0 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 | mmit(a->ws);....}.......Jstatic. |
| 5bc0 | 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 | void.frame_done(void.*data,.stru |
| 5be0 | 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 62 2c 20 75 69 6e 74 33 32 5f 74 20 74 69 6d | ct.wl_callback.*cb,.uint32_t.tim |
| 5c00 | 65 29 7b 00 00 00 17 20 20 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 3d 64 61 74 61 3b 00 00 | e){........struct.app.*a=data;.. |
| 5c20 | 00 46 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 63 62 29 3b 20 61 | .F....wl_callback_destroy(cb);.a |
| 5c40 | 2d 3e 66 72 61 6d 65 5f 63 62 3d 4e 55 4c 4c 3b 20 61 2d 3e 66 72 61 6d 65 5f 70 65 6e 64 69 6e | ->frame_cb=NULL;.a->frame_pendin |
| 5c60 | 67 3d 66 61 6c 73 65 3b 00 00 00 3c 20 20 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 | g=false;...<....struct.timespec. |
| 5c80 | 6e 6f 77 3b 20 63 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 28 43 4c 4f 43 4b 5f 52 45 41 4c 54 49 4d | now;.clock_gettime(CLOCK_REALTIM |
| 5ca0 | 45 2c 26 6e 6f 77 29 3b 00 00 00 3d 20 20 20 20 74 69 6d 65 5f 74 20 74 74 3d 6e 6f 77 2e 74 76 | E,&now);...=....time_t.tt=now.tv |
| 5cc0 | 5f 73 65 63 3b 20 73 74 72 75 63 74 20 74 6d 20 74 6d 3b 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 | _sec;.struct.tm.tm;.localtime_r( |
| 5ce0 | 26 74 74 2c 26 74 6d 29 3b 00 00 00 16 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 2c 26 74 | &tt,&tm);........draw_clock(a,&t |
| 5d00 | 6d 29 3b 00 00 00 01 7d 00 00 00 4b 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | m);....}...Kstatic.const.struct. |
| 5d20 | 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 | wl_callback_listener.frame_liste |
| 5d40 | 6e 65 72 3d 7b 2e 64 6f 6e 65 3d 66 72 61 6d 65 5f 64 6f 6e 65 7d 3b 00 00 00 00 00 00 00 6c 73 | ner={.done=frame_done};.......ls |
| 5d60 | 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 | tatic.void.registry_handler(void |
| 5d80 | 20 2a 64 61 74 61 2c 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 2c 75 | .*data,struct.wl_registry.*reg,u |
| 5da0 | 69 6e 74 33 32 5f 74 20 69 64 2c 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 75 69 6e | int32_t.id,const.char.*iface,uin |
| 5dc0 | 74 33 32 5f 74 20 76 65 72 29 7b 00 00 00 17 20 20 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | t32_t.ver){........struct.app.*a |
| 5de0 | 3d 64 61 74 61 3b 00 00 00 6f 20 20 20 20 69 66 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 | =data;...o....if(strcmp(iface,"w |
| 5e00 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 3d 3d 30 29 20 61 2d 3e 63 6f 6d 70 3d 77 6c 5f 72 65 | l_compositor")==0).a->comp=wl_re |
| 5e20 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | gistry_bind(reg,id,&wl_composito |
| 5e40 | 72 5f 69 6e 74 65 72 66 61 63 65 2c 76 65 72 3c 34 3f 76 65 72 3a 34 29 3b 00 00 00 5b 20 20 20 | r_interface,ver<4?ver:4);...[... |
| 5e60 | 20 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 77 6c 5f 73 68 6d 22 29 3d | .else.if(strcmp(iface,"wl_shm")= |
| 5e80 | 3d 30 29 20 61 2d 3e 73 68 6d 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c | =0).a->shm=wl_registry_bind(reg, |
| 5ea0 | 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 91 20 20 20 20 | id,&wl_shm_interface,1);........ |
| 5ec0 | 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 22 78 64 67 5f 77 6d 5f 62 61 73 | else.if(strcmp(iface,"xdg_wm_bas |
| 5ee0 | 65 22 29 3d 3d 30 29 7b 20 61 2d 3e 77 6d 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | e")==0){.a->wm=wl_registry_bind( |
| 5f00 | 72 65 67 2c 69 64 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 | reg,id,&xdg_wm_base_interface,1) |
| 5f20 | 3b 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 61 2d 3e 77 6d | ;.xdg_wm_base_add_listener(a->wm |
| 5f40 | 2c 4e 55 4c 4c 2c 4e 55 4c 4c 29 3b 7d 00 00 00 01 7d 00 00 00 51 73 74 61 74 69 63 20 63 6f 6e | ,NULL,NULL);}....}...Qstatic.con |
| 5f60 | 73 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 | st.struct.wl_registry_listener.r |
| 5f80 | 65 67 5f 6c 69 73 74 65 6e 65 72 3d 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 69 73 74 72 79 5f 68 61 | eg_listener={.global=registry_ha |
| 5fa0 | 6e 64 6c 65 72 7d 3b 00 00 00 00 00 00 00 0f 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 7b 00 00 | ndler};........int.main(void){.. |
| 5fc0 | 00 15 20 20 20 20 73 74 72 75 63 74 20 61 70 70 20 61 3d 7b 30 7d 3b 00 00 00 15 20 20 20 20 61 | ......struct.app.a={0};........a |
| 5fe0 | 2e 77 3d 32 30 30 3b 20 61 2e 68 3d 32 30 30 3b 00 00 00 32 20 20 20 20 73 69 67 6e 61 6c 28 53 | .w=200;.a.h=200;...2....signal(S |
| 6000 | 49 47 49 4e 54 2c 6f 6e 5f 73 69 67 29 3b 20 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 6f 6e | IGINT,on_sig);.signal(SIGTERM,on |
| 6020 | 5f 73 69 67 29 3b 00 00 00 31 20 20 20 20 69 66 28 21 28 61 2e 64 3d 77 6c 5f 64 69 73 70 6c 61 | _sig);...1....if(!(a.d=wl_displa |
| 6040 | 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 | y_connect(NULL))).return.1;...'. |
| 6060 | 20 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 | ...a.reg=wl_display_get_registry |
| 6080 | 28 61 2e 64 29 3b 00 00 00 35 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | (a.d);...5....wl_registry_add_li |
| 60a0 | 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 | stener(a.reg,®_listener,&a);. |
| 60c0 | 00 00 1e 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 61 2e 64 29 | .......wl_display_roundtrip(a.d) |
| 60e0 | 3b 00 00 00 22 20 20 20 20 69 66 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 77 6d 29 20 72 65 | ;..."....if(!a.comp.||.!a.wm).re |
| 6100 | 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | turn.1;........a.ws=wl_composito |
| 6120 | 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 30 20 20 20 | r_create_surface(a.comp);...0... |
| 6140 | 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 | .a.xs=xdg_wm_base_get_xdg_surfac |
| 6160 | 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 | e(a.wm,a.ws);...+....xdg_surface |
| 6180 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 4e 55 4c 4c 2c 26 61 29 3b 00 00 00 28 | _add_listener(a.xs,NULL,&a);...( |
| 61a0 | 20 20 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 | ....a.xt=xdg_surface_get_topleve |
| 61c0 | 6c 28 61 2e 78 73 29 3b 00 00 00 2c 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 | l(a.xs);...,....xdg_toplevel_add |
| 61e0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 4e 55 4c 4c 2c 26 61 29 3b 00 00 00 2b 20 20 20 20 | _listener(a.xt,NULL,&a);...+.... |
| 6200 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 22 77 6c 63 | xdg_toplevel_set_title(a.xt,"wlc |
| 6220 | 6c 6f 63 6b 22 29 3b 00 00 00 1c 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | lock");........wl_surface_commit |
| 6240 | 28 61 2e 77 73 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 | (a.ws);........wl_display_roundt |
| 6260 | 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2a 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 3d | rip(a.d);.......*....int.stride= |
| 6280 | 61 2e 77 2a 34 3b 20 69 6e 74 20 73 69 7a 65 3d 73 74 72 69 64 65 2a 61 2e 68 3b 00 00 00 21 20 | a.w*4;.int.size=stride*a.h;...!. |
| 62a0 | 20 20 20 69 6e 74 20 66 64 3d 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b | ...int.fd=create_shm_file(size); |
| 62c0 | 00 00 00 42 20 20 20 20 61 2e 70 69 78 65 6c 73 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c | ...B....a.pixels=mmap(NULL,size, |
| 62e0 | 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 4d 41 50 5f 53 48 41 52 45 44 2c | PROT_READ|PROT_WRITE,MAP_SHARED, |
| 6300 | 66 64 2c 30 29 3b 00 00 00 26 20 20 20 20 69 66 28 61 2e 70 69 78 65 6c 73 3d 3d 4d 41 50 5f 46 | fd,0);...&....if(a.pixels==MAP_F |
| 6320 | 41 49 4c 45 44 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 3f 20 20 20 20 73 74 72 75 63 74 20 77 | AILED).return.1;...?....struct.w |
| 6340 | 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 3d 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | l_shm_pool.*pool=wl_shm_create_p |
| 6360 | 6f 6f 6c 28 61 2e 73 68 6d 2c 66 64 2c 73 69 7a 65 29 3b 00 00 00 52 20 20 20 20 61 2e 62 75 66 | ool(a.shm,fd,size);...R....a.buf |
| 6380 | 3d 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c | =wl_shm_pool_create_buffer(pool, |
| 63a0 | 30 2c 61 2e 77 2c 61 2e 68 2c 73 74 72 69 64 65 2c 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 | 0,a.w,a.h,stride,WL_SHM_FORMAT_A |
| 63c0 | 52 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 38 20 20 20 20 69 6e 74 20 74 66 64 3d 74 69 6d | RGB8888);.......8....int.tfd=tim |
| 63e0 | 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f | erfd_create(CLOCK_MONOTONIC,TFD_ |
| 6400 | 43 4c 4f 45 58 45 43 29 3b 00 00 00 6a 20 20 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 | CLOEXEC);...j....struct.itimersp |
| 6420 | 65 63 20 69 74 73 3d 7b 2e 69 74 5f 76 61 6c 75 65 3d 7b 2e 74 76 5f 73 65 63 3d 30 2c 2e 74 76 | ec.its={.it_value={.tv_sec=0,.tv |
| 6440 | 5f 6e 73 65 63 3d 31 2a 31 30 30 30 30 30 30 4c 7d 2c 2e 69 74 5f 69 6e 74 65 72 76 61 6c 3d 7b | _nsec=1*1000000L},.it_interval={ |
| 6460 | 2e 74 76 5f 73 65 63 3d 31 2c 2e 74 76 5f 6e 73 65 63 3d 30 7d 7d 3b 00 00 00 25 20 20 20 20 74 | .tv_sec=1,.tv_nsec=0}};...%....t |
| 6480 | 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 30 2c 26 69 74 73 2c 4e 55 4c 4c 29 3b | imerfd_settime(tfd,0,&its,NULL); |
| 64a0 | 00 00 00 00 00 00 00 16 20 20 20 20 61 2e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 3b 00 00 | ............a.configured=true;.. |
| 64c0 | 00 18 20 20 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 6e 6f 77 3b 00 00 00 13 20 20 | ......struct.timespec.now;...... |
| 64e0 | 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b 00 00 00 29 20 20 20 20 20 20 20 20 77 6c 5f | ..while(running){...)........wl_ |
| 6500 | 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 61 2e 64 29 3b 00 00 | display_dispatch_pending(a.d);.. |
| 6520 | 00 3b 20 20 20 20 20 20 20 20 69 66 28 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e | .;........if(wl_display_flush(a. |
| 6540 | 64 29 3c 30 20 26 26 20 65 72 72 6e 6f 21 3d 45 41 47 41 49 4e 29 20 62 72 65 61 6b 3b 00 00 00 | d)<0.&&.errno!=EAGAIN).break;... |
| 6560 | 65 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 3d 7b | e........struct.pollfd.pfds[2]={ |
| 6580 | 7b 2e 66 64 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 2e 65 76 65 | {.fd=wl_display_get_fd(a.d),.eve |
| 65a0 | 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 7b 2e 66 64 3d 74 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c | nts=POLLIN},{.fd=tfd,.events=POL |
| 65c0 | 4c 49 4e 7d 7d 3b 00 00 00 18 20 20 20 20 20 20 20 20 70 6f 6c 6c 28 70 66 64 73 2c 32 2c 2d 31 | LIN}};............poll(pfds,2,-1 |
| 65e0 | 29 3b 00 00 00 3c 20 20 20 20 20 20 20 20 69 66 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 | );...<........if(pfds[0].revents |
| 6600 | 26 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 | &POLLIN).wl_display_dispatch(a.d |
| 6620 | 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 69 66 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 | );...#........if(pfds[1].revents |
| 6640 | 26 50 4f 4c 4c 49 4e 29 7b 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f | &POLLIN){...:............uint64_ |
| 6660 | 74 20 74 69 63 6b 73 3b 20 72 65 61 64 28 74 66 64 2c 26 74 69 63 6b 73 2c 73 69 7a 65 6f 66 20 | t.ticks;.read(tfd,&ticks,sizeof. |
| 6680 | 74 69 63 6b 73 29 3b 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 63 6b 5f 67 65 74 | ticks);.../............clock_get |
| 66a0 | 74 69 6d 65 28 43 4c 4f 43 4b 5f 52 45 41 4c 54 49 4d 45 2c 26 6e 6f 77 29 3b 00 00 00 43 20 20 | time(CLOCK_REALTIME,&now);...C.. |
| 66c0 | 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 5f 74 20 74 3d 6e 6f 77 2e 74 76 5f 73 65 63 3b 20 73 | ..........time_t.t=now.tv_sec;.s |
| 66e0 | 74 72 75 63 74 20 74 6d 20 74 6d 3b 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 2c 26 74 6d 29 | truct.tm.tm;.localtime_r(&t,&tm) |
| 6700 | 3b 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 2c 26 | ;................draw_clock(&a,& |
| 6720 | 74 6d 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 0d 20 20 | tm);............}........}...... |
| 6740 | 20 20 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 03 00 00 00 0a 00 00 00 b5 00 00 00 02 | ..return.0;5.................... |
| 6760 | 00 00 00 f9 00 00 00 00 00 00 00 3e 00 00 00 00 00 00 00 d6 19 00 00 00 00 00 00 ff 1c 00 00 00 | ...........>.................... |
| 6780 | 00 00 00 35 81 5f d0 00 00 00 08 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 01 00 | ...5._.......................... |
| 67a0 | 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 00 | ................................ |
| 67c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6900 | 00 00 00 00 00 00 00 00 00 69 9d 91 94 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 | .........i...................... |
| 6920 | 00 00 00 00 00 fe 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 | ..........#define._POSIX_C_SOURC |
| 6940 | 45 20 32 30 30 38 30 39 4c 00 00 00 00 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f | E.200809L........#include.<errno |
| 6960 | 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e | .h>....#include.<fcntl.h>....#in |
| 6980 | 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c | clude.<math.h>....#include.<poll |
| 69a0 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 | .h>....#include.<signal.h>....#i |
| 69c0 | 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | nclude.<stdbool.h>....#include.< |
| 69e0 | 73 74 64 69 6f 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 00 | stdio.h>....#include.<stdlib.h>. |
| 6a00 | 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 15 23 69 6e 63 6c 75 | ...#include.<string.h>....#inclu |
| 6a20 | 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | de.<sys/mman.h>....#include.<sys |
| 6a40 | 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e | /timerfd.h>....#include.<time.h> |
| 6a60 | 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 1b 23 69 6e 63 6c | ....#include.<unistd.h>....#incl |
| 6a80 | 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 26 23 69 | ude.<wayland-client.h>.......&#i |
| 6aa0 | 6e 63 6c 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 | nclude."xdg-shell-client-protoco |
| 6ac0 | 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 | l.h"........#ifndef.M_PI...##def |
| 6ae0 | 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 | ine.M_PI.3.14159265358979323846. |
| 6b00 | 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 | ...#endif....#ifndef.M_PI_2...%# |
| 6b20 | 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 | define.M_PI_2.1.5707963267948966 |
| 6b40 | 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 23 23 64 65 66 69 6e 65 20 53 57 | 1923....#endif.......##define.SW |
| 6b60 | 43 4c 4f 43 4b 5f 42 47 5f 43 4f 4c 4f 52 20 30 78 46 46 46 46 46 46 46 46 00 00 00 24 23 64 65 | CLOCK_BG_COLOR.0xFFFFFFFF...$#de |
| 6b80 | 66 69 6e 65 20 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 20 30 78 46 46 30 30 30 30 30 | fine.SWCLOCK_INK_COLOR.0xFF00000 |
| 6ba0 | 30 00 00 00 24 23 64 65 66 69 6e 65 20 53 57 43 4c 4f 43 4b 5f 53 45 43 5f 43 4f 4c 4f 52 20 30 | 0...$#define.SWCLOCK_SEC_COLOR.0 |
| 6bc0 | 78 46 46 46 46 30 30 30 30 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 | xFFFF0000.......)static.volatile |
| 6be0 | 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 | .sig_atomic_t.running.=.1;....st |
| 6c00 | 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 | atic.void.on_sig(int.s).{......( |
| 6c20 | 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 | void)s;......running.=.0;....}.. |
| 6c40 | 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 | ......struct.app.{......struct.w |
| 6c60 | 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | l_display.*d;......struct.wl_reg |
| 6c80 | 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f | istry.*reg;......struct.wl_compo |
| 6ca0 | 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 | sitor.*comp;......struct.wl_shm. |
| 6cc0 | 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 | *shm;......struct.xdg_wm_base.*w |
| 6ce0 | 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 | m;......struct.wl_surface.*ws;.. |
| 6d00 | 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 | ....struct.xdg_surface.*xs;..... |
| 6d20 | 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 1f 20 20 73 | .struct.xdg_toplevel.*xt;......s |
| 6d40 | 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 62 3b 00 00 00 00 | truct.wl_callback.*frame_cb;.... |
| 6d60 | 00 00 00 13 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 | ......uint32_t.*pixels;......str |
| 6d80 | 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 | uct.wl_buffer.*buf;......int.w,. |
| 6da0 | 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 15 20 20 62 6f | h;......bool.configured;......bo |
| 6dc0 | 6f 6c 20 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 | ol.frame_pending;....};.......)s |
| 6de0 | 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 | tatic.int.create_shm_file(size_t |
| 6e00 | 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 | .size).{......char.template[].=. |
| 6e20 | 22 2f 74 6d 70 2f 77 61 79 6c 61 6e 64 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 | "/tmp/wayland-shm-XXXXXX";...... |
| 6e40 | 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0f 20 | int.fd.=.mkstemp(template);..... |
| 6e60 | 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b | .if.(fd.<.0).{........perror("mk |
| 6e80 | 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 | stemp");........exit(1);......}. |
| 6ea0 | 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 20 20 20 69 66 20 28 | .....unlink(template);......if.( |
| 6ec0 | 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 18 20 20 | ftruncate(fd,.size).<.0).{...... |
| 6ee0 | 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c 20 20 20 20 65 78 | ..perror("ftruncate");........ex |
| 6f00 | 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 | it(1);......}......return.fd;... |
| 6f20 | 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 70 69 78 65 6c | .}.......Estatic.void.draw_pixel |
| 6f40 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 75 69 | (struct.app.*a,.int.x,.int.y,.ui |
| 6f60 | 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 29 20 7b 00 00 00 2f 20 20 69 66 20 28 78 20 3e 3d 20 30 20 | nt32_t.color).{.../..if.(x.>=.0. |
| 6f80 | 26 26 20 78 20 3c 20 61 2d 3e 77 20 26 26 20 79 20 3e 3d 20 30 20 26 26 20 79 20 3c 20 61 2d 3e | &&.x.<.a->w.&&.y.>=.0.&&.y.<.a-> |
| 6fa0 | 68 29 00 00 00 24 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 5b 79 20 2a 20 61 2d 3e 77 20 2b 20 78 | h)...$....a->pixels[y.*.a->w.+.x |
| 6fc0 | 5d 20 3d 20 63 6f 6c 6f 72 3b 00 00 00 01 7d 00 00 00 00 00 00 00 44 73 74 61 74 69 63 20 76 6f | ].=.color;....}.......Dstatic.vo |
| 6fe0 | 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 | id.draw_line(struct.app.*a,.int. |
| 7000 | 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 27 20 | x0,.int.y0,.int.x1,.int.y1,...'. |
| 7020 | 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 32 5f 74 20 63 6f | .....................uint32_t.co |
| 7040 | 6c 6f 72 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 | lor).{.../..int.dx.=.abs(x1.-.x0 |
| 7060 | 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 | ),.sx.=.x0.<.x1.?.1.:.-1;...0..i |
| 7080 | 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c | nt.dy.=.-abs(y1.-.y0),.sy.=.y0.< |
| 70a0 | 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 | .y1.?.1.:.-1;......int.err.=.dx. |
| 70c0 | 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 21 20 20 | +.dy,.e2;......while.(1).{...!.. |
| 70e0 | 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 78 30 2c 20 79 30 2c 20 63 6f 6c 6f 72 29 3b 00 | ..draw_pixel(a,.x0,.y0,.color);. |
| 7100 | 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 | .......if.(x0.==.x1.&&.y0.==.y1) |
| 7120 | 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a | ..........break;........e2.=.2.* |
| 7140 | 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 | .err;........if.(e2.>=.dy).{.... |
| 7160 | 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 | ......err.+=.dy;..........x0.+=. |
| 7180 | 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 | sx;........}........if.(e2.<=.dx |
| 71a0 | 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 | ).{..........err.+=.dx;......... |
| 71c0 | 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | .y0.+=.sy;........}......}....}. |
| 71e0 | 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 73 | ......Mstatic.void.draw_circle(s |
| 7200 | 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e | truct.app.*a,.int.cx,.int.cy,.in |
| 7220 | 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 6f 6c 6f 72 2c 00 00 00 24 20 20 20 20 20 20 20 20 | t.r,.uint32_t.color,...$........ |
| 7240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 6f 6c 20 66 69 6c 6c 29 20 7b 00 00 00 1c | ................bool.fill).{.... |
| 7260 | 20 20 69 6e 74 20 78 20 3d 20 72 2c 20 79 20 3d 20 30 2c 20 65 72 72 20 3d 20 30 3b 00 00 00 12 | ..int.x.=.r,.y.=.0,.err.=.0;.... |
| 7280 | 20 20 77 68 69 6c 65 20 28 78 20 3e 3d 20 79 29 20 7b 00 00 00 0f 20 20 20 20 69 66 20 28 66 69 | ..while.(x.>=.y).{........if.(fi |
| 72a0 | 6c 6c 29 20 7b 00 00 00 2e 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 63 78 20 2d | ll).{..........for.(int.i.=.cx.- |
| 72c0 | 20 78 3b 20 69 20 3c 3d 20 63 78 20 2b 20 78 3b 20 69 2b 2b 29 20 7b 00 00 00 28 20 20 20 20 20 | .x;.i.<=.cx.+.x;.i++).{...(..... |
| 72e0 | 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 69 2c 20 63 79 20 2b 20 79 2c 20 63 6f 6c 6f | ...draw_pixel(a,.i,.cy.+.y,.colo |
| 7300 | 72 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 69 2c 20 | r);...(........draw_pixel(a,.i,. |
| 7320 | 63 79 20 2d 20 79 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 2e 20 20 | cy.-.y,.color);..........}...... |
| 7340 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 63 78 20 2d 20 79 3b 20 69 20 3c 3d 20 63 78 | ....for.(int.i.=.cx.-.y;.i.<=.cx |
| 7360 | 20 2b 20 79 3b 20 69 2b 2b 29 20 7b 00 00 00 28 20 20 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 | .+.y;.i++).{...(........draw_pix |
| 7380 | 65 6c 28 61 2c 20 69 2c 20 63 79 20 2b 20 78 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 28 20 20 20 20 | el(a,.i,.cy.+.x,.color);...(.... |
| 73a0 | 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 69 2c 20 63 79 20 2d 20 78 2c 20 63 6f 6c | ....draw_pixel(a,.i,.cy.-.x,.col |
| 73c0 | 6f 72 29 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 | or);..........}........}.else.{. |
| 73e0 | 00 00 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 63 78 20 2b 20 78 2c 20 63 | ..+......draw_pixel(a,.cx.+.x,.c |
| 7400 | 79 20 2b 20 79 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 | y.+.y,.color);...+......draw_pix |
| 7420 | 65 6c 28 61 2c 20 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 | el(a,.cx.+.y,.cy.+.x,.color);... |
| 7440 | 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 63 78 20 2d 20 79 2c 20 63 79 20 | +......draw_pixel(a,.cx.-.y,.cy. |
| 7460 | 2b 20 78 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c | +.x,.color);...+......draw_pixel |
| 7480 | 28 61 2c 20 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 | (a,.cx.-.x,.cy.+.y,.color);...+. |
| 74a0 | 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 | .....draw_pixel(a,.cx.-.x,.cy.-. |
| 74c0 | 79 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 | y,.color);...+......draw_pixel(a |
| 74e0 | 2c 20 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 20 20 | ,.cx.-.y,.cy.-.x,.color);...+... |
| 7500 | 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 2c | ...draw_pixel(a,.cx.+.y,.cy.-.x, |
| 7520 | 20 63 6f 6c 6f 72 29 3b 00 00 00 2b 20 20 20 20 20 20 64 72 61 77 5f 70 69 78 65 6c 28 61 2c 20 | .color);...+......draw_pixel(a,. |
| 7540 | 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 2c 20 63 6f 6c 6f 72 29 3b 00 00 00 05 20 20 20 20 7d | cx.+.x,.cy.-.y,.color);........} |
| 7560 | 00 00 00 08 20 20 20 20 79 2b 2b 3b 00 00 00 11 20 20 20 20 69 66 20 28 65 72 72 20 3c 3d 20 30 | ........y++;........if.(err.<=.0 |
| 7580 | 29 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2b 3d 20 32 20 2a 20 79 20 2b 20 31 3b 00 00 00 12 | )..........err.+=.2.*.y.+.1;.... |
| 75a0 | 20 20 20 20 69 66 20 28 65 72 72 20 3e 20 30 29 20 7b 00 00 00 0a 20 20 20 20 20 20 78 2d 2d 3b | ....if.(err.>.0).{..........x--; |
| 75c0 | 00 00 00 17 20 20 20 20 20 20 65 72 72 20 2d 3d 20 32 20 2a 20 78 20 2b 20 31 3b 00 00 00 05 20 | ..........err.-=.2.*.x.+.1;..... |
| 75e0 | 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 76 | ...}......}....}.......<static.v |
| 7600 | 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 63 6f | oid.draw_clock(struct.app.*a,.co |
| 7620 | 6e 73 74 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 29 20 7b 00 00 00 23 20 20 69 66 20 28 21 61 | nst.struct.tm.*tm).{...#..if.(!a |
| 7640 | 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 21 61 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b 20 | ->configured.||.!a->pixels)..... |
| 7660 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 | ...return;...#..int.cx.=.a->w./. |
| 7680 | 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2e 20 20 69 6e 74 20 72 20 3d 20 28 | 2,.cy.=.a->h./.2;......int.r.=.( |
| 76a0 | 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d | a->w.<.a->h.?.a->w.:.a->h)./.2.- |
| 76c0 | 20 38 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 32 29 00 00 00 0a 20 20 20 20 72 20 3d 20 32 | .8;......if.(r.<.2)........r.=.2 |
| 76e0 | 3b 00 00 00 27 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 2d 3e 77 20 | ;...'..for.(int.i.=.0;.i.<.a->w. |
| 7700 | 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 00 00 00 24 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 5b 69 5d | *.a->h;.i++)...$....a->pixels[i] |
| 7720 | 20 3d 20 53 57 43 4c 4f 43 4b 5f 42 47 5f 43 4f 4c 4f 52 3b 00 00 00 36 20 20 64 72 61 77 5f 63 | .=.SWCLOCK_BG_COLOR;...6..draw_c |
| 7740 | 69 72 63 6c 65 28 61 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f | ircle(a,.cx,.cy,.r,.SWCLOCK_INK_ |
| 7760 | 43 4f 4c 4f 52 2c 20 66 61 6c 73 65 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | COLOR,.false);......for.(int.i.= |
| 7780 | 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 | .0;.i.<.12;.i++).{........double |
| 77a0 | 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 | .ang.=.i./.12.0.*.2.*.M_PI.-.M_P |
| 77c0 | 49 5f 32 3b 00 00 00 32 20 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 72 | I_2;...2....int.x1.=.cx.+.(int)r |
| 77e0 | 6f 75 6e 64 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 32 20 20 | ound(cos(ang).*.(r.-.10));...2.. |
| 7800 | 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 61 | ..int.y1.=.cy.+.(int)round(sin(a |
| 7820 | 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 31 20 20 20 20 69 6e 74 20 78 32 20 3d | ng).*.(r.-.10));...1....int.x2.= |
| 7840 | 20 63 78 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d | .cx.+.(int)round(cos(ang).*.(r.- |
| 7860 | 20 32 29 29 3b 00 00 00 31 20 20 20 20 69 6e 74 20 79 32 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 | .2));...1....int.y2.=.cy.+.(int) |
| 7880 | 72 6f 75 6e 64 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 3b 00 00 00 34 20 20 | round(sin(ang).*.(r.-.2));...4.. |
| 78a0 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 61 2c 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 2c 20 53 | ..draw_line(a,.x1,.y1,.x2,.y2,.S |
| 78c0 | 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 29 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 64 | WCLOCK_INK_COLOR);......}......d |
| 78e0 | 6f 75 62 6c 65 20 73 65 63 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 27 20 20 64 6f 75 | ouble.sec.=.tm->tm_sec;...'..dou |
| 7900 | 62 6c 65 20 6d 69 6e 20 3d 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 73 65 63 20 2f 20 36 30 2e | ble.min.=.tm->tm_min.+.sec./.60. |
| 7920 | 30 3b 00 00 00 30 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f | 0;...0..double.hour.=.(tm->tm_ho |
| 7940 | 75 72 20 25 20 31 32 29 20 2b 20 6d 69 6e 20 2f 20 36 30 2e 30 3b 00 00 00 2d 20 20 64 6f 75 62 | ur.%.12).+.min./.60.0;...-..doub |
| 7960 | 6c 65 20 73 61 20 3d 20 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 | le.sa.=.sec./.60.0.*.2.*.M_PI.-. |
| 7980 | 4d 5f 50 49 5f 32 3b 00 00 00 2d 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 6d 69 6e 20 2f 20 36 | M_PI_2;...-..double.ma.=.min./.6 |
| 79a0 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 64 6f | 0.0.*.2.*.M_PI.-.M_PI_2;......do |
| 79c0 | 75 62 6c 65 20 68 61 20 3d 20 68 6f 75 72 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | uble.ha.=.hour./.12.0.*.2.*.M_PI |
| 79e0 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3b 20 20 64 72 61 77 5f 6c 69 6e 65 28 61 2c 20 63 78 2c | .-.M_PI_2;...;..draw_line(a,.cx, |
| 7a00 | 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 68 61 29 20 2a 20 72 | .cy,.cx.+.(int)round(cos(ha).*.r |
| 7a20 | 20 2a 20 30 2e 35 35 29 2c 00 00 00 44 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 | .*.0.55),...D............cy.+.(i |
| 7a40 | 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 20 53 57 | nt)round(sin(ha).*.r.*.0.55),.SW |
| 7a60 | 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 29 3b 00 00 00 3a 20 20 64 72 61 77 5f 6c 69 6e 65 | CLOCK_INK_COLOR);...:..draw_line |
| 7a80 | 28 61 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 63 6f 73 28 | (a,.cx,.cy,.cx.+.(int)round(cos( |
| 7aa0 | 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 63 | ma).*.r.*.0.8),...C............c |
| 7ac0 | 79 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 | y.+.(int)round(sin(ma).*.r.*.0.8 |
| 7ae0 | 29 2c 20 53 57 43 4c 4f 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 29 3b 00 00 00 3a 20 20 64 72 61 77 | ),.SWCLOCK_INK_COLOR);...:..draw |
| 7b00 | 5f 6c 69 6e 65 28 61 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 | _line(a,.cx,.cy,.cx.+.(int)round |
| 7b20 | 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 43 20 20 20 20 20 20 20 20 | (cos(sa).*.r.*.0.9),...C........ |
| 7b40 | 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 72 6f 75 6e 64 28 73 69 6e 28 73 61 29 20 2a 20 72 20 | ....cy.+.(int)round(sin(sa).*.r. |
| 7b60 | 2a 20 30 2e 39 29 2c 20 53 57 43 4c 4f 43 4b 5f 53 45 43 5f 43 4f 4c 4f 52 29 3b 00 00 00 35 20 | *.0.9),.SWCLOCK_SEC_COLOR);...5. |
| 7b80 | 20 64 72 61 77 5f 63 69 72 63 6c 65 28 61 2c 20 63 78 2c 20 63 79 2c 20 33 2c 20 53 57 43 4c 4f | .draw_circle(a,.cx,.cy,.3,.SWCLO |
| 7ba0 | 43 4b 5f 49 4e 4b 5f 43 4f 4c 4f 52 2c 20 74 72 75 65 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 | CK_INK_COLOR,.true);...)..wl_sur |
| 7bc0 | 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 | face_attach(a->ws,.a->buf,.0,.0) |
| 7be0 | 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 | ;...-..wl_surface_damage(a->ws,. |
| 7c00 | 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | 0,.0,.a->w,.a->h);......wl_surfa |
| 7c20 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 | ce_commit(a->ws);....}.......Kst |
| 7c40 | 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c | atic.void.frame_done(void.*data, |
| 7c60 | 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 62 2c 20 75 69 6e 74 33 32 5f | .struct.wl_callback.*cb,.uint32_ |
| 7c80 | 74 20 74 69 6d 65 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | t.time).{......struct.app.*a.=.d |
| 7ca0 | 61 74 61 3b 00 00 00 1a 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 63 62 | ata;......wl_callback_destroy(cb |
| 7cc0 | 29 3b 00 00 00 15 20 20 61 2d 3e 66 72 61 6d 65 5f 63 62 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 20 | );......a->frame_cb.=.NULL;..... |
| 7ce0 | 20 61 2d 3e 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 16 20 20 | .a->frame_pending.=.false;...... |
| 7d00 | 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 6e 6f 77 3b 00 00 00 26 20 20 63 6c 6f 63 6b 5f | struct.timespec.now;...&..clock_ |
| 7d20 | 67 65 74 74 69 6d 65 28 43 4c 4f 43 4b 5f 52 45 41 4c 54 49 4d 45 2c 20 26 6e 6f 77 29 3b 00 00 | gettime(CLOCK_REALTIME,.&now);.. |
| 7d40 | 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 6e 6f 77 2e 74 76 5f 73 65 63 3b 00 00 00 0f 20 | ....time_t.tt.=.now.tv_sec;..... |
| 7d60 | 20 73 74 72 75 63 74 20 74 6d 20 74 6d 3b 00 00 00 18 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 | .struct.tm.tm;......localtime_r( |
| 7d80 | 26 74 74 2c 20 26 74 6d 29 3b 00 00 00 15 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 2c 20 26 74 | &tt,.&tm);......draw_clock(a,.&t |
| 7da0 | 6d 29 3b 00 00 00 01 7d 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | m);....}...Ostatic.const.struct. |
| 7dc0 | 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f 6c 69 73 74 65 | wl_callback_listener.frame_liste |
| 7de0 | 6e 65 72 20 3d 20 7b 2e 64 6f 6e 65 20 3d 20 66 72 61 6d 65 5f 64 6f 6e 65 7d 3b 00 00 00 00 00 | ner.=.{.done.=.frame_done};..... |
| 7e00 | 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 | ..Nstatic.void.registry_handler( |
| 7e20 | 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 79 20 2a | void.*data,.struct.wl_registry.* |
| 7e40 | 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 | reg,.uint32_t.id,...?........... |
| 7e60 | 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 72 20 2a 69 66 | ..................const.char.*if |
| 7e80 | 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 | ace,.uint32_t.ver).{......struct |
| 7ea0 | 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 69 66 20 28 73 74 72 63 6d 70 28 | .app.*a.=.data;...*..if.(strcmp( |
| 7ec0 | 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 | iface,."wl_compositor").==.0)... |
| 7ee0 | 0d 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 00 00 00 4f 20 20 20 20 20 20 20 20 77 6c 5f 72 65 67 | .....a->comp.=...O........wl_reg |
| 7f00 | 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 | istry_bind(reg,.id,.&wl_composit |
| 7f20 | 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 76 65 72 20 3c 20 34 20 3f 20 76 65 72 20 3a 20 34 29 | or_interface,.ver.<.4.?.ver.:.4) |
| 7f40 | 3b 00 00 00 28 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 | ;...(..else.if.(strcmp(iface,."w |
| 7f60 | 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c | l_shm").==.0)...=....a->shm.=.wl |
| 7f80 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f | _registry_bind(reg,.id,.&wl_shm_ |
| 7fa0 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2f 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 | interface,.1);.../..else.if.(str |
| 7fc0 | 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 | cmp(iface,."xdg_wm_base").==.0). |
| 7fe0 | 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | {...A....a->wm.=.wl_registry_bin |
| 8000 | 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 | d(reg,.id,.&xdg_wm_base_interfac |
| 8020 | 65 2c 20 31 29 3b 00 00 00 30 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 | e,.1);...0....xdg_wm_base_add_li |
| 8040 | 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 3b 00 00 00 03 20 20 | stener(a->wm,.NULL,.NULL);...... |
| 8060 | 7d 00 00 00 01 7d 00 00 00 42 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | }....}...Bstatic.const.struct.wl |
| 8080 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 | _registry_listener.reg_listener. |
| 80a0 | 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.{.global.=...O................ |
| 80c0 | 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 | ................................ |
| 80e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 | .............registry_handler};. |
| 8100 | 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 | .......int.main(void).{......str |
| 8120 | 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 32 30 30 3b | uct.app.a.=.{0};......a.w.=.200; |
| 8140 | 00 00 00 0c 20 20 61 2e 68 20 3d 20 32 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 | ......a.h.=.200;......signal(SIG |
| 8160 | 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 1a 20 20 73 69 67 6e 61 6c 28 53 49 47 54 45 52 | INT,.on_sig);......signal(SIGTER |
| 8180 | 4d 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f | M,.on_sig);...(..if.(!(a.d.=.wl_ |
| 81a0 | 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 00 00 00 0d 20 20 20 20 72 | display_connect(NULL)))........r |
| 81c0 | 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 | eturn.1;...'..a.reg.=.wl_display |
| 81e0 | 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 35 20 20 77 6c 5f 72 65 67 69 | _get_registry(a.d);...5..wl_regi |
| 8200 | 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 | stry_add_listener(a.reg,.®_li |
| 8220 | 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 | stener,.&a);......wl_display_rou |
| 8240 | 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 17 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c | ndtrip(a.d);......if.(!a.comp.|| |
| 8260 | 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e | .!a.wm)........return.1;......a. |
| 8280 | 77 73 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 | ws.=.wl_compositor_create_surfac |
| 82a0 | 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 | e(a.comp);...1..a.xs.=.xdg_wm_ba |
| 82c0 | 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 | se_get_xdg_surface(a.wm,.a.ws);. |
| 82e0 | 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | ..+..xdg_surface_add_listener(a. |
| 8300 | 78 73 2c 20 4e 55 4c 4c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 | xs,.NULL,.&a);...(..a.xt.=.xdg_s |
| 8320 | 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 2c 20 20 | urface_get_toplevel(a.xs);...,.. |
| 8340 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 | xdg_toplevel_add_listener(a.xt,. |
| 8360 | 4e 55 4c 4c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 | NULL,.&a);...*..xdg_toplevel_set |
| 8380 | 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c | _title(a.xt,."wlclock");......wl |
| 83a0 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 1c 20 20 77 6c 5f 64 | _surface_commit(a.ws);......wl_d |
| 83c0 | 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 17 20 20 | isplay_roundtrip(a.d);.......... |
| 83e0 | 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2e 77 20 2a 20 34 3b 00 00 00 1a 20 20 69 6e 74 20 73 | int.stride.=.a.w.*.4;......int.s |
| 8400 | 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 61 2e 68 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 | ize.=.stride.*.a.h;...!..int.fd. |
| 8420 | 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 49 20 20 61 2e | =.create_shm_file(size);...I..a. |
| 8440 | 70 69 78 65 6c 73 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 | pixels.=.mmap(NULL,.size,.PROT_R |
| 8460 | 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 | EAD.|.PROT_WRITE,.MAP_SHARED,.fd |
| 8480 | 2c 20 30 29 3b 00 00 00 1d 20 20 69 66 20 28 61 2e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 | ,.0);......if.(a.pixels.==.MAP_F |
| 84a0 | 41 49 4c 45 44 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 41 20 20 73 74 72 | AILED)........return.1;...A..str |
| 84c0 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 | uct.wl_shm_pool.*pool.=.wl_shm_c |
| 84e0 | 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 3e | reate_pool(a.shm,.fd,.size);...> |
| 8500 | 20 20 61 2e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 | ..a.buf.=.wl_shm_pool_create_buf |
| 8520 | 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2e 77 2c 20 61 2e 68 2c 20 73 74 72 69 64 65 2c 00 00 | fer(pool,.0,.a.w,.a.h,.stride,.. |
| 8540 | 00 3c 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 | .<.............................. |
| 8560 | 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 | ......WL_SHM_FORMAT_ARGB8888);.. |
| 8580 | 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 | .....9..int.tfd.=.timerfd_create |
| 85a0 | 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 | (CLOCK_MONOTONIC,.TFD_CLOEXEC);. |
| 85c0 | 00 00 4e 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 69 74 73 20 3d 20 7b 2e 69 | ..N..struct.itimerspec.its.=.{.i |
| 85e0 | 74 5f 76 61 6c 75 65 20 3d 20 7b 2e 74 76 5f 73 65 63 20 3d 20 30 2c 20 2e 74 76 5f 6e 73 65 63 | t_value.=.{.tv_sec.=.0,..tv_nsec |
| 8600 | 20 3d 20 31 20 2a 20 31 30 30 30 30 30 30 4c 7d 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 | .=.1.*.1000000L},...G........... |
| 8620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 69 74 5f 69 6e 74 65 72 76 61 6c 20 3d 20 7b | .................it_interval.=.{ |
| 8640 | 2e 74 76 5f 73 65 63 20 3d 20 31 2c 20 2e 74 76 5f 6e 73 65 63 20 3d 20 30 7d 7d 3b 00 00 00 26 | .tv_sec.=.1,..tv_nsec.=.0}};...& |
| 8660 | 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 69 74 73 2c 20 | ..timerfd_settime(tfd,.0,.&its,. |
| 8680 | 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 16 20 20 61 2e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 | NULL);..........a.configured.=.t |
| 86a0 | 72 75 65 3b 00 00 00 16 20 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 6e 6f 77 3b 00 00 | rue;......struct.timespec.now;.. |
| 86c0 | 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 25 20 20 20 20 77 6c 5f | ....while.(running).{...%....wl_ |
| 86e0 | 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 61 2e 64 29 3b 00 00 | display_dispatch_pending(a.d);.. |
| 8700 | 00 35 20 20 20 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 20 | .5....if.(wl_display_flush(a.d). |
| 8720 | 3c 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d 20 45 41 47 41 49 4e 29 00 00 00 0c 20 20 20 20 20 | <.0.&&.errno.!=.EAGAIN)......... |
| 8740 | 20 62 72 65 61 6b 3b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 | .break;...N....struct.pollfd.pfd |
| 8760 | 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 | s[2].=.{{.fd.=.wl_display_get_fd |
| 8780 | 28 61 2e 64 29 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 2c 00 00 00 3c 20 20 20 | (a.d),..events.=.POLLIN},...<... |
| 87a0 | 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 7b 2e 66 64 20 3d | ..........................{.fd.= |
| 87c0 | 20 74 66 64 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 16 20 20 20 | .tfd,..events.=.POLLIN}};....... |
| 87e0 | 20 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 3b 00 00 00 21 20 20 20 20 69 66 20 28 70 | .poll(pfds,.2,.-1);...!....if.(p |
| 8800 | 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 1f 20 20 20 20 | fds[0].revents.&.POLLIN)........ |
| 8820 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 23 20 | ..wl_display_dispatch(a.d);...#. |
| 8840 | 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 | ...if.(pfds[1].revents.&.POLLIN) |
| 8860 | 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 26 20 | .{..........uint64_t.ticks;...&. |
| 8880 | 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 20 74 69 | .....read(tfd,.&ticks,.sizeof.ti |
| 88a0 | 63 6b 73 29 3b 00 00 00 2a 20 20 20 20 20 20 63 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 28 43 4c 4f | cks);...*......clock_gettime(CLO |
| 88c0 | 43 4b 5f 52 45 41 4c 54 49 4d 45 2c 20 26 6e 6f 77 29 3b 00 00 00 1c 20 20 20 20 20 20 74 69 6d | CK_REALTIME,.&now);..........tim |
| 88e0 | 65 5f 74 20 74 20 3d 20 6e 6f 77 2e 74 76 5f 73 65 63 3b 00 00 00 13 20 20 20 20 20 20 73 74 72 | e_t.t.=.now.tv_sec;..........str |
| 8900 | 75 63 74 20 74 6d 20 74 6d 3b 00 00 00 1b 20 20 20 20 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 | uct.tm.tm;..........localtime_r( |
| 8920 | 26 74 2c 20 26 74 6d 29 3b 00 00 00 1a 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 | &t,.&tm);..........draw_clock(&a |
| 8940 | 2c 20 26 74 6d 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 0b 20 20 72 65 74 | ,.&tm);........}......}......ret |
| 8960 | 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 fe 00 00 00 00 | urn.0;....}5.................... |
| 8980 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4b 1d 00 00 00 00 00 00 01 00 00 00 00 | ...................K............ |
| 89a0 | 00 00 00 35 81 5f d0 00 00 00 09 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 | ...5._.......................... |
| 89c0 | 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 00 00 00 00 00 00 | ................................ |
| 89e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8b20 | 00 00 00 00 00 00 00 00 00 69 9d 91 94 04 01 00 00 00 00 00 f5 18 00 00 00 f3 00 00 00 00 00 00 | .........i...................... |
| 8b40 | 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 f4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ..........}..................... |
| 8b60 | 00 00 f2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 f3 00 00 00 00 00 00 | ................................ |
| 8b80 | 00 00 00 00 00 00 f5 18 00 00 00 ea 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 20 20 | ................................ |
| 8ba0 | 69 66 f5 18 00 00 00 eb 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 bb 00 00 00 00 00 00 | if.............................. |
| 8bc0 | 00 00 00 00 00 01 00 00 00 12 20 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 f5 18 00 00 | ..............wl_callback_ad.... |
| 8be0 | 00 bc 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 01 | ...................{............ |
| 8c00 | 00 00 00 12 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 f5 18 00 00 00 7c 00 00 00 00 | ....static.void.draw_c.....|.... |
| 8c20 | 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 f5 18 | ................................ |
| 8c40 | 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 00 00 | ................5............... |
| 8c60 | 00 00 00 00 00 00 00 00 7b 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........{....................... |
| 8c80 | 00 0f 00 00 00 00 00 00 f5 18 00 00 00 00 7b 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 40 00 | ..............{...............@. |
| 8ca0 | 00 00 12 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 f5 18 | ................................ |
| 8cc0 | 00 00 00 00 bb 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 2f 00 00 00 06 00 00 00 00 19 00 00 | ..................../........... |
| 8ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 f5 18 00 00 00 00 ea 00 00 00 06 00 | ................................ |
| 8d00 | 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d20 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 f2 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d40 | 01 00 00 00 01 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 | ................................ |
| 8d60 | 35 81 5f d0 00 00 00 0a 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 f4 00 00 00 00 | 5._............................. |
| 8d80 | 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 00 00 00 00 | ................................ |
| 8da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ee0 | 00 00 00 00 00 00 69 9d 91 95 04 01 00 00 00 04 00 f5 18 00 00 00 02 00 00 01 35 00 00 00 f4 00 | ......i...................5..... |
| 8f00 | 00 00 f1 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 11 23 69 6e | .......#include.<errno.h>....#in |
| 8f20 | 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c | clude.<math.h>....#include.<poll |
| 8f40 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 | .h>....#include.<signal.h>....#i |
| 8f60 | 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | nclude.<stdbool.h>....#include.< |
| 8f80 | 73 74 64 69 6f 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 00 | stdio.h>....#include.<stdlib.h>. |
| 8fa0 | 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 11 23 69 6e 63 6c 75 | ...#include.<string.h>....#inclu |
| 8fc0 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 8fe0 | 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 12 23 | h>....#include.<sys/mman.h>....# |
| 9000 | 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 | include.<fcntl.h>....#include.<w |
| 9020 | 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 | ayland-client.h>...&#include."xd |
| 9040 | 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 22 00 00 00 00 00 00 | g-shell-client-protocol.h"...... |
| 9060 | 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 | ..#ifndef.M_PI...##define.M_PI.3 |
| 9080 | 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 | .14159265358979323846....#endif. |
| 90a0 | 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 | ...#ifndef.M_PI_2...%#define.M_P |
| 90c0 | 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 | I_2.1.57079632679489661923....#e |
| 90e0 | 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f | ndif.......)static.volatile.sig_ |
| 9100 | 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 32 73 74 61 74 69 63 20 | atomic_t.running.=.1;...2static. |
| 9120 | 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e | void.on_sig(int.s){.(void)s;.run |
| 9140 | 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 | ning.=.0;.}........struct.app.{. |
| 9160 | 00 00 19 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1c | .......struct.wl_display.*d;.... |
| 9180 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1f | ....struct.wl_registry.*reg;.... |
| 91a0 | 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 3b 00 | ....struct.wl_compositor.*comp;. |
| 91c0 | 00 00 17 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 1b 20 20 | .......struct.wl_shm.*shm;...... |
| 91e0 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 1a 20 20 20 | ..struct.xdg_wm_base.*wm;....... |
| 9200 | 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 1b 20 20 20 20 73 | .struct.wl_surface.*ws;........s |
| 9220 | 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1c 20 20 20 20 73 74 | truct.xdg_surface.*xs;........st |
| 9240 | 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 21 20 20 20 20 73 74 | ruct.xdg_toplevel.*xt;...!....st |
| 9260 | 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 62 3b 00 00 00 11 20 | ruct.wl_callback.*frame_cb;..... |
| 9280 | 20 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 1a 20 20 20 20 73 74 72 75 63 74 20 77 | ...void.*pixels;........struct.w |
| 92a0 | 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0d 20 20 20 20 69 6e 74 20 77 2c 20 68 3b 00 | l_buffer.*buf;........int.w,.h;. |
| 92c0 | 00 00 14 20 20 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 17 20 20 20 20 62 | .......bool.configured;........b |
| 92e0 | 6f 6f 6c 20 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 3b 00 00 00 16 20 20 20 20 62 6f 6f 6c 20 64 | ool.frame_pending;........bool.d |
| 9300 | 72 61 77 5f 70 65 6e 64 69 6e 67 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 | raw_pending;....};.......)static |
| 9320 | 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 | .int.create_shm_file(size_t.size |
| 9340 | 29 20 7b 00 00 00 30 20 20 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 | ).{...0....char.template[].=."/t |
| 9360 | 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1f 20 20 20 20 69 | mp/wlclock-shm-XXXXXX";........i |
| 9380 | 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2e 20 20 | nt.fd.=.mkstemp(template);...... |
| 93a0 | 20 20 69 66 28 66 64 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 | ..if(fd.<.0).{.perror("mkstemp") |
| 93c0 | 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 15 20 20 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c | ;.exit(1);.}........unlink(templ |
| 93e0 | 61 74 65 29 3b 00 00 00 41 20 20 20 20 69 66 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | ate);...A....if(ftruncate(fd,.si |
| 9400 | 7a 65 29 20 3c 20 30 29 20 7b 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 20 | ze).<.0).{.perror("ftruncate");. |
| 9420 | 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0e 20 20 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 | exit(1);.}........return.fd;.... |
| 9440 | 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 | }.......Bstatic.void.wm_ping(voi |
| 9460 | 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 | d.*d,.struct.xdg_wm_base.*wm,.ui |
| 9480 | 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 0c 20 20 20 20 28 76 6f 69 64 29 64 3b 00 00 00 1c 20 | nt32_t.s).{........(void)d;..... |
| 94a0 | 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 7d | ...xdg_wm_base_pong(wm,.s);....} |
| 94c0 | 00 00 00 4b 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 | ...Kstatic.const.struct.xdg_wm_b |
| 94e0 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 70 69 | ase_listener.wm_listener.=.{..pi |
| 9500 | 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 20 7d 3b 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f | ng.=.wm_ping.};.......Astatic.vo |
| 9520 | 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | id.xs_cfg(void.*d,.struct.xdg_su |
| 9540 | 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 16 20 20 20 20 | rface.*xs,.uint32_t.s).{........ |
| 9560 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 25 20 20 20 20 78 64 67 5f 73 75 | struct.app.*a.=.d;...%....xdg_su |
| 9580 | 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 29 3b 00 00 00 19 20 | rface_ack_configure(xs,.s);..... |
| 95a0 | 20 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 1b 20 20 20 20 | ...a->configured.=.true;........ |
| 95c0 | 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 4f | a->draw_pending.=.true;....}...O |
| 95e0 | 73 74 61 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 | static.const.struct.xdg_surface_ |
| 9600 | 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 6f 6e 66 69 67 | listener.xs_listener.=.{..config |
| 9620 | 75 72 65 20 3d 20 78 73 5f 63 66 67 20 7d 3b 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f | ure.=.xs_cfg.};.......astatic.vo |
| 9640 | 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | id.xt_cfg(void.*d,.struct.xdg_to |
| 9660 | 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 | plevel.*xt,.int32_t.w,.int32_t.h |
| 9680 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 32 20 20 20 20 | ,.struct.wl_array.*st).{...2.... |
| 96a0 | 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 29 77 3b 20 28 76 6f 69 | (void)d;.(void)xt;.(void)w;.(voi |
| 96c0 | 64 29 68 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 01 7d 00 00 00 38 73 74 61 74 69 63 20 76 6f | d)h;.(void)st;....}...8static.vo |
| 96e0 | 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f | id.xt_close(void.*d,.struct.xdg_ |
| 9700 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 0d 20 20 20 20 28 76 6f 69 64 29 78 74 3b | toplevel.*xt).{........(void)xt; |
| 9720 | 00 00 00 16 20 20 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 10 20 20 | ........struct.app.*a.=.d;...... |
| 9740 | 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 63 73 74 61 74 69 63 20 63 6f | ..running.=.0;....}...cstatic.co |
| 9760 | 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 6e 65 72 | nst.struct.xdg_toplevel_listener |
| 9780 | 20 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 | .xt_listener.=.{..configure.=.xt |
| 97a0 | 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 20 7d 3b 00 00 00 00 00 00 | _cfg,..close.=.xt_close.};...... |
| 97c0 | 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 | .Nstatic.void.registry_handler(v |
| 97e0 | 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 79 20 2a 72 | oid.*data,.struct.wl_registry.*r |
| 9800 | 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 | eg,.uint32_t.id,...?............ |
| 9820 | 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 72 20 2a 69 66 61 | .................const.char.*ifa |
| 9840 | 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 19 20 20 20 20 73 74 72 75 63 | ce,.uint32_t.ver).{........struc |
| 9860 | 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 2b 20 20 20 20 69 66 28 73 74 72 63 6d | t.app.*a.=.data;...+....if(strcm |
| 9880 | 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 | p(iface,."wl_compositor").==.0). |
| 98a0 | 00 00 49 20 20 20 20 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 | ..I........a->comp.=.wl_registry |
| 98c0 | 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e | _bind(reg,.id,.&wl_compositor_in |
| 98e0 | 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 29 20 20 20 20 65 6c 73 65 20 69 66 28 73 74 72 63 | terface,.4);...)....else.if(strc |
| 9900 | 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 41 20 20 20 | mp(iface,."wl_shm").==.0)...A... |
| 9920 | 20 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | .....a->shm.=.wl_registry_bind(r |
| 9940 | 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 | eg,.id,.&wl_shm_interface,.1);.. |
| 9960 | 00 30 20 20 20 20 65 6c 73 65 20 69 66 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 | .0....else.if(strcmp(iface,."xdg |
| 9980 | 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 45 20 20 20 20 20 20 20 20 61 2d | _wm_base").==.0).{...E........a- |
| 99a0 | 3e 77 6d 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 69 64 2c 20 | >wm.=.wl_registry_bind(reg,.id,. |
| 99c0 | 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 00 00 39 20 | &xdg_wm_base_interface,.1);...9. |
| 99e0 | 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 74 65 6e 65 72 28 | .......xdg_wm_base_add_listener( |
| 9a00 | 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 05 20 20 20 20 | a->wm,.&wm_listener,.a);........ |
| 9a20 | 7d 00 00 00 01 7d 00 00 00 6e 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | }....}...nstatic.const.struct.wl |
| 9a40 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 | _registry_listener.reg_listener. |
| 9a60 | 3d 20 7b 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 | =.{..global.=.registry_handler,. |
| 9a80 | 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 20 7d 3b 00 00 00 00 00 00 00 2c | .global_remove.=.NULL.};......., |
| 9aa0 | 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 | static.void.allocate_buffer(stru |
| 9ac0 | 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 10 20 20 20 20 69 66 28 61 2d 3e 62 75 66 29 20 7b | ct.app.*a).{........if(a->buf).{ |
| 9ae0 | 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d | ..."........wl_buffer_destroy(a- |
| 9b00 | 3e 62 75 66 29 3b 00 00 00 2b 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 | >buf);...+........munmap(a->pixe |
| 9b20 | 6c 73 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | ls,.a->w.*.a->h.*.4);........}.. |
| 9b40 | 00 1a 20 20 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 1d | ......int.stride.=.a->w.*.4;.... |
| 9b60 | 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 61 2d 3e 68 3b 00 00 00 | ....int.size.=.stride.*.a->h;... |
| 9b80 | 23 20 20 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 | #....int.fd.=.create_shm_file(si |
| 9ba0 | 7a 65 29 3b 00 00 00 4c 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c | ze);...L....a->pixels.=.mmap(NUL |
| 9bc0 | 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c | L,.size,.PROT_READ.|.PROT_WRITE, |
| 9be0 | 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 3c 20 20 20 20 69 66 28 61 | .MAP_SHARED,.fd,.0);...<....if(a |
| 9c00 | 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 70 65 72 72 6f 72 | ->pixels.==.MAP_FAILED).{.perror |
| 9c20 | 28 22 6d 6d 61 70 22 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 44 20 20 20 20 73 74 72 75 | ("mmap");.exit(1);.}...D....stru |
| 9c40 | 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 | ct.wl_shm_pool.*pool.=.wl_shm_cr |
| 9c60 | 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c | eate_pool(a->shm,.fd,.size);...\ |
| 9c80 | 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f | ....a->buf.=.wl_shm_pool_create_ |
| 9ca0 | 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 69 | buffer(pool,.0,.a->w,.a->h,.stri |
| 9cc0 | 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1e | de,.WL_SHM_FORMAT_ARGB8888);.... |
| 9ce0 | 20 20 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 | ....wl_shm_pool_destroy(pool);.. |
| 9d00 | 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 2b 20 20 20 20 77 6c 5f 73 75 72 66 61 | ......close(fd);...+....wl_surfa |
| 9d20 | 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 | ce_attach(a->ws,.a->buf,.0,.0);. |
| 9d40 | 00 00 1d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | .......wl_surface_commit(a->ws); |
| 9d60 | 00 00 00 01 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 | ....}......._static.void.draw_li |
| 9d80 | 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | ne(uint32_t.*px,.int.w,.int.h,.i |
| 9da0 | 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 | nt.x0,.int.y0,.int.x1,.int.y1,.u |
| 9dc0 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 29 20 20 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 | int32_t.c).{...)....int.dx.=.abs |
| 9de0 | 28 78 31 2d 78 30 29 2c 20 73 78 20 3d 20 78 30 3c 78 31 3f 31 3a 2d 31 3b 00 00 00 2a 20 20 20 | (x1-x0),.sx.=.x0<x1?1:-1;...*... |
| 9e00 | 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 2d 79 30 29 2c 20 73 79 20 3d 20 79 30 3c 79 | .int.dy.=.-abs(y1-y0),.sy.=.y0<y |
| 9e20 | 31 3f 31 3a 2d 31 3b 00 00 00 1a 20 20 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 | 1?1:-1;........int.err.=.dx.+.dy |
| 9e40 | 2c 20 65 32 3b 00 00 00 0d 20 20 20 20 77 68 69 6c 65 28 31 29 7b 00 00 00 3b 20 20 20 20 20 20 | ,.e2;........while(1){...;...... |
| 9e60 | 20 20 69 66 28 78 30 3e 3d 30 20 26 26 20 78 30 3c 77 20 26 26 20 79 30 3e 3d 30 20 26 26 20 79 | ..if(x0>=0.&&.x0<w.&&.y0>=0.&&.y |
| 9e80 | 30 3c 68 29 20 70 78 5b 79 30 2a 77 2b 78 30 5d 20 3d 20 63 3b 00 00 00 23 20 20 20 20 20 20 20 | 0<h).px[y0*w+x0].=.c;...#....... |
| 9ea0 | 20 69 66 28 78 30 3d 3d 78 31 20 26 26 20 79 30 3d 3d 79 31 29 20 62 72 65 61 6b 3b 00 00 00 13 | .if(x0==x1.&&.y0==y1).break;.... |
| 9ec0 | 20 20 20 20 20 20 20 20 65 32 20 3d 20 32 2a 65 72 72 3b 00 00 00 27 20 20 20 20 20 20 20 20 69 | ........e2.=.2*err;...'........i |
| 9ee0 | 66 28 65 32 3e 3d 64 79 29 20 7b 20 65 72 72 2b 3d 64 79 3b 20 78 30 2b 3d 73 78 3b 20 7d 00 00 | f(e2>=dy).{.err+=dy;.x0+=sx;.}.. |
| 9f00 | 00 27 20 20 20 20 20 20 20 20 69 66 28 65 32 3c 3d 64 78 29 20 7b 20 65 72 72 2b 3d 64 78 3b 20 | .'........if(e2<=dx).{.err+=dx;. |
| 9f20 | 79 30 2b 3d 73 79 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 | y0+=sy;.}........}....}.......Xs |
| 9f40 | 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 | tatic.void.draw_circle(uint32_t. |
| 9f60 | 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 | *px,.int.w,.int.h,.int.cx,.int.c |
| 9f80 | 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 1a 20 20 20 20 69 | y,.int.r,.uint32_t.c).{........i |
| 9fa0 | 6e 74 20 78 3d 30 2c 20 79 3d 72 2c 20 64 3d 33 2d 32 2a 72 3b 00 00 00 11 20 20 20 20 77 68 69 | nt.x=0,.y=r,.d=3-2*r;........whi |
| 9fc0 | 6c 65 28 79 3e 3d 78 29 20 7b 00 00 00 18 20 20 20 20 20 20 20 20 69 6e 74 20 70 74 73 5b 5d 5b | le(y>=x).{............int.pts[][ |
| 9fe0 | 32 5d 20 3d 20 7b 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 78 2c 63 79 2b 79 | 2].=.{...<............{cx+x,cy+y |
| a000 | 7d 2c 7b 63 78 2d 78 2c 63 79 2b 79 7d 2c 7b 63 78 2b 78 2c 63 79 2d 79 7d 2c 7b 63 78 2d 78 2c | },{cx-x,cy+y},{cx+x,cy-y},{cx-x, |
| a020 | 63 79 2d 79 7d 2c 00 00 00 3b 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 63 79 2b 78 | cy-y},...;............{cx+y,cy+x |
| a040 | 7d 2c 7b 63 78 2d 79 2c 63 79 2b 78 7d 2c 7b 63 78 2b 79 2c 63 79 2d 78 7d 2c 7b 63 78 2d 79 2c | },{cx-y,cy+x},{cx+y,cy-x},{cx-y, |
| a060 | 63 79 2d 78 7d 00 00 00 0a 20 20 20 20 20 20 20 20 7d 3b 00 00 00 1e 20 20 20 20 20 20 20 20 66 | cy-x}............};............f |
| a080 | 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 38 3b 69 2b 2b 29 20 7b 00 00 00 2d 20 20 20 20 20 20 20 | or(int.i=0;i<8;i++).{...-....... |
| a0a0 | 20 20 20 20 20 69 6e 74 20 70 78 30 3d 70 74 73 5b 69 5d 5b 30 5d 2c 20 70 79 30 3d 70 74 73 5b | .....int.px0=pts[i][0],.py0=pts[ |
| a0c0 | 69 5d 5b 31 5d 3b 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 70 78 30 3e 3d 30 20 | i][1];...C............if(px0>=0. |
| a0e0 | 26 26 20 70 78 30 3c 77 20 26 26 20 70 79 30 3e 3d 30 20 26 26 20 70 79 30 3c 68 29 20 70 78 5b | &&.px0<w.&&.py0>=0.&&.py0<h).px[ |
| a100 | 70 79 30 2a 77 2b 70 78 30 5d 3d 63 3b 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 0c 20 20 | py0*w+px0]=c;............}...... |
| a120 | 20 20 20 20 20 20 78 2b 2b 3b 00 00 00 3b 20 20 20 20 20 20 20 20 69 66 28 64 3e 30 29 7b 20 79 | ......x++;...;........if(d>0){.y |
| a140 | 2d 2d 3b 20 64 3d 64 2b 34 2a 28 78 2d 79 29 2b 31 30 3b 20 7d 20 65 6c 73 65 20 7b 20 64 3d 64 | --;.d=d+4*(x-y)+10;.}.else.{.d=d |
| a160 | 2b 34 2a 78 2b 36 3b 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 55 73 | +4*x+6;.}........}....}.......Us |
| a180 | 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 72 65 63 74 28 75 69 6e 74 33 32 5f 74 20 2a 70 | tatic.void.fill_rect(uint32_t.*p |
| a1a0 | 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 6e 74 20 78 2c 69 6e 74 20 79 2c 69 6e 74 20 73 77 | x,int.w,int.h,int.x,int.y,int.sw |
| a1c0 | 2c 69 6e 74 20 73 68 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 23 20 20 20 20 66 6f 72 28 | ,int.sh,uint32_t.c){...#....for( |
| a1e0 | 69 6e 74 20 6a 3d 30 3b 6a 3c 73 68 3b 6a 2b 2b 29 20 69 66 28 79 2b 6a 3c 68 29 00 00 00 27 20 | int.j=0;j<sh;j++).if(y+j<h)...'. |
| a200 | 20 20 20 20 20 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 73 77 3b 69 2b 2b 29 20 69 66 28 | .......for(int.i=0;i<sw;i++).if( |
| a220 | 78 2b 69 3c 77 29 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 70 78 5b 28 79 2b 6a 29 2a 77 | x+i<w)................px[(y+j)*w |
| a240 | 2b 28 78 2b 69 29 5d 3d 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3b 73 74 61 74 69 63 20 76 6f | +(x+i)]=c;....}.......;static.vo |
| a260 | 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 63 6f 6e | id.draw_clock(struct.app.*a,.con |
| a280 | 73 74 20 73 74 72 75 63 74 20 74 6d 20 2a 74 6d 29 7b 00 00 00 44 20 20 20 20 70 72 69 6e 74 66 | st.struct.tm.*tm){...D....printf |
| a2a0 | 28 22 5c 72 25 30 32 64 3a 25 30 32 64 3a 25 30 32 64 22 2c 20 74 6d 2d 3e 74 6d 5f 68 6f 75 72 | ("\r%02d:%02d:%02d",.tm->tm_hour |
| a2c0 | 2c 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 2c 20 74 6d 2d 3e 74 6d 5f 73 65 63 29 3b 00 00 00 13 20 20 | ,.tm->tm_min,.tm->tm_sec);...... |
| a2e0 | 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 1d 20 20 20 20 75 69 6e 74 33 32 5f | ..fflush(stdout);........uint32_ |
| a300 | 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 35 20 20 20 20 66 69 6c 6c 5f 72 | t.*px.=.a->pixels;...5....fill_r |
| a320 | 65 63 74 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 30 2c 30 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 30 | ect(px,a->w,a->h,0,0,a->w,a->h,0 |
| a340 | 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 1d 20 20 20 20 69 6e 74 20 63 78 3d 61 2d 3e 77 2f 32 | xFFFFFFFF);........int.cx=a->w/2 |
| a360 | 2c 20 63 79 3d 61 2d 3e 68 2f 32 3b 00 00 00 25 20 20 20 20 69 6e 74 20 72 3d 28 61 2d 3e 77 3c | ,.cy=a->h/2;...%....int.r=(a->w< |
| a380 | 61 2d 3e 68 3f 61 2d 3e 77 3a 61 2d 3e 68 29 2f 32 2d 31 30 3b 00 00 00 31 20 20 20 20 64 72 61 | a->h?a->w:a->h)/2-10;...1....dra |
| a3a0 | 77 5f 63 69 72 63 6c 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 72 2c 30 78 | w_circle(px,a->w,a->h,cx,cy,r,0x |
| a3c0 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 1a 20 20 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c | FF000000);........for(int.i=0;i< |
| a3e0 | 31 32 3b 69 2b 2b 29 7b 00 00 00 2a 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 3d 69 | 12;i++){...*........double.ang=i |
| a400 | 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2b 20 20 20 20 20 20 | /12.0*2*M_PI.-.M_PI_2;...+...... |
| a420 | 20 20 69 6e 74 20 78 31 3d 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 2a 28 72 2d | ..int.x1=cx.+.(int)(cos(ang)*(r- |
| a440 | 31 30 29 29 3b 00 00 00 2b 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 3d 63 79 20 2b 20 28 69 6e | 10));...+........int.y1=cy.+.(in |
| a460 | 74 29 28 73 69 6e 28 61 6e 67 29 2a 28 72 2d 31 30 29 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 | t)(sin(ang)*(r-10));...*........ |
| a480 | 69 6e 74 20 78 32 3d 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 | int.x2=cx.+.(int)(cos(ang)*(r-2) |
| a4a0 | 29 3b 00 00 00 2a 20 20 20 20 20 20 20 20 69 6e 74 20 79 32 3d 63 79 20 2b 20 28 69 6e 74 29 28 | );...*........int.y2=cy.+.(int)( |
| a4c0 | 73 69 6e 28 61 6e 67 29 2a 28 72 2d 32 29 29 3b 00 00 00 37 20 20 20 20 20 20 20 20 64 72 61 77 | sin(ang)*(r-2));...7........draw |
| a4e0 | 5f 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 78 31 2c 79 31 2c 78 32 2c 79 32 2c 30 | _line(px,a->w,a->h,x1,y1,x2,y2,0 |
| a500 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1c 20 20 20 20 64 6f 75 62 | xFF000000);........}........doub |
| a520 | 6c 65 20 73 65 63 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 27 20 20 20 20 64 6f 75 62 | le.sec.=.tm->tm_sec;...'....doub |
| a540 | 6c 65 20 6d 69 6e 20 3d 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 73 65 63 2f 36 30 2e 30 3b 00 | le.min.=.tm->tm_min.+.sec/60.0;. |
| a560 | 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 | .......double.hour.=.(tm->tm_hou |
| a580 | 72 25 31 32 29 20 2b 20 6d 69 6e 2f 36 30 2e 30 3b 00 00 00 29 20 20 20 20 64 6f 75 62 6c 65 20 | r%12).+.min/60.0;...)....double. |
| a5a0 | 73 61 20 3d 20 73 65 63 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | sa.=.sec/60.0*2*M_PI.-.M_PI_2;.. |
| a5c0 | 00 29 20 20 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 6d 69 6e 2f 36 30 2e 30 2a 32 2a 4d 5f 50 | .)....double.ma.=.min/60.0*2*M_P |
| a5e0 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2a 20 20 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 68 | I.-.M_PI_2;...*....double.ha.=.h |
| a600 | 6f 75 72 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 | our/12.0*2*M_PI.-.M_PI_2;..._... |
| a620 | 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 | .draw_line(px,a->w,a->h,cx,cy,cx |
| a640 | 2b 28 69 6e 74 29 28 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 29 2c 63 79 2b 28 69 6e 74 29 28 | +(int)(cos(ha)*r*0.55),cy+(int)( |
| a660 | 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 29 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 5d | sin(ha)*r*0.55),0xFF000000);...] |
| a680 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 | ....draw_line(px,a->w,a->h,cx,cy |
| a6a0 | 2c 63 78 2b 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 29 2c 63 79 2b 28 69 6e 74 | ,cx+(int)(cos(ma)*r*0.8),cy+(int |
| a6c0 | 29 28 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 29 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 | )(sin(ma)*r*0.8),0xFF000000);... |
| a6e0 | 5d 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 | ]....draw_line(px,a->w,a->h,cx,c |
| a700 | 79 2c 63 78 2b 28 69 6e 74 29 28 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 29 2c 63 79 2b 28 69 6e | y,cx+(int)(cos(sa)*r*0.9),cy+(in |
| a720 | 74 29 28 73 69 6e 28 73 61 29 2a 72 2a 30 2e 39 29 2c 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 | t)(sin(sa)*r*0.9),0xFFFF0000);.. |
| a740 | 00 31 20 20 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 | .1....draw_circle(px,a->w,a->h,c |
| a760 | 78 2c 63 79 2c 33 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 28 20 20 20 20 77 6c 5f 73 75 | x,cy,3,0xFF000000);...(....wl_su |
| a780 | 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 61 2d 3e 62 75 66 2c 30 2c 30 29 3b 00 | rface_attach(a->ws,a->buf,0,0);. |
| a7a0 | 00 00 1d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | .......wl_surface_commit(a->ws); |
| a7c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 | ....}.......Gstatic.void.frame_d |
| a7e0 | 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 | one(void.*data,.struct.wl_callba |
| a800 | 63 6b 20 2a 63 62 2c 20 75 69 6e 74 33 32 5f 74 20 74 29 7b 00 00 00 19 20 20 20 20 73 74 72 75 | ck.*cb,.uint32_t.t){........stru |
| a820 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 1c 20 20 20 20 77 6c 5f 63 61 6c 6c | ct.app.*a.=.data;........wl_call |
| a840 | 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 63 62 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 66 72 61 6d | back_destroy(cb);........a->fram |
| a860 | 65 5f 63 62 3d 4e 55 4c 4c 3b 00 00 00 1b 20 20 20 20 61 2d 3e 66 72 61 6d 65 5f 70 65 6e 64 69 | e_cb=NULL;........a->frame_pendi |
| a880 | 6e 67 3d 66 61 6c 73 65 3b 00 00 00 7d 20 20 20 20 69 66 28 61 2d 3e 64 72 61 77 5f 70 65 6e 64 | ng=false;...}....if(a->draw_pend |
| a8a0 | 69 6e 67 29 7b 20 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 3d 66 61 6c 73 65 3b 20 74 69 6d | ing){.a->draw_pending=false;.tim |
| a8c0 | 65 5f 74 20 74 74 3d 74 69 6d 65 28 4e 55 4c 4c 29 3b 20 73 74 72 75 63 74 20 74 6d 20 74 6d 3b | e_t.tt=time(NULL);.struct.tm.tm; |
| a8e0 | 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 26 74 6d 29 3b 20 64 72 61 77 5f 63 6c 6f 63 | .localtime_r(&tt,&tm);.draw_cloc |
| a900 | 6b 28 61 2c 26 74 6d 29 3b 7d 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | k(a,&tm);}....}...Mstatic.const. |
| a920 | 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d | struct.wl_callback_listener.fram |
| a940 | 65 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 64 6f 6e 65 3d 66 72 61 6d 65 5f 64 6f 6e 65 7d 3b | e_listener.=.{.done=frame_done}; |
| a960 | 00 00 00 00 00 00 00 2a 73 74 61 74 69 63 20 76 6f 69 64 20 73 63 68 65 64 75 6c 65 5f 66 72 61 | .......*static.void.schedule_fra |
| a980 | 6d 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 7b 00 00 00 39 20 20 20 20 69 66 28 61 2d 3e | me(struct.app.*a){...9....if(a-> |
| a9a0 | 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 29 7b 20 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 3d | frame_pending){.a->draw_pending= |
| a9c0 | 74 72 75 65 3b 20 72 65 74 75 72 6e 3b 20 7d 00 00 00 28 20 20 20 20 61 2d 3e 66 72 61 6d 65 5f | true;.return;.}...(....a->frame_ |
| a9e0 | 63 62 3d 77 6c 5f 73 75 72 66 61 63 65 5f 66 72 61 6d 65 28 61 2d 3e 77 73 29 3b 00 00 00 3c 20 | cb=wl_surface_frame(a->ws);...<. |
| aa00 | 20 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 66 | ...wl_callback_add_listener(a->f |
| aa20 | 72 61 6d 65 5f 63 62 2c 26 66 72 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 61 29 3b 00 00 00 1a 20 | rame_cb,&frame_listener,a);..... |
| aa40 | 20 20 20 61 2d 3e 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 3d 74 72 75 65 3b 00 00 00 01 7d 00 00 | ...a->frame_pending=true;....}.. |
| aa60 | 00 00 00 00 00 0f 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 7b 00 00 00 15 20 20 20 20 73 74 72 | ......int.main(void){........str |
| aa80 | 75 63 74 20 61 70 70 20 61 3d 7b 30 7d 3b 00 00 00 15 20 20 20 20 61 2e 77 3d 34 30 30 3b 20 61 | uct.app.a={0};........a.w=400;.a |
| aaa0 | 2e 68 3d 34 30 30 3b 00 00 00 1a 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 6f 6e 5f | .h=400;........signal(SIGINT,on_ |
| aac0 | 73 69 67 29 3b 00 00 00 1b 20 20 20 20 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 6f 6e 5f 73 | sig);........signal(SIGTERM,on_s |
| aae0 | 69 67 29 3b 00 00 00 00 00 00 00 31 20 20 20 20 69 66 28 21 28 61 2e 64 3d 77 6c 5f 64 69 73 70 | ig);.......1....if(!(a.d=wl_disp |
| ab00 | 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 | lay_connect(NULL))).return.1;... |
| ab20 | 27 20 20 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 | '....a.reg=wl_display_get_regist |
| ab40 | 72 79 28 61 2e 64 29 3b 00 00 00 35 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f | ry(a.d);...5....wl_registry_add_ |
| ab60 | 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 | listener(a.reg,®_listener,&a) |
| ab80 | 3b 00 00 00 1e 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 61 2e | ;........wl_display_roundtrip(a. |
| aba0 | 64 29 3b 00 00 00 2c 20 20 20 20 69 66 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 | d);...,....if(!a.comp.||.!a.shm. |
| abc0 | 7c 7c 20 21 61 2e 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 20 20 20 61 | ||.!a.wm).return.1;............a |
| abe0 | 2e 77 73 3d 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 65 | .ws=wl_compositor_create_surface |
| ac00 | 28 61 2e 63 6f 6d 70 29 3b 00 00 00 30 20 20 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 | (a.comp);...0....a.xs=xdg_wm_bas |
| ac20 | 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 | e_get_xdg_surface(a.wm,a.ws);... |
| ac40 | 33 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 6e 65 72 28 61 2e | 3....xdg_surface_add_listener(a. |
| ac60 | 78 73 2c 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 28 20 20 20 20 61 2e 78 74 | xs,&xs_listener,&a);...(....a.xt |
| ac80 | 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b | =xdg_surface_get_toplevel(a.xs); |
| aca0 | 00 00 00 34 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 | ...4....xdg_toplevel_add_listene |
| acc0 | 72 28 61 2e 78 74 2c 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 26 61 29 3b 00 00 00 2b 20 20 20 20 | r(a.xt,&xt_listener,&a);...+.... |
| ace0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 22 77 6c 63 | xdg_toplevel_set_title(a.xt,"wlc |
| ad00 | 6c 6f 63 6b 22 29 3b 00 00 00 1c 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | lock");........wl_surface_commit |
| ad20 | 28 61 2e 77 73 29 3b 00 00 00 1e 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 | (a.ws);........wl_display_roundt |
| ad40 | 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 18 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 | rip(a.d);............allocate_bu |
| ad60 | 66 66 65 72 28 26 61 29 3b 00 00 00 00 00 00 00 38 20 20 20 20 69 6e 74 20 74 66 64 3d 74 69 6d | ffer(&a);.......8....int.tfd=tim |
| ad80 | 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f | erfd_create(CLOCK_MONOTONIC,TFD_ |
| ada0 | 43 4c 4f 45 58 45 43 29 3b 00 00 00 2e 20 20 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 | CLOEXEC);........struct.itimersp |
| adc0 | 65 63 20 69 74 73 3d 7b 7b 30 2c 31 30 30 30 30 30 30 7d 2c 7b 31 2c 30 7d 7d 3b 00 00 00 25 20 | ec.its={{0,1000000},{1,0}};...%. |
| ade0 | 20 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 30 2c 26 69 74 73 2c 4e 55 | ...timerfd_settime(tfd,0,&its,NU |
| ae00 | 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b 00 | LL);............while(running){. |
| ae20 | 00 00 29 20 20 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 | ..)........wl_display_dispatch_p |
| ae40 | 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 3b 20 20 20 20 20 20 20 20 69 66 28 77 6c 5f 64 69 | ending(a.d);...;........if(wl_di |
| ae60 | 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3c 30 20 26 26 20 65 72 72 6e 6f 21 3d 45 41 47 | splay_flush(a.d)<0.&&.errno!=EAG |
| ae80 | 41 49 4e 29 20 62 72 65 61 6b 3b 00 00 00 65 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 70 6f | AIN).break;...e........struct.po |
| aea0 | 6c 6c 66 64 20 70 66 64 73 5b 32 5d 3d 7b 7b 2e 66 64 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 | llfd.pfds[2]={{.fd=wl_display_ge |
| aec0 | 74 5f 66 64 28 61 2e 64 29 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 2c 7b 2e 66 64 3d 74 | t_fd(a.d),.events=POLLIN},{.fd=t |
| aee0 | 66 64 2c 2e 65 76 65 6e 74 73 3d 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 18 20 20 20 20 20 20 20 20 | fd,.events=POLLIN}};............ |
| af00 | 70 6f 6c 6c 28 70 66 64 73 2c 32 2c 2d 31 29 3b 00 00 00 3c 20 20 20 20 20 20 20 20 69 66 28 70 | poll(pfds,2,-1);...<........if(p |
| af20 | 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 | fds[0].revents&POLLIN).wl_displa |
| af40 | 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 23 20 20 20 20 20 20 20 20 69 66 28 70 | y_dispatch(a.d);...#........if(p |
| af60 | 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 7b 00 00 00 1b 20 20 20 20 20 | fds[1].revents&POLLIN){......... |
| af80 | 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 30 20 20 20 20 20 20 | .......uint64_t.ticks;...0...... |
| afa0 | 20 20 20 20 20 20 69 66 28 72 65 61 64 28 74 66 64 2c 26 74 69 63 6b 73 2c 73 69 7a 65 6f 66 20 | ......if(read(tfd,&ticks,sizeof. |
| afc0 | 74 69 63 6b 73 29 3e 30 29 7b 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 | ticks)>0){...I................ti |
| afe0 | 6d 65 5f 74 20 74 74 3d 74 69 6d 65 28 4e 55 4c 4c 29 3b 20 73 74 72 75 63 74 20 74 6d 20 74 6d | me_t.tt=time(NULL);.struct.tm.tm |
| b000 | 3b 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 26 74 6d 29 3b 00 00 00 23 20 20 20 20 20 | ;.localtime_r(&tt,&tm);...#..... |
| b020 | 20 20 20 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 2c 26 74 6d 29 3b 00 00 | ...........draw_clock(&a,&tm);.. |
| b040 | 00 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 00 00 00 09 20 20 20 20 20 20 20 20 7d 00 00 00 05 | ..............}............}.... |
| b060 | 20 20 20 20 7d 00 00 00 00 00 00 00 27 20 20 20 20 69 66 28 61 2e 62 75 66 29 20 77 6c 5f 62 75 | ....}.......'....if(a.buf).wl_bu |
| b080 | 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2e 62 75 66 29 3b 00 00 00 26 20 20 20 20 69 66 28 61 | ffer_destroy(a.buf);...&....if(a |
| b0a0 | 2e 77 73 29 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 73 29 3b 00 00 | .ws).wl_surface_destroy(a.ws);.. |
| b0c0 | 00 28 20 20 20 20 69 66 28 61 2e 78 74 29 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 | .(....if(a.xt).xdg_toplevel_dest |
| b0e0 | 72 6f 79 28 61 2e 78 74 29 3b 00 00 00 27 20 20 20 20 69 66 28 61 2e 78 73 29 20 78 64 67 5f 73 | roy(a.xt);...'....if(a.xs).xdg_s |
| b100 | 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 78 73 29 3b 00 00 00 27 20 20 20 20 69 66 28 | urface_destroy(a.xs);...'....if( |
| b120 | 61 2e 77 6d 29 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 6d 29 3b | a.wm).xdg_wm_base_destroy(a.wm); |
| b140 | 00 00 00 2d 20 20 20 20 69 66 28 61 2e 63 6f 6d 70 29 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | ...-....if(a.comp).wl_compositor |
| b160 | 5f 64 65 73 74 72 6f 79 28 61 2e 63 6f 6d 70 29 3b 00 00 00 27 20 20 20 20 69 66 28 61 2e 64 29 | _destroy(a.comp);...'....if(a.d) |
| b180 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 00 | .wl_display_disconnect(a.d);.... |
| b1a0 | 00 00 00 0d 20 20 20 20 70 75 74 73 28 22 22 29 3b 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 | ........puts("");........return. |
| b1c0 | 30 3b 35 81 f5 18 00 00 00 00 02 00 00 00 09 00 00 00 f0 00 00 00 02 00 00 00 31 01 00 00 00 00 | 0;5.......................1..... |
| b1e0 | 00 00 2a 00 00 00 00 00 00 00 d7 1f 00 00 00 00 00 00 0d 22 00 00 00 00 00 00 35 81 5f d0 00 00 | ..*................"......5._... |
| b200 | 00 0b 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 01 00 00 00 00 00 00 00 00 ff ff | ................................ |
| b220 | ff 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 | ................................ |
| b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| b380 | 69 9d 92 08 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 35 00 00 00 | i...........................5... |
| b3a0 | 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c | .#define._POSIX_C_SOURCE.200809L |
| b3c0 | 00 00 00 00 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 65 | .......&#include."xdg-shell-clie |
| b3e0 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e | nt-protocol.h"....#include.<errn |
| b400 | 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 | o.h>....#include.<fcntl.h>....#i |
| b420 | 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c | nclude.<math.h>....#include.<pol |
| b440 | 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 | l.h>....#include.<signal.h>....# |
| b460 | 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | include.<stdbool.h>....#include. |
| b480 | 3c 73 74 64 69 6f 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 | <stdio.h>....#include.<stdlib.h> |
| b4a0 | 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 15 23 69 6e 63 6c | ....#include.<string.h>....#incl |
| b4c0 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 | ude.<sys/mman.h>....#include.<ti |
| b4e0 | 6d 65 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 1b | me.h>....#include.<unistd.h>.... |
| b500 | 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 00 00 00 00 | #include.<wayland-client.h>..... |
| b520 | 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 | ...#ifndef.M_PI...##define.M_PI. |
| b540 | 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 | 3.14159265358979323846....#endif |
| b560 | 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f | ....#ifndef.M_PI_2...%#define.M_ |
| b580 | 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 | PI_2.1.57079632679489661923....# |
| b5a0 | 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 | endif.......)static.volatile.sig |
| b5c0 | 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 | _atomic_t.running.=.1;....static |
| b5e0 | 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 | .void.on_sig(int.s).{......(void |
| b600 | 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 | )s;......running.=.0;....}...... |
| b620 | 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 | ..struct.app.{......struct.wl_di |
| b640 | 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | splay.*d;......struct.wl_registr |
| b660 | 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | y.*reg;......struct.wl_composito |
| b680 | 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d | r.*comp;......struct.wl_shm.*shm |
| b6a0 | 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 | ;......struct.xdg_wm_base.*wm;.. |
| b6c0 | 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 | ....struct.wl_surface.*ws;...... |
| b6e0 | 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 | struct.xdg_surface.*xs;......str |
| b700 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 1f 20 20 73 74 72 75 63 | uct.xdg_toplevel.*xt;......struc |
| b720 | 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 62 3b 00 00 00 0f 20 20 76 6f | t.wl_callback.*frame_cb;......vo |
| b740 | 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | id.*pixels;......struct.wl_buffe |
| b760 | 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c | r.*buf;......int.w,.h;......bool |
| b780 | 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 15 20 20 62 6f 6f 6c 20 66 72 61 6d 65 5f 70 65 6e | .configured;......bool.frame_pen |
| b7a0 | 64 69 6e 67 3b 00 00 00 14 20 20 62 6f 6f 6c 20 64 72 61 77 5f 70 65 6e 64 69 6e 67 3b 00 00 00 | ding;......bool.draw_pending;... |
| b7c0 | 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d | .};.......)static.int.create_shm |
| b7e0 | 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 | _file(size_t.size).{......char.t |
| b800 | 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 | emplate[].=."/tmp/wlclock-shm-XX |
| b820 | 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d | XXXX";......int.fd.=.mkstemp(tem |
| b840 | 70 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 16 20 20 | plate);......if.(fd.<.0).{...... |
| b860 | 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 | ..perror("mkstemp");........exit |
| b880 | 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 | (1);......}......unlink(template |
| b8a0 | 29 3b 00 00 00 20 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 | );......if.(ftruncate(fd,.size). |
| b8c0 | 3c 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 | <.0).{........perror("ftruncate" |
| b8e0 | 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 | );........exit(1);......}......r |
| b900 | 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 | eturn.fd;....}.......Bstatic.voi |
| b920 | 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d | d.wm_ping(void.*d,.struct.xdg_wm |
| b940 | 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 | _base.*wm,.uint32_t.s).{......(v |
| b960 | 6f 69 64 29 64 3b 00 00 00 1a 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c | oid)d;......xdg_wm_base_pong(wm, |
| b980 | 20 73 29 3b 00 00 00 01 7d 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | .s);....}...Istatic.const.struct |
| b9a0 | 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 6c 69 73 74 65 6e 65 | .xdg_wm_base_listener.wm_listene |
| b9c0 | 72 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 41 73 74 | r.=.{.ping.=.wm_ping};.......Ast |
| b9e0 | 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | atic.void.xs_cfg(void.*d,.struct |
| ba00 | 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 | .xdg_surface.*xs,.uint32_t.s).{. |
| ba20 | 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 | .....struct.app.*a.=.d;...#..xdg |
| ba40 | 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 29 3b 00 00 | _surface_ack_configure(xs,.s);.. |
| ba60 | 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 | ....a->configured.=.true;......a |
| ba80 | 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 4d 73 | ->draw_pending.=.true;....}...Ms |
| baa0 | 74 61 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 | tatic.const.struct.xdg_surface_l |
| bac0 | 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 | istener.xs_listener.=.{.configur |
| bae0 | 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 | e.=.xs_cfg};.......Jstatic.void. |
| bb00 | 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | xt_cfg(void.*d,.struct.xdg_tople |
| bb20 | 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 | vel.*xt,.int32_t.w,.int32_t.h,.. |
| bb40 | 00 29 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 77 6c 5f 61 | .)...................struct.wl_a |
| bb60 | 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 64 3b 00 00 00 0b 20 20 28 | rray.*st).{......(void)d;......( |
| bb80 | 76 6f 69 64 29 78 74 3b 00 00 00 0a 20 20 28 76 6f 69 64 29 77 3b 00 00 00 0a 20 20 28 76 6f 69 | void)xt;......(void)w;......(voi |
| bba0 | 64 29 68 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 01 7d 00 00 00 38 73 74 61 74 | d)h;......(void)st;....}...8stat |
| bbc0 | 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | ic.void.xt_close(void.*d,.struct |
| bbe0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 0b 20 20 28 76 6f 69 64 29 | .xdg_toplevel.*xt).{......(void) |
| bc00 | 78 74 3b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0e 20 | xt;......struct.app.*a.=.d;..... |
| bc20 | 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e | .running.=.0;....}...Mstatic.con |
| bc40 | 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 6e 65 72 20 | st.struct.xdg_toplevel_listener. |
| bc60 | 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 | xt_listener.=.{.configure.=.xt_c |
| bc80 | 66 67 2c 00 00 00 4c 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 | fg,...L......................... |
| bca0 | 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 | ................................ |
| bcc0 | 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 | .close.=.xt_close};.......Nstati |
| bce0 | 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 | c.void.registry_handler(void.*da |
| bd00 | 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 |
| bd20 | 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t32_t.id,...?................... |
| bd40 | 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e | ..........const.char.*iface,.uin |
| bd60 | 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | t32_t.ver).{......struct.app.*a. |
| bd80 | 3d 20 64 61 74 61 3b 00 00 00 2a 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 | =.data;...*..if.(strcmp(iface,." |
| bda0 | 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 45 20 20 20 20 61 2d 3e | wl_compositor").==.0)...E....a-> |
| bdc0 | 63 6f 6d 70 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 69 64 2c | comp.=.wl_registry_bind(reg,.id, |
| bde0 | 20 26 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 | .&wl_compositor_interface,.4);.. |
| be00 | 00 28 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 | .(..else.if.(strcmp(iface,."wl_s |
| be20 | 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 | hm").==.0)...=....a->shm.=.wl_re |
| be40 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 | gistry_bind(reg,.id,.&wl_shm_int |
| be60 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2f 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 | erface,.1);.../..else.if.(strcmp |
| be80 | 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 | (iface,."xdg_wm_base").==.0).{.. |
| bea0 | 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | .A....a->wm.=.wl_registry_bind(r |
| bec0 | 65 67 2c 20 69 64 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 | eg,.id,.&xdg_wm_base_interface,. |
| bee0 | 31 29 3b 00 00 00 35 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 | 1);...5....xdg_wm_base_add_liste |
| bf00 | 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 03 | ner(a->wm,.&wm_listener,.a);.... |
| bf20 | 20 20 7d 00 00 00 01 7d 00 00 00 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ..}....}...9static.const.struct. |
| bf40 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 | wl_registry_listener.reg_listene |
| bf60 | 72 20 3d 20 7b 00 00 00 37 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 5f | r.=.{...7.....global.=.registry_ |
| bf80 | 68 61 6e 64 6c 65 72 2c 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 7d 3b | handler,..global_remove.=.NULL}; |
| bfa0 | 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 | .......,static.void.allocate_buf |
| bfc0 | 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 2d | fer(struct.app.*a).{......if.(a- |
| bfe0 | 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 | >buf).{........wl_buffer_destroy |
| c000 | 28 61 2d 3e 62 75 66 29 3b 00 00 00 27 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c | (a->buf);...'....munmap(a->pixel |
| c020 | 73 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 | s,.a->w.*.a->h.*.4);......}..... |
| c040 | 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 1b 20 20 69 6e 74 | .int.stride.=.a->w.*.4;......int |
| c060 | 20 73 69 7a 65 20 3d 20 73 74 72 69 64 65 20 2a 20 61 2d 3e 68 3b 00 00 00 21 20 20 69 6e 74 20 | .size.=.stride.*.a->h;...!..int. |
| c080 | 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 | fd.=.create_shm_file(size);...J. |
| c0a0 | 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 | .a->pixels.=.mmap(NULL,.size,.PR |
| c0c0 | 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 | OT_READ.|.PROT_WRITE,.MAP_SHARED |
| c0e0 | 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 | ,.fd,.0);......if.(a->pixels.==. |
| c100 | 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 | MAP_FAILED).{........perror("mma |
| c120 | 70 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 42 20 | p");........exit(1);......}...B. |
| c140 | 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 | .struct.wl_shm_pool.*pool.=.wl_s |
| c160 | 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 | hm_create_pool(a->shm,.fd,.size) |
| c180 | 3b 00 00 00 41 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 | ;...A..a->buf.=.wl_shm_pool_crea |
| c1a0 | 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 | te_buffer(pool,.0,.a->w,.a->h,.s |
| c1c0 | 74 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tride,...=...................... |
| c1e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 | ...............WL_SHM_FORMAT_ARG |
| c200 | 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 | B8888);......wl_shm_pool_destroy |
| c220 | 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 29 20 20 77 6c 5f | (pool);......close(fd);...)..wl_ |
| c240 | 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c | surface_attach(a->ws,.a->buf,.0, |
| c260 | 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 | .0);......wl_surface_commit(a->w |
| c280 | 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 | s);....}.......Istatic.void.draw |
| c2a0 | 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | _line(uint32_t.*px,.int.w,.int.h |
| c2c0 | 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 | ,.int.x0,.int.y0,.int.x1,...+... |
| c2e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 | ...................int.y1,.uint3 |
| c300 | 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 | 2_t.c).{.../..int.dx.=.abs(x1.-. |
| c320 | 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 | x0),.sx.=.x0.<.x1.?.1.:.-1;...0. |
| c340 | 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 | .int.dy.=.-abs(y1.-.y0),.sy.=.y0 |
| c360 | 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 | .<.y1.?.1.:.-1;......int.err.=.d |
| c380 | 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f | x.+.dy,.e2;......while.(1).{.../ |
| c3a0 | 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 | ....if.(x0.>=.0.&&.x0.<.w.&&.y0. |
| c3c0 | 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a | >=.0.&&.y0.<.h)..........px[y0.* |
| c3e0 | 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 | .w.+.x0].=.c;........if.(x0.==.x |
| c400 | 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 | 1.&&.y0.==.y1)..........break;.. |
| c420 | 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 | ......e2.=.2.*.err;........if.(e |
| c440 | 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 | 2.>=.dy).{..........err.+=.dy;.. |
| c460 | 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 | ........x0.+=.sx;........}...... |
| c480 | 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b | ..if.(e2.<=.dx).{..........err.+ |
| c4a0 | 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 | =.dx;..........y0.+=.sy;........ |
| c4c0 | 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 | }......}....}.......Jstatic.void |
| c4e0 | 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 | .draw_circle(uint32_t.*px,.int.w |
| c500 | 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 | ,.int.h,.int.cx,.int.cy,.int.r,. |
| c520 | 00 00 25 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 |
| c540 | 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 | 2_t.c).{..."..int.x.=.0,.y.=.r,. |
| c560 | 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 | d.=.3.-.2.*.r;......while.(y.>=. |
| c580 | 78 29 20 7b 00 00 00 49 20 20 20 20 69 6e 74 20 70 74 73 5b 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 | x).{...I....int.pts[][2].=.{{cx. |
| c5a0 | 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 | +.x,.cy.+.y},.{cx.-.x,.cy.+.y},. |
| c5c0 | 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 49 20 20 20 20 20 20 20 20 20 20 20 | {cx.+.x,.cy.-.y},...I........... |
| c5e0 | 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b | .........{cx.-.x,.cy.-.y},.{cx.+ |
| c600 | 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 | .y,.cy.+.x},.{cx.-.y,.cy.+.x},.. |
| c620 | 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 | .8....................{cx.+.y,.c |
| c640 | 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 21 20 20 | y.-.x},.{cx.-.y,.cy.-.x}};...!.. |
| c660 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 20 7b 00 | ..for.(int.i.=.0;.i.<.8;.i++).{. |
| c680 | 00 00 2b 20 20 20 20 20 20 69 6e 74 20 70 78 30 20 3d 20 70 74 73 5b 69 5d 5b 30 5d 2c 20 70 79 | ..+......int.px0.=.pts[i][0],.py |
| c6a0 | 30 20 3d 20 70 74 73 5b 69 5d 5b 31 5d 3b 00 00 00 35 20 20 20 20 20 20 69 66 20 28 70 78 30 20 | 0.=.pts[i][1];...5......if.(px0. |
| c6c0 | 3e 3d 20 30 20 26 26 20 70 78 30 20 3c 20 77 20 26 26 20 70 79 30 20 3e 3d 20 30 20 26 26 20 70 | >=.0.&&.px0.<.w.&&.py0.>=.0.&&.p |
| c6e0 | 79 30 20 3c 20 68 29 00 00 00 1e 20 20 20 20 20 20 20 20 70 78 5b 70 79 30 20 2a 20 77 20 2b 20 | y0.<.h)............px[py0.*.w.+. |
| c700 | 70 78 30 5d 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 | px0].=.c;........}........x++;.. |
| c720 | 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b | ......if.(d.>.0).{..........y--; |
| c740 | 00 00 00 1f 20 20 20 20 20 20 64 20 3d 20 64 20 2b 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 | ..........d.=.d.+.4.*.(x.-.y).+. |
| c760 | 31 30 3b 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 18 20 20 20 20 20 20 64 20 3d | 10;........}.else.{..........d.= |
| c780 | 20 64 20 2b 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 | .d.+.4.*.x.+.6;........}......}. |
| c7a0 | 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 72 65 63 | ...}.......Ostatic.void.fill_rec |
| c7c0 | 74 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e | t(uint32_t.*px,.int.w,.int.h,.in |
| c7e0 | 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 73 77 2c 20 69 6e 74 20 73 68 2c 00 00 00 23 20 | t.x,.int.y,.int.sw,.int.sh,...#. |
| c800 | 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 32 5f 74 20 63 29 | .....................uint32_t.c) |
| c820 | 20 7b 00 00 00 1e 20 20 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 73 68 3b 20 | .{......for.(int.j.=.0;.j.<.sh;. |
| c840 | 6a 2b 2b 29 00 00 00 12 20 20 20 20 69 66 20 28 79 20 2b 20 6a 20 3c 20 68 29 00 00 00 22 20 20 | j++)........if.(y.+.j.<.h)...".. |
| c860 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 77 3b 20 69 2b 2b 29 | ....for.(int.i.=.0;.i.<.sw;.i++) |
| c880 | 00 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 2b 20 69 20 3c 20 77 29 00 00 00 28 20 20 | ............if.(x.+.i.<.w)...(.. |
| c8a0 | 20 20 20 20 20 20 20 20 70 78 5b 28 79 20 2b 20 6a 29 20 2a 20 77 20 2b 20 28 78 20 2b 20 69 29 | ........px[(y.+.j).*.w.+.(x.+.i) |
| c8c0 | 5d 20 3d 20 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 64 | ].=.c;....}.......<static.void.d |
| c8e0 | 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 63 6f 6e 73 74 20 73 | raw_clock(struct.app.*a,.const.s |
| c900 | 74 72 75 63 74 20 74 6d 20 2a 74 6d 29 20 7b 00 00 00 42 20 20 70 72 69 6e 74 66 28 22 5c 72 25 | truct.tm.*tm).{...B..printf("\r% |
| c920 | 30 32 64 3a 25 30 32 64 3a 25 30 32 64 22 2c 20 74 6d 2d 3e 74 6d 5f 68 6f 75 72 2c 20 74 6d 2d | 02d:%02d:%02d",.tm->tm_hour,.tm- |
| c940 | 3e 74 6d 5f 6d 69 6e 2c 20 74 6d 2d 3e 74 6d 5f 73 65 63 29 3b 00 00 00 11 20 20 66 66 6c 75 73 | >tm_min,.tm->tm_sec);......fflus |
| c960 | 68 28 73 74 64 6f 75 74 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 | h(stdout);......uint32_t.*px.=.a |
| c980 | 2d 3e 70 69 78 65 6c 73 3b 00 00 00 3a 20 20 66 69 6c 6c 5f 72 65 63 74 28 70 78 2c 20 61 2d 3e | ->pixels;...:..fill_rect(px,.a-> |
| c9a0 | 77 2c 20 61 2d 3e 68 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 30 78 46 46 46 | w,.a->h,.0,.0,.a->w,.a->h,.0xFFF |
| c9c0 | 46 46 46 46 46 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 | FFFFF);...#..int.cx.=.a->w./.2,. |
| c9e0 | 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e | cy.=.a->h./.2;.../..int.r.=.(a-> |
| ca00 | 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 | w.<.a->h.?.a->w.:.a->h)./.2.-.10 |
| ca20 | 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e | ;...5..draw_circle(px,.a->w,.a-> |
| ca40 | 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 | h,.cx,.cy,.r,.0xFF000000);...... |
| ca60 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 | for.(int.i.=.0;.i.<.12;.i++).{.. |
| ca80 | 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 | ......double.ang.=.i./.12.0.*.2. |
| caa0 | 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2d 20 20 20 20 69 6e 74 20 78 31 20 3d | *.M_PI.-.M_PI_2;...-....int.x1.= |
| cac0 | 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 | .cx.+.(int)(cos(ang).*.(r.-.10)) |
| cae0 | 3b 00 00 00 2d 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e | ;...-....int.y1.=.cy.+.(int)(sin |
| cb00 | 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 2c 20 20 20 20 69 6e 74 20 78 32 | (ang).*.(r.-.10));...,....int.x2 |
| cb20 | 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 | .=.cx.+.(int)(cos(ang).*.(r.-.2) |
| cb40 | 29 3b 00 00 00 2c 20 20 20 20 69 6e 74 20 79 32 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 | );...,....int.y2.=.cy.+.(int)(si |
| cb60 | 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 3b 00 00 00 3a 20 20 20 20 64 72 61 77 5f 6c | n(ang).*.(r.-.2));...:....draw_l |
| cb80 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 | ine(px,.a->w,.a->h,.x1,.y1,.x2,. |
| cba0 | 79 32 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 64 6f 75 | y2,.0xFF000000);......}......dou |
| cbc0 | 62 6c 65 20 73 65 63 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 27 20 20 64 6f 75 62 6c | ble.sec.=.tm->tm_sec;...'..doubl |
| cbe0 | 65 20 6d 69 6e 20 3d 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 73 65 63 20 2f 20 36 30 2e 30 3b | e.min.=.tm->tm_min.+.sec./.60.0; |
| cc00 | 00 00 00 30 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 | ...0..double.hour.=.(tm->tm_hour |
| cc20 | 20 25 20 31 32 29 20 2b 20 6d 69 6e 20 2f 20 36 30 2e 30 3b 00 00 00 2d 20 20 64 6f 75 62 6c 65 | .%.12).+.min./.60.0;...-..double |
| cc40 | 20 73 61 20 3d 20 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f | .sa.=.sec./.60.0.*.2.*.M_PI.-.M_ |
| cc60 | 50 49 5f 32 3b 00 00 00 2d 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 6d 69 6e 20 2f 20 36 30 2e | PI_2;...-..double.ma.=.min./.60. |
| cc80 | 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 64 6f 75 62 | 0.*.2.*.M_PI.-.M_PI_2;......doub |
| cca0 | 6c 65 20 68 61 20 3d 20 68 6f 75 72 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | le.ha.=.hour./.12.0.*.2.*.M_PI.- |
| ccc0 | 20 4d 5f 50 49 5f 32 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 | .M_PI_2;...C..draw_line(px,.a->w |
| cce0 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 | ,.a->h,.cx,.cy,.cx.+.(int)(cos(h |
| cd00 | 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 63 | a).*.r.*.0.55),...8............c |
| cd20 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 20 30 | y.+.(int)(sin(ha).*.r.*.0.55),.0 |
| cd40 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 | xFF000000);...B..draw_line(px,.a |
| cd60 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f | ->w,.a->h,.cx,.cy,.cx.+.(int)(co |
| cd80 | 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 | s(ma).*.r.*.0.8),...7........... |
| cda0 | 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 20 | .cy.+.(int)(sin(ma).*.r.*.0.8),. |
| cdc0 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 | 0xFF000000);...B..draw_line(px,. |
| cde0 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 | a->w,.a->h,.cx,.cy,.cx.+.(int)(c |
| ce00 | 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 | os(sa).*.r.*.0.9),...7.......... |
| ce20 | 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c | ..cy.+.(int)(sin(sa).*.r.*.0.9), |
| ce40 | 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 | .0xFFFF0000);...5..draw_circle(p |
| ce60 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 33 2c 20 30 78 46 46 30 30 | x,.a->w,.a->h,.cx,.cy,.3,.0xFF00 |
| ce80 | 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d | 0000);...)..wl_surface_attach(a- |
| cea0 | 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 | >ws,.a->buf,.0,.0);......wl_surf |
| cec0 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 48 73 | ace_commit(a->ws);....}.......Hs |
| cee0 | 74 61 74 69 63 20 76 6f 69 64 20 66 72 61 6d 65 5f 64 6f 6e 65 28 76 6f 69 64 20 2a 64 61 74 61 | tatic.void.frame_done(void.*data |
| cf00 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 63 62 2c 20 75 69 6e 74 33 32 | ,.struct.wl_callback.*cb,.uint32 |
| cf20 | 5f 74 20 74 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 | _t.t).{......struct.app.*a.=.dat |
| cf40 | 61 3b 00 00 00 1a 20 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 64 65 73 74 72 6f 79 28 63 62 29 3b | a;......wl_callback_destroy(cb); |
| cf60 | 00 00 00 15 20 20 61 2d 3e 66 72 61 6d 65 5f 63 62 20 3d 20 4e 55 4c 4c 3b 00 00 00 1b 20 20 61 | ......a->frame_cb.=.NULL;......a |
| cf80 | 2d 3e 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 18 20 20 69 66 | ->frame_pending.=.false;......if |
| cfa0 | 20 28 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 29 20 7b 00 00 00 1c 20 20 20 20 61 2d 3e 64 | .(a->draw_pending).{........a->d |
| cfc0 | 72 61 77 5f 70 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 3b 00 00 00 1b 20 20 20 20 74 69 6d 65 | raw_pending.=.false;........time |
| cfe0 | 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 11 20 20 20 20 73 74 72 75 63 | _t.tt.=.time(NULL);........struc |
| d000 | 74 20 74 6d 20 74 6d 3b 00 00 00 1a 20 20 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c | t.tm.tm;........localtime_r(&tt, |
| d020 | 20 26 74 6d 29 3b 00 00 00 17 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 2c 20 26 74 6d 29 | .&tm);........draw_clock(a,.&tm) |
| d040 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 4f 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | ;......}....}...Ostatic.const.st |
| d060 | 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 5f 6c 69 73 74 65 6e 65 72 20 66 72 61 6d 65 5f | ruct.wl_callback_listener.frame_ |
| d080 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 64 6f 6e 65 20 3d 20 66 72 61 6d 65 5f 64 6f 6e 65 7d 3b | listener.=.{.done.=.frame_done}; |
| d0a0 | 00 00 00 00 00 00 00 2b 73 74 61 74 69 63 20 76 6f 69 64 20 73 63 68 65 64 75 6c 65 5f 66 72 61 | .......+static.void.schedule_fra |
| d0c0 | 6d 65 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 19 20 20 69 66 20 28 61 2d 3e | me(struct.app.*a).{......if.(a-> |
| d0e0 | 66 72 61 6d 65 5f 70 65 6e 64 69 6e 67 29 20 7b 00 00 00 1b 20 20 20 20 61 2d 3e 64 72 61 77 5f | frame_pending).{........a->draw_ |
| d100 | 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | pending.=.true;........return;.. |
| d120 | 00 03 20 20 7d 00 00 00 28 20 20 61 2d 3e 66 72 61 6d 65 5f 63 62 20 3d 20 77 6c 5f 73 75 72 66 | ....}...(..a->frame_cb.=.wl_surf |
| d140 | 61 63 65 5f 66 72 61 6d 65 28 61 2d 3e 77 73 29 3b 00 00 00 3c 20 20 77 6c 5f 63 61 6c 6c 62 61 | ace_frame(a->ws);...<..wl_callba |
| d160 | 63 6b 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 66 72 61 6d 65 5f 63 62 2c 20 26 66 72 | ck_add_listener(a->frame_cb,.&fr |
| d180 | 61 6d 65 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 1a 20 20 61 2d 3e 66 72 61 6d 65 5f | ame_listener,.a);......a->frame_ |
| d1a0 | 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 | pending.=.true;....}........int. |
| d1c0 | 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d | main(void).{......struct.app.a.= |
| d1e0 | 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d | .{0};......a.w.=.400;......a.h.= |
| d200 | 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 | .400;......signal(SIGINT,.on_sig |
| d220 | 29 3b 00 00 00 1a 20 20 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 20 6f 6e 5f 73 69 67 29 3b | );......signal(SIGTERM,.on_sig); |
| d240 | 00 00 00 00 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 | .......(..if.(!(a.d.=.wl_display |
| d260 | 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 | _connect(NULL)))........return.1 |
| d280 | 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 | ;...'..a.reg.=.wl_display_get_re |
| d2a0 | 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 35 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 | gistry(a.d);...5..wl_registry_ad |
| d2c0 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c | d_listener(a.reg,.®_listener, |
| d2e0 | 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 | .&a);......wl_display_roundtrip( |
| d300 | 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d | a.d);...!..if.(!a.comp.||.!a.shm |
| d320 | 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 | .||.!a.wm)........return.1;..... |
| d340 | 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 | .....a.ws.=.wl_compositor_create |
| d360 | 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 | _surface(a.comp);...1..a.xs.=.xd |
| d380 | 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 | g_wm_base_get_xdg_surface(a.wm,. |
| d3a0 | 61 2e 77 73 29 3b 00 00 00 33 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 | a.ws);...3..xdg_surface_add_list |
| d3c0 | 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 | ener(a.xs,.&xs_listener,.&a);... |
| d3e0 | 28 20 20 61 2e 78 74 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 | (..a.xt.=.xdg_surface_get_toplev |
| d400 | 65 6c 28 61 2e 78 73 29 3b 00 00 00 34 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f | el(a.xs);...4..xdg_toplevel_add_ |
| d420 | 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 | listener(a.xt,.&xt_listener,.&a) |
| d440 | 3b 00 00 00 2a 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 61 2e | ;...*..xdg_toplevel_set_title(a. |
| d460 | 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | xt,."wlclock");......wl_surface_ |
| d480 | 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f | commit(a.ws);......wl_display_ro |
| d4a0 | 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 16 20 20 61 6c 6c 6f 63 61 74 65 5f | undtrip(a.d);..........allocate_ |
| d4c0 | 62 75 66 66 65 72 28 26 61 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 | buffer(&a);.......9..int.tfd.=.t |
| d4e0 | 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 | imerfd_create(CLOCK_MONOTONIC,.T |
| d500 | 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 31 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | FD_CLOEXEC);...1..struct.itimers |
| d520 | 70 65 63 20 69 74 73 20 3d 20 7b 7b 30 2c 20 31 30 30 30 30 30 30 7d 2c 20 7b 31 2c 20 30 7d 7d | pec.its.=.{{0,.1000000},.{1,.0}} |
| d540 | 3b 00 00 00 26 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 | ;...&..timerfd_settime(tfd,.0,.& |
| d560 | 69 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e | its,.NULL);..........while.(runn |
| d580 | 69 6e 67 29 20 7b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 | ing).{...%....wl_display_dispatc |
| d5a0 | 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 35 20 20 20 20 69 66 20 28 77 6c 5f 64 69 | h_pending(a.d);...5....if.(wl_di |
| d5c0 | 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 20 3c 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d | splay_flush(a.d).<.0.&&.errno.!= |
| d5e0 | 20 45 41 47 41 49 4e 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 4e 20 20 20 20 | .EAGAIN)..........break;...N.... |
| d600 | 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 20 3d 20 | struct.pollfd.pfds[2].=.{{.fd.=. |
| d620 | 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 2e 65 76 65 6e 74 73 20 | wl_display_get_fd(a.d),..events. |
| d640 | 3d 20 50 4f 4c 4c 49 4e 7d 2c 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.POLLIN},...<.................. |
| d660 | 20 20 20 20 20 20 20 20 20 20 20 7b 2e 66 64 20 3d 20 74 66 64 2c 20 2e 65 76 65 6e 74 73 20 3d | ...........{.fd.=.tfd,..events.= |
| d680 | 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 16 20 20 20 20 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 | .POLLIN}};........poll(pfds,.2,. |
| d6a0 | 2d 31 29 3b 00 00 00 21 20 20 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 | -1);...!....if.(pfds[0].revents. |
| d6c0 | 26 20 50 4f 4c 4c 49 4e 29 00 00 00 1f 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | &.POLLIN)..........wl_display_di |
| d6e0 | 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e | spatch(a.d);...#....if.(pfds[1]. |
| d700 | 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e | revents.&.POLLIN).{..........uin |
| d720 | 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 30 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 | t64_t.ticks;...0......if.(read(t |
| d740 | 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 20 74 69 63 6b 73 29 20 3e 20 30 29 20 7b | fd,.&ticks,.sizeof.ticks).>.0).{ |
| d760 | 00 00 00 1f 20 20 20 20 20 20 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c | ............time_t.tt.=.time(NUL |
| d780 | 4c 29 3b 00 00 00 15 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 3b 00 00 00 1e | L);............struct.tm.tm;.... |
| d7a0 | 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 29 3b 00 00 | ........localtime_r(&tt,.&tm);.. |
| d7c0 | 00 1c 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 2c 20 26 74 6d 29 3b 00 00 | ..........draw_clock(&a,.&tm);.. |
| d7e0 | 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 | ........}........}......}....... |
| d800 | 0c 20 20 69 66 20 28 61 2e 62 75 66 29 00 00 00 1d 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 | ...if.(a.buf)........wl_buffer_d |
| d820 | 65 73 74 72 6f 79 28 61 2e 62 75 66 29 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 77 73 29 00 00 00 | estroy(a.buf);......if.(a.ws)... |
| d840 | 1d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 73 29 3b 00 00 | .....wl_surface_destroy(a.ws);.. |
| d860 | 00 0b 20 20 69 66 20 28 61 2e 78 74 29 00 00 00 1f 20 20 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ....if.(a.xt)........xdg_topleve |
| d880 | 6c 5f 64 65 73 74 72 6f 79 28 61 2e 78 74 29 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 78 73 29 00 | l_destroy(a.xt);......if.(a.xs). |
| d8a0 | 00 00 1e 20 20 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 78 73 29 | .......xdg_surface_destroy(a.xs) |
| d8c0 | 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 77 6d 29 00 00 00 1e 20 20 20 20 78 64 67 5f 77 6d 5f 62 | ;......if.(a.wm)........xdg_wm_b |
| d8e0 | 61 73 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 6d 29 3b 00 00 00 0d 20 20 69 66 20 28 61 2e 63 6f | ase_destroy(a.wm);......if.(a.co |
| d900 | 6d 70 29 00 00 00 22 20 20 20 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 | mp)..."....wl_compositor_destroy |
| d920 | 28 61 2e 63 6f 6d 70 29 3b 00 00 00 0a 20 20 69 66 20 28 61 2e 64 29 00 00 00 1f 20 20 20 20 77 | (a.comp);......if.(a.d)........w |
| d940 | 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 00 00 00 | l_display_disconnect(a.d);...... |
| d960 | 00 0b 20 20 70 75 74 73 28 22 22 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 | ....puts("");......return.0;.... |
| d980 | 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 35 01 00 00 00 00 00 00 01 00 00 00 00 00 00 | }5...............5.............. |
| d9a0 | 00 00 00 00 00 00 00 00 00 45 22 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........E"..............5._.... |
| d9c0 | 0c 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff | ................................ |
| d9e0 | ff 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 | ................................ |
| da00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| da20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| da40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| da60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| da80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| daa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| db20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| db40 | 9d 92 09 04 01 00 00 00 00 00 f5 18 00 00 01 18 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 | ................................ |
| db60 | 7d f5 18 00 00 01 19 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ad 00 00 00 00 00 00 00 | }............................... |
| db80 | 00 00 00 00 01 00 00 00 1a 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 72 65 63 74 28 75 | .........static.void.fill_rect(u |
| dba0 | 69 6e 74 f5 18 00 00 00 ae 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 | int............................. |
| dbc0 | 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 81 f5 | .............................5.. |
| dbe0 | 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ad 00 00 00 1a 00 00 00 00 00 00 | ................................ |
| dc00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 ad 00 00 00 1a | ................................ |
| dc20 | 00 00 00 00 00 00 00 00 00 00 00 6b 00 00 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 | ...........k.................... |
| dc40 | 00 00 00 5e 0d 00 00 00 00 00 00 35 81 5f d0 00 00 00 0d 00 00 00 0f 00 00 00 00 00 00 00 00 00 | ...^.......5._.................. |
| dc60 | 00 00 0e 00 00 01 19 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 | ................................ |
| dc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| dda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ddc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 92 0a 04 01 00 00 00 06 00 f5 18 00 00 | .................i.............. |
| dde0 | 00 01 00 00 01 28 00 00 01 19 00 00 01 17 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e | .....(............#include.<errn |
| de00 | 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 | o.h>....#include.<fcntl.h>....#i |
| de20 | 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c | nclude.<math.h>....#include.<pol |
| de40 | 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 | l.h>....#include.<signal.h>....# |
| de60 | 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | include.<stdbool.h>....#include. |
| de80 | 3c 73 74 64 69 6f 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 | <stdio.h>....#include.<stdlib.h> |
| dea0 | 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 15 23 69 6e 63 6c | ....#include.<string.h>....#incl |
| dec0 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 | ude.<sys/mman.h>....#include.<sy |
| dee0 | 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 | s/timerfd.h>....#include.<time.h |
| df00 | 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 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| df20 | 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c | lude.<wayland-client.h>...&#incl |
| df40 | 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 |
| df60 | 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 | "........#ifndef.M_PI...##define |
| df80 | 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 | .M_PI.3.14159265358979323846.... |
| dfa0 | 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 | #endif....#ifndef.M_PI_2...%#def |
| dfc0 | 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 | ine.M_PI_2.1.5707963267948966192 |
| dfe0 | 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 | 3....#endif.......)static.volati |
| e000 | 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b | le.sig_atomic_t.running.=.1;.... |
| e020 | 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 08 28 | static.void.on_sig(int.s).{....( |
| e040 | 76 6f 69 64 29 73 3b 00 00 00 0c 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 | void)s;....running.=.0;....}.... |
| e060 | 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 15 73 74 72 75 63 74 20 77 6c 5f 64 69 | ....struct.app.{....struct.wl_di |
| e080 | 73 70 6c 61 79 20 2a 64 3b 00 00 00 18 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 | splay.*d;....struct.wl_registry. |
| e0a0 | 2a 72 65 67 3b 00 00 00 1b 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 | *reg;....struct.wl_compositor.*c |
| e0c0 | 6f 6d 70 3b 00 00 00 13 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 17 73 | omp;....struct.wl_shm.*shm;....s |
| e0e0 | 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 16 73 74 72 75 63 74 | truct.xdg_wm_base.*wm;....struct |
| e100 | 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 17 73 74 72 75 63 74 20 78 64 67 5f 73 | .wl_surface.*ws;....struct.xdg_s |
| e120 | 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 18 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | urface.*xs;....struct.xdg_toplev |
| e140 | 65 6c 20 2a 78 74 3b 00 00 00 1d 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 | el.*xt;....struct.wl_callback.*f |
| e160 | 72 61 6d 65 5f 63 62 3b 00 00 00 0d 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 16 73 74 72 | rame_cb;....void.*pixels;....str |
| e180 | 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 09 69 6e 74 20 77 2c 20 68 3b | uct.wl_buffer.*buf;....int.w,.h; |
| e1a0 | 00 00 00 10 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 13 62 6f 6f 6c 20 66 72 61 | ....bool.configured;....bool.fra |
| e1c0 | 6d 65 5f 70 65 6e 64 69 6e 67 3b 00 00 00 12 62 6f 6f 6c 20 64 72 61 77 5f 70 65 6e 64 69 6e 67 | me_pending;....bool.draw_pending |
| e1e0 | 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 | ;....};.......)static.int.create |
| e200 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2c 63 68 61 72 | _shm_file(size_t.size).{...,char |
| e220 | 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d | .template[].=."/tmp/wlclock-shm- |
| e240 | 58 58 58 58 58 58 22 3b 00 00 00 1b 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d | XXXXXX";....int.fd.=.mkstemp(tem |
| e260 | 70 6c 61 74 65 29 3b 00 00 00 0d 69 66 20 28 66 64 20 3c 20 30 29 20 7b 00 00 00 12 70 65 72 72 | plate);....if.(fd.<.0).{....perr |
| e280 | 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 08 65 78 69 74 28 31 29 3b 00 00 00 01 7d 00 | or("mkstemp");....exit(1);....}. |
| e2a0 | 00 00 11 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 25 69 66 20 28 66 74 72 75 | ...unlink(template);...%if.(ftru |
| e2c0 | 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 | ncate(fd,.(off_t)size).<.0).{... |
| e2e0 | 14 70 65 72 72 6f 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 08 65 78 69 74 28 31 29 | .perror("ftruncate");....exit(1) |
| e300 | 3b 00 00 00 01 7d 00 00 00 0a 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ;....}....return.fd;....}....... |
| e320 | 42 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 | Bstatic.void.wm_ping(void.*d,.st |
| e340 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 | ruct.xdg_wm_base.*wm,.uint32_t.s |
| e360 | 29 20 7b 00 00 00 08 28 76 6f 69 64 29 64 3b 00 00 00 18 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 | ).{....(void)d;....xdg_wm_base_p |
| e380 | 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 63 | ong(wm,.s);....}.......Istatic.c |
| e3a0 | 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 | onst.struct.xdg_wm_base_listener |
| e3c0 | 20 77 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d | .wm_listener.=.{.ping.=.wm_ping} |
| e3e0 | 3b 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 | ;.......Astatic.void.xs_cfg(void |
| e400 | 20 2a 64 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 6e | .*d,.struct.xdg_surface.*xs,.uin |
| e420 | 74 33 32 5f 74 20 73 29 20 7b 00 00 00 12 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b | t32_t.s).{....struct.app.*a.=.d; |
| e440 | 00 00 00 21 78 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 | ...!xdg_surface_ack_configure(xs |
| e460 | 2c 20 73 29 3b 00 00 00 15 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 | ,.s);....a->configured.=.true;.. |
| e480 | 00 17 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 | ..a->draw_pending.=.true;....}.. |
| e4a0 | 00 00 00 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 73 75 | .....Mstatic.const.struct.xdg_su |
| e4c0 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 | rface_listener.xs_listener.=.{.c |
| e4e0 | 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 | onfigure.=.xs_cfg};.......Jstati |
| e500 | 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xt_cfg(void.*d,.struct.xd |
| e520 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 | g_toplevel.*xt,.int32_t.w,.int32 |
| e540 | 5f 74 20 68 2c 00 00 00 16 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 | _t.h,....struct.wl_array.*st).{. |
| e560 | 00 00 2e 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 29 77 3b 20 28 | ...(void)d;.(void)xt;.(void)w;.( |
| e580 | 76 6f 69 64 29 68 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 38 73 74 | void)h;.(void)st;....}.......8st |
| e5a0 | 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | atic.void.xt_close(void.*d,.stru |
| e5c0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 09 28 76 6f 69 64 29 | ct.xdg_toplevel.*xt).{....(void) |
| e5e0 | 78 74 3b 00 00 00 12 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0c 72 75 6e | xt;....struct.app.*a.=.d;....run |
| e600 | 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e | ning.=.0;....}.......Mstatic.con |
| e620 | 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 6e 65 72 20 | st.struct.xdg_toplevel_listener. |
| e640 | 78 74 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 | xt_listener.=.{.configure.=.xt_c |
| e660 | 66 67 2c 00 00 00 13 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 | fg,.....close.=.xt_close};...... |
| e680 | 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 | .Nstatic.void.registry_handler(v |
| e6a0 | 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 79 20 2a 72 | oid.*data,.struct.wl_registry.*r |
| e6c0 | 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 22 63 6f 6e 73 74 20 63 68 61 72 20 2a | eg,.uint32_t.id,..."const.char.* |
| e6e0 | 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 15 73 74 72 75 63 74 | iface,.uint32_t.ver).{....struct |
| e700 | 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 28 69 66 20 28 73 74 72 63 6d 70 28 69 66 | .app.*a.=.data;...(if.(strcmp(if |
| e720 | 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 41 61 | ace,."wl_compositor").==.0)...Aa |
| e740 | 2d 3e 63 6f 6d 70 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 69 | ->comp.=.wl_registry_bind(reg,.i |
| e760 | 64 2c 20 26 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 | d,.&wl_compositor_interface,.4); |
| e780 | 00 00 00 26 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 | ...&else.if.(strcmp(iface,."wl_s |
| e7a0 | 68 6d 22 29 20 3d 3d 20 30 29 00 00 00 39 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 | hm").==.0)...9a->shm.=.wl_regist |
| e7c0 | 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | ry_bind(reg,.id,.&wl_shm_interfa |
| e7e0 | 63 65 2c 20 31 29 3b 00 00 00 2d 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 | ce,.1);...-else.if.(strcmp(iface |
| e800 | 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 3d 61 2d 3e 77 | ,."xdg_wm_base").==.0).{...=a->w |
| e820 | 6d 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 69 64 2c 20 26 78 | m.=.wl_registry_bind(reg,.id,.&x |
| e840 | 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 00 00 31 78 64 67 | dg_wm_base_interface,.1);...1xdg |
| e860 | 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d | _wm_base_add_listener(a->wm,.&wm |
| e880 | 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 01 7d 00 00 00 01 7d 00 00 00 00 00 00 00 39 | _listener,.a);....}....}.......9 |
| e8a0 | 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | static.const.struct.wl_registry_ |
| e8c0 | 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 00 00 00 33 2e 67 6c | listener.reg_listener.=.{...3.gl |
| e8e0 | 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 2c 20 2e 67 6c 6f 62 61 6c | obal.=.registry_handler,..global |
| e900 | 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 7d 3b 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 | _remove.=.NULL};.......,static.v |
| e920 | 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a | oid.allocate_buffer(struct.app.* |
| e940 | 61 29 20 7b 00 00 00 0d 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1a 77 6c 5f 62 75 66 66 | a).{....if.(a->buf).{....wl_buff |
| e960 | 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 2d 6d 75 6e 6d 61 70 28 61 2d | er_destroy(a->buf);...-munmap(a- |
| e980 | 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 | >pixels,.(size_t)(a->w.*.a->h.*. |
| e9a0 | 34 29 29 3b 00 00 00 01 7d 00 00 00 16 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a | 4));....}....int.stride.=.a->w.* |
| e9c0 | 20 34 3b 00 00 00 26 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 | .4;...&size_t.size.=.(size_t)(st |
| e9e0 | 72 69 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 00 1f 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 | ride.*.a->h);....int.fd.=.create |
| ea00 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 48 61 2d 3e 70 69 78 65 6c 73 20 3d 20 | _shm_file(size);...Ha->pixels.=. |
| ea20 | 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 20 7c 20 50 52 4f | mmap(NULL,.size,.PROT_READ.|.PRO |
| ea40 | 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e | T_WRITE,.MAP_SHARED,.fd,.0);.... |
| ea60 | 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 | if.(a->pixels.==.MAP_FAILED).{.. |
| ea80 | 00 0f 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 08 65 78 69 74 28 31 29 3b 00 00 00 | ..perror("mmap");....exit(1);... |
| eaa0 | 01 7d 00 00 00 49 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d | .}...Istruct.wl_shm_pool.*pool.= |
| eac0 | 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 | .wl_shm_create_pool(a->shm,.fd,. |
| eae0 | 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 3f 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 | (int32_t)size);...?a->buf.=.wl_s |
| eb00 | 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 | hm_pool_create_buffer(pool,.0,.a |
| eb20 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 69 64 65 2c 00 00 00 18 57 4c 5f 53 48 4d 5f 46 4f 52 | ->w,.a->h,.stride,....WL_SHM_FOR |
| eb40 | 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1a 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | MAT_ARGB8888);....wl_shm_pool_de |
| eb60 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0a 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 | stroy(pool);....close(fd);....}. |
| eb80 | 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e | ......Istatic.void.draw_line(uin |
| eba0 | 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c | t32_t.*px,.int.w,.int.h,.int.x0, |
| ebc0 | 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 15 69 6e 74 20 79 31 2c 20 75 69 6e 74 | .int.y0,.int.x1,....int.y1,.uint |
| ebe0 | 33 32 5f 74 20 63 29 20 7b 00 00 00 2d 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 | 32_t.c).{...-int.dx.=.abs(x1.-.x |
| ec00 | 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 2e 69 6e | 0),.sx.=.x0.<.x1.?.1.:.-1;....in |
| ec20 | 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 | t.dy.=.-abs(y1.-.y0),.sy.=.y0.<. |
| ec40 | 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 16 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 | y1.?.1.:.-1;....int.err.=.dx.+.d |
| ec60 | 79 2c 20 65 32 3b 00 00 00 0b 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2b 69 66 20 28 78 30 20 | y,.e2;....while.(1).{...+if.(x0. |
| ec80 | 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 | >=.0.&&.x0.<.w.&&.y0.>=.0.&&.y0. |
| eca0 | 3c 20 68 29 00 00 00 14 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 19 | <.h)....px[y0.*.w.+.x0].=.c;.... |
| ecc0 | 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 06 62 72 65 | if.(x0.==.x1.&&.y0.==.y1)....bre |
| ece0 | 61 6b 3b 00 00 00 0d 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 0f 69 66 20 28 65 32 20 3e | ak;....e2.=.2.*.err;....if.(e2.> |
| ed00 | 3d 20 64 79 29 20 7b 00 00 00 0a 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 09 78 30 20 2b 3d 20 73 | =.dy).{....err.+=.dy;....x0.+=.s |
| ed20 | 78 3b 00 00 00 01 7d 00 00 00 0f 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 0a 65 72 | x;....}....if.(e2.<=.dx).{....er |
| ed40 | 72 20 2b 3d 20 64 78 3b 00 00 00 09 79 30 20 2b 3d 20 73 79 3b 00 00 00 01 7d 00 00 00 01 7d 00 | r.+=.dx;....y0.+=.sy;....}....}. |
| ed60 | 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 | ...}.......Jstatic.void.draw_cir |
| ed80 | 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | cle(uint32_t.*px,.int.w,.int.h,. |
| eda0 | 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 0d 75 69 6e 74 33 32 | int.cx,.int.cy,.int.r,....uint32 |
| edc0 | 5f 74 20 63 29 20 7b 00 00 00 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d | _t.c).{....int.x.=.0,.y.=.r,.d.= |
| ede0 | 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 10 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .3.-.2.*.r;....while.(y.>=.x).{. |
| ee00 | 00 00 46 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 | ..Fint.pts[8][2].=.{{cx.+.x,.cy. |
| ee20 | 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c | +.y},.{cx.-.x,.cy.+.y},.{cx.+.x, |
| ee40 | 20 63 79 20 2d 20 79 7d 2c 00 00 00 35 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b | .cy.-.y},...5{cx.-.x,.cy.-.y},.{ |
| ee60 | 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 | cx.+.y,.cy.+.x},.{cx.-.y,.cy.+.x |
| ee80 | 7d 2c 00 00 00 24 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c | },...${cx.+.y,.cy.-.x},.{cx.-.y, |
| eea0 | 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1d 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | .cy.-.x}};....for.(int.i.=.0;.i. |
| eec0 | 3c 20 38 3b 20 69 2b 2b 29 20 7b 00 00 00 25 69 6e 74 20 70 78 30 20 3d 20 70 74 73 5b 69 5d 5b | <.8;.i++).{...%int.px0.=.pts[i][ |
| eee0 | 30 5d 2c 20 70 79 30 20 3d 20 70 74 73 5b 69 5d 5b 31 5d 3b 00 00 00 2f 69 66 20 28 70 78 30 20 | 0],.py0.=.pts[i][1];.../if.(px0. |
| ef00 | 3e 3d 20 30 20 26 26 20 70 78 30 20 3c 20 77 20 26 26 20 70 79 30 20 3e 3d 20 30 20 26 26 20 70 | >=.0.&&.px0.<.w.&&.py0.>=.0.&&.p |
| ef20 | 79 30 20 3c 20 68 29 00 00 00 16 70 78 5b 70 79 30 20 2a 20 77 20 2b 20 70 78 30 5d 20 3d 20 63 | y0.<.h)....px[py0.*.w.+.px0].=.c |
| ef40 | 3b 00 00 00 01 7d 00 00 00 04 78 2b 2b 3b 00 00 00 0c 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 | ;....}....x++;....if.(d.>.0).{.. |
| ef60 | 00 04 79 2d 2d 3b 00 00 00 19 64 20 3d 20 64 20 2b 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 | ..y--;....d.=.d.+.4.*.(x.-.y).+. |
| ef80 | 31 30 3b 00 00 00 08 7d 20 65 6c 73 65 20 7b 00 00 00 12 64 20 3d 20 64 20 2b 20 34 20 2a 20 78 | 10;....}.else.{....d.=.d.+.4.*.x |
| efa0 | 20 2b 20 36 3b 00 00 00 01 7d 00 00 00 01 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4f 73 74 61 74 | .+.6;....}....}....}.......Ostat |
| efc0 | 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 72 65 63 74 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 | ic.void.fill_rect(uint32_t.*px,. |
| efe0 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 | int.w,.int.h,.int.x,.int.y,.int. |
| f000 | 73 77 2c 20 69 6e 74 20 73 68 2c 00 00 00 0d 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 1c | sw,.int.sh,....uint32_t.c).{.... |
| f020 | 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 73 68 3b 20 6a 2b 2b 29 00 00 00 0e | for.(int.j.=.0;.j.<.sh;.j++).... |
| f040 | 69 66 20 28 79 20 2b 20 6a 20 3c 20 68 29 00 00 00 1c 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | if.(y.+.j.<.h)....for.(int.i.=.0 |
| f060 | 3b 20 69 20 3c 20 73 77 3b 20 69 2b 2b 29 00 00 00 0e 69 66 20 28 78 20 2b 20 69 20 3c 20 77 29 | ;.i.<.sw;.i++)....if.(x.+.i.<.w) |
| f080 | 00 00 00 1e 70 78 5b 28 79 20 2b 20 6a 29 20 2a 20 77 20 2b 20 28 78 20 2b 20 69 29 5d 20 3d 20 | ....px[(y.+.j).*.w.+.(x.+.i)].=. |
| f0a0 | 63 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f | c;....}.......<static.void.draw_ |
| f0c0 | 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 | clock(struct.app.*a,.const.struc |
| f0e0 | 74 20 74 6d 20 2a 74 6d 29 20 7b 00 00 00 19 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d | t.tm.*tm).{....uint32_t.*px.=.a- |
| f100 | 3e 70 69 78 65 6c 73 3b 00 00 00 38 66 69 6c 6c 5f 72 65 63 74 28 70 78 2c 20 61 2d 3e 77 2c 20 | >pixels;...8fill_rect(px,.a->w,. |
| f120 | 61 2d 3e 68 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 30 78 46 46 46 46 46 46 | a->h,.0,.0,.a->w,.a->h,.0xFFFFFF |
| f140 | 46 46 29 3b 00 00 00 21 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 | FF);...!int.cx.=.a->w./.2,.cy.=. |
| f160 | 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2d 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e | a->h./.2;...-int.r.=.(a->w.<.a-> |
| f180 | 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 33 64 72 | h.?.a->w.:.a->h)./.2.-.10;...3dr |
| f1a0 | 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 | aw_circle(px,.a->w,.a->h,.cx,.cy |
| f1c0 | 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 1e 66 6f 72 20 28 69 6e 74 20 69 20 | ,.r,.0xFF000000);....for.(int.i. |
| f1e0 | 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2a 64 6f 75 62 6c 65 20 61 6e | =.0;.i.<.12;.i++).{...*double.an |
| f200 | 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | g.=.i./.12.0.*.2.*.M_PI.-.M_PI_2 |
| f220 | 3b 00 00 00 29 69 6e 74 20 78 31 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 | ;...)int.x1.=.cx.+.(int)(cos(ang |
| f240 | 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 29 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 | ).*.(r.-.10));...)int.y1.=.cy.+. |
| f260 | 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 28 69 | (int)(sin(ang).*.(r.-.10));...(i |
| f280 | 6e 74 20 78 32 20 3d 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 | nt.x2.=.cx.+.(int)(cos(ang).*.(r |
| f2a0 | 20 2d 20 32 29 29 3b 00 00 00 28 69 6e 74 20 79 32 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 73 | .-.2));...(int.y2.=.cy.+.(int)(s |
| f2c0 | 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 3b 00 00 00 36 64 72 61 77 5f 6c 69 6e 65 | in(ang).*.(r.-.2));...6draw_line |
| f2e0 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 2c | (px,.a->w,.a->h,.x1,.y1,.x2,.y2, |
| f300 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 01 7d 00 00 00 18 64 6f 75 62 6c 65 20 73 65 63 | .0xFF000000);....}....double.sec |
| f320 | 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 25 64 6f 75 62 6c 65 20 6d 69 6e 20 3d 20 74 | .=.tm->tm_sec;...%double.min.=.t |
| f340 | 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 73 65 63 20 2f 20 36 30 2e 30 3b 00 00 00 2e 64 6f 75 62 6c | m->tm_min.+.sec./.60.0;....doubl |
| f360 | 65 20 68 6f 75 72 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 6d 69 | e.hour.=.(tm->tm_hour.%.12).+.mi |
| f380 | 6e 20 2f 20 36 30 2e 30 3b 00 00 00 2b 64 6f 75 62 6c 65 20 73 61 20 3d 20 73 65 63 20 2f 20 36 | n./.60.0;...+double.sa.=.sec./.6 |
| f3a0 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2b 64 6f 75 62 | 0.0.*.2.*.M_PI.-.M_PI_2;...+doub |
| f3c0 | 6c 65 20 6d 61 20 3d 20 6d 69 6e 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 | le.ma.=.min./.60.0.*.2.*.M_PI.-. |
| f3e0 | 4d 5f 50 49 5f 32 3b 00 00 00 2c 64 6f 75 62 6c 65 20 68 61 20 3d 20 68 6f 75 72 20 2f 20 31 32 | M_PI_2;...,double.ha.=.hour./.12 |
| f400 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 41 64 72 61 77 5f | .0.*.2.*.M_PI.-.M_PI_2;...Adraw_ |
| f420 | 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 | line(px,.a->w,.a->h,.cx,.cy,.cx. |
| f440 | 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 00 00 00 2c | +.(int)(cos(ha).*.r.*.0.55),..., |
| f460 | 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 20 | cy.+.(int)(sin(ha).*.r.*.0.55),. |
| f480 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 40 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d | 0xFF000000);...@draw_line(px,.a- |
| f4a0 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 | >w,.a->h,.cx,.cy,.cx.+.(int)(cos |
| f4c0 | 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 00 00 00 2b 63 79 20 2b 20 28 69 6e 74 29 28 73 | (ma).*.r.*.0.8),...+cy.+.(int)(s |
| f4e0 | 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | in(ma).*.r.*.0.8),.0xFF000000);. |
| f500 | 00 00 40 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c | ..@draw_line(px,.a->w,.a->h,.cx, |
| f520 | 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e | .cy,.cx.+.(int)(cos(sa).*.r.*.0. |
| f540 | 39 29 2c 00 00 00 2b 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 | 9),...+cy.+.(int)(sin(sa).*.r.*. |
| f560 | 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 33 64 72 61 77 5f 63 69 72 63 6c | 0.9),.0xFFFF0000);...3draw_circl |
| f580 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 33 2c 20 30 78 46 | e(px,.a->w,.a->h,.cx,.cy,.3,.0xF |
| f5a0 | 46 30 30 30 30 30 30 29 3b 00 00 00 27 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 | F000000);...'wl_surface_attach(a |
| f5c0 | 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2b 77 6c 5f 73 75 72 66 61 | ->ws,.a->buf,.0,.0);...+wl_surfa |
| f5e0 | 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e | ce_damage(a->ws,.0,.0,.a->w,.a-> |
| f600 | 68 29 3b 00 00 00 19 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | h);....wl_surface_commit(a->ws); |
| f620 | 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 | ....}........int.main(void).{... |
| f640 | 13 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0a 61 2e 77 20 3d 20 34 30 | .struct.app.a.=.{0};....a.w.=.40 |
| f660 | 30 3b 00 00 00 0a 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 17 73 69 67 6e 61 6c 28 53 49 47 49 4e | 0;....a.h.=.400;....signal(SIGIN |
| f680 | 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 18 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 20 6f | T,.on_sig);....signal(SIGTERM,.o |
| f6a0 | 6e 5f 73 69 67 29 3b 00 00 00 26 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 | n_sig);...&if.(!(a.d.=.wl_displa |
| f6c0 | 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 00 00 00 09 72 65 74 75 72 6e 20 31 3b 00 00 | y_connect(NULL)))....return.1;.. |
| f6e0 | 00 25 61 2e 72 65 67 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 | .%a.reg.=.wl_display_get_registr |
| f700 | 79 28 61 2e 64 29 3b 00 00 00 33 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 | y(a.d);...3wl_registry_add_liste |
| f720 | 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 | ner(a.reg,.®_listener,.&a);.. |
| f740 | 00 1a 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 1f | ..wl_display_roundtrip(a.d);.... |
| f760 | 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 | if.(!a.comp.||.!a.shm.||.!a.wm). |
| f780 | 00 00 09 72 65 74 75 72 6e 20 31 3b 00 00 00 2c 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 | ...return.1;...,a.ws.=.wl_compos |
| f7a0 | 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 2f | itor_create_surface(a.comp);.../ |
| f7c0 | 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | a.xs.=.xdg_wm_base_get_xdg_surfa |
| f7e0 | 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 31 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | ce(a.wm,.a.ws);...1xdg_surface_a |
| f800 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 65 6e 65 72 2c 20 | dd_listener(a.xs,.&xs_listener,. |
| f820 | 26 61 29 3b 00 00 00 26 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 | &a);...&a.xt.=.xdg_surface_get_t |
| f840 | 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 32 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 | oplevel(a.xs);...2xdg_toplevel_a |
| f860 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 65 6e 65 72 2c 20 | dd_listener(a.xt,.&xt_listener,. |
| f880 | 26 61 29 3b 00 00 00 28 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 | &a);...(xdg_toplevel_set_title(a |
| f8a0 | 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 18 77 6c 5f 73 75 72 66 61 63 65 5f 63 | .xt,."wlclock");....wl_surface_c |
| f8c0 | 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 1a 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 | ommit(a.ws);....wl_display_round |
| f8e0 | 74 72 69 70 28 61 2e 64 29 3b 00 00 00 14 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 26 61 | trip(a.d);....allocate_buffer(&a |
| f900 | 29 3b 00 00 00 37 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 | );...7int.tfd.=.timerfd_create(C |
| f920 | 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 | LOCK_MONOTONIC,.TFD_CLOEXEC);... |
| f940 | 29 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 20 69 74 73 20 3d 20 7b 7b 31 2c 20 30 7d | )struct.itimerspec.its.=.{{1,.0} |
| f960 | 2c 20 7b 31 2c 20 30 7d 7d 3b 00 00 00 24 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 | ,.{1,.0}};...$timerfd_settime(tf |
| f980 | 64 2c 20 30 2c 20 26 69 74 73 2c 20 4e 55 4c 4c 29 3b 00 00 00 11 77 68 69 6c 65 20 28 72 75 6e | d,.0,.&its,.NULL);....while.(run |
| f9a0 | 6e 69 6e 67 29 20 7b 00 00 00 29 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 | ning).{...)while.(wl_display_pre |
| f9c0 | 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 21 77 6c 5f 64 69 73 70 6c | pare_read(a.d).!=.0)...!wl_displ |
| f9e0 | 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 33 69 66 20 | ay_dispatch_pending(a.d);...3if. |
| fa00 | 28 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 20 3c 20 30 20 26 26 20 65 72 | (wl_display_flush(a.d).<.0.&&.er |
| fa20 | 72 6e 6f 20 21 3d 20 45 41 47 41 49 4e 29 20 7b 00 00 00 1c 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | rno.!=.EAGAIN).{....wl_display_c |
| fa40 | 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 06 62 72 65 61 6b 3b 00 00 00 01 7d 00 | ancel_read(a.d);....break;....}. |
| fa60 | 00 00 4a 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 | ..Jstruct.pollfd.pfds[2].=.{{.fd |
| fa80 | 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 2e 65 76 65 6e | .=.wl_display_get_fd(a.d),..even |
| faa0 | 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 2c 00 00 00 1f 7b 2e 66 64 20 3d 20 74 66 64 2c 20 2e 65 76 | ts.=.POLLIN},....{.fd.=.tfd,..ev |
| fac0 | 65 6e 74 73 20 3d 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1c 69 66 20 28 70 6f 6c 6c 28 70 66 64 | ents.=.POLLIN}};....if.(poll(pfd |
| fae0 | 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 1c 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | s,.2,.-1).<.0).{....wl_display_c |
| fb00 | 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 1d 69 66 20 28 65 72 72 6e 6f 20 3d 3d | ancel_read(a.d);....if.(errno.== |
| fb20 | 20 45 49 4e 54 52 29 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 06 62 72 65 61 6b 3b 00 00 00 01 7d | .EINTR).continue;....break;....} |
| fb40 | 00 00 00 1d 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e | ....if.(pfds[0].revents.&.POLLIN |
| fb60 | 29 00 00 00 1c 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 | )....wl_display_read_events(a.d) |
| fb80 | 3b 00 00 00 04 65 6c 73 65 00 00 00 1c 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 | ;....else....wl_display_cancel_r |
| fba0 | 65 61 64 28 61 2e 64 29 3b 00 00 00 21 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | ead(a.d);...!wl_display_dispatch |
| fbc0 | 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1f 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 | _pending(a.d);....if.(pfds[1].re |
| fbe0 | 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 0f 75 69 6e 74 36 34 5f 74 20 74 69 | vents.&.POLLIN).{....uint64_t.ti |
| fc00 | 63 6b 73 3b 00 00 00 2a 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 | cks;...*if.(read(tfd,.&ticks,.si |
| fc20 | 7a 65 6f 66 20 74 69 63 6b 73 29 20 3e 20 30 29 20 7b 00 00 00 17 74 69 6d 65 5f 74 20 74 74 20 | zeof.ticks).>.0).{....time_t.tt. |
| fc40 | 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 11 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 | =.time(NULL);....struct.tm.tm_bu |
| fc60 | 66 3b 00 00 00 1a 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b | f;....localtime_r(&tt,.&tm_buf); |
| fc80 | 00 00 00 18 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 01 | ....draw_clock(&a,.&tm_buf);.... |
| fca0 | 7d 00 00 00 01 7d 00 00 00 01 7d 00 00 00 24 69 66 20 28 61 2e 62 75 66 29 20 77 6c 5f 62 75 66 | }....}....}...$if.(a.buf).wl_buf |
| fcc0 | 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2e 62 75 66 29 3b 00 00 00 38 69 66 20 28 61 2e 70 69 78 | fer_destroy(a.buf);...8if.(a.pix |
| fce0 | 65 6c 73 29 20 6d 75 6e 6d 61 70 28 61 2e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 | els).munmap(a.pixels,.(size_t)(a |
| fd00 | 2e 77 20 2a 20 61 2e 68 20 2a 20 34 29 29 3b 00 00 00 25 69 66 20 28 61 2e 78 74 29 20 78 64 67 | .w.*.a.h.*.4));...%if.(a.xt).xdg |
| fd20 | 5f 74 6f 70 6c 65 76 65 6c 5f 64 65 73 74 72 6f 79 28 61 2e 78 74 29 3b 00 00 00 24 69 66 20 28 | _toplevel_destroy(a.xt);...$if.( |
| fd40 | 61 2e 78 73 29 20 78 64 67 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 78 73 29 3b | a.xs).xdg_surface_destroy(a.xs); |
| fd60 | 00 00 00 23 69 66 20 28 61 2e 77 73 29 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 | ...#if.(a.ws).wl_surface_destroy |
| fd80 | 28 61 2e 77 73 29 3b 00 00 00 24 69 66 20 28 61 2e 77 6d 29 20 78 64 67 5f 77 6d 5f 62 61 73 65 | (a.ws);...$if.(a.wm).xdg_wm_base |
| fda0 | 5f 64 65 73 74 72 6f 79 28 61 2e 77 6d 29 3b 00 00 00 21 69 66 20 28 61 2e 73 68 6d 29 20 77 6c | _destroy(a.wm);...!if.(a.shm).wl |
| fdc0 | 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 61 2e 73 68 6d 29 3b 00 00 00 2a 69 66 20 28 61 2e 63 6f | _shm_destroy(a.shm);...*if.(a.co |
| fde0 | 6d 70 29 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 61 2e 63 6f 6d 70 | mp).wl_compositor_destroy(a.comp |
| fe00 | 29 3b 00 00 00 26 69 66 20 28 61 2e 72 65 67 29 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 | );...&if.(a.reg).wl_registry_des |
| fe20 | 74 72 6f 79 28 61 2e 72 65 67 29 3b 00 00 00 24 69 66 20 28 61 2e 64 29 20 77 6c 5f 64 69 73 70 | troy(a.reg);...$if.(a.d).wl_disp |
| fe40 | 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 63 6c 6f 73 65 28 74 66 | lay_disconnect(a.d);....close(tf |
| fe60 | 64 29 3b 00 00 00 09 72 65 74 75 72 6e 20 30 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 | d);....return.0;5............... |
| fe80 | 16 01 00 00 00 00 00 00 25 01 00 00 02 00 00 00 29 00 00 00 00 00 00 00 2a 1d 00 00 00 00 00 00 | ........%.......).......*....... |
| fea0 | 09 21 00 00 00 00 00 00 35 81 5f d0 00 00 00 0e 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0f | .!......5._..................... |
| fec0 | 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 00 00 00 00 00 00 | ................................ |
| fee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ff00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ff20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ff40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ff60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ff80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ffa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ffc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ffe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 10020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 92 65 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 | ..............i..e.............. |
| 10040 | 00 00 02 00 00 00 00 00 00 01 28 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f | ..........(....#define._POSIX_C_ |
| 10060 | 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d | SOURCE.200809L...&#include."xdg- |
| 10080 | 73 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 12 23 69 6e 63 | shell-client-protocol.h"....#inc |
| 100a0 | 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | lude.<errno.h>....#include.<fcnt |
| 100c0 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e | l.h>....#include.<math.h>....#in |
| 100e0 | 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e | clude.<poll.h>....#include.<sign |
| 10100 | 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 | al.h>....#include.<stdbool.h>... |
| 10120 | 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 75 64 65 20 | .#include.<stdio.h>....#include. |
| 10140 | 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 |
| 10160 | 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 | >....#include.<sys/mman.h>....#i |
| 10180 | 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | nclude.<sys/timerfd.h>....#inclu |
| 101a0 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 101c0 | 68 3e 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 | h>....#include.<wayland-client.h |
| 101e0 | 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 | >........#ifndef.M_PI...##define |
| 10200 | 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 | .M_PI.3.14159265358979323846.... |
| 10220 | 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 | #endif....#ifndef.M_PI_2...%#def |
| 10240 | 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 | ine.M_PI_2.1.5707963267948966192 |
| 10260 | 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 | 3....#endif.......)static.volati |
| 10280 | 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b | le.sig_atomic_t.running.=.1;.... |
| 102a0 | 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 | static.void.on_sig(int.s).{..... |
| 102c0 | 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d | .(void)s;......running.=.0;....} |
| 102e0 | 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 | ........struct.app.{......struct |
| 10300 | 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 | .wl_display.*d;......struct.wl_r |
| 10320 | 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d | egistry.*reg;......struct.wl_com |
| 10340 | 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 | positor.*comp;......struct.wl_sh |
| 10360 | 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 | m.*shm;......struct.xdg_wm_base. |
| 10380 | 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b | *wm;......struct.wl_surface.*ws; |
| 103a0 | 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 | ......struct.xdg_surface.*xs;... |
| 103c0 | 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 1f 20 | ...struct.xdg_toplevel.*xt;..... |
| 103e0 | 20 73 74 72 75 63 74 20 77 6c 5f 63 61 6c 6c 62 61 63 6b 20 2a 66 72 61 6d 65 5f 63 62 3b 00 00 | .struct.wl_callback.*frame_cb;.. |
| 10400 | 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c | ....void.*pixels;......struct.wl |
| 10420 | 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 | _buffer.*buf;......int.w,.h;.... |
| 10440 | 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 15 20 20 62 6f 6f 6c 20 66 72 61 | ..bool.configured;......bool.fra |
| 10460 | 6d 65 5f 70 65 6e 64 69 6e 67 3b 00 00 00 14 20 20 62 6f 6f 6c 20 64 72 61 77 5f 70 65 6e 64 69 | me_pending;......bool.draw_pendi |
| 10480 | 6e 67 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 | ng;....};.......)static.int.crea |
| 104a0 | 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 | te_shm_file(size_t.size).{...... |
| 104c0 | 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d | char.template[].=."/tmp/wlclock- |
| 104e0 | 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 | shm-XXXXXX";......int.fd.=.mkste |
| 10500 | 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0f 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 7b | mp(template);......if.(fd.<.0).{ |
| 10520 | 00 00 00 16 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6b 73 74 65 6d 70 22 29 3b 00 00 00 0c 20 20 | ........perror("mkstemp");...... |
| 10540 | 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 | ..exit(1);......}......unlink(te |
| 10560 | 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 | mplate);...'..if.(ftruncate(fd,. |
| 10580 | 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 18 20 20 20 20 70 65 72 72 6f | (off_t)size).<.0).{........perro |
| 105a0 | 72 28 22 66 74 72 75 6e 63 61 74 65 22 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | r("ftruncate");........exit(1);. |
| 105c0 | 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 | .....}......return.fd;....}..... |
| 105e0 | 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 | ..Bstatic.void.wm_ping(void.*d,. |
| 10600 | 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 | struct.xdg_wm_base.*wm,.uint32_t |
| 10620 | 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 64 3b 00 00 00 1a 20 20 78 64 67 5f 77 6d 5f | .s).{......(void)d;......xdg_wm_ |
| 10640 | 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 | base_pong(wm,.s);....}.......Ist |
| 10660 | 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 73 65 5f 6c 69 | atic.const.struct.xdg_wm_base_li |
| 10680 | 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d | stener.wm_listener.=.{.ping.=.wm |
| 106a0 | 5f 70 69 6e 67 7d 3b 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 | _ping};.......Astatic.void.xs_cf |
| 106c0 | 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 | g(void.*d,.struct.xdg_surface.*x |
| 106e0 | 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 | s,.uint32_t.s).{......struct.app |
| 10700 | 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f | .*a.=.d;...#..xdg_surface_ack_co |
| 10720 | 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 | nfigure(xs,.s);......a->configur |
| 10740 | 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 64 72 61 77 5f 70 65 6e 64 69 6e 67 20 | ed.=.true;......a->draw_pending. |
| 10760 | 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 | =.true;....}.......Mstatic.const |
| 10780 | 20 73 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 73 5f | .struct.xdg_surface_listener.xs_ |
| 107a0 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d | listener.=.{.configure.=.xs_cfg} |
| 107c0 | 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 | ;.......Jstatic.void.xt_cfg(void |
| 107e0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e | .*d,.struct.xdg_toplevel.*xt,.in |
| 10800 | 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 | t32_t.w,.int32_t.h,...)......... |
| 10820 | 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b | ..........struct.wl_array.*st).{ |
| 10840 | 00 00 00 0a 20 20 28 76 6f 69 64 29 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 | ......(void)d;......(void)xt;... |
| 10860 | 0a 20 20 28 76 6f 69 64 29 77 3b 00 00 00 0a 20 20 28 76 6f 69 64 29 68 3b 00 00 00 0b 20 20 28 | ...(void)w;......(void)h;......( |
| 10880 | 76 6f 69 64 29 73 74 3b 00 00 00 01 7d 00 00 00 00 00 00 00 38 73 74 61 74 69 63 20 76 6f 69 64 | void)st;....}.......8static.void |
| 108a0 | 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | .xt_close(void.*d,.struct.xdg_to |
| 108c0 | 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 14 | plevel.*xt).{......(void)xt;.... |
| 108e0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e | ..struct.app.*a.=.d;......runnin |
| 10900 | 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | g.=.0;....}.......Mstatic.const. |
| 10920 | 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 6e 65 72 20 78 74 5f | struct.xdg_toplevel_listener.xt_ |
| 10940 | 6c 69 73 74 65 6e 65 72 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c | listener.=.{.configure.=.xt_cfg, |
| 10960 | 00 00 00 4c 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 | ...L............................ |
| 10980 | 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 2e 63 6c | ..............................cl |
| 109a0 | 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 | ose.=.xt_close};.......Nstatic.v |
| 109c0 | 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c | oid.registry_handler(void.*data, |
| 109e0 | 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 74 33 32 | .struct.wl_registry.*reg,.uint32 |
| 10a00 | 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _t.id,...?...................... |
| 10a20 | 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 | .......const.char.*iface,.uint32 |
| 10a40 | 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | _t.ver).{......struct.app.*a.=.d |
| 10a60 | 61 74 61 3b 00 00 00 2a 20 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f | ata;...*..if.(strcmp(iface,."wl_ |
| 10a80 | 63 6f 6d 70 6f 73 69 74 6f 72 22 29 20 3d 3d 20 30 29 00 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d | compositor").==.0)...E....a->com |
| 10aa0 | 70 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 69 64 2c 20 26 77 | p.=.wl_registry_bind(reg,.id,.&w |
| 10ac0 | 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 28 20 | l_compositor_interface,.4);...(. |
| 10ae0 | 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 | .else.if.(strcmp(iface,."wl_shm" |
| 10b00 | 29 20 3d 3d 20 30 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | ).==.0)...=....a->shm.=.wl_regis |
| 10b20 | 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | try_bind(reg,.id,.&wl_shm_interf |
| 10b40 | 61 63 65 2c 20 31 29 3b 00 00 00 2f 20 20 65 6c 73 65 20 69 66 20 28 73 74 72 63 6d 70 28 69 66 | ace,.1);.../..else.if.(strcmp(if |
| 10b60 | 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 20 3d 3d 20 30 29 20 7b 00 00 00 41 20 | ace,."xdg_wm_base").==.0).{...A. |
| 10b80 | 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c | ...a->wm.=.wl_registry_bind(reg, |
| 10ba0 | 20 69 64 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 | .id,.&xdg_wm_base_interface,.1); |
| 10bc0 | 00 00 00 35 20 20 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 | ...5....xdg_wm_base_add_listener |
| 10be0 | 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 65 6e 65 72 2c 20 61 29 3b 00 00 00 03 20 20 7d | (a->wm,.&wm_listener,.a);......} |
| 10c00 | 00 00 00 01 7d 00 00 00 00 00 00 00 39 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | ....}.......9static.const.struct |
| 10c20 | 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 5f 6c 69 73 74 65 6e | .wl_registry_listener.reg_listen |
| 10c40 | 65 72 20 3d 20 7b 00 00 00 37 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 | er.=.{...7.....global.=.registry |
| 10c60 | 5f 68 61 6e 64 6c 65 72 2c 20 2e 67 6c 6f 62 61 6c 5f 72 65 6d 6f 76 65 20 3d 20 4e 55 4c 4c 7d | _handler,..global_remove.=.NULL} |
| 10c80 | 3b 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 | ;.......,static.void.allocate_bu |
| 10ca0 | 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 | ffer(struct.app.*a).{......if.(a |
| 10cc0 | 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f | ->buf).{........wl_buffer_destro |
| 10ce0 | 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 | y(a->buf);...1....munmap(a->pixe |
| 10d00 | 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 | ls,.(size_t)(a->w.*.a->h.*.4));. |
| 10d20 | 00 00 03 20 20 7d 00 00 00 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 | .....}......int.stride.=.a->w.*. |
| 10d40 | 34 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 | 4;...(..size_t.size.=.(size_t)(s |
| 10d60 | 74 72 69 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 | tride.*.a->h);...!..int.fd.=.cre |
| 10d80 | 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 | ate_shm_file(size);...J..a->pixe |
| 10da0 | 6c 73 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 20 | ls.=.mmap(NULL,.size,.PROT_READ. |
| 10dc0 | 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 | |.PROT_WRITE,.MAP_SHARED,.fd,.0) |
| 10de0 | 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c | ;......if.(a->pixels.==.MAP_FAIL |
| 10e00 | 45 44 29 20 7b 00 00 00 13 20 20 20 20 70 65 72 72 6f 72 28 22 6d 6d 61 70 22 29 3b 00 00 00 0c | ED).{........perror("mmap");.... |
| 10e20 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 | ....exit(1);......}...K..struct. |
| 10e40 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 | wl_shm_pool.*pool.=.wl_shm_creat |
| 10e60 | 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 | e_pool(a->shm,.fd,.(int32_t)size |
| 10e80 | 29 3b 00 00 00 41 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 | );...A..a->buf.=.wl_shm_pool_cre |
| 10ea0 | 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ate_buffer(pool,.0,.a->w,.a->h,. |
| 10ec0 | 73 74 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | stride,...=..................... |
| 10ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 | ................WL_SHM_FORMAT_AR |
| 10f00 | 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f | GB8888);......wl_shm_pool_destro |
| 10f20 | 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 | y(pool);......close(fd);....}... |
| 10f40 | 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 | ....Istatic.void.draw_line(uint3 |
| 10f60 | 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 | 2_t.*px,.int.w,.int.h,.int.x0,.i |
| 10f80 | 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt.y0,.int.x1,...+.............. |
| 10fa0 | 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 | ........int.y1,.uint32_t.c).{... |
| 10fc0 | 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 | /..int.dx.=.abs(x1.-.x0),.sx.=.x |
| 10fe0 | 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d | 0.<.x1.?.1.:.-1;...0..int.dy.=.- |
| 11000 | 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a | abs(y1.-.y0),.sy.=.y0.<.y1.?.1.: |
| 11020 | 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b | .-1;......int.err.=.dx.+.dy,.e2; |
| 11040 | 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 | ......while.(1).{.../....if.(x0. |
| 11060 | 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 | >=.0.&&.x0.<.w.&&.y0.>=.0.&&.y0. |
| 11080 | 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 | <.h)..........px[y0.*.w.+.x0].=. |
| 110a0 | 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 | c;........if.(x0.==.x1.&&.y0.==. |
| 110c0 | 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 | y1)..........break;........e2.=. |
| 110e0 | 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 | 2.*.err;........if.(e2.>=.dy).{. |
| 11100 | 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 | .........err.+=.dy;..........x0. |
| 11120 | 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d | +=.sx;........}........if.(e2.<= |
| 11140 | 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 | .dx).{..........err.+=.dx;...... |
| 11160 | 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 | ....y0.+=.sy;........}......}... |
| 11180 | 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c | .}.......Jstatic.void.draw_circl |
| 111a0 | 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e | e(uint32_t.*px,.int.w,.int.h,.in |
| 111c0 | 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 | t.cx,.int.cy,.int.r,...%........ |
| 111e0 | 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 63 29 20 7b 00 00 00 | ................uint32_t.c).{... |
| 11200 | 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a | "..int.x.=.0,.y.=.r,.d.=.3.-.2.* |
| 11220 | 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 | .r;......while.(y.>=.x).{...J... |
| 11240 | 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 | .int.pts[8][2].=.{{cx.+.x,.cy.+. |
| 11260 | 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 | y},.{cx.-.x,.cy.+.y},.{cx.+.x,.c |
| 11280 | 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y.-.y},...J..................... |
| 112a0 | 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 | {cx.-.x,.cy.-.y},.{cx.+.y,.cy.+. |
| 112c0 | 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 39 20 20 20 20 20 20 20 | x},.{cx.-.y,.cy.+.x},...9....... |
| 112e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 | ..............{cx.+.y,.cy.-.x},. |
| 11300 | 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 | {cx.-.y,.cy.-.x}};...!....for.(i |
| 11320 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 20 7b 00 00 00 2b 20 20 20 20 20 | nt.i.=.0;.i.<.8;.i++).{...+..... |
| 11340 | 20 69 6e 74 20 70 78 30 20 3d 20 70 74 73 5b 69 5d 5b 30 5d 2c 20 70 79 30 20 3d 20 70 74 73 5b | .int.px0.=.pts[i][0],.py0.=.pts[ |
| 11360 | 69 5d 5b 31 5d 3b 00 00 00 35 20 20 20 20 20 20 69 66 20 28 70 78 30 20 3e 3d 20 30 20 26 26 20 | i][1];...5......if.(px0.>=.0.&&. |
| 11380 | 70 78 30 20 3c 20 77 20 26 26 20 70 79 30 20 3e 3d 20 30 20 26 26 20 70 79 30 20 3c 20 68 29 00 | px0.<.w.&&.py0.>=.0.&&.py0.<.h). |
| 113a0 | 00 00 1e 20 20 20 20 20 20 20 20 70 78 5b 70 79 30 20 2a 20 77 20 2b 20 70 78 30 5d 20 3d 20 63 | ...........px[py0.*.w.+.px0].=.c |
| 113c0 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 10 20 20 20 20 69 66 | ;........}........x++;........if |
| 113e0 | 20 28 64 20 3e 20 30 29 20 7b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 1f 20 20 20 20 | .(d.>.0).{..........y--;........ |
| 11400 | 20 20 64 20 3d 20 64 20 2b 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0c 20 | ..d.=.d.+.4.*.(x.-.y).+.10;..... |
| 11420 | 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 18 20 20 20 20 20 20 64 20 3d 20 64 20 2b 20 34 20 2a | ...}.else.{..........d.=.d.+.4.* |
| 11440 | 20 78 20 2b 20 36 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | .x.+.6;........}......}....}.... |
| 11460 | 00 00 00 4f 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 72 65 63 74 28 75 69 6e 74 33 32 | ...Ostatic.void.fill_rect(uint32 |
| 11480 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 2c 20 69 6e 74 | _t.*px,.int.w,.int.h,.int.x,.int |
| 114a0 | 20 79 2c 20 69 6e 74 20 73 77 2c 20 69 6e 74 20 73 68 2c 00 00 00 23 20 20 20 20 20 20 20 20 20 | .y,.int.sw,.int.sh,...#......... |
| 114c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 1e 20 20 | .............uint32_t.c).{...... |
| 114e0 | 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 73 68 3b 20 6a 2b 2b 29 00 00 00 12 | for.(int.j.=.0;.j.<.sh;.j++).... |
| 11500 | 20 20 20 20 69 66 20 28 79 20 2b 20 6a 20 3c 20 68 29 00 00 00 22 20 20 20 20 20 20 66 6f 72 20 | ....if.(y.+.j.<.h)..."......for. |
| 11520 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 77 3b 20 69 2b 2b 29 00 00 00 16 20 20 20 20 | (int.i.=.0;.i.<.sw;.i++)........ |
| 11540 | 20 20 20 20 69 66 20 28 78 20 2b 20 69 20 3c 20 77 29 00 00 00 28 20 20 20 20 20 20 20 20 20 20 | ....if.(x.+.i.<.w)...(.......... |
| 11560 | 70 78 5b 28 79 20 2b 20 6a 29 20 2a 20 77 20 2b 20 28 78 20 2b 20 69 29 5d 20 3d 20 63 3b 00 00 | px[(y.+.j).*.w.+.(x.+.i)].=.c;.. |
| 11580 | 00 01 7d 00 00 00 00 00 00 00 3c 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 | ..}.......<static.void.draw_cloc |
| 115a0 | 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 6d | k(struct.app.*a,.const.struct.tm |
| 115c0 | 20 2a 74 6d 29 20 7b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 | .*tm).{......uint32_t.*px.=.a->p |
| 115e0 | 69 78 65 6c 73 3b 00 00 00 3a 20 20 66 69 6c 6c 5f 72 65 63 74 28 70 78 2c 20 61 2d 3e 77 2c 20 | ixels;...:..fill_rect(px,.a->w,. |
| 11600 | 61 2d 3e 68 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 30 78 46 46 46 46 46 46 | a->h,.0,.0,.a->w,.a->h,.0xFFFFFF |
| 11620 | 46 46 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 | FF);...#..int.cx.=.a->w./.2,.cy. |
| 11640 | 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c | =.a->h./.2;.../..int.r.=.(a->w.< |
| 11660 | 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 | .a->h.?.a->w.:.a->h)./.2.-.10;.. |
| 11680 | 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | .5..draw_circle(px,.a->w,.a->h,. |
| 116a0 | 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 | cx,.cy,.r,.0xFF000000);......for |
| 116c0 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 | .(int.i.=.0;.i.<.12;.i++).{..... |
| 116e0 | 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d | ...double.ang.=.i./.12.0.*.2.*.M |
| 11700 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2d 20 20 20 20 69 6e 74 20 78 31 20 3d 20 63 78 | _PI.-.M_PI_2;...-....int.x1.=.cx |
| 11720 | 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 | .+.(int)(cos(ang).*.(r.-.10));.. |
| 11740 | 00 2d 20 20 20 20 69 6e 74 20 79 31 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e | .-....int.y1.=.cy.+.(int)(sin(an |
| 11760 | 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 3b 00 00 00 2c 20 20 20 20 69 6e 74 20 78 32 20 3d 20 | g).*.(r.-.10));...,....int.x2.=. |
| 11780 | 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 3b 00 | cx.+.(int)(cos(ang).*.(r.-.2));. |
| 117a0 | 00 00 2c 20 20 20 20 69 6e 74 20 79 32 20 3d 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 | ..,....int.y2.=.cy.+.(int)(sin(a |
| 117c0 | 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 3b 00 00 00 3a 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 | ng).*.(r.-.2));...:....draw_line |
| 117e0 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 78 31 2c 20 79 31 2c 20 78 32 2c 20 79 32 2c | (px,.a->w,.a->h,.x1,.y1,.x2,.y2, |
| 11800 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 1a 20 20 64 6f 75 62 6c 65 | .0xFF000000);......}......double |
| 11820 | 20 73 65 63 20 3d 20 74 6d 2d 3e 74 6d 5f 73 65 63 3b 00 00 00 27 20 20 64 6f 75 62 6c 65 20 6d | .sec.=.tm->tm_sec;...'..double.m |
| 11840 | 69 6e 20 3d 20 74 6d 2d 3e 74 6d 5f 6d 69 6e 20 2b 20 73 65 63 20 2f 20 36 30 2e 30 3b 00 00 00 | in.=.tm->tm_min.+.sec./.60.0;... |
| 11860 | 30 20 20 64 6f 75 62 6c 65 20 68 6f 75 72 20 3d 20 28 74 6d 2d 3e 74 6d 5f 68 6f 75 72 20 25 20 | 0..double.hour.=.(tm->tm_hour.%. |
| 11880 | 31 32 29 20 2b 20 6d 69 6e 20 2f 20 36 30 2e 30 3b 00 00 00 2d 20 20 64 6f 75 62 6c 65 20 73 61 | 12).+.min./.60.0;...-..double.sa |
| 118a0 | 20 3d 20 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | .=.sec./.60.0.*.2.*.M_PI.-.M_PI_ |
| 118c0 | 32 3b 00 00 00 2d 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 6d 69 6e 20 2f 20 36 30 2e 30 20 2a | 2;...-..double.ma.=.min./.60.0.* |
| 118e0 | 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 64 6f 75 62 6c 65 20 | .2.*.M_PI.-.M_PI_2;......double. |
| 11900 | 68 61 20 3d 20 68 6f 75 72 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f | ha.=.hour./.12.0.*.2.*.M_PI.-.M_ |
| 11920 | 50 49 5f 32 3b 00 00 00 43 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 | PI_2;...C..draw_line(px,.a->w,.a |
| 11940 | 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 | ->h,.cx,.cy,.cx.+.(int)(cos(ha). |
| 11960 | 2a 20 72 20 2a 20 30 2e 35 35 29 2c 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b | *.r.*.0.55),...8............cy.+ |
| 11980 | 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 29 2c 20 30 78 46 46 | .(int)(sin(ha).*.r.*.0.55),.0xFF |
| 119a0 | 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 | 000000);...B..draw_line(px,.a->w |
| 119c0 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d | ,.a->h,.cx,.cy,.cx.+.(int)(cos(m |
| 119e0 | 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 | a).*.r.*.0.8),...7............cy |
| 11a00 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 29 2c 20 30 78 46 | .+.(int)(sin(ma).*.r.*.0.8),.0xF |
| 11a20 | 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | F000000);...B..draw_line(px,.a-> |
| 11a40 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | w,.a->h,.cx,.cy,.cx.+.(int)(cos( |
| 11a60 | 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 | sa).*.r.*.0.9),...7............c |
| 11a80 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 | y.+.(int)(sin(sa).*.r.*.0.9),.0x |
| 11aa0 | 46 46 46 46 30 30 30 30 29 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 | FFFF0000);...5..draw_circle(px,. |
| 11ac0 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 33 2c 20 30 78 46 46 30 30 30 30 30 | a->w,.a->h,.cx,.cy,.3,.0xFF00000 |
| 11ae0 | 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 | 0);...)..wl_surface_attach(a->ws |
| 11b00 | 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 | ,.a->buf,.0,.0);...-..wl_surface |
| 11b20 | 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 | _damage(a->ws,.0,.0,.a->w,.a->h) |
| 11b40 | 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | ;......wl_surface_commit(a->ws); |
| 11b60 | 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 | ....}........int.main(void).{... |
| 11b80 | 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 | ...struct.app.a.=.{0};......a.w. |
| 11ba0 | 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e | =.400;......a.h.=.400;......sign |
| 11bc0 | 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 1a 20 20 73 69 67 6e 61 6c 28 | al(SIGINT,.on_sig);......signal( |
| 11be0 | 53 49 47 54 45 52 4d 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 | SIGTERM,.on_sig);...(..if.(!(a.d |
| 11c00 | 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 29 29 00 00 00 | .=.wl_display_connect(NULL)))... |
| 11c20 | 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 | .....return.1;...'..a.reg.=.wl_d |
| 11c40 | 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 35 20 20 77 | isplay_get_registry(a.d);...5..w |
| 11c60 | 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 | l_registry_add_listener(a.reg,.& |
| 11c80 | 72 65 67 5f 6c 69 73 74 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c | reg_listener,.&a);......wl_displ |
| 11ca0 | 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 | ay_roundtrip(a.d);...!..if.(!a.c |
| 11cc0 | 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 | omp.||.!a.shm.||.!a.wm)........r |
| 11ce0 | 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | eturn.1;......a.ws.=.wl_composit |
| 11d00 | 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 | or_create_surface(a.comp);...1.. |
| 11d20 | 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | a.xs.=.xdg_wm_base_get_xdg_surfa |
| 11d40 | 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 33 20 20 78 64 67 5f 73 75 72 66 61 63 65 | ce(a.wm,.a.ws);...3..xdg_surface |
| 11d60 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 65 6e 65 72 | _add_listener(a.xs,.&xs_listener |
| 11d80 | 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 | ,.&a);...(..a.xt.=.xdg_surface_g |
| 11da0 | 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 34 20 20 78 64 67 5f 74 6f 70 6c | et_toplevel(a.xs);...4..xdg_topl |
| 11dc0 | 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 | evel_add_listener(a.xt,.&xt_list |
| 11de0 | 65 6e 65 72 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 | ener,.&a);...*..xdg_toplevel_set |
| 11e00 | 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c | _title(a.xt,."wlclock");......wl |
| 11e20 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 1c 20 20 77 6c 5f 64 | _surface_commit(a.ws);......wl_d |
| 11e40 | 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 16 20 20 61 6c 6c 6f | isplay_roundtrip(a.d);......allo |
| 11e60 | 63 61 74 65 5f 62 75 66 66 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 | cate_buffer(&a);...9..int.tfd.=. |
| 11e80 | 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 | timerfd_create(CLOCK_MONOTONIC,. |
| 11ea0 | 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 2b 20 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 | TFD_CLOEXEC);...+..struct.itimer |
| 11ec0 | 73 70 65 63 20 69 74 73 20 3d 20 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 3b 00 00 00 26 | spec.its.=.{{1,.0},.{1,.0}};...& |
| 11ee0 | 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 69 74 73 2c 20 | ..timerfd_settime(tfd,.0,.&its,. |
| 11f00 | 4e 55 4c 4c 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 | NULL);......while.(running).{... |
| 11f20 | 2d 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 | -....while.(wl_display_prepare_r |
| 11f40 | 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c | ead(a.d).!=.0)...'......wl_displ |
| 11f60 | 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 37 20 20 20 | ay_dispatch_pending(a.d);...7... |
| 11f80 | 20 69 66 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 20 3c 20 30 20 26 | .if.(wl_display_flush(a.d).<.0.& |
| 11fa0 | 26 20 65 72 72 6e 6f 20 21 3d 20 45 41 47 41 49 4e 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c | &.errno.!=.EAGAIN).{..."......wl |
| 11fc0 | 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0c 20 20 | _display_cancel_read(a.d);...... |
| 11fe0 | 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 4e 20 20 20 20 73 74 72 75 63 | ....break;........}...N....struc |
| 12000 | 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 2e 66 64 20 3d 20 77 6c 5f 64 69 | t.pollfd.pfds[2].=.{{.fd.=.wl_di |
| 12020 | 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c | splay_get_fd(a.d),..events.=.POL |
| 12040 | 4c 49 4e 7d 2c 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | LIN},...<....................... |
| 12060 | 20 20 20 20 20 20 7b 2e 66 64 20 3d 20 74 66 64 2c 20 2e 65 76 65 6e 74 73 20 3d 20 50 4f 4c 4c | ......{.fd.=.tfd,..events.=.POLL |
| 12080 | 49 4e 7d 7d 3b 00 00 00 20 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d | IN}};........if.(poll(pfds,.2,.- |
| 120a0 | 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 | 1).<.0).{..."......wl_display_ca |
| 120c0 | 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 19 20 20 20 20 20 20 69 66 20 28 65 72 72 | ncel_read(a.d);..........if.(err |
| 120e0 | 6e 6f 20 3d 3d 20 45 49 4e 54 52 29 00 00 00 11 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 | no.==.EINTR)............continue |
| 12100 | 3b 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 | ;..........break;........}...!.. |
| 12120 | 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 | ..if.(pfds[0].revents.&.POLLIN). |
| 12140 | 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 | .."......wl_display_read_events( |
| 12160 | 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 | a.d);........else..."......wl_di |
| 12180 | 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 | splay_cancel_read(a.d);...%....w |
| 121a0 | 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 61 2e 64 29 3b | l_display_dispatch_pending(a.d); |
| 121c0 | 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f | ...#....if.(pfds[1].revents.&.PO |
| 121e0 | 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b | LLIN).{..........uint64_t.ticks; |
| 12200 | 00 00 00 30 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 | ...0......if.(read(tfd,.&ticks,. |
| 12220 | 73 69 7a 65 6f 66 20 74 69 63 6b 73 29 20 3e 20 30 29 20 7b 00 00 00 1f 20 20 20 20 20 20 20 20 | sizeof.ticks).>.0).{............ |
| 12240 | 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 19 20 20 20 20 20 | time_t.tt.=.time(NULL);......... |
| 12260 | 20 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 22 20 20 20 20 20 20 20 20 | ...struct.tm.tm_buf;..."........ |
| 12280 | 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 20 20 20 | localtime_r(&tt,.&tm_buf);...... |
| 122a0 | 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 | ......draw_clock(&a,.&tm_buf);.. |
| 122c0 | 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 0c 20 20 69 | ........}........}......}......i |
| 122e0 | 66 20 28 61 2e 62 75 66 29 00 00 00 1d 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 | f.(a.buf)........wl_buffer_destr |
| 12300 | 6f 79 28 61 2e 62 75 66 29 3b 00 00 00 0f 20 20 69 66 20 28 61 2e 70 69 78 65 6c 73 29 00 00 00 | oy(a.buf);......if.(a.pixels)... |
| 12320 | 2e 20 20 20 20 6d 75 6e 6d 61 70 28 61 2e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 | .....munmap(a.pixels,.(size_t)(a |
| 12340 | 2e 77 20 2a 20 61 2e 68 20 2a 20 34 29 29 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 78 74 29 00 00 | .w.*.a.h.*.4));......if.(a.xt).. |
| 12360 | 00 1f 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 61 2e 78 74 29 | ......xdg_toplevel_destroy(a.xt) |
| 12380 | 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 78 73 29 00 00 00 1e 20 20 20 20 78 64 67 5f 73 75 72 66 | ;......if.(a.xs)........xdg_surf |
| 123a0 | 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 78 73 29 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 77 73 | ace_destroy(a.xs);......if.(a.ws |
| 123c0 | 29 00 00 00 1d 20 20 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 73 | )........wl_surface_destroy(a.ws |
| 123e0 | 29 3b 00 00 00 0b 20 20 69 66 20 28 61 2e 77 6d 29 00 00 00 1e 20 20 20 20 78 64 67 5f 77 6d 5f | );......if.(a.wm)........xdg_wm_ |
| 12400 | 62 61 73 65 5f 64 65 73 74 72 6f 79 28 61 2e 77 6d 29 3b 00 00 00 0c 20 20 69 66 20 28 61 2e 73 | base_destroy(a.wm);......if.(a.s |
| 12420 | 68 6d 29 00 00 00 1a 20 20 20 20 77 6c 5f 73 68 6d 5f 64 65 73 74 72 6f 79 28 61 2e 73 68 6d 29 | hm)........wl_shm_destroy(a.shm) |
| 12440 | 3b 00 00 00 0d 20 20 69 66 20 28 61 2e 63 6f 6d 70 29 00 00 00 22 20 20 20 20 77 6c 5f 63 6f 6d | ;......if.(a.comp)..."....wl_com |
| 12460 | 70 6f 73 69 74 6f 72 5f 64 65 73 74 72 6f 79 28 61 2e 63 6f 6d 70 29 3b 00 00 00 0c 20 20 69 66 | positor_destroy(a.comp);......if |
| 12480 | 20 28 61 2e 72 65 67 29 00 00 00 1f 20 20 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 64 65 73 74 | .(a.reg)........wl_registry_dest |
| 124a0 | 72 6f 79 28 61 2e 72 65 67 29 3b 00 00 00 0a 20 20 69 66 20 28 61 2e 64 29 00 00 00 1f 20 20 20 | roy(a.reg);......if.(a.d)....... |
| 124c0 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0d | .wl_display_disconnect(a.d);.... |
| 124e0 | 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 | ..close(tfd);......return.0;.... |
| 12500 | 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 28 01 00 00 00 00 00 00 01 00 00 00 00 00 00 | }5...............(.............. |
| 12520 | 00 00 00 00 00 00 00 00 00 3e 21 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........>!..............5._.... |
| 12540 | 0f 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff | ................................ |
| 12560 | ff 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 | ................................ |
| 12580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 125e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 126a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 126c0 | 9d 92 65 04 01 00 00 00 00 00 f5 18 00 00 00 b9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 | ..e............................. |
| 126e0 | 7d f5 18 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a3 00 00 00 00 00 00 00 | }............................... |
| 12700 | 00 00 00 00 01 00 00 00 22 20 20 2f 2a 20 54 4f 20 4c 4f 43 4b 20 53 49 5a 45 3a 20 53 65 74 20 | ........"../*.TO.LOCK.SIZE:.Set. |
| 12720 | 6d 69 6e 20 61 6e 64 20 6d 61 78 f5 18 00 00 00 a4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | min.and.max..................... |
| 12740 | 00 00 7c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 20 20 20 61 2d 3e f5 18 00 00 00 7d | ..|....................a->.....} |
| 12760 | 00 00 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 | ................................ |
| 12780 | 00 00 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 | ....................5........... |
| 127a0 | 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............|................... |
| 127c0 | 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 7c 00 00 00 07 00 00 00 00 00 00 00 00 00 | ..................|............. |
| 127e0 | 00 00 27 00 00 00 22 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 | ..'..."......................... |
| 12800 | 00 00 f5 18 00 00 00 00 a3 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 01 00 00 00 | ............"................... |
| 12820 | 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 00 00 00 00 00 00 35 81 5f d0 00 00 00 10 | ........................5._..... |
| 12840 | 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 ba 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 12860 | 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 00 | ................................ |
| 12880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 128a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 128c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 128e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 129a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d | ..............................i. |
| 129c0 | 92 66 04 01 00 00 00 07 00 f5 18 00 00 00 01 00 00 00 d8 00 00 00 ba 00 00 00 b1 00 00 00 12 23 | .f.............................# |
| 129e0 | 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 | include.<errno.h>....#include.<f |
| 12a00 | 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 | cntl.h>....#include.<math.h>.... |
| 12a20 | 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 | #include.<poll.h>....#include.<s |
| 12a40 | 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e | ignal.h>....#include.<stdbool.h> |
| 12a60 | 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 75 | ....#include.<stdio.h>....#inclu |
| 12a80 | 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 73 74 72 69 6e | de.<stdlib.h>....#include.<strin |
| 12aa0 | 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 | g.h>....#include.<sys/mman.h>... |
| 12ac0 | 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e | .#include.<sys/timerfd.h>....#in |
| 12ae0 | 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 | clude.<time.h>....#include.<unis |
| 12b00 | 74 64 2e 68 3e 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 | td.h>....#include.<wayland-clien |
| 12b20 | 74 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 6c 2d 63 6c 69 65 | t.h>...&#include."xdg-shell-clie |
| 12b40 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f | nt-protocol.h"........#ifndef.M_ |
| 12b60 | 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 | PI...##define.M_PI.3.14159265358 |
| 12b80 | 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d | 979323846....#endif....#ifndef.M |
| 12ba0 | 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 | _PI_2...%#define.M_PI_2.1.570796 |
| 12bc0 | 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 | 32679489661923....#endif.......) |
| 12be0 | 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e | static.volatile.sig_atomic_t.run |
| 12c00 | 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 | ning.=.1;....static.void.on_sig( |
| 12c20 | 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e | int.s).{......(void)s;......runn |
| 12c40 | 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 | ing.=.0;....}........struct.app. |
| 12c60 | 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a | {......struct.wl_display.*d;.... |
| 12c80 | 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 | ..struct.wl_registry.*reg;...... |
| 12ca0 | 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 3b 00 00 00 15 20 | struct.wl_compositor.*comp;..... |
| 12cc0 | 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 | .struct.wl_shm.*shm;......struct |
| 12ce0 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c | .xdg_wm_base.*wm;......struct.wl |
| 12d00 | 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | _surface.*ws;......struct.xdg_su |
| 12d20 | 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | rface.*xs;......struct.xdg_tople |
| 12d40 | 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 | vel.*xt;......void.*pixels;..... |
| 12d60 | 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 | .struct.wl_buffer.*buf;......int |
| 12d80 | 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 02 | .w,.h;......bool.configured;.... |
| 12da0 | 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f | };.......)static.int.create_shm_ |
| 12dc0 | 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 | file(size_t.size).{......char.te |
| 12de0 | 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 | mplate[].=."/tmp/wlclock-shm-XXX |
| 12e00 | 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 | XXX";......int.fd.=.mkstemp(temp |
| 12e20 | 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b | late);......if.(fd.<.0).exit(1); |
| 12e40 | 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 2e 20 20 69 66 20 | ......unlink(template);......if. |
| 12e60 | 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 | (ftruncate(fd,.(off_t)size).<.0) |
| 12e80 | 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 | .exit(1);......return.fd;....}.. |
| 12ea0 | 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 | .....,static.void.allocate_buffe |
| 12ec0 | 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 | r(struct.app.*a).{......if.(a->b |
| 12ee0 | 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 | uf).{........wl_buffer_destroy(a |
| 12f00 | 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c | ->buf);...1....munmap(a->pixels, |
| 12f20 | 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 03 | .(size_t)(a->w.*.a->h.*.4));.... |
| 12f40 | 20 20 7d 00 00 00 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 | ..}......int.stride.=.a->w.*.4;. |
| 12f60 | 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 | ..(..size_t.size.=.(size_t)(stri |
| 12f80 | 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 | de.*.a->h);...!..int.fd.=.create |
| 12fa0 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 | _shm_file(size);...J..a->pixels. |
| 12fc0 | 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 20 7c 20 50 | =.mmap(NULL,.size,.PROT_READ.|.P |
| 12fe0 | 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 | ROT_WRITE,.MAP_SHARED,.fd,.0);.. |
| 13000 | 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 | .K..struct.wl_shm_pool.*pool.=.w |
| 13020 | 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 | l_shm_create_pool(a->shm,.fd,.(i |
| 13040 | 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 5a 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 | nt32_t)size);...Z..a->buf.=.wl_s |
| 13060 | 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 | hm_pool_create_buffer(pool,.0,.a |
| 13080 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 | ->w,.a->h,.stride,.WL_SHM_FORMAT |
| 130a0 | 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 | _ARGB8888);......wl_shm_pool_des |
| 130c0 | 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d | troy(pool);......close(fd);....} |
| 130e0 | 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 | ......._static.void.draw_line(ui |
| 13100 | 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 | nt32_t.*px,.int.w,.int.h,.int.x0 |
| 13120 | 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 | ,.int.y0,.int.x1,.int.y1,.uint32 |
| 13140 | 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 | _t.c).{.../..int.dx.=.abs(x1.-.x |
| 13160 | 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 | 0),.sx.=.x0.<.x1.?.1.:.-1;...0.. |
| 13180 | 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 | int.dy.=.-abs(y1.-.y0),.sy.=.y0. |
| 131a0 | 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 | <.y1.?.1.:.-1;......int.err.=.dx |
| 131c0 | 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 20 | .+.dy,.e2;......while.(1).{...D. |
| 131e0 | 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e | ...if.(x0.>=.0.&&.x0.<.w.&&.y0.> |
| 13200 | 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d | =.0.&&.y0.<.h).px[y0.*.w.+.x0].= |
| 13220 | 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d | .c;...$....if.(x0.==.x1.&&.y0.== |
| 13240 | 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b | .y1).break;........e2.=.2.*.err; |
| 13260 | 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 | ...*....if.(e2.>=.dy).{.err.+=.d |
| 13280 | 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 | y;.x0.+=.sx;.}...*....if.(e2.<=. |
| 132a0 | 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 03 | dx).{.err.+=.dx;.y0.+=.sy;.}.... |
| 132c0 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 | ..}....}.......Xstatic.void.draw |
| 132e0 | 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | _circle(uint32_t.*px,.int.w,.int |
| 13300 | 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 | .h,.int.cx,.int.cy,.int.r,.uint3 |
| 13320 | 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 | 2_t.c).{..."..int.x.=.0,.y.=.r,. |
| 13340 | 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 | d.=.3.-.2.*.r;......while.(y.>=. |
| 13360 | 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 | x).{...L....int.pts[8][2].=.{{cx |
| 13380 | 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 | +x,.cy+y},.{cx-x,.cy+y},.{cx+x,. |
| 133a0 | 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 4d 20 20 20 20 20 20 20 20 | cy-y},.{cx-x,.cy-y},...M........ |
| 133c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 | .............{cx+y,.cy+x},.{cx-y |
| 133e0 | 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 | ,.cy+x},.{cx+y,.cy-x},.{cx-y,.cy |
| 13400 | 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | -x}};........for.(int.i.=.0;.i.< |
| 13420 | 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 | .8;.i++)...M......if.(pts[i][0]. |
| 13440 | 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b | >=.0.&&.pts[i][0].<.w.&&.pts[i][ |
| 13460 | 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 | 1].>=.0.&&.pts[i][1].<.h)...*... |
| 13480 | 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 | .....px[pts[i][1].*.w.+.pts[i][0 |
| 134a0 | 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d | ]].=.c;...C....if.(d.>.0).{.d.+= |
| 134c0 | 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 | .4.*.(x.-.y).+.10;.y--;.}.else.d |
| 134e0 | 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 | .+=.4.*.x.+.6;........x++;...... |
| 13500 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 | }....}.......'static.void.draw_c |
| 13520 | 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 19 20 20 69 66 20 28 21 | lock(struct.app.*a).{......if.(! |
| 13540 | 61 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 | a->pixels).return;......time_t.t |
| 13560 | 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 | t.=.time(NULL);......struct.tm.t |
| 13580 | 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d | m_buf;......localtime_r(&tt,.&tm |
| 135a0 | 5f 62 75 66 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 | _buf);......uint32_t.*px.=.a->pi |
| 135c0 | 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a | xels;......memset(px,.0xff,.(siz |
| 135e0 | 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 | e_t)(a->w.*.a->h.*.4));...#..int |
| 13600 | 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 | .cx.=.a->w./.2,.cy.=.a->h./.2;.. |
| 13620 | 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 | ./..int.r.=.(a->w.<.a->h.?.a->w. |
| 13640 | 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 | :.a->h)./.2.-.10;...5..draw_circ |
| 13660 | 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 | le(px,.a->w,.a->h,.cx,.cy,.r,.0x |
| 13680 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | FF000000);......for.(int.i.=.0;. |
| 136a0 | 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 | i.<.12;.i++).{........double.ang |
| 136c0 | 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | .=.i./.12.0.*.2.*.M_PI.-.M_PI_2; |
| 136e0 | 00 00 00 5f 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ..._....draw_line(px,.a->w,.a->h |
| 13700 | 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 | ,.cx.+.(int)(cos(ang).*.(r.-.10) |
| 13720 | 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 | ),.cy.+.(int)(sin(ang).*.(r.-.10 |
| 13740 | 29 29 2c 00 00 00 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 | )),...Z..............cx.+.(int)( |
| 13760 | 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 | cos(ang).*.(r.-.2)),.cy.+.(int)( |
| 13780 | 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 | sin(ang).*.(r.-.2)),.0xFF000000) |
| 137a0 | 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 | ;......}...7..double.sa.=.tm_buf |
| 137c0 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | .tm_sec./.60.0.*.2.*.M_PI.-.M_PI |
| 137e0 | 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f | _2;...P..double.ma.=.(tm_buf.tm_ |
| 13800 | 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 | min.+.tm_buf.tm_sec./.60.0)./.60 |
| 13820 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 | .0.*.2.*.M_PI.-.M_PI_2;...Z..dou |
| 13840 | 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 | ble.ha.=.((tm_buf.tm_hour.%.12). |
| 13860 | 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 | +.(tm_buf.tm_min./.60.0))./.12.0 |
| 13880 | 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 6e 20 20 64 72 61 77 5f | .*.2.*.M_PI.-.M_PI_2;...n..draw_ |
| 138a0 | 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 | line(px,.a->w,.a->h,.cx,.cy,.cx. |
| 138c0 | 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b | +.(int)(cos(ha).*.r.*.0.5),.cy.+ |
| 138e0 | 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 | .(int)(sin(ha).*.r.*.0.5),.0xFF0 |
| 13900 | 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c | 00000);...n..draw_line(px,.a->w, |
| 13920 | 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 | .a->h,.cx,.cy,.cx.+.(int)(cos(ma |
| 13940 | 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 | ).*.r.*.0.7),.cy.+.(int)(sin(ma) |
| 13960 | 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 | .*.r.*.0.7),.0xFF000000);...n..d |
| 13980 | 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c | raw_line(px,.a->w,.a->h,.cx,.cy, |
| 139a0 | 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 | .cx.+.(int)(cos(sa).*.r.*.0.9),. |
| 139c0 | 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 | cy.+.(int)(sin(sa).*.r.*.0.9),.0 |
| 139e0 | 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | xFFFF0000);...)..wl_surface_atta |
| 13a00 | 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c | ch(a->ws,.a->buf,.0,.0);...-..wl |
| 13a20 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e | _surface_damage(a->ws,.0,.0,.a-> |
| 13a40 | 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | w,.a->h);......wl_surface_commit |
| 13a60 | 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 | (a->ws);....}.......astatic.void |
| 13a80 | 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c | .xt_cfg(void.*d,.struct.xdg_topl |
| 13aa0 | 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 | evel.*xt,.int32_t.w,.int32_t.h,. |
| 13ac0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 | struct.wl_array.*st).{......stru |
| 13ae0 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 | ct.app.*a.=.d;...3..if.(w.>.0.&& |
| 13b00 | 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e | .h.>.0.&&.(w.!=.a->w.||.h.!=.a-> |
| 13b20 | 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b | h)).{........a->w.=.w;.a->h.=.h; |
| 13b40 | 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 03 20 | ........allocate_buffer(a);..... |
| 13b60 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 | .}....}.......Astatic.void.xs_cf |
| 13b80 | 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 | g(void.*d,.struct.xdg_surface.*x |
| 13ba0 | 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 | s,.uint32_t.s).{......struct.app |
| 13bc0 | 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f | .*a.=.d;...#..xdg_surface_ack_co |
| 13be0 | 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 | nfigure(xs,.s);......a->configur |
| 13c00 | 65 64 20 3d 20 74 72 75 65 3b 00 00 00 10 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 | ed.=.true;......draw_clock(a);.. |
| 13c20 | 00 01 7d 00 00 00 00 00 00 00 62 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | ..}.......bstatic.const.struct.x |
| 13c40 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b | dg_toplevel_listener.xt_list.=.{ |
| 13c60 | 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 28 76 | .configure.=.xt_cfg,..close.=.(v |
| 13c80 | 6f 69 64 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | oid*)on_sig};...Istatic.const.st |
| 13ca0 | 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 73 5f 6c 69 73 | ruct.xdg_surface_listener.xs_lis |
| 13cc0 | 74 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 | t.=.{.configure.=.xs_cfg};...... |
| 13ce0 | 00 71 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 | .qstatic.void.registry_handler(v |
| 13d00 | 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 79 20 2a 72 | oid.*data,.struct.wl_registry.*r |
| 13d20 | 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 | eg,.uint32_t.id,.const.char.*ifa |
| 13d40 | 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 | ce,.uint32_t.ver).{......struct. |
| 13d60 | 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 | app.*a.=.data;...h..if.(!strcmp( |
| 13d80 | 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 | iface,."wl_compositor")).a->comp |
| 13da0 | 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 69 64 2c 20 26 77 6c | .=.wl_registry_bind(reg,.id,.&wl |
| 13dc0 | 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 5e 20 20 | _compositor_interface,.4);...^.. |
| 13de0 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 | else.if.(!strcmp(iface,."wl_shm" |
| 13e00 | 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 | )).a->shm.=.wl_registry_bind(reg |
| 13e20 | 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b | ,.id,.&wl_shm_interface,.1);...+ |
| 13e40 | 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 | ..else.if.(!strcmp(iface,."xdg_w |
| 13e60 | 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 | m_base")).{...A....a->wm.=.wl_re |
| 13e80 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 | gistry_bind(reg,.id,.&xdg_wm_bas |
| 13ea0 | 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 68 20 20 20 20 78 64 67 5f 77 6d 5f 62 | e_interface,.1);...h....xdg_wm_b |
| 13ec0 | 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 28 73 74 72 75 63 74 | ase_add_listener(a->wm,.&(struct |
| 13ee0 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 29 7b 2e 70 69 6e 67 20 3d 20 28 | .xdg_wm_base_listener){.ping.=.( |
| 13f00 | 76 6f 69 64 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 2c 20 61 29 3b 00 00 00 03 | void*)xdg_wm_base_pong},.a);.... |
| 13f20 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b | ..}....}........int.main(void).{ |
| 13f40 | 00 00 00 26 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 | ...&..struct.app.a.=.{.w.=.400,. |
| 13f60 | 2e 68 20 3d 20 34 30 30 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f | .h.=.400};......signal(SIGINT,.o |
| 13f80 | 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f | n_sig);...!..a.d.=.wl_display_co |
| 13fa0 | 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 | nnect(NULL);...'..a.reg.=.wl_dis |
| 13fc0 | 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 58 20 20 77 6c 5f | play_get_registry(a.d);...X..wl_ |
| 13fe0 | 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 28 73 | registry_add_listener(a.reg,.&(s |
| 14000 | 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 29 7b 72 65 67 69 | truct.wl_registry_listener){regi |
| 14020 | 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 | stry_handler},.&a);......wl_disp |
| 14040 | 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 | lay_roundtrip(a.d);......a.ws.=. |
| 14060 | 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 65 28 61 2e 63 | wl_compositor_create_surface(a.c |
| 14080 | 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 | omp);...1..a.xs.=.xdg_wm_base_ge |
| 140a0 | 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 2f 20 20 | t_xdg_surface(a.wm,.a.ws);.../.. |
| 140c0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 | xdg_surface_add_listener(a.xs,.& |
| 140e0 | 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 | xs_list,.&a);...(..a.xt.=.xdg_su |
| 14100 | 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 30 20 20 78 | rface_get_toplevel(a.xs);...0..x |
| 14120 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 | dg_toplevel_add_listener(a.xt,.& |
| 14140 | 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | xt_list,.&a);...*..xdg_toplevel_ |
| 14160 | 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 | set_title(a.xt,."wlclock");..... |
| 14180 | 00 00 37 20 20 2f 2a 20 54 4f 20 4c 4f 43 4b 20 53 49 5a 45 3a 20 53 65 74 20 6d 69 6e 20 61 6e | ..7../*.TO.LOCK.SIZE:.Set.min.an |
| 141a0 | 64 20 6d 61 78 20 74 6f 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 73 2e 20 00 00 00 52 20 20 | d.max.to.the.same.values.....R.. |
| 141c0 | 20 20 20 54 4f 20 41 4c 4c 4f 57 20 52 45 53 49 5a 49 4e 47 3a 20 52 65 6d 6f 76 65 20 74 68 65 | ...TO.ALLOW.RESIZING:.Remove.the |
| 141e0 | 73 65 20 74 77 6f 20 6c 69 6e 65 73 20 6f 72 20 73 65 74 20 74 68 65 6d 20 74 6f 20 64 69 66 66 | se.two.lines.or.set.them.to.diff |
| 14200 | 65 72 65 6e 74 20 72 61 6e 67 65 73 2e 20 2a 2f 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 | erent.ranges..*/...,..xdg_toplev |
| 14220 | 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b | el_set_min_size(a.xt,.400,.400); |
| 14240 | 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 | ...,..xdg_toplevel_set_max_size( |
| 14260 | 61 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 | a.xt,.400,.400);..........wl_sur |
| 14280 | 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c | face_commit(a.ws);......wl_displ |
| 142a0 | 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 16 20 20 61 6c 6c 6f 63 61 74 65 | ay_roundtrip(a.d);......allocate |
| 142c0 | 5f 62 75 66 66 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 | _buffer(&a);...9..int.tfd.=.time |
| 142e0 | 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f | rfd_create(CLOCK_MONOTONIC,.TFD_ |
| 14300 | 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 | CLOEXEC);...F..timerfd_settime(t |
| 14320 | 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 | fd,.0,.&(struct.itimerspec){{1,. |
| 14340 | 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 | 0},.{1,.0}},.NULL);......while.( |
| 14360 | 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 | running).{........wl_display_flu |
| 14380 | 73 68 28 61 2e 64 29 3b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 | sh(a.d);...N....struct.pollfd.pf |
| 143a0 | 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 | ds[2].=.{{wl_display_get_fd(a.d) |
| 143c0 | 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 25 20 20 | ,.POLLIN},.{tfd,.POLLIN}};...%.. |
| 143e0 | 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 62 72 65 | ..if.(poll(pfds,.2,.-1).<.0).bre |
| 14400 | 61 6b 3b 00 00 00 3b 20 20 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 | ak;...;....if.(pfds[0].revents.& |
| 14420 | 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 | .POLLIN).wl_display_dispatch(a.d |
| 14440 | 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 b0 00 00 00 21 00 00 00 d5 00 00 00 05 00 | );5...................!......... |
| 14460 | 00 00 29 00 00 00 00 00 00 00 30 18 00 00 00 00 00 00 dd 19 00 00 00 00 00 00 35 81 5f d0 00 00 | ..).......0...............5._... |
| 14480 | 00 11 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 144a0 | ff 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 | ................................ |
| 144c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 144e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 145a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 145c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 145e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 14600 | 69 9d 92 93 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 df 00 00 00 | i............................... |
| 14620 | 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c | .#define._POSIX_C_SOURCE.200809L |
| 14640 | 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 65 6e 74 2d 70 | ...&#include."xdg-shell-client-p |
| 14660 | 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e | rotocol.h"....#include.<errno.h> |
| 14680 | 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | ....#include.<fcntl.h>....#inclu |
| 146a0 | 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e | de.<math.h>....#include.<poll.h> |
| 146c0 | 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c | ....#include.<signal.h>....#incl |
| 146e0 | 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | ude.<stdbool.h>....#include.<std |
| 14700 | 69 6f 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 00 00 00 13 | io.h>....#include.<stdlib.h>.... |
| 14720 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 | #include.<string.h>....#include. |
| 14740 | 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 | <sys/mman.h>....#include.<sys/ti |
| 14760 | 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 | merfd.h>....#include.<time.h>... |
| 14780 | 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 | .#include.<unistd.h>....#include |
| 147a0 | 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 | .<wayland-client.h>........#ifnd |
| 147c0 | 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 | ef.M_PI...##define.M_PI.3.141592 |
| 147e0 | 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e | 65358979323846....#endif....#ifn |
| 14800 | 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 | def.M_PI_2...%#define.M_PI_2.1.5 |
| 14820 | 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 | 7079632679489661923....#endif... |
| 14840 | 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f | ....)static.volatile.sig_atomic_ |
| 14860 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e | t.running.=.1;....static.void.on |
| 14880 | 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 | _sig(int.s).{......(void)s;..... |
| 148a0 | 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 | .running.=.0;....}........struct |
| 148c0 | 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | .app.{......struct.wl_display.*d |
| 148e0 | 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 | ;......struct.wl_registry.*reg;. |
| 14900 | 00 00 1d 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 3b | .....struct.wl_compositor.*comp; |
| 14920 | 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 | ......struct.wl_shm.*shm;......s |
| 14940 | 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 | truct.xdg_wm_base.*wm;......stru |
| 14960 | 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | ct.wl_surface.*ws;......struct.x |
| 14980 | 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f | dg_surface.*xs;......struct.xdg_ |
| 149a0 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b | toplevel.*xt;......void.*pixels; |
| 149c0 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b | ......struct.wl_buffer.*buf;.... |
| 149e0 | 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 | ..int.w,.h;......bool.configured |
| 14a00 | 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 | ;....};.......)static.int.create |
| 14a20 | 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 | _shm_file(size_t.size).{......ch |
| 14a40 | 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 | ar.template[].=."/tmp/wlclock-sh |
| 14a60 | 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 | m-XXXXXX";......int.fd.=.mkstemp |
| 14a80 | 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c | (template);......if.(fd.<.0).... |
| 14aa0 | 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 | ....exit(1);......unlink(templat |
| 14ac0 | 65 29 3b 00 00 00 25 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f | e);...%..if.(ftruncate(fd,.(off_ |
| 14ae0 | 74 29 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c | t)size).<.0)........exit(1);.... |
| 14b00 | 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 | ..return.fd;....}.......,static. |
| 14b20 | 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 | void.allocate_buffer(struct.app. |
| 14b40 | 2a 61 29 20 7b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 | *a).{......if.(a->buf).{........ |
| 14b60 | 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 | wl_buffer_destroy(a->buf);...1.. |
| 14b80 | 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e | ..munmap(a->pixels,.(size_t)(a-> |
| 14ba0 | 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 6e 74 20 | w.*.a->h.*.4));......}......int. |
| 14bc0 | 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 | stride.=.a->w.*.4;...(..size_t.s |
| 14be0 | 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 | ize.=.(size_t)(stride.*.a->h);.. |
| 14c00 | 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a | .!..int.fd.=.create_shm_file(siz |
| 14c20 | 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 | e);...J..a->pixels.=.mmap(NULL,. |
| 14c40 | 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 | size,.PROT_READ.|.PROT_WRITE,.MA |
| 14c60 | 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c | P_SHARED,.fd,.0);...K..struct.wl |
| 14c80 | 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f | _shm_pool.*pool.=.wl_shm_create_ |
| 14ca0 | 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b | pool(a->shm,.fd,.(int32_t)size); |
| 14cc0 | 00 00 00 41 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 | ...A..a->buf.=.wl_shm_pool_creat |
| 14ce0 | 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 | e_buffer(pool,.0,.a->w,.a->h,.st |
| 14d00 | 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ride,...=....................... |
| 14d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 | ..............WL_SHM_FORMAT_ARGB |
| 14d40 | 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 | 8888);......wl_shm_pool_destroy( |
| 14d60 | 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 | pool);......close(fd);....}..... |
| 14d80 | 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f | ..Istatic.void.draw_line(uint32_ |
| 14da0 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 | t.*px,.int.w,.int.h,.int.x0,.int |
| 14dc0 | 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .y0,.int.x1,...+................ |
| 14de0 | 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 | ......int.y1,.uint32_t.c).{.../. |
| 14e00 | 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 | .int.dx.=.abs(x1.-.x0),.sx.=.x0. |
| 14e20 | 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 | <.x1.?.1.:.-1;...0..int.dy.=.-ab |
| 14e40 | 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d | s(y1.-.y0),.sy.=.y0.<.y1.?.1.:.- |
| 14e60 | 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 | 1;......int.err.=.dx.+.dy,.e2;.. |
| 14e80 | 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d | ....while.(1).{.../....if.(x0.>= |
| 14ea0 | 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 | .0.&&.x0.<.w.&&.y0.>=.0.&&.y0.<. |
| 14ec0 | 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b | h)..........px[y0.*.w.+.x0].=.c; |
| 14ee0 | 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 | ........if.(x0.==.x1.&&.y0.==.y1 |
| 14f00 | 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 | )..........break;........e2.=.2. |
| 14f20 | 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 | *.err;........if.(e2.>=.dy).{... |
| 14f40 | 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d | .......err.+=.dy;..........x0.+= |
| 14f60 | 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 | .sx;........}........if.(e2.<=.d |
| 14f80 | 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 | x).{..........err.+=.dx;........ |
| 14fa0 | 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d | ..y0.+=.sy;........}......}....} |
| 14fc0 | 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 | .......Jstatic.void.draw_circle( |
| 14fe0 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 15000 | 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 | cx,.int.cy,.int.r,...%.......... |
| 15020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 | ..............uint32_t.c).{...". |
| 15040 | 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 | .int.x.=.0,.y.=.r,.d.=.3.-.2.*.r |
| 15060 | 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 | ;......while.(y.>=.x).{...J....i |
| 15080 | 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d | nt.pts[8][2].=.{{cx.+.x,.cy.+.y} |
| 150a0 | 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 | ,.{cx.-.x,.cy.+.y},.{cx.+.x,.cy. |
| 150c0 | 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 | -.y},...J.....................{c |
| 150e0 | 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d | x.-.x,.cy.-.y},.{cx.+.y,.cy.+.x} |
| 15100 | 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 | ,.{cx.-.y,.cy.+.x},...9......... |
| 15120 | 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 | ............{cx.+.y,.cy.-.x},.{c |
| 15140 | 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 | x.-.y,.cy.-.x}};........for.(int |
| 15160 | 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 | .i.=.0;.i.<.8;.i++)...M......if. |
| 15180 | 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 | (pts[i][0].>=.0.&&.pts[i][0].<.w |
| 151a0 | 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 | .&&.pts[i][1].>=.0.&&.pts[i][1]. |
| 151c0 | 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 | <.h)...*........px[pts[i][1].*.w |
| 151e0 | 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 | .+.pts[i][0]].=.c;........if.(d. |
| 15200 | 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 | >.0).{..........d.+=.4.*.(x.-.y) |
| 15220 | 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c | .+.10;..........y--;........}.el |
| 15240 | 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 | se..........d.+=.4.*.x.+.6;..... |
| 15260 | 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 | ...x++;......}....}.......'stati |
| 15280 | 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 | c.void.draw_clock(struct.app.*a) |
| 152a0 | 20 7b 00 00 00 11 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 | .{......if.(!a->pixels)........r |
| 152c0 | 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c | eturn;......time_t.tt.=.time(NUL |
| 152e0 | 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 | L);......struct.tm.tm_buf;...... |
| 15300 | 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 1b 20 20 | localtime_r(&tt,.&tm_buf);...... |
| 15320 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d | uint32_t.*px.=.a->pixels;......m |
| 15340 | 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 | emset(px,.0xff,.(size_t)(a->w.*. |
| 15360 | 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f | a->h.*.4));...#..int.cx.=.a->w./ |
| 15380 | 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 | .2,.cy.=.a->h./.2;.../..int.r.=. |
| 153a0 | 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 | (a->w.<.a->h.?.a->w.:.a->h)./.2. |
| 153c0 | 2d 20 31 30 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c | -.10;...5..draw_circle(px,.a->w, |
| 153e0 | 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 | .a->h,.cx,.cy,.r,.0xFF000000);.. |
| 15400 | 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 | ....for.(int.i.=.0;.i.<.12;.i++) |
| 15420 | 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 | .{........double.ang.=.i./.12.0. |
| 15440 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 20 20 64 72 61 77 | *.2.*.M_PI.-.M_PI_2;...>....draw |
| 15460 | 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 | _line(px,.a->w,.a->h,.cx.+.(int) |
| 15480 | 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e 20 20 20 20 20 20 | (cos(ang).*.(r.-.10)),...N...... |
| 154a0 | 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 | ........cy.+.(int)(sin(ang).*.(r |
| 154c0 | 20 2d 20 31 30 29 29 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 | .-.10)),.cx.+.(int)(cos(ang).*.( |
| 154e0 | 72 20 2d 20 32 29 29 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 | r.-.2)),...:..............cy.+.( |
| 15500 | 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 | int)(sin(ang).*.(r.-.2)),.0xFF00 |
| 15520 | 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 | 0000);......}...7..double.sa.=.t |
| 15540 | 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | m_buf.tm_sec./.60.0.*.2.*.M_PI.- |
| 15560 | 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 | .M_PI_2;...P..double.ma.=.(tm_bu |
| 15580 | 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 | f.tm_min.+.tm_buf.tm_sec./.60.0) |
| 155a0 | 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d | ./.60.0.*.2.*.M_PI.-.M_PI_2;.... |
| 155c0 | 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e | ..double.ha.=...J......((tm_buf. |
| 155e0 | 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f | tm_hour.%.12).+.(tm_buf.tm_min./ |
| 15600 | 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 | .60.0))./.12.0.*.2.*.M_PI.-..... |
| 15620 | 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 | .....M_PI_2;...B..draw_line(px,. |
| 15640 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 | a->w,.a->h,.cx,.cy,.cx.+.(int)(c |
| 15660 | 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 | os(ha).*.r.*.0.5),...7.......... |
| 15680 | 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c | ..cy.+.(int)(sin(ha).*.r.*.0.5), |
| 156a0 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c | .0xFF000000);...B..draw_line(px, |
| 156c0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 | .a->w,.a->h,.cx,.cy,.cx.+.(int)( |
| 156e0 | 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 | cos(ma).*.r.*.0.7),...7......... |
| 15700 | 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 | ...cy.+.(int)(sin(ma).*.r.*.0.7) |
| 15720 | 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 | ,.0xFF000000);...B..draw_line(px |
| 15740 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 | ,.a->w,.a->h,.cx,.cy,.cx.+.(int) |
| 15760 | 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 | (cos(sa).*.r.*.0.9),...7........ |
| 15780 | 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 | ....cy.+.(int)(sin(sa).*.r.*.0.9 |
| 157a0 | 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | ),.0xFFFF0000);...)..wl_surface_ |
| 157c0 | 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d | attach(a->ws,.a->buf,.0,.0);...- |
| 157e0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c | ..wl_surface_damage(a->ws,.0,.0, |
| 15800 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | .a->w,.a->h);......wl_surface_co |
| 15820 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 | mmit(a->ws);....}.......Jstatic. |
| 15840 | 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f | void.xt_cfg(void.*d,.struct.xdg_ |
| 15860 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 | toplevel.*xt,.int32_t.w,.int32_t |
| 15880 | 20 68 2c 00 00 00 29 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 | .h,...)...................struct |
| 158a0 | 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 | .wl_array.*st).{......struct.app |
| 158c0 | 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 | .*a.=.d;...3..if.(w.>.0.&&.h.>.0 |
| 158e0 | 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 | .&&.(w.!=.a->w.||.h.!=.a->h)).{. |
| 15900 | 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 | .......a->w.=.w;........a->h.=.h |
| 15920 | 3b 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 03 | ;........allocate_buffer(a);.... |
| 15940 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 | ..}....}.......Astatic.void.xs_c |
| 15960 | 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a | fg(void.*d,.struct.xdg_surface.* |
| 15980 | 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 | xs,.uint32_t.s).{......struct.ap |
| 159a0 | 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 | p.*a.=.d;...#..xdg_surface_ack_c |
| 159c0 | 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 | onfigure(xs,.s);......a->configu |
| 159e0 | 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 10 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 | red.=.true;......draw_clock(a);. |
| 15a00 | 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | ...}.......Istatic.const.struct. |
| 15a20 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 | xdg_toplevel_listener.xt_list.=. |
| 15a40 | 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 4e 20 20 20 20 20 20 20 | {.configure.=.xt_cfg,...N....... |
| 15a60 | 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 | ................................ |
| 15a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 28 76 6f 69 64 20 2a 29 6f | ...............close.=.(void.*)o |
| 15aa0 | 6e 5f 73 69 67 7d 3b 00 00 00 49 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | n_sig};...Istatic.const.struct.x |
| 15ac0 | 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 2e | dg_surface_listener.xs_list.=.{. |
| 15ae0 | 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 00 00 00 00 4e 73 74 61 74 | configure.=.xs_cfg};.......Nstat |
| 15b00 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| 15b20 | 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 67 2c 20 75 69 | ata,.struct.wl_registry.*reg,.ui |
| 15b40 | 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.id,...?.................. |
| 15b60 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 | ...........const.char.*iface,.ui |
| 15b80 | 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | nt32_t.ver).{......struct.app.*a |
| 15ba0 | 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c | .=.data;...&..if.(!strcmp(iface, |
| 15bc0 | 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d | ."wl_compositor"))...E....a->com |
| 15be0 | 70 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 69 64 2c 20 26 77 | p.=.wl_registry_bind(reg,.id,.&w |
| 15c00 | 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 24 20 | l_compositor_interface,.4);...$. |
| 15c20 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d | .else.if.(!strcmp(iface,."wl_shm |
| 15c40 | 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | "))...=....a->shm.=.wl_registry_ |
| 15c60 | 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c | bind(reg,.id,.&wl_shm_interface, |
| 15c80 | 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 | .1);...+..else.if.(!strcmp(iface |
| 15ca0 | 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d | ,."xdg_wm_base")).{...A....a->wm |
| 15cc0 | 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 69 64 2c 20 26 78 64 | .=.wl_registry_bind(reg,.id,.&xd |
| 15ce0 | 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 1d 20 20 20 20 | g_wm_base_interface,.1);........ |
| 15d00 | 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 00 00 00 50 20 20 20 | xdg_wm_base_add_listener(...P... |
| 15d20 | 20 20 20 20 20 61 2d 3e 77 6d 2c 20 26 28 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 | .....a->wm,.&(struct.xdg_wm_base |
| 15d40 | 5f 6c 69 73 74 65 6e 65 72 29 7b 2e 70 69 6e 67 20 3d 20 28 76 6f 69 64 20 2a 29 78 64 67 5f 77 | _listener){.ping.=.(void.*)xdg_w |
| 15d60 | 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 2c 00 00 00 0b 20 20 20 20 20 20 20 20 61 29 3b 00 00 00 03 | m_base_pong},............a);.... |
| 15d80 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b | ..}....}........int.main(void).{ |
| 15da0 | 00 00 00 26 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 | ...&..struct.app.a.=.{.w.=.400,. |
| 15dc0 | 2e 68 20 3d 20 34 30 30 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f | .h.=.400};......signal(SIGINT,.o |
| 15de0 | 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f | n_sig);...!..a.d.=.wl_display_co |
| 15e00 | 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 | nnect(NULL);...'..a.reg.=.wl_dis |
| 15e20 | 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 1b 20 20 77 6c 5f | play_get_registry(a.d);......wl_ |
| 15e40 | 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 00 00 00 43 20 20 20 20 20 20 | registry_add_listener(...C...... |
| 15e60 | 61 2e 72 65 67 2c 20 26 28 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 | a.reg,.&(struct.wl_registry_list |
| 15e80 | 65 6e 65 72 29 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 2c 20 26 61 29 3b 00 00 00 | ener){registry_handler},.&a);... |
| 15ea0 | 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 | ...wl_display_roundtrip(a.d);... |
| 15ec0 | 2e 20 20 61 2e 77 73 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 | ...a.ws.=.wl_compositor_create_s |
| 15ee0 | 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f | urface(a.comp);...1..a.xs.=.xdg_ |
| 15f00 | 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e | wm_base_get_xdg_surface(a.wm,.a. |
| 15f20 | 77 73 29 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e | ws);.../..xdg_surface_add_listen |
| 15f40 | 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 | er(a.xs,.&xs_list,.&a);...(..a.x |
| 15f60 | 74 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 6c 28 61 2e 78 | t.=.xdg_surface_get_toplevel(a.x |
| 15f80 | 73 29 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e | s);...0..xdg_toplevel_add_listen |
| 15fa0 | 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 | er(a.xt,.&xt_list,.&a);...*..xdg |
| 15fc0 | 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f | _toplevel_set_title(a.xt,."wlclo |
| 15fe0 | 63 6b 22 29 3b 00 00 00 00 00 00 00 36 20 20 2f 2a 20 54 4f 20 4c 4f 43 4b 20 53 49 5a 45 3a 20 | ck");.......6../*.TO.LOCK.SIZE:. |
| 16000 | 53 65 74 20 6d 69 6e 20 61 6e 64 20 6d 61 78 20 74 6f 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 | Set.min.and.max.to.the.same.valu |
| 16020 | 65 73 2e 00 00 00 4f 20 20 20 20 20 54 4f 20 41 4c 4c 4f 57 20 52 45 53 49 5a 49 4e 47 3a 20 52 | es....O.....TO.ALLOW.RESIZING:.R |
| 16040 | 65 6d 6f 76 65 20 74 68 65 73 65 20 74 77 6f 20 6c 69 6e 65 73 20 6f 72 20 73 65 74 20 74 68 65 | emove.these.two.lines.or.set.the |
| 16060 | 6d 20 74 6f 20 64 69 66 66 65 72 65 6e 74 20 72 61 6e 67 65 73 2e 00 00 00 05 20 20 20 2a 2f 00 | m.to.different.ranges........*/. |
| 16080 | 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 | ..,..xdg_toplevel_set_min_size(a |
| 160a0 | 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | .xt,.400,.400);...,..xdg_topleve |
| 160c0 | 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 61 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 | l_set_max_size(a.xt,.400,.400);. |
| 160e0 | 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 | .........wl_surface_commit(a.ws) |
| 16100 | 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 | ;......wl_display_roundtrip(a.d) |
| 16120 | 3b 00 00 00 16 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 26 61 29 3b 00 00 00 39 20 | ;......allocate_buffer(&a);...9. |
| 16140 | 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f | .int.tfd.=.timerfd_create(CLOCK_ |
| 16160 | 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 | MONOTONIC,.TFD_CLOEXEC);...F..ti |
| 16180 | 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 | merfd_settime(tfd,.0,.&(struct.i |
| 161a0 | 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c | timerspec){{1,.0},.{1,.0}},.NULL |
| 161c0 | 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 1a 20 20 20 | );......while.(running).{....... |
| 161e0 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4e 20 20 20 20 73 | .wl_display_flush(a.d);...N....s |
| 16200 | 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 | truct.pollfd.pfds[2].=.{{wl_disp |
| 16220 | 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 | lay_get_fd(a.d),.POLLIN},.{tfd,. |
| 16240 | 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1e 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 | POLLIN}};........if.(poll(pfds,. |
| 16260 | 32 2c 20 2d 31 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 21 20 | 2,.-1).<.0)..........break;...!. |
| 16280 | 20 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 | ...if.(pfds[0].revents.&.POLLIN) |
| 162a0 | 00 00 00 1f 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 28 61 2e | ..........wl_display_dispatch(a. |
| 162c0 | 64 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 | d);...#....if.(pfds[1].revents.& |
| 162e0 | 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 | .POLLIN).{..........uint64_t.tic |
| 16300 | 6b 73 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 | ks;...'......read(tfd,.&ticks,.s |
| 16320 | 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 3b 00 00 00 15 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f | izeof(ticks));..........draw_clo |
| 16340 | 63 6b 28 26 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 0b 20 20 72 65 74 | ck(&a);........}......}......ret |
| 16360 | 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 df 00 00 00 00 | urn.0;....}5.................... |
| 16380 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b1 1a 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 163a0 | 00 00 00 35 81 5f d0 00 00 00 12 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 01 00 | ...5._.......................... |
| 163c0 | 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 00 00 00 00 00 00 | ................................ |
| 163e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 164a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 164c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 164e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16520 | 00 00 00 00 00 00 00 00 00 69 9d 92 94 04 01 00 00 00 00 00 f5 18 00 00 00 b9 00 00 00 00 00 00 | .........i...................... |
| 16540 | 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ..........}..................... |
| 16560 | 00 00 78 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 73 74 72 75 63 74 20 61 70 70 20 | ..x..................struct.app. |
| 16580 | 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 f5 18 00 00 00 79 00 00 00 00 00 00 00 00 00 00 00 | *a.=.d;.(void)x.....y........... |
| 165a0 | 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 00 | ................................ |
| 165c0 | 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 00 | .........5...................... |
| 165e0 | 00 78 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 | .x.............................. |
| 16600 | 00 f5 18 00 00 00 00 78 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 41 00 00 00 01 00 00 00 00 | .......x...............A........ |
| 16620 | 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 09 00 00 00 00 00 00 35 81 5f d0 00 00 00 13 00 | ...............j.......5._...... |
| 16640 | 00 00 15 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 ba 00 00 00 00 00 00 00 00 ff ff ff ff 00 | ................................ |
| 16660 | 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 00 00 | ................................ |
| 16680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 166a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 166c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 166e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 16780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 167a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 92 | .............................i.. |
| 167c0 | 95 04 01 00 00 00 08 00 f5 18 00 00 00 01 00 00 00 e3 00 00 00 ba 00 00 00 b3 00 00 00 12 23 69 | ..............................#i |
| 167e0 | 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 | nclude.<errno.h>....#include.<fc |
| 16800 | 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 | ntl.h>....#include.<math.h>....# |
| 16820 | 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 | include.<poll.h>....#include.<si |
| 16840 | 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 | gnal.h>....#include.<stdbool.h>. |
| 16860 | 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 75 64 | ...#include.<stdio.h>....#includ |
| 16880 | 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 73 74 72 69 6e 67 | e.<stdlib.h>....#include.<string |
| 168a0 | 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 | .h>....#include.<sys/mman.h>.... |
| 168c0 | 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 | #include.<sys/timerfd.h>....#inc |
| 168e0 | 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 | lude.<time.h>....#include.<unist |
| 16900 | 64 2e 68 3e 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 | d.h>....#include.<wayland-client |
| 16920 | 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 6c 2d 63 6c 69 65 6e | .h>...&#include."xdg-shell-clien |
| 16940 | 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 | t-protocol.h"........#ifndef.M_P |
| 16960 | 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 | I...##define.M_PI.3.141592653589 |
| 16980 | 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f | 79323846....#endif....#ifndef.M_ |
| 169a0 | 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 | PI_2...%#define.M_PI_2.1.5707963 |
| 169c0 | 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 | 2679489661923....#endif.......)s |
| 169e0 | 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e | tatic.volatile.sig_atomic_t.runn |
| 16a00 | 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 | ing.=.1;...3static.void.on_sig(i |
| 16a20 | 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 | nt.s).{.(void)s;.running.=.0;.}. |
| 16a40 | 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 | .......struct.app.{......struct. |
| 16a60 | 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | wl_display.*d;......struct.wl_re |
| 16a80 | 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 | gistry.*reg;......struct.wl_comp |
| 16aa0 | 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d | ositor.*comp;......struct.wl_shm |
| 16ac0 | 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a | .*shm;......struct.xdg_wm_base.* |
| 16ae0 | 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 | wm;......struct.wl_surface.*ws;. |
| 16b00 | 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a | .....struct.xdg_surface.*xs;.... |
| 16b20 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 | ..struct.xdg_toplevel.*xt;...... |
| 16b40 | 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 | void.*pixels;......struct.wl_buf |
| 16b60 | 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f | fer.*buf;......int.w,.h;......bo |
| 16b80 | 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 | ol.configured;....};.......)stat |
| 16ba0 | 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 | ic.int.create_shm_file(size_t.si |
| 16bc0 | 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 | ze).{......char.template[].=."/t |
| 16be0 | 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 | mp/wlclock-shm-XXXXXX";......int |
| 16c00 | 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 | .fd.=.mkstemp(template);......if |
| 16c20 | 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 | .(fd.<.0).exit(1);......unlink(t |
| 16c40 | 65 6d 70 6c 61 74 65 29 3b 00 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c | emplate);...=..if.(ftruncate(fd, |
| 16c60 | 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 | .(off_t)size).<.0).{.close(fd);. |
| 16c80 | 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 | exit(1);.}......return.fd;....}. |
| 16ca0 | 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 | ......,static.void.allocate_buff |
| 16cc0 | 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d | er(struct.app.*a).{......if.(!a- |
| 16ce0 | 3e 73 68 6d 29 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b | >shm).return;......if.(a->buf).{ |
| 16d00 | 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 | ........wl_buffer_destroy(a->buf |
| 16d20 | 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a | );...1....munmap(a->pixels,.(siz |
| 16d40 | 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 03 20 20 7d 00 00 | e_t)(a->w.*.a->h.*.4));......}.. |
| 16d60 | 00 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 28 20 20 | ....int.stride.=.a->w.*.4;...(.. |
| 16d80 | 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 20 2a 20 | size_t.size.=.(size_t)(stride.*. |
| 16da0 | 61 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f | a->h);...!..int.fd.=.create_shm_ |
| 16dc0 | 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 | file(size);...J..a->pixels.=.mma |
| 16de0 | 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 | p(NULL,.size,.PROT_READ.|.PROT_W |
| 16e00 | 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 4b 20 20 73 | RITE,.MAP_SHARED,.fd,.0);...K..s |
| 16e20 | 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d | truct.wl_shm_pool.*pool.=.wl_shm |
| 16e40 | 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f | _create_pool(a->shm,.fd,.(int32_ |
| 16e60 | 74 29 73 69 7a 65 29 3b 00 00 00 5a 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f | t)size);...Z..a->buf.=.wl_shm_po |
| 16e80 | 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 | ol_create_buffer(pool,.0,.a->w,. |
| 16ea0 | 61 2d 3e 68 2c 20 73 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 | a->h,.stride,.WL_SHM_FORMAT_ARGB |
| 16ec0 | 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 | 8888);......wl_shm_pool_destroy( |
| 16ee0 | 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 | pool);......close(fd);....}..... |
| 16f00 | 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f | .._static.void.draw_line(uint32_ |
| 16f20 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 | t.*px,.int.w,.int.h,.int.x0,.int |
| 16f40 | 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 | .y0,.int.x1,.int.y1,.uint32_t.c) |
| 16f60 | 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 | .{.../..int.dx.=.abs(x1.-.x0),.s |
| 16f80 | 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 | x.=.x0.<.x1.?.1.:.-1;...0..int.d |
| 16fa0 | 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 | y.=.-abs(y1.-.y0),.sy.=.y0.<.y1. |
| 16fc0 | 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 | ?.1.:.-1;......int.err.=.dx.+.dy |
| 16fe0 | 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 20 20 20 20 69 66 | ,.e2;......while.(1).{...D....if |
| 17000 | 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 | .(x0.>=.0.&&.x0.<.w.&&.y0.>=.0.& |
| 17020 | 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 | &.y0.<.h).px[y0.*.w.+.x0].=.c;.. |
| 17040 | 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 | .$....if.(x0.==.x1.&&.y0.==.y1). |
| 17060 | 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2a 20 | break;........e2.=.2.*.err;...*. |
| 17080 | 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 | ...if.(e2.>=.dy).{.err.+=.dy;.x0 |
| 170a0 | 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b | .+=.sx;.}...*....if.(e2.<=.dx).{ |
| 170c0 | 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 03 20 20 7d 00 00 | .err.+=.dx;.y0.+=.sy;.}......}.. |
| 170e0 | 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 | ..}.......Xstatic.void.draw_circ |
| 17100 | 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | le(uint32_t.*px,.int.w,.int.h,.i |
| 17120 | 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 | nt.cx,.int.cy,.int.r,.uint32_t.c |
| 17140 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 17160 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 17180 | 00 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 2b 78 2c 20 63 | ..L....int.pts[8][2].=.{{cx+x,.c |
| 171a0 | 79 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 63 79 2d 79 7d | y+y},.{cx-x,.cy+y},.{cx+x,.cy-y} |
| 171c0 | 2c 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.{cx-x,.cy-y},...M............. |
| 171e0 | 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2b | ........{cx+y,.cy+x},.{cx-y,.cy+ |
| 17200 | 78 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 7d 3b | x},.{cx+y,.cy-x},.{cx-y,.cy-x}}; |
| 17220 | 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 | ........for.(int.i.=.0;.i.<.8;.i |
| 17240 | 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 | ++)...M......if.(pts[i][0].>=.0. |
| 17260 | 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d | &&.pts[i][0].<.w.&&.pts[i][1].>= |
| 17280 | 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 | .0.&&.pts[i][1].<.h)...*........ |
| 172a0 | 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 | px[pts[i][1].*.w.+.pts[i][0]].=. |
| 172c0 | 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 | c;...C....if.(d.>.0).{.d.+=.4.*. |
| 172e0 | 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 | (x.-.y).+.10;.y--;.}.else.d.+=.4 |
| 17300 | 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 | .*.x.+.6;........x++;......}.... |
| 17320 | 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 | }.......'static.void.draw_clock( |
| 17340 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2b 20 20 69 66 20 28 21 61 2d 3e 70 69 | struct.app.*a).{...+..if.(!a->pi |
| 17360 | 78 65 6c 73 20 7c 7c 20 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 72 65 74 75 72 6e 3b 00 | xels.||.!a->configured).return;. |
| 17380 | 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 | .....time_t.tt.=.time(NULL);.... |
| 173a0 | 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 | ..struct.tm.tm_buf;......localti |
| 173c0 | 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f | me_r(&tt,.&tm_buf);......uint32_ |
| 173e0 | 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 | t.*px.=.a->pixels;......memset(p |
| 17400 | 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 | x,.0xff,.(size_t)(a->w.*.a->h.*. |
| 17420 | 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 | 4));...#..int.cx.=.a->w./.2,.cy. |
| 17440 | 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c | =.a->h./.2;.../..int.r.=.(a->w.< |
| 17460 | 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 | .a->h.?.a->w.:.a->h)./.2.-.10;.. |
| 17480 | 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | .5..draw_circle(px,.a->w,.a->h,. |
| 174a0 | 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 | cx,.cy,.r,.0xFF000000);......for |
| 174c0 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 | .(int.i.=.0;.i.<.12;.i++).{..... |
| 174e0 | 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d | ...double.ang.=.i./.12.0.*.2.*.M |
| 17500 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 | _PI.-.M_PI_2;..._....draw_line(p |
| 17520 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e | x,.a->w,.a->h,.cx.+.(int)(cos(an |
| 17540 | 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 | g).*.(r.-.10)),.cy.+.(int)(sin(a |
| 17560 | 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 5a 20 20 20 20 20 20 20 20 20 20 20 20 | ng).*.(r.-.10)),...Z............ |
| 17580 | 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 | ..cx.+.(int)(cos(ang).*.(r.-.2)) |
| 175a0 | 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 | ,.cy.+.(int)(sin(ang).*.(r.-.2)) |
| 175c0 | 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c | ,.0xFF000000);......}...7..doubl |
| 175e0 | 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 | e.sa.=.tm_buf.tm_sec./.60.0.*.2. |
| 17600 | 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 | *.M_PI.-.M_PI_2;...P..double.ma. |
| 17620 | 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 | =.(tm_buf.tm_min.+.tm_buf.tm_sec |
| 17640 | 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 | ./.60.0)./.60.0.*.2.*.M_PI.-.M_P |
| 17660 | 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 | I_2;...Z..double.ha.=.((tm_buf.t |
| 17680 | 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 | m_hour.%.12).+.(tm_buf.tm_min./. |
| 176a0 | 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | 60.0))./.12.0.*.2.*.M_PI.-.M_PI_ |
| 176c0 | 32 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | 2;...n..draw_line(px,.a->w,.a->h |
| 176e0 | 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 | ,.cx,.cy,.cx.+.(int)(cos(ha).*.r |
| 17700 | 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 | .*.0.5),.cy.+.(int)(sin(ha).*.r. |
| 17720 | 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c | *.0.5),.0xFF000000);...n..draw_l |
| 17740 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | ine(px,.a->w,.a->h,.cx,.cy,.cx.+ |
| 17760 | 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 63 79 20 2b 20 | .(int)(cos(ma).*.r.*.0.7),.cy.+. |
| 17780 | 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 | (int)(sin(ma).*.r.*.0.7),.0xFF00 |
| 177a0 | 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 | 0000);...n..draw_line(px,.a->w,. |
| 177c0 | 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 | a->h,.cx,.cy,.cx.+.(int)(cos(sa) |
| 177e0 | 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 | .*.r.*.0.9),.cy.+.(int)(sin(sa). |
| 17800 | 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c | *.r.*.0.9),.0xFFFF0000);...)..wl |
| 17820 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 | _surface_attach(a->ws,.a->buf,.0 |
| 17840 | 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e | ,.0);...-..wl_surface_damage(a-> |
| 17860 | 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 | ws,.0,.0,.a->w,.a->h);......wl_s |
| 17880 | 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 | urface_commit(a->ws);....}...... |
| 178a0 | 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 | .astatic.void.xt_cfg(void.*d,.st |
| 178c0 | 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 | ruct.xdg_toplevel.*xt,.int32_t.w |
| 178e0 | 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 | ,.int32_t.h,.struct.wl_array.*st |
| 17900 | 29 20 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 28 76 6f 69 | ).{...(..struct.app.*a.=.d;.(voi |
| 17920 | 64 29 78 74 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 | d)xt;.(void)st;...3..if.(w.>.0.& |
| 17940 | 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d | &.h.>.0.&&.(w.!=.a->w.||.h.!=.a- |
| 17960 | 3e 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 | >h)).{........a->w.=.w;.a->h.=.h |
| 17980 | 3b 00 00 00 23 20 20 20 20 69 66 20 28 61 2d 3e 73 68 6d 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 | ;...#....if.(a->shm).allocate_bu |
| 179a0 | 66 66 65 72 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 | ffer(a);......}....}.......Astat |
| 179c0 | 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | ic.void.xs_cfg(void.*d,.struct.x |
| 179e0 | 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 | dg_surface.*xs,.uint32_t.s).{... |
| 17a00 | 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 | ...struct.app.*a.=.d;...#..xdg_s |
| 17a20 | 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 29 3b 00 00 00 17 | urface_ack_configure(xs,.s);.... |
| 17a40 | 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 2c 20 20 69 66 20 | ..a->configured.=.true;...,..if. |
| 17a60 | 28 21 61 2d 3e 62 75 66 20 26 26 20 61 2d 3e 73 68 6d 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 | (!a->buf.&&.a->shm).allocate_buf |
| 17a80 | 66 65 72 28 61 29 3b 00 00 00 10 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 01 7d | fer(a);......draw_clock(a);....} |
| 17aa0 | 00 00 00 00 00 00 00 5d 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 | .......]static.void.wm_ping(void |
| 17ac0 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e | .*d,.struct.xdg_wm_base.*wm,.uin |
| 17ae0 | 74 33 32 5f 74 20 73 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 | t32_t.s).{.xdg_wm_base_pong(wm,. |
| 17b00 | 73 29 3b 20 7d 00 00 00 00 00 00 00 71 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 | s);.}.......qstatic.void.registr |
| 17b20 | 79 5f 68 61 6e 64 6c 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 | y_handler(void.*data,.struct.wl_ |
| 17b40 | 72 65 67 69 73 74 72 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 | registry.*reg,.uint32_t.id,.cons |
| 17b60 | 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 | t.char.*iface,.uint32_t.ver).{.. |
| 17b80 | 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 | ....struct.app.*a.=.data;...h..i |
| 17ba0 | 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | f.(!strcmp(iface,."wl_compositor |
| 17bc0 | 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | ")).a->comp.=.wl_registry_bind(r |
| 17be0 | 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 | eg,.id,.&wl_compositor_interface |
| 17c00 | 2c 20 34 29 3b 00 00 00 5e 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 | ,.4);...^..else.if.(!strcmp(ifac |
| 17c20 | 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 | e,."wl_shm")).a->shm.=.wl_regist |
| 17c40 | 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | ry_bind(reg,.id,.&wl_shm_interfa |
| 17c60 | 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | ce,.1);...+..else.if.(!strcmp(if |
| 17c80 | 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d | ace,."xdg_wm_base")).{...A....a- |
| 17ca0 | 3e 77 6d 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 69 64 2c 20 | >wm.=.wl_registry_bind(reg,.id,. |
| 17cc0 | 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 00 00 41 20 | &xdg_wm_base_interface,.1);...A. |
| 17ce0 | 20 20 20 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 | ...static.const.struct.xdg_wm_ba |
| 17d00 | 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 77 6d 5f 70 69 6e 67 7d 3b | se_listener.wm_list.=.{wm_ping}; |
| 17d20 | 00 00 00 31 20 20 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 | ...1....xdg_wm_base_add_listener |
| 17d40 | 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 | (a->wm,.&wm_list,.a);......}.... |
| 17d60 | 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 26 20 20 73 | }........int.main(void).{...&..s |
| 17d80 | 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 | truct.app.a.=.{.w.=.400,..h.=.40 |
| 17da0 | 30 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b | 0};......signal(SIGINT,.on_sig); |
| 17dc0 | 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e | ...2..if.(!(a.d.=.wl_display_con |
| 17de0 | 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 | nect(NULL))).return.1;...'..a.re |
| 17e00 | 67 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 61 2e 64 29 | g.=.wl_display_get_registry(a.d) |
| 17e20 | 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | ;...I..static.const.struct.wl_re |
| 17e40 | 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 | gistry_listener.reg_list.=.{regi |
| 17e60 | 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | stry_handler};...1..wl_registry_ |
| 17e80 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 | add_listener(a.reg,.®_list,.& |
| 17ea0 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 17ec0 | 64 29 3b 00 00 00 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c | d);...+..if.(!a.comp.||.!a.shm.| |
| 17ee0 | 7c 20 21 61 2e 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 | |.!a.wm).return.1;..........a.ws |
| 17f00 | 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 65 28 | .=.wl_compositor_create_surface( |
| 17f20 | 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 | a.comp);...1..a.xs.=.xdg_wm_base |
| 17f40 | 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 | _get_xdg_surface(a.wm,.a.ws);... |
| 17f60 | 3e 20 20 73 74 61 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 | >..static.const.struct.xdg_surfa |
| 17f80 | 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 | ce_listener.xs_list.=.{xs_cfg};. |
| 17fa0 | 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | ../..xdg_surface_add_listener(a. |
| 17fc0 | 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 | xs,.&xs_list,.&a);...(..a.xt.=.x |
| 17fe0 | 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 | dg_surface_get_toplevel(a.xs);.. |
| 18000 | 00 4e 20 20 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 | .N..static.const.struct.xdg_topl |
| 18020 | 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c | evel_listener.xt_list.=.{xt_cfg, |
| 18040 | 20 28 76 6f 69 64 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 | .(void*)on_sig};...0..xdg_toplev |
| 18060 | 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 | el_add_listener(a.xt,.&xt_list,. |
| 18080 | 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 | &a);...*..xdg_toplevel_set_title |
| 180a0 | 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c 20 20 78 64 67 5f | (a.xt,."wlclock");.......,..xdg_ |
| 180c0 | 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 34 30 30 2c | toplevel_set_min_size(a.xt,.400, |
| 180e0 | 20 34 30 30 29 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 | .400);...,..xdg_toplevel_set_max |
| 18100 | 5f 73 69 7a 65 28 61 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 00 00 00 00 00 00 1a 20 20 | _size(a.xt,.400,.400);.......... |
| 18120 | 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 69 6e | wl_surface_commit(a.ws);...9..in |
| 18140 | 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e | t.tfd.=.timerfd_create(CLOCK_MON |
| 18160 | 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 | OTONIC,.TFD_CLOEXEC);...F..timer |
| 18180 | 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d | fd_settime(tfd,.0,.&(struct.itim |
| 181a0 | 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 | erspec){{1,.0},.{1,.0}},.NULL);. |
| 181c0 | 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 | ......5..while.(running.&&.wl_di |
| 181e0 | 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e | splay_dispatch(a.d).!=.-1).{...N |
| 18200 | 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c | ....struct.pollfd.pfds[2].=.{{wl |
| 18220 | 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b | _display_get_fd(a.d),.POLLIN},.{ |
| 18240 | 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 25 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 | tfd,.POLLIN}};...%....if.(poll(p |
| 18260 | 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 62 72 65 61 6b 3b 00 00 00 23 20 20 20 20 69 | fds,.2,.-1).<.0).break;...#....i |
| 18280 | 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 | f.(pfds[1].revents.&.POLLIN).{.. |
| 182a0 | 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 3f 20 20 20 20 20 | ........uint64_t.ticks;...?..... |
| 182c0 | 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 | .if.(read(tfd,.&ticks,.sizeof(ti |
| 182e0 | 63 6b 73 29 29 20 3e 20 30 29 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 29 3b 35 81 f5 18 00 00 | cks)).>.0).draw_clock(&a);5..... |
| 18300 | 00 00 01 00 00 00 09 00 00 00 b2 00 00 00 2f 00 00 00 e0 00 00 00 07 00 00 00 29 00 00 00 00 00 | ............../...........)..... |
| 18320 | 00 00 ed 18 00 00 00 00 00 00 72 1a 00 00 00 00 00 00 35 81 5f d0 00 00 00 14 00 00 00 16 00 00 | ..........r.......5._........... |
| 18340 | 00 00 00 00 00 00 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | ................................ |
| 18360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 183e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 184a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e bc 04 01 00 00 | ........................i....... |
| 184c0 | 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 e8 00 00 00 1f 23 64 65 66 69 6e 65 | .........................#define |
| 184e0 | 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 | ._POSIX_C_SOURCE.200809L...&#inc |
| 18500 | 6c 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 | lude."xdg-shell-client-protocol. |
| 18520 | 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 | h"....#include.<errno.h>....#inc |
| 18540 | 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 | lude.<fcntl.h>....#include.<math |
| 18560 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 | .h>....#include.<poll.h>....#inc |
| 18580 | 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | lude.<signal.h>....#include.<std |
| 185a0 | 62 6f 6f 6c 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 00 00 | bool.h>....#include.<stdio.h>... |
| 185c0 | 13 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 | .#include.<stdlib.h>....#include |
| 185e0 | 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 | .<string.h>....#include.<sys/mma |
| 18600 | 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e | n.h>....#include.<sys/timerfd.h> |
| 18620 | 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 | ....#include.<time.h>....#includ |
| 18640 | 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e | e.<unistd.h>....#include.<waylan |
| 18660 | 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 | d-client.h>........#ifndef.M_PI. |
| 18680 | 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 | ..##define.M_PI.3.14159265358979 |
| 186a0 | 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 | 323846....#endif....#ifndef.M_PI |
| 186c0 | 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 | _2...%#define.M_PI_2.1.570796326 |
| 186e0 | 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 | 79489661923....#endif.......)sta |
| 18700 | 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e | tic.volatile.sig_atomic_t.runnin |
| 18720 | 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 | g.=.1;....static.void.on_sig(int |
| 18740 | 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 | .s).{......(void)s;......running |
| 18760 | 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 | .=.0;....}........struct.app.{.. |
| 18780 | 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 | ....struct.wl_display.*d;......s |
| 187a0 | 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 | truct.wl_registry.*reg;......str |
| 187c0 | 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 | uct.wl_compositor.*comp;......st |
| 187e0 | 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 | ruct.wl_shm.*shm;......struct.xd |
| 18800 | 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 | g_wm_base.*wm;......struct.wl_su |
| 18820 | 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 | rface.*ws;......struct.xdg_surfa |
| 18840 | 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | ce.*xs;......struct.xdg_toplevel |
| 18860 | 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 | .*xt;......void.*pixels;......st |
| 18880 | 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c | ruct.wl_buffer.*buf;......int.w, |
| 188a0 | 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 02 7d 3b 00 | .h;......bool.configured;....};. |
| 188c0 | 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c | ......)static.int.create_shm_fil |
| 188e0 | 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c | e(size_t.size).{......char.templ |
| 18900 | 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 | ate[].=."/tmp/wlclock-shm-XXXXXX |
| 18920 | 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 | ";......int.fd.=.mkstemp(templat |
| 18940 | 65 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 | e);......if.(fd.<.0)........exit |
| 18960 | 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 | (1);......unlink(template);...'. |
| 18980 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 | .if.(ftruncate(fd,.(off_t)size). |
| 189a0 | 3c 20 30 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 | <.0).{........close(fd);........ |
| 189c0 | 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 | exit(1);......}......return.fd;. |
| 189e0 | 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 | ...}.......,static.void.allocate |
| 18a00 | 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 | _buffer(struct.app.*a).{......if |
| 18a20 | 20 28 21 61 2d 3e 73 68 6d 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 | .(!a->shm)........return;......i |
| 18a40 | 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 | f.(a->buf).{........wl_buffer_de |
| 18a60 | 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e | stroy(a->buf);...1....munmap(a-> |
| 18a80 | 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 | pixels,.(size_t)(a->w.*.a->h.*.4 |
| 18aa0 | 29 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e | ));......}......int.stride.=.a-> |
| 18ac0 | 77 20 2a 20 34 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f | w.*.4;...(..size_t.size.=.(size_ |
| 18ae0 | 74 29 28 73 74 72 69 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d | t)(stride.*.a->h);...!..int.fd.= |
| 18b00 | 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e | .create_shm_file(size);...J..a-> |
| 18b20 | 70 69 78 65 6c 73 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 | pixels.=.mmap(NULL,.size,.PROT_R |
| 18b40 | 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 | EAD.|.PROT_WRITE,.MAP_SHARED,.fd |
| 18b60 | 2c 20 30 29 3b 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 | ,.0);...K..struct.wl_shm_pool.*p |
| 18b80 | 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c | ool.=.wl_shm_create_pool(a->shm, |
| 18ba0 | 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d 3e 62 75 66 | .fd,.(int32_t)size);...A..a->buf |
| 18bc0 | 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f | .=.wl_shm_pool_create_buffer(poo |
| 18be0 | 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 69 64 65 2c 00 00 00 3d 20 20 20 | l,.0,.a->w,.a->h,.stride,...=... |
| 18c00 | 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 | ................................ |
| 18c20 | 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 | ..WL_SHM_FORMAT_ARGB8888);...... |
| 18c40 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 | wl_shm_pool_destroy(pool);...... |
| 18c60 | 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f | close(fd);....}.......Istatic.vo |
| 18c80 | 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 | id.draw_line(uint32_t.*px,.int.w |
| 18ca0 | 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c | ,.int.h,.int.x0,.int.y0,.int.x1, |
| 18cc0 | 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 | ...+......................int.y1 |
| 18ce0 | 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 | ,.uint32_t.c).{.../..int.dx.=.ab |
| 18d00 | 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d | s(x1.-.x0),.sx.=.x0.<.x1.?.1.:.- |
| 18d20 | 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 | 1;...0..int.dy.=.-abs(y1.-.y0),. |
| 18d40 | 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 | sy.=.y0.<.y1.?.1.:.-1;......int. |
| 18d60 | 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 | err.=.dx.+.dy,.e2;......while.(1 |
| 18d80 | 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 | ).{.../....if.(x0.>=.0.&&.x0.<.w |
| 18da0 | 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 | .&&.y0.>=.0.&&.y0.<.h).......... |
| 18dc0 | 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 | px[y0.*.w.+.x0].=.c;........if.( |
| 18de0 | 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 | x0.==.x1.&&.y0.==.y1)..........b |
| 18e00 | 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 | reak;........e2.=.2.*.err;...... |
| 18e20 | 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b | ..if.(e2.>=.dy).{..........err.+ |
| 18e40 | 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 | =.dy;..........x0.+=.sx;........ |
| 18e60 | 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 | }........if.(e2.<=.dx).{........ |
| 18e80 | 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 | ..err.+=.dx;..........y0.+=.sy;. |
| 18ea0 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 | .......}......}....}.......Jstat |
| 18ec0 | 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 | ic.void.draw_circle(uint32_t.*px |
| 18ee0 | 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 | ,.int.w,.int.h,.int.cx,.int.cy,. |
| 18f00 | 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int.r,...%...................... |
| 18f20 | 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 | ..uint32_t.c).{..."..int.x.=.0,. |
| 18f40 | 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 | y.=.r,.d.=.3.-.2.*.r;......while |
| 18f60 | 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d | .(y.>=.x).{...J....int.pts[8][2] |
| 18f80 | 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 | .=.{{cx.+.x,.cy.+.y},.{cx.-.x,.c |
| 18fa0 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 | y.+.y},.{cx.+.x,.cy.-.y},...J... |
| 18fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 | ..................{cx.-.x,.cy.-. |
| 18fe0 | 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 | y},.{cx.+.y,.cy.+.x},.{cx.-.y,.c |
| 19000 | 79 20 2b 20 78 7d 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 | y.+.x},...9..................... |
| 19020 | 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 | {cx.+.y,.cy.-.x},.{cx.-.y,.cy.-. |
| 19040 | 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 | x}};........for.(int.i.=.0;.i.<. |
| 19060 | 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e | 8;.i++)...M......if.(pts[i][0].> |
| 19080 | 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 | =.0.&&.pts[i][0].<.w.&&.pts[i][1 |
| 190a0 | 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 | ].>=.0.&&.pts[i][1].<.h)...*.... |
| 190c0 | 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d | ....px[pts[i][1].*.w.+.pts[i][0] |
| 190e0 | 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 | ].=.c;........if.(d.>.0).{...... |
| 19100 | 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 | ....d.+=.4.*.(x.-.y).+.10;...... |
| 19120 | 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 | ....y--;........}.else.......... |
| 19140 | 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 | d.+=.4.*.x.+.6;........x++;..... |
| 19160 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f | .}....}.......'static.void.draw_ |
| 19180 | 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 23 20 20 69 66 20 28 | clock(struct.app.*a).{...#..if.( |
| 191a0 | 21 61 2d 3e 70 69 78 65 6c 73 20 7c 7c 20 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 | !a->pixels.||.!a->configured)... |
| 191c0 | 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 | .....return;......time_t.tt.=.ti |
| 191e0 | 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b | me(NULL);......struct.tm.tm_buf; |
| 19200 | 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b | ......localtime_r(&tt,.&tm_buf); |
| 19220 | 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 | ......uint32_t.*px.=.a->pixels;. |
| 19240 | 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 | .....memset(px,.0xff,.(size_t)(a |
| 19260 | 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 | ->w.*.a->h.*.4));...#..int.cx.=. |
| 19280 | 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e | a->w./.2,.cy.=.a->h./.2;.../..in |
| 192a0 | 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 | t.r.=.(a->w.<.a->h.?.a->w.:.a->h |
| 192c0 | 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c | )./.2.-.10;...5..draw_circle(px, |
| 192e0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 | .a->w,.a->h,.cx,.cy,.r,.0xFF0000 |
| 19300 | 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 | 00);......for.(int.i.=.0;.i.<.12 |
| 19320 | 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f | ;.i++).{........double.ang.=.i./ |
| 19340 | 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 | .12.0.*.2.*.M_PI.-.M_PI_2;...>.. |
| 19360 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | ..draw_line(px,.a->w,.a->h,.cx.+ |
| 19380 | 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e | .(int)(cos(ang).*.(r.-.10)),...N |
| 193a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 | ..............cy.+.(int)(sin(ang |
| 193c0 | 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e | ).*.(r.-.10)),.cx.+.(int)(cos(an |
| 193e0 | 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g).*.(r.-.2)),...:.............. |
| 19400 | 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 | cy.+.(int)(sin(ang).*.(r.-.2)),. |
| 19420 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 | 0xFF000000);......}...7..double. |
| 19440 | 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 | sa.=.tm_buf.tm_sec./.60.0.*.2.*. |
| 19460 | 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 | M_PI.-.M_PI_2;...P..double.ma.=. |
| 19480 | 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f | (tm_buf.tm_min.+.tm_buf.tm_sec./ |
| 194a0 | 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | .60.0)./.60.0.*.2.*.M_PI.-.M_PI_ |
| 194c0 | 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 | 2;......double.ha.=...J......((t |
| 194e0 | 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d | m_buf.tm_hour.%.12).+.(tm_buf.tm |
| 19500 | 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | _min./.60.0))./.12.0.*.2.*.M_PI. |
| 19520 | 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e | -..........M_PI_2;...B..draw_lin |
| 19540 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 | e(px,.a->w,.a->h,.cx,.cy,.cx.+.( |
| 19560 | 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 | int)(cos(ha).*.r.*.0.5),...7.... |
| 19580 | 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a | ........cy.+.(int)(sin(ha).*.r.* |
| 195a0 | 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 | .0.5),.0xFF000000);...B..draw_li |
| 195c0 | 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | ne(px,.a->w,.a->h,.cx,.cy,.cx.+. |
| 195e0 | 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 | (int)(cos(ma).*.r.*.0.7),...7... |
| 19600 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 | .........cy.+.(int)(sin(ma).*.r. |
| 19620 | 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c | *.0.7),.0xFF000000);...B..draw_l |
| 19640 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | ine(px,.a->w,.a->h,.cx,.cy,.cx.+ |
| 19660 | 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 | .(int)(cos(sa).*.r.*.0.9),...7.. |
| 19680 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 | ..........cy.+.(int)(sin(sa).*.r |
| 196a0 | 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 | .*.0.9),.0xFFFF0000);...)..wl_su |
| 196c0 | 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 | rface_attach(a->ws,.a->buf,.0,.0 |
| 196e0 | 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c | );...-..wl_surface_damage(a->ws, |
| 19700 | 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 | .0,.0,.a->w,.a->h);......wl_surf |
| 19720 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 | ace_commit(a->ws);....}.......Js |
| 19740 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 19760 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 19780 | 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.h,...)................... |
| 197a0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 | struct.wl_array.*st).{......stru |
| 197c0 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 | ct.app.*a.=.d;......(void)xt;... |
| 197e0 | 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | ...(void)st;...3..if.(w.>.0.&&.h |
| 19800 | 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 | .>.0.&&.(w.!=.a->w.||.h.!=.a->h) |
| 19820 | 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 | ).{........a->w.=.w;........a->h |
| 19840 | 20 3d 20 68 3b 00 00 00 0f 20 20 20 20 69 66 20 28 61 2d 3e 73 68 6d 29 00 00 00 19 20 20 20 20 | .=.h;........if.(a->shm)........ |
| 19860 | 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 | ..allocate_buffer(a);......}.... |
| 19880 | 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 | }.......Astatic.void.xs_cfg(void |
| 198a0 | 20 2a 64 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 6e | .*d,.struct.xdg_surface.*xs,.uin |
| 198c0 | 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | t32_t.s).{......struct.app.*a.=. |
| 198e0 | 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 | d;...#..xdg_surface_ack_configur |
| 19900 | 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 | e(xs,.s);......a->configured.=.t |
| 19920 | 72 75 65 3b 00 00 00 18 20 20 69 66 20 28 21 61 2d 3e 62 75 66 20 26 26 20 61 2d 3e 73 68 6d 29 | rue;......if.(!a->buf.&&.a->shm) |
| 19940 | 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 10 20 | ........allocate_buffer(a);..... |
| 19960 | 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 | .draw_clock(a);....}.......Bstat |
| 19980 | 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | ic.void.wm_ping(void.*d,.struct. |
| 199a0 | 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 | xdg_wm_base.*wm,.uint32_t.s).{.. |
| 199c0 | 00 1a 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 | ....xdg_wm_base_pong(wm,.s);.... |
| 199e0 | 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 | }.......Nstatic.void.registry_ha |
| 19a00 | 6e 64 6c 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 72 65 67 69 | ndler(void.*data,.struct.wl_regi |
| 19a20 | 73 74 72 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 | stry.*reg,.uint32_t.id,...?..... |
| 19a40 | 20 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 | ........................const.ch |
| 19a60 | 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 | ar.*iface,.uint32_t.ver).{...... |
| 19a80 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 | struct.app.*a.=.data;...&..if.(! |
| 19aa0 | 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 | strcmp(iface,."wl_compositor")). |
| 19ac0 | 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | ..E....a->comp.=.wl_registry_bin |
| 19ae0 | 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 | d(reg,.id,.&wl_compositor_interf |
| 19b00 | 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.4);...$..else.if.(!strcmp(i |
| 19b20 | 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d | face,."wl_shm"))...=....a->shm.= |
| 19b40 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 | .wl_registry_bind(reg,.id,.&wl_s |
| 19b60 | 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 | hm_interface,.1);...+..else.if.( |
| 19b80 | 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b | !strcmp(iface,."xdg_wm_base")).{ |
| 19ba0 | 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ...A....a->wm.=.wl_registry_bind |
| 19bc0 | 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 | (reg,.id,.&xdg_wm_base_interface |
| 19be0 | 2c 20 31 29 3b 00 00 00 41 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | ,.1);...A....static.const.struct |
| 19c00 | 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 6c 69 73 74 20 3d 20 | .xdg_wm_base_listener.wm_list.=. |
| 19c20 | 7b 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 | {wm_ping};...1....xdg_wm_base_ad |
| 19c40 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 | d_listener(a->wm,.&wm_list,.a);. |
| 19c60 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 | .....}....}........int.main(void |
| 19c80 | 29 20 7b 00 00 00 26 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 | ).{...&..struct.app.a.=.{.w.=.40 |
| 19ca0 | 30 2c 20 2e 68 20 3d 20 34 30 30 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 | 0,..h.=.400};......signal(SIGINT |
| 19cc0 | 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 | ,.on_sig);...(..if.(!(a.d.=.wl_d |
| 19ce0 | 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 00 00 00 0d 20 20 20 20 72 65 | isplay_connect(NULL)))........re |
| 19d00 | 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f | turn.1;...'..a.reg.=.wl_display_ |
| 19d20 | 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 | get_registry(a.d);...I..static.c |
| 19d40 | 6f 6e 73 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 | onst.struct.wl_registry_listener |
| 19d60 | 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 | .reg_list.=.{registry_handler};. |
| 19d80 | 00 00 31 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 61 2e | ..1..wl_registry_add_listener(a. |
| 19da0 | 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 | reg,.®_list,.&a);......wl_dis |
| 19dc0 | 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 | play_roundtrip(a.d);...!..if.(!a |
| 19de0 | 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 | .comp.||.!a.shm.||.!a.wm)....... |
| 19e00 | 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f | .return.1;..........a.ws.=.wl_co |
| 19e20 | 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b | mpositor_create_surface(a.comp); |
| 19e40 | 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 | ...1..a.xs.=.xdg_wm_base_get_xdg |
| 19e60 | 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 | _surface(a.wm,.a.ws);...>..stati |
| 19e80 | 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 74 65 | c.const.struct.xdg_surface_liste |
| 19ea0 | 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 | ner.xs_list.=.{xs_cfg};.../..xdg |
| 19ec0 | 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f | _surface_add_listener(a.xs,.&xs_ |
| 19ee0 | 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 | list,.&a);...(..a.xt.=.xdg_surfa |
| 19f00 | 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4f 20 20 73 74 61 74 | ce_get_toplevel(a.xs);...O..stat |
| 19f20 | 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 65 6c 5f 6c 69 73 | ic.const.struct.xdg_toplevel_lis |
| 19f40 | 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a | tener.xt_list.=.{xt_cfg,.(void.* |
| 19f60 | 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f | )on_sig};...0..xdg_toplevel_add_ |
| 19f80 | 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 | listener(a.xt,.&xt_list,.&a);... |
| 19fa0 | 2a 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 61 2e 78 74 2c 20 | *..xdg_toplevel_set_title(a.xt,. |
| 19fc0 | 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | "wlclock");.......,..xdg_topleve |
| 19fe0 | 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 | l_set_min_size(a.xt,.400,.400);. |
| 1a000 | 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 61 | ..,..xdg_toplevel_set_max_size(a |
| 1a020 | 2e 78 74 2c 20 34 30 30 2c 20 34 30 30 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 | .xt,.400,.400);..........wl_surf |
| 1a040 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d | ace_commit(a.ws);...9..int.tfd.= |
| 1a060 | 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c | .timerfd_create(CLOCK_MONOTONIC, |
| 1a080 | 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 | .TFD_CLOEXEC);...F..timerfd_sett |
| 1a0a0 | 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 | ime(tfd,.0,.&(struct.itimerspec) |
| 1a0c0 | 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 | {{1,.0},.{1,.0}},.NULL);.......5 |
| 1a0e0 | 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | ..while.(running.&&.wl_display_d |
| 1a100 | 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 20 73 74 72 | ispatch(a.d).!=.-1).{...N....str |
| 1a120 | 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 | uct.pollfd.pfds[2].=.{{wl_displa |
| 1a140 | 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f | y_get_fd(a.d),.POLLIN},.{tfd,.PO |
| 1a160 | 4c 4c 49 4e 7d 7d 3b 00 00 00 1e 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c | LLIN}};........if.(poll(pfds,.2, |
| 1a180 | 20 2d 31 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 23 20 20 20 | .-1).<.0)..........break;...#... |
| 1a1a0 | 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b | .if.(pfds[1].revents.&.POLLIN).{ |
| 1a1c0 | 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 2f 20 20 20 | ..........uint64_t.ticks;.../... |
| 1a1e0 | 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 | ...if.(read(tfd,.&ticks,.sizeof( |
| 1a200 | 74 69 63 6b 73 29 29 20 3e 20 30 29 00 00 00 17 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f | ticks)).>.0)............draw_clo |
| 1a220 | 63 6b 28 26 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 0d 20 20 63 6c 6f | ck(&a);........}......}......clo |
| 1a240 | 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e | se(tfd);......wl_display_disconn |
| 1a260 | 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 | ect(a.d);......return.0;....}5.. |
| 1a280 | 18 00 00 00 00 00 00 00 00 00 00 00 00 e8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a2a0 | 00 00 00 00 00 f0 1a 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 15 00 00 00 | .....................5._........ |
| 1a2c0 | 17 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 | ................................ |
| 1a2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e bd 04 | ...........................i.... |
| 1a440 | 01 00 00 00 00 00 f5 18 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 | ............................}... |
| 1a460 | 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ad 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a480 | 01 00 00 00 19 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 f5 18 | .......xdg_toplevel_set_max_si.. |
| 1a4a0 | 00 00 00 ae 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 78 00 00 00 00 00 00 00 00 00 00 | .....................x.......... |
| 1a4c0 | 00 01 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 | .....Pstatic.void.xt_cfg(void.*d |
| 1a4e0 | 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 | ,.struct.xdg_toplevel.*xt,.int32 |
| 1a500 | 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 f5 18 00 00 00 79 00 00 00 00 | _t.w,.int32_t.h,.struc.....y.... |
| 1a520 | 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 f5 18 | ................................ |
| 1a540 | 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 00 00 | ................5............... |
| 1a560 | 00 00 00 00 00 00 00 00 78 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........x...P................... |
| 1a580 | 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 78 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 35 00 | ..............x...P...........5. |
| 1a5a0 | 00 00 19 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 f5 18 | ................................ |
| 1a5c0 | 00 00 00 00 ad 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 01 00 00 00 00 18 00 00 | ................................ |
| 1a5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 16 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 16 00 00 00 18 | ....................5._......... |
| 1a600 | 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 bf 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 1a620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e be 04 01 | ..........................i..... |
| 1a780 | 00 00 00 0a 00 f5 18 00 00 00 01 00 00 00 e9 00 00 00 bf 00 00 00 b8 00 00 00 12 23 69 6e 63 6c | ...........................#incl |
| 1a7a0 | 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c | ude.<errno.h>....#include.<fcntl |
| 1a7c0 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 | .h>....#include.<math.h>....#inc |
| 1a7e0 | 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 | lude.<poll.h>....#include.<signa |
| 1a800 | 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 | l.h>....#include.<stdbool.h>.... |
| 1a820 | 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 75 64 65 20 3c | #include.<stdio.h>....#include.< |
| 1a840 | 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 3e | stdlib.h>....#include.<string.h> |
| 1a860 | 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e | ....#include.<sys/mman.h>....#in |
| 1a880 | 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 | clude.<sys/timerfd.h>....#includ |
| 1a8a0 | 65 20 3c 74 69 6d 65 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 | e.<time.h>....#include.<unistd.h |
| 1a8c0 | 3e 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 | >....#include.<wayland-client.h> |
| 1a8e0 | 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 65 6e 74 2d 70 | ...&#include."xdg-shell-client-p |
| 1a900 | 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 | rotocol.h"........#ifndef.M_PI.. |
| 1a920 | 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 | .##define.M_PI.3.141592653589793 |
| 1a940 | 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f | 23846....#endif....#ifndef.M_PI_ |
| 1a960 | 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 | 2...%#define.M_PI_2.1.5707963267 |
| 1a980 | 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 | 9489661923....#endif.......)stat |
| 1a9a0 | 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 | ic.volatile.sig_atomic_t.running |
| 1a9c0 | 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 | .=.1;...3static.void.on_sig(int. |
| 1a9e0 | 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 | s).{.(void)s;.running.=.0;.}.... |
| 1aa00 | 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f | ....struct.app.{......struct.wl_ |
| 1aa20 | 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 | display.*d;......struct.wl_regis |
| 1aa40 | 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 | try.*reg;......struct.wl_composi |
| 1aa60 | 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 | tor.*comp;......struct.wl_shm.*s |
| 1aa80 | 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b | hm;......struct.xdg_wm_base.*wm; |
| 1aaa0 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 | ......struct.wl_surface.*ws;.... |
| 1aac0 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 | ..struct.xdg_surface.*xs;......s |
| 1aae0 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 | truct.xdg_toplevel.*xt;......voi |
| 1ab00 | 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 | d.*pixels;......struct.wl_buffer |
| 1ab20 | 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 | .*buf;......int.w,.h;......bool. |
| 1ab40 | 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 | configured;....};.......)static. |
| 1ab60 | 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 | int.create_shm_file(size_t.size) |
| 1ab80 | 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f | .{......char.template[].=."/tmp/ |
| 1aba0 | 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 | wlclock-shm-XXXXXX";......int.fd |
| 1abc0 | 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 | .=.mkstemp(template);......if.(f |
| 1abe0 | 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 | d.<.0).exit(1);......unlink(temp |
| 1ac00 | 6c 61 74 65 29 3b 00 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f | late);...=..if.(ftruncate(fd,.(o |
| 1ac20 | 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 | ff_t)size).<.0).{.close(fd);.exi |
| 1ac40 | 74 28 31 29 3b 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 | t(1);.}......return.fd;....}.... |
| 1ac60 | 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | ...,static.void.allocate_buffer( |
| 1ac80 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 66 20 28 21 61 2d 3e 73 68 | struct.app.*a).{...0..if.(!a->sh |
| 1aca0 | 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 | m.||.a->w.<=.0.||.a->h.<=.0).ret |
| 1acc0 | 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 | urn;......if.(a->buf).{........w |
| 1ace0 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 | l_buffer_destroy(a->buf);...1... |
| 1ad00 | 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 | .munmap(a->pixels,.(size_t)(a->w |
| 1ad20 | 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 03 20 20 7d 00 00 00 18 20 20 69 6e 74 20 73 | .*.a->h.*.4));......}......int.s |
| 1ad40 | 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 | tride.=.a->w.*.4;...(..size_t.si |
| 1ad60 | 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 20 2a 20 61 2d 3e 68 29 3b 00 00 00 | ze.=.(size_t)(stride.*.a->h);... |
| 1ad80 | 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 | !..int.fd.=.create_shm_file(size |
| 1ada0 | 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 | );...J..a->pixels.=.mmap(NULL,.s |
| 1adc0 | 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 | ize,.PROT_READ.|.PROT_WRITE,.MAP |
| 1ade0 | 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f | _SHARED,.fd,.0);...K..struct.wl_ |
| 1ae00 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| 1ae20 | 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 | ool(a->shm,.fd,.(int32_t)size);. |
| 1ae40 | 00 00 5a 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 | ..Z..a->buf.=.wl_shm_pool_create |
| 1ae60 | 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 | _buffer(pool,.0,.a->w,.a->h,.str |
| 1ae80 | 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | ide,.WL_SHM_FORMAT_ARGB8888);... |
| 1aea0 | 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 | ...wl_shm_pool_destroy(pool);... |
| 1aec0 | 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 | ...close(fd);....}......._static |
| 1aee0 | 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e | .void.draw_line(uint32_t.*px,.in |
| 1af00 | 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 | t.w,.int.h,.int.x0,.int.y0,.int. |
| 1af20 | 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 | x1,.int.y1,.uint32_t.c).{.../..i |
| 1af40 | 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 | nt.dx.=.abs(x1.-.x0),.sx.=.x0.<. |
| 1af60 | 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 | x1.?.1.:.-1;...0..int.dy.=.-abs( |
| 1af80 | 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b | y1.-.y0),.sy.=.y0.<.y1.?.1.:.-1; |
| 1afa0 | 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d | ......int.err.=.dx.+.dy,.e2;.... |
| 1afc0 | 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 | ..while.(1).{...D....if.(x0.>=.0 |
| 1afe0 | 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 | .&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h) |
| 1b000 | 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 | .px[y0.*.w.+.x0].=.c;...$....if. |
| 1b020 | 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 | (x0.==.x1.&&.y0.==.y1).break;... |
| 1b040 | 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 | .....e2.=.2.*.err;...*....if.(e2 |
| 1b060 | 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d | .>=.dy).{.err.+=.dy;.x0.+=.sx;.} |
| 1b080 | 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 | ...*....if.(e2.<=.dx).{.err.+=.d |
| 1b0a0 | 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | x;.y0.+=.sy;.}......}....}...... |
| 1b0c0 | 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 | .Xstatic.void.draw_circle(uint32 |
| 1b0e0 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e | _t.*px,.int.w,.int.h,.int.cx,.in |
| 1b100 | 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | t.cy,.int.r,.uint32_t.c).{...".. |
| 1b120 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 1b140 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e | ......while.(y.>=.x).{...L....in |
| 1b160 | 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 | t.pts[8][2].=.{{cx+x,.cy+y},.{cx |
| 1b180 | 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 | -x,.cy+y},.{cx+x,.cy-y},.{cx-x,. |
| 1b1a0 | 63 79 2d 79 7d 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 20 7b | cy-y},...M.....................{ |
| 1b1c0 | 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 | cx+y,.cy+x},.{cx-y,.cy+x},.{cx+y |
| 1b1e0 | 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 | ,.cy-x},.{cx-y,.cy-x}};........f |
| 1b200 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 | or.(int.i.=.0;.i.<.8;.i++)...M.. |
| 1b220 | 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d | ....if.(pts[i][0].>=.0.&&.pts[i] |
| 1b240 | 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 | [0].<.w.&&.pts[i][1].>=.0.&&.pts |
| 1b260 | 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d | [i][1].<.h)...*........px[pts[i] |
| 1b280 | 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 | [1].*.w.+.pts[i][0]].=.c;...C... |
| 1b2a0 | 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b | .if.(d.>.0).{.d.+=.4.*.(x.-.y).+ |
| 1b2c0 | 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b | .10;.y--;.}.else.d.+=.4.*.x.+.6; |
| 1b2e0 | 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 | ........x++;......}....}.......' |
| 1b300 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 | static.void.draw_clock(struct.ap |
| 1b320 | 70 20 2a 61 29 20 7b 00 00 00 2b 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 20 7c 7c 20 21 | p.*a).{...+..if.(!a->pixels.||.! |
| 1b340 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 | a->configured).return;......time |
| 1b360 | 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 | _t.tt.=.time(NULL);......struct. |
| 1b380 | 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c | tm.tm_buf;......localtime_r(&tt, |
| 1b3a0 | 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 | .&tm_buf);......uint32_t.*px.=.a |
| 1b3c0 | 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 | ->pixels;......memset(px,.0xff,. |
| 1b3e0 | 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 | (size_t)(a->w.*.a->h.*.4));...#. |
| 1b400 | 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 | .int.cx.=.a->w./.2,.cy.=.a->h./. |
| 1b420 | 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 | 2;.../..int.r.=.(a->w.<.a->h.?.a |
| 1b440 | 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 | ->w.:.a->h)./.2.-.10;......if.(r |
| 1b460 | 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 | .<.5).r.=.5;...5..draw_circle(px |
| 1b480 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 | ,.a->w,.a->h,.cx,.cy,.r,.0xFF000 |
| 1b4a0 | 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 | 000);......for.(int.i.=.0;.i.<.1 |
| 1b4c0 | 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 | 2;.i++).{........double.ang.=.i. |
| 1b4e0 | 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 | /.12.0.*.2.*.M_PI.-.M_PI_2;..._. |
| 1b500 | 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 | ...draw_line(px,.a->w,.a->h,.cx. |
| 1b520 | 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 | +.(int)(cos(ang).*.(r.-.10)),.cy |
| 1b540 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 | .+.(int)(sin(ang).*.(r.-.10)),.. |
| 1b560 | 00 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 | .Z..............cx.+.(int)(cos(a |
| 1b580 | 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 | ng).*.(r.-.2)),.cy.+.(int)(sin(a |
| 1b5a0 | 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 | ng).*.(r.-.2)),.0xFF000000);.... |
| 1b5c0 | 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 | ..}...7..double.sa.=.tm_buf.tm_s |
| 1b5e0 | 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | ec./.60.0.*.2.*.M_PI.-.M_PI_2;.. |
| 1b600 | 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b | .P..double.ma.=.(tm_buf.tm_min.+ |
| 1b620 | 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 | .tm_buf.tm_sec./.60.0)./.60.0.*. |
| 1b640 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 | 2.*.M_PI.-.M_PI_2;...Z..double.h |
| 1b660 | 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d | a.=.((tm_buf.tm_hour.%.12).+.(tm |
| 1b680 | 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 | _buf.tm_min./.60.0))./.12.0.*.2. |
| 1b6a0 | 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 | *.M_PI.-.M_PI_2;...n..draw_line( |
| 1b6c0 | 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e | px,.a->w,.a->h,.cx,.cy,.cx.+.(in |
| 1b6e0 | 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 69 6e 74 | t)(cos(ha).*.r.*.0.5),.cy.+.(int |
| 1b700 | 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 | )(sin(ha).*.r.*.0.5),.0xFF000000 |
| 1b720 | 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | );...n..draw_line(px,.a->w,.a->h |
| 1b740 | 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 | ,.cx,.cy,.cx.+.(int)(cos(ma).*.r |
| 1b760 | 20 2a 20 30 2e 37 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 | .*.0.7),.cy.+.(int)(sin(ma).*.r. |
| 1b780 | 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c | *.0.7),.0xFF000000);...n..draw_l |
| 1b7a0 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | ine(px,.a->w,.a->h,.cx,.cy,.cx.+ |
| 1b7c0 | 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 20 2b 20 | .(int)(cos(sa).*.r.*.0.9),.cy.+. |
| 1b7e0 | 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 | (int)(sin(sa).*.r.*.0.9),.0xFFFF |
| 1b800 | 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d | 0000);...)..wl_surface_attach(a- |
| 1b820 | 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 | >ws,.a->buf,.0,.0);...-..wl_surf |
| 1b840 | 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d | ace_damage(a->ws,.0,.0,.a->w,.a- |
| 1b860 | 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 | >h);......wl_surface_commit(a->w |
| 1b880 | 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 | s);....}.......astatic.void.xt_c |
| 1b8a0 | 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 | fg(void.*d,.struct.xdg_toplevel. |
| 1b8c0 | 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 | *xt,.int32_t.w,.int32_t.h,.struc |
| 1b8e0 | 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 61 70 | t.wl_array.*st).{...(..struct.ap |
| 1b900 | 70 20 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 | p.*a.=.d;.(void)xt;.(void)st;... |
| 1b920 | 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 | 3..if.(w.>.0.&&.h.>.0.&&.(w.!=.a |
| 1b940 | 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 | ->w.||.h.!=.a->h)).{........a->w |
| 1b960 | 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 28 61 2d 3e 73 68 | .=.w;.a->h.=.h;........if.(a->sh |
| 1b980 | 6d 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | m).{............allocate_buffer( |
| 1b9a0 | 61 29 3b 00 00 00 29 20 20 20 20 20 20 20 20 69 66 20 28 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | a);...)........if.(a->configured |
| 1b9c0 | 29 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d | ).draw_clock(a);........}......} |
| 1b9e0 | 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 | ....}.......Astatic.void.xs_cfg( |
| 1ba00 | 76 6f 69 64 20 2a 64 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 | void.*d,.struct.xdg_surface.*xs, |
| 1ba20 | 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | .uint32_t.s).{......struct.app.* |
| 1ba40 | 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 | a.=.d;...#..xdg_surface_ack_conf |
| 1ba60 | 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | igure(xs,.s);......a->configured |
| 1ba80 | 20 3d 20 74 72 75 65 3b 00 00 00 2c 20 20 69 66 20 28 21 61 2d 3e 62 75 66 20 26 26 20 61 2d 3e | .=.true;...,..if.(!a->buf.&&.a-> |
| 1baa0 | 73 68 6d 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 10 20 20 64 72 | shm).allocate_buffer(a);......dr |
| 1bac0 | 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5d 73 74 61 74 69 63 20 | aw_clock(a);....}.......]static. |
| 1bae0 | 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 | void.wm_ping(void.*d,.struct.xdg |
| 1bb00 | 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 20 78 64 67 5f | _wm_base.*wm,.uint32_t.s).{.xdg_ |
| 1bb20 | 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 20 7d 00 00 00 00 00 00 00 71 73 74 | wm_base_pong(wm,.s);.}.......qst |
| 1bb40 | 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 | atic.void.registry_handler(void. |
| 1bb60 | 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 67 2c 20 | *data,.struct.wl_registry.*reg,. |
| 1bb80 | 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 | uint32_t.id,.const.char.*iface,. |
| 1bba0 | 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 | uint32_t.ver).{......struct.app. |
| 1bbc0 | 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 | *a.=.data;...h..if.(!strcmp(ifac |
| 1bbe0 | 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 | e,."wl_compositor")).a->comp.=.w |
| 1bc00 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d | l_registry_bind(reg,.id,.&wl_com |
| 1bc20 | 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 5e 20 20 65 6c 73 65 | positor_interface,.4);...^..else |
| 1bc40 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 | .if.(!strcmp(iface,."wl_shm")).a |
| 1bc60 | 2d 3e 73 68 6d 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 69 64 | ->shm.=.wl_registry_bind(reg,.id |
| 1bc80 | 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c | ,.&wl_shm_interface,.1);...+..el |
| 1bca0 | 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 | se.if.(!strcmp(iface,."xdg_wm_ba |
| 1bcc0 | 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 | se")).{...A....a->wm.=.wl_regist |
| 1bce0 | 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e | ry_bind(reg,.id,.&xdg_wm_base_in |
| 1bd00 | 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 41 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | terface,.1);...A....static.const |
| 1bd20 | 20 73 74 72 75 63 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 | .struct.xdg_wm_base_listener.wm_ |
| 1bd40 | 6c 69 73 74 20 3d 20 7b 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f | list.=.{wm_ping};...1....xdg_wm_ |
| 1bd60 | 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 | base_add_listener(a->wm,.&wm_lis |
| 1bd80 | 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 | t,.a);......}....}........int.ma |
| 1bda0 | 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 3b 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b | in(void).{...;..struct.app.a.=.{ |
| 1bdc0 | 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 2c 20 2e 63 6f 6e 66 69 67 75 72 65 64 20 | .w.=.400,..h.=.400,..configured. |
| 1bde0 | 3d 20 66 61 6c 73 65 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e | =.false};......signal(SIGINT,.on |
| 1be00 | 5f 73 69 67 29 3b 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c | _sig);...2..if.(!(a.d.=.wl_displ |
| 1be20 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 | ay_connect(NULL))).return.1;...' |
| 1be40 | 20 20 61 2e 72 65 67 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 | ..a.reg.=.wl_display_get_registr |
| 1be60 | 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | y(a.d);...I..static.const.struct |
| 1be80 | 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 5f 6c 69 73 74 20 3d | .wl_registry_listener.reg_list.= |
| 1bea0 | 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 | .{registry_handler};...1..wl_reg |
| 1bec0 | 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c | istry_add_listener(a.reg,.®_l |
| 1bee0 | 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 | ist,.&a);......wl_display_roundt |
| 1bf00 | 72 69 70 28 61 2e 64 29 3b 00 00 00 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 | rip(a.d);...+..if.(!a.comp.||.!a |
| 1bf20 | 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e | .shm.||.!a.wm).return.1;........ |
| 1bf40 | 20 20 61 2e 77 73 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 | ..a.ws.=.wl_compositor_create_su |
| 1bf60 | 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 | rface(a.comp);...1..a.xs.=.xdg_w |
| 1bf80 | 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 | m_base_get_xdg_surface(a.wm,.a.w |
| 1bfa0 | 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | s);...>..static.const.struct.xdg |
| 1bfc0 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f | _surface_listener.xs_list.=.{xs_ |
| 1bfe0 | 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 | cfg};.../..xdg_surface_add_liste |
| 1c000 | 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e | ner(a.xs,.&xs_list,.&a);...(..a. |
| 1c020 | 78 74 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 6c 28 61 2e | xt.=.xdg_surface_get_toplevel(a. |
| 1c040 | 78 73 29 3b 00 00 00 4e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 | xs);...N..static.const.struct.xd |
| 1c060 | 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 | g_toplevel_listener.xt_list.=.{x |
| 1c080 | 74 5f 63 66 67 2c 20 28 76 6f 69 64 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f | t_cfg,.(void*)on_sig};...0..xdg_ |
| 1c0a0 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f | toplevel_add_listener(a.xt,.&xt_ |
| 1c0c0 | 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 | list,.&a);...*..xdg_toplevel_set |
| 1c0e0 | 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 32 | _title(a.xt,."wlclock");.......2 |
| 1c100 | 20 20 2f 2a 20 41 4c 4c 4f 57 20 52 45 53 49 5a 49 4e 47 3a 20 4d 69 6e 20 31 30 30 78 31 30 30 | ../*.ALLOW.RESIZING:.Min.100x100 |
| 1c120 | 2c 20 4d 61 78 20 75 6e 6c 69 6d 69 74 65 64 20 2a 2f 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c | ,.Max.unlimited.*/...,..xdg_topl |
| 1c140 | 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 | evel_set_min_size(a.xt,.100,.100 |
| 1c160 | 29 3b 00 00 00 28 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a | );...(..xdg_toplevel_set_max_siz |
| 1c180 | 65 28 61 2e 78 74 2c 20 30 2c 20 30 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 | e(a.xt,.0,.0);..........wl_surfa |
| 1c1a0 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 | ce_commit(a.ws);...9..int.tfd.=. |
| 1c1c0 | 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 | timerfd_create(CLOCK_MONOTONIC,. |
| 1c1e0 | 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 | TFD_CLOEXEC);...F..timerfd_setti |
| 1c200 | 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b | me(tfd,.0,.&(struct.itimerspec){ |
| 1c220 | 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 | {1,.0},.{1,.0}},.NULL);.......5. |
| 1c240 | 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | .while.(running.&&.wl_display_di |
| 1c260 | 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 20 73 74 72 75 | spatch(a.d).!=.-1).{...N....stru |
| 1c280 | 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 | ct.pollfd.pfds[2].=.{{wl_display |
| 1c2a0 | 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c | _get_fd(a.d),.POLLIN},.{tfd,.POL |
| 1c2c0 | 4c 49 4e 7d 7d 3b 00 00 00 25 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 | LIN}};...%....if.(poll(pfds,.2,. |
| 1c2e0 | 2d 31 29 20 3c 20 30 29 20 62 72 65 61 6b 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b | -1).<.0).break;...#....if.(pfds[ |
| 1c300 | 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 | 1].revents.&.POLLIN).{.......... |
| 1c320 | 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 3f 20 20 20 20 20 20 69 66 20 28 72 65 61 | uint64_t.ticks;...?......if.(rea |
| 1c340 | 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 | d(tfd,.&ticks,.sizeof(ticks)).>. |
| 1c360 | 30 29 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 | 0).draw_clock(&a);5............. |
| 1c380 | 00 00 b7 00 00 00 2f 00 00 00 e6 00 00 00 07 00 00 00 29 00 00 00 00 00 00 00 99 19 00 00 00 00 | ....../...........)............. |
| 1c3a0 | 00 00 20 1b 00 00 00 00 00 00 35 81 5f d0 00 00 00 17 00 00 00 19 00 00 00 00 00 00 00 00 00 00 | ..........5._................... |
| 1c3c0 | 00 18 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 00 00 00 00 | ................................ |
| 1c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1c520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e f0 04 01 00 00 00 00 00 f5 18 00 00 00 | ................i............... |
| 1c540 | 00 00 00 00 02 00 00 00 00 00 00 00 ee 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f | .................#define._POSIX_ |
| 1c560 | 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 | C_SOURCE.200809L...&#include."xd |
| 1c580 | 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 22 00 00 00 12 23 69 | g-shell-client-protocol.h"....#i |
| 1c5a0 | 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 | nclude.<errno.h>....#include.<fc |
| 1c5c0 | 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 | ntl.h>....#include.<math.h>....# |
| 1c5e0 | 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 | include.<poll.h>....#include.<si |
| 1c600 | 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 | gnal.h>....#include.<stdbool.h>. |
| 1c620 | 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 75 64 | ...#include.<stdio.h>....#includ |
| 1c640 | 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 73 74 72 69 6e 67 | e.<stdlib.h>....#include.<string |
| 1c660 | 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 | .h>....#include.<sys/mman.h>.... |
| 1c680 | 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 | #include.<sys/timerfd.h>....#inc |
| 1c6a0 | 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 | lude.<time.h>....#include.<unist |
| 1c6c0 | 64 2e 68 3e 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 | d.h>....#include.<wayland-client |
| 1c6e0 | 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 | .h>........#ifndef.M_PI...##defi |
| 1c700 | 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 | ne.M_PI.3.14159265358979323846.. |
| 1c720 | 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 | ..#endif....#ifndef.M_PI_2...%#d |
| 1c740 | 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 | efine.M_PI_2.1.57079632679489661 |
| 1c760 | 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 | 923....#endif.......)static.vola |
| 1c780 | 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 | tile.sig_atomic_t.running.=.1;.. |
| 1c7a0 | 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 | ..static.void.on_sig(int.s).{... |
| 1c7c0 | 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 | ...(void)s;......running.=.0;... |
| 1c7e0 | 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 | .}........struct.app.{......stru |
| 1c800 | 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c | ct.wl_display.*d;......struct.wl |
| 1c820 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 | _registry.*reg;......struct.wl_c |
| 1c840 | 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f | ompositor.*comp;......struct.wl_ |
| 1c860 | 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | shm.*shm;......struct.xdg_wm_bas |
| 1c880 | 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 | e.*wm;......struct.wl_surface.*w |
| 1c8a0 | 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 | s;......struct.xdg_surface.*xs;. |
| 1c8c0 | 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 | .....struct.xdg_toplevel.*xt;... |
| 1c8e0 | 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f | ...void.*pixels;......struct.wl_ |
| 1c900 | 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 | buffer.*buf;......int.w,.h;..... |
| 1c920 | 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 | .bool.configured;....};.......)s |
| 1c940 | 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 | tatic.int.create_shm_file(size_t |
| 1c960 | 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 | .size).{......char.template[].=. |
| 1c980 | 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 | "/tmp/wlclock-shm-XXXXXX";...... |
| 1c9a0 | 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0d 20 | int.fd.=.mkstemp(template);..... |
| 1c9c0 | 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 13 | .if.(fd.<.0)........exit(1);.... |
| 1c9e0 | 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 | ..unlink(template);...'..if.(ftr |
| 1ca00 | 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 | uncate(fd,.(off_t)size).<.0).{.. |
| 1ca20 | 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b | ......close(fd);........exit(1); |
| 1ca40 | 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 | ......}......return.fd;....}.... |
| 1ca60 | 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | ...,static.void.allocate_buffer( |
| 1ca80 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 28 20 20 69 66 20 28 21 61 2d 3e 73 68 | struct.app.*a).{...(..if.(!a->sh |
| 1caa0 | 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b | m.||.a->w.<=.0.||.a->h.<=.0).... |
| 1cac0 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 | ....return;......if.(a->buf).{.. |
| 1cae0 | 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b | ......wl_buffer_destroy(a->buf); |
| 1cb00 | 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f | ...1....munmap(a->pixels,.(size_ |
| 1cb20 | 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 03 20 20 7d 00 00 00 18 | t)(a->w.*.a->h.*.4));......}.... |
| 1cb40 | 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 28 20 20 73 69 | ..int.stride.=.a->w.*.4;...(..si |
| 1cb60 | 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 20 2a 20 61 2d | ze_t.size.=.(size_t)(stride.*.a- |
| 1cb80 | 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 | >h);...!..int.fd.=.create_shm_fi |
| 1cba0 | 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 | le(size);...J..a->pixels.=.mmap( |
| 1cbc0 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 | NULL,.size,.PROT_READ.|.PROT_WRI |
| 1cbe0 | 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 4b 20 20 73 74 72 | TE,.MAP_SHARED,.fd,.0);...K..str |
| 1cc00 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 | uct.wl_shm_pool.*pool.=.wl_shm_c |
| 1cc20 | 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 | reate_pool(a->shm,.fd,.(int32_t) |
| 1cc40 | 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | size);...A..a->buf.=.wl_shm_pool |
| 1cc60 | 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d | _create_buffer(pool,.0,.a->w,.a- |
| 1cc80 | 3e 68 2c 20 73 74 72 69 64 65 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >h,.stride,...=................. |
| 1cca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | ....................WL_SHM_FORMA |
| 1ccc0 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | T_ARGB8888);......wl_shm_pool_de |
| 1cce0 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 | stroy(pool);......close(fd);.... |
| 1cd00 | 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 | }.......Istatic.void.draw_line(u |
| 1cd20 | 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 | int32_t.*px,.int.w,.int.h,.int.x |
| 1cd40 | 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 | 0,.int.y0,.int.x1,...+.......... |
| 1cd60 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 | ............int.y1,.uint32_t.c). |
| 1cd80 | 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 | {.../..int.dx.=.abs(x1.-.x0),.sx |
| 1cda0 | 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 | .=.x0.<.x1.?.1.:.-1;...0..int.dy |
| 1cdc0 | 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f | .=.-abs(y1.-.y0),.sy.=.y0.<.y1.? |
| 1cde0 | 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c | .1.:.-1;......int.err.=.dx.+.dy, |
| 1ce00 | 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 | .e2;......while.(1).{.../....if. |
| 1ce20 | 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 | (x0.>=.0.&&.x0.<.w.&&.y0.>=.0.&& |
| 1ce40 | 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 | .y0.<.h)..........px[y0.*.w.+.x0 |
| 1ce60 | 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 | ].=.c;........if.(x0.==.x1.&&.y0 |
| 1ce80 | 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 | .==.y1)..........break;........e |
| 1cea0 | 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 | 2.=.2.*.err;........if.(e2.>=.dy |
| 1cec0 | 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 | ).{..........err.+=.dy;......... |
| 1cee0 | 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 | .x0.+=.sx;........}........if.(e |
| 1cf00 | 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 | 2.<=.dx).{..........err.+=.dx;.. |
| 1cf20 | 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 | ........y0.+=.sy;........}...... |
| 1cf40 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 | }....}.......Jstatic.void.draw_c |
| 1cf60 | 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | ircle(uint32_t.*px,.int.w,.int.h |
| 1cf80 | 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 | ,.int.cx,.int.cy,.int.r,...%.... |
| 1cfa0 | 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 32 5f 74 20 63 29 20 | ....................uint32_t.c). |
| 1cfc0 | 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d | {..."..int.x.=.0,.y.=.r,.d.=.3.- |
| 1cfe0 | 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 | .2.*.r;......while.(y.>=.x).{... |
| 1d000 | 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 | J....int.pts[8][2].=.{{cx.+.x,.c |
| 1d020 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 | y.+.y},.{cx.-.x,.cy.+.y},.{cx.+. |
| 1d040 | 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x,.cy.-.y},...J................. |
| 1d060 | 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 | ....{cx.-.x,.cy.-.y},.{cx.+.y,.c |
| 1d080 | 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 39 20 20 20 | y.+.x},.{cx.-.y,.cy.+.x},...9... |
| 1d0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 | ..................{cx.+.y,.cy.-. |
| 1d0c0 | 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f | x},.{cx.-.y,.cy.-.x}};........fo |
| 1d0e0 | 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 | r.(int.i.=.0;.i.<.8;.i++)...M... |
| 1d100 | 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b | ...if.(pts[i][0].>=.0.&&.pts[i][ |
| 1d120 | 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b | 0].<.w.&&.pts[i][1].>=.0.&&.pts[ |
| 1d140 | 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b | i][1].<.h)...*........px[pts[i][ |
| 1d160 | 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 | 1].*.w.+.pts[i][0]].=.c;........ |
| 1d180 | 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 | if.(d.>.0).{..........d.+=.4.*.( |
| 1d1a0 | 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 | x.-.y).+.10;..........y--;...... |
| 1d1c0 | 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 | ..}.else..........d.+=.4.*.x.+.6 |
| 1d1e0 | 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | ;........x++;......}....}....... |
| 1d200 | 27 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 | 'static.void.draw_clock(struct.a |
| 1d220 | 70 70 20 2a 61 29 20 7b 00 00 00 23 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 20 7c 7c 20 | pp.*a).{...#..if.(!a->pixels.||. |
| 1d240 | 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | !a->configured)........return;.. |
| 1d260 | 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 | ....time_t.tt.=.time(NULL);..... |
| 1d280 | 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d | .struct.tm.tm_buf;......localtim |
| 1d2a0 | 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 | e_r(&tt,.&tm_buf);......uint32_t |
| 1d2c0 | 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 | .*px.=.a->pixels;......memset(px |
| 1d2e0 | 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 | ,.0xff,.(size_t)(a->w.*.a->h.*.4 |
| 1d300 | 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d | ));...#..int.cx.=.a->w./.2,.cy.= |
| 1d320 | 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 | .a->h./.2;.../..int.r.=.(a->w.<. |
| 1d340 | 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 | a->h.?.a->w.:.a->h)./.2.-.10;... |
| 1d360 | 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 35 20 | ...if.(r.<.5)........r.=.5;...5. |
| 1d380 | 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c | .draw_circle(px,.a->w,.a->h,.cx, |
| 1d3a0 | 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 | .cy,.r,.0xFF000000);......for.(i |
| 1d3c0 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 | nt.i.=.0;.i.<.12;.i++).{........ |
| 1d3e0 | 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | double.ang.=.i./.12.0.*.2.*.M_PI |
| 1d400 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 | .-.M_PI_2;...>....draw_line(px,. |
| 1d420 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 | a->w,.a->h,.cx.+.(int)(cos(ang). |
| 1d440 | 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 | *.(r.-.10)),...N..............cy |
| 1d460 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 | .+.(int)(sin(ang).*.(r.-.10)),.c |
| 1d480 | 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 | x.+.(int)(cos(ang).*.(r.-.2)),.. |
| 1d4a0 | 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 | .:..............cy.+.(int)(sin(a |
| 1d4c0 | 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 | ng).*.(r.-.2)),.0xFF000000);.... |
| 1d4e0 | 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 | ..}...7..double.sa.=.tm_buf.tm_s |
| 1d500 | 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | ec./.60.0.*.2.*.M_PI.-.M_PI_2;.. |
| 1d520 | 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b | .P..double.ma.=.(tm_buf.tm_min.+ |
| 1d540 | 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 | .tm_buf.tm_sec./.60.0)./.60.0.*. |
| 1d560 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 | 2.*.M_PI.-.M_PI_2;......double.h |
| 1d580 | 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 | a.=...J......((tm_buf.tm_hour.%. |
| 1d5a0 | 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 | 12).+.(tm_buf.tm_min./.60.0))./. |
| 1d5c0 | 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f | 12.0.*.2.*.M_PI.-..........M_PI_ |
| 1d5e0 | 32 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | 2;...B..draw_line(px,.a->w,.a->h |
| 1d600 | 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 | ,.cx,.cy,.cx.+.(int)(cos(ha).*.r |
| 1d620 | 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e | .*.0.5),...7............cy.+.(in |
| 1d640 | 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 | t)(sin(ha).*.r.*.0.5),.0xFF00000 |
| 1d660 | 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e | 0);...B..draw_line(px,.a->w,.a-> |
| 1d680 | 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 | h,.cx,.cy,.cx.+.(int)(cos(ma).*. |
| 1d6a0 | 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 | r.*.0.7),...7............cy.+.(i |
| 1d6c0 | 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 | nt)(sin(ma).*.r.*.0.7),.0xFF0000 |
| 1d6e0 | 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | 00);...B..draw_line(px,.a->w,.a- |
| 1d700 | 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a | >h,.cx,.cy,.cx.+.(int)(cos(sa).* |
| 1d720 | 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 | .r.*.0.9),...7............cy.+.( |
| 1d740 | 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 | int)(sin(sa).*.r.*.0.9),.0xFFFF0 |
| 1d760 | 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e | 000);...)..wl_surface_attach(a-> |
| 1d780 | 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 | ws,.a->buf,.0,.0);...-..wl_surfa |
| 1d7a0 | 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e | ce_damage(a->ws,.0,.0,.a->w,.a-> |
| 1d7c0 | 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 | h);......wl_surface_commit(a->ws |
| 1d7e0 | 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 | );....}.......Jstatic.void.xt_cf |
| 1d800 | 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a | g(void.*d,.struct.xdg_toplevel.* |
| 1d820 | 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 | xt,.int32_t.w,.int32_t.h,...)... |
| 1d840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 | ................struct.wl_array. |
| 1d860 | 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | *st).{......struct.app.*a.=.d;.. |
| 1d880 | 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 | ....(void)xt;......(void)st;...3 |
| 1d8a0 | 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d | ..if.(w.>.0.&&.h.>.0.&&.(w.!=.a- |
| 1d8c0 | 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 | >w.||.h.!=.a->h)).{........a->w. |
| 1d8e0 | 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 | =.w;........a->h.=.h;........if. |
| 1d900 | 28 61 2d 3e 73 68 6d 29 20 7b 00 00 00 19 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 | (a->shm).{..........allocate_buf |
| 1d920 | 66 65 72 28 61 29 3b 00 00 00 18 20 20 20 20 20 20 69 66 20 28 61 2d 3e 63 6f 6e 66 69 67 75 72 | fer(a);..........if.(a->configur |
| 1d940 | 65 64 29 00 00 00 16 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 | ed)............draw_clock(a);... |
| 1d960 | 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 | .....}......}....}.......Astatic |
| 1d980 | 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 | .void.xs_cfg(void.*d,.struct.xdg |
| 1d9a0 | 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 | _surface.*xs,.uint32_t.s).{..... |
| 1d9c0 | 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 | .struct.app.*a.=.d;...#..xdg_sur |
| 1d9e0 | 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 | face_ack_configure(xs,.s);...... |
| 1da00 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 18 20 20 69 66 20 28 21 | a->configured.=.true;......if.(! |
| 1da20 | 61 2d 3e 62 75 66 20 26 26 20 61 2d 3e 73 68 6d 29 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 | a->buf.&&.a->shm)........allocat |
| 1da40 | 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 10 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 61 29 3b | e_buffer(a);......draw_clock(a); |
| 1da60 | 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 | ....}.......Bstatic.void.wm_ping |
| 1da80 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | (void.*d,.struct.xdg_wm_base.*wm |
| 1daa0 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 1a 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 | ,.uint32_t.s).{......xdg_wm_base |
| 1dac0 | 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 | _pong(wm,.s);....}.......Nstatic |
| 1dae0 | 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 | .void.registry_handler(void.*dat |
| 1db00 | 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 74 | a,.struct.wl_registry.*reg,.uint |
| 1db20 | 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.id,...?.................... |
| 1db40 | 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 | .........const.char.*iface,.uint |
| 1db60 | 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d | 32_t.ver).{......struct.app.*a.= |
| 1db80 | 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 | .data;...&..if.(!strcmp(iface,." |
| 1dba0 | 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d 70 20 | wl_compositor"))...E....a->comp. |
| 1dbc0 | 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f | =.wl_registry_bind(reg,.id,.&wl_ |
| 1dbe0 | 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 24 20 20 65 | compositor_interface,.4);...$..e |
| 1dc00 | 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 | lse.if.(!strcmp(iface,."wl_shm") |
| 1dc20 | 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | )...=....a->shm.=.wl_registry_bi |
| 1dc40 | 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 | nd(reg,.id,.&wl_shm_interface,.1 |
| 1dc60 | 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 | );...+..else.if.(!strcmp(iface,. |
| 1dc80 | 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d | "xdg_wm_base")).{...A....a->wm.= |
| 1dca0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f | .wl_registry_bind(reg,.id,.&xdg_ |
| 1dcc0 | 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 41 20 20 20 20 73 74 | wm_base_interface,.1);...A....st |
| 1dce0 | 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 73 65 5f 6c 69 | atic.const.struct.xdg_wm_base_li |
| 1dd00 | 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 31 20 | stener.wm_list.=.{wm_ping};...1. |
| 1dd20 | 20 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 61 2d 3e 77 | ...xdg_wm_base_add_listener(a->w |
| 1dd40 | 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | m,.&wm_list,.a);......}....}.... |
| 1dd60 | 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 3b 20 20 73 74 72 75 63 74 | ....int.main(void).{...;..struct |
| 1dd80 | 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 2c 20 2e 63 | .app.a.=.{.w.=.400,..h.=.400,..c |
| 1dda0 | 6f 6e 66 69 67 75 72 65 64 20 3d 20 66 61 6c 73 65 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 | onfigured.=.false};......signal( |
| 1ddc0 | 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 | SIGINT,.on_sig);...(..if.(!(a.d. |
| 1dde0 | 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 29 29 00 00 00 0d | =.wl_display_connect(NULL))).... |
| 1de00 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 | ....return.1;...'..a.reg.=.wl_di |
| 1de20 | 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 | splay_get_registry(a.d);...I..st |
| 1de40 | 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 | atic.const.struct.wl_registry_li |
| 1de60 | 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 | stener.reg_list.=.{registry_hand |
| 1de80 | 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 | ler};...1..wl_registry_add_liste |
| 1dea0 | 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 | ner(a.reg,.®_list,.&a);...... |
| 1dec0 | 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 | wl_display_roundtrip(a.d);...!.. |
| 1dee0 | 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 | if.(!a.comp.||.!a.shm.||.!a.wm). |
| 1df00 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d | .......return.1;..........a.ws.= |
| 1df20 | 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 65 28 61 2e | .wl_compositor_create_surface(a. |
| 1df40 | 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 | comp);...1..a.xs.=.xdg_wm_base_g |
| 1df60 | 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 | et_xdg_surface(a.wm,.a.ws);...>. |
| 1df80 | 20 73 74 61 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 | .static.const.struct.xdg_surface |
| 1dfa0 | 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 | _listener.xs_list.=.{xs_cfg};... |
| 1dfc0 | 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 | /..xdg_surface_add_listener(a.xs |
| 1dfe0 | 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 | ,.&xs_list,.&a);...(..a.xt.=.xdg |
| 1e000 | 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4f | _surface_get_toplevel(a.xs);...O |
| 1e020 | 20 20 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 |
| 1e040 | 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 | el_listener.xt_list.=.{xt_cfg,.( |
| 1e060 | 76 6f 69 64 20 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | void.*)on_sig};...0..xdg_topleve |
| 1e080 | 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 | l_add_listener(a.xt,.&xt_list,.& |
| 1e0a0 | 61 29 3b 00 00 00 2a 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 | a);...*..xdg_toplevel_set_title( |
| 1e0c0 | 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 32 20 20 2f 2a 20 41 4c | a.xt,."wlclock");.......2../*.AL |
| 1e0e0 | 4c 4f 57 20 52 45 53 49 5a 49 4e 47 3a 20 4d 69 6e 20 31 30 30 78 31 30 30 2c 20 4d 61 78 20 75 | LOW.RESIZING:.Min.100x100,.Max.u |
| 1e100 | 6e 6c 69 6d 69 74 65 64 20 2a 2f 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | nlimited.*/...,..xdg_toplevel_se |
| 1e120 | 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 28 20 | t_min_size(a.xt,.100,.100);...(. |
| 1e140 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 61 2e 78 74 2c | .xdg_toplevel_set_max_size(a.xt, |
| 1e160 | 20 30 2c 20 30 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d | .0,.0);..........wl_surface_comm |
| 1e180 | 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 | it(a.ws);...9..int.tfd.=.timerfd |
| 1e1a0 | 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f | _create(CLOCK_MONOTONIC,.TFD_CLO |
| 1e1c0 | 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c | EXEC);...F..timerfd_settime(tfd, |
| 1e1e0 | 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c | .0,.&(struct.itimerspec){{1,.0}, |
| 1e200 | 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 | .{1,.0}},.NULL);.......5..while. |
| 1e220 | 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 | (running.&&.wl_display_dispatch( |
| 1e240 | 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c | a.d).!=.-1).{...N....struct.poll |
| 1e260 | 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 | fd.pfds[2].=.{{wl_display_get_fd |
| 1e280 | 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 | (a.d),.POLLIN},.{tfd,.POLLIN}};. |
| 1e2a0 | 00 00 1e 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 | .......if.(poll(pfds,.2,.-1).<.0 |
| 1e2c0 | 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 | )..........break;...#....if.(pfd |
| 1e2e0 | 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 | s[1].revents.&.POLLIN).{........ |
| 1e300 | 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 2f 20 20 20 20 20 20 69 66 20 28 72 | ..uint64_t.ticks;.../......if.(r |
| 1e320 | 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 | ead(tfd,.&ticks,.sizeof(ticks)). |
| 1e340 | 3e 20 30 29 00 00 00 17 20 20 20 20 20 20 20 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 29 3b 00 | >.0)............draw_clock(&a);. |
| 1e360 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b | .......}......}......close(tfd); |
| 1e380 | 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 | ......wl_display_disconnect(a.d) |
| 1e3a0 | 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 | ;......return.0;....}5.......... |
| 1e3c0 | 00 00 00 00 00 ee 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9e 1b 00 | ................................ |
| 1e3e0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 18 00 00 00 1a 00 00 00 00 00 00 00 | .............5._................ |
| 1e400 | 00 00 00 00 19 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 | ................................ |
| 1e420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e f1 04 01 00 00 00 00 00 f5 18 | ...................i............ |
| 1e580 | 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 c0 00 00 00 00 00 | ....................}........... |
| 1e5a0 | 00 00 00 00 00 00 00 f5 18 00 00 00 a7 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 78 | ...............................x |
| 1e5c0 | 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 f5 18 00 00 00 a8 00 00 00 00 00 00 00 00 00 00 00 00 | dg_surface_add.................. |
| 1e5e0 | f5 18 00 00 00 79 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 7a 00 00 00 | .....y......................z... |
| 1e600 | 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 f5 | ................................ |
| 1e620 | 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 00 | .................5.............. |
| 1e640 | 00 00 00 00 00 00 00 00 00 79 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........y...................... |
| 1e660 | 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 79 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 2e | ...............y................ |
| 1e680 | 00 00 00 11 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 f5 | ................................ |
| 1e6a0 | 18 00 00 00 00 a7 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 01 00 00 00 00 17 00 | ................................ |
| 1e6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 50 03 00 00 00 00 00 00 35 81 5f d0 00 00 00 19 00 00 00 | .............P.......5._........ |
| 1e6e0 | 1b 00 00 00 00 00 00 00 00 00 00 00 1a 00 00 00 c0 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 1e700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9e f2 04 | ...........................i.... |
| 1e860 | 01 00 00 00 0b 00 f5 18 00 00 00 01 00 00 00 ed 00 00 00 c0 00 00 00 b9 00 00 00 12 23 69 6e 63 | ............................#inc |
| 1e880 | 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | lude.<errno.h>....#include.<fcnt |
| 1e8a0 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e | l.h>....#include.<math.h>....#in |
| 1e8c0 | 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e | clude.<poll.h>....#include.<sign |
| 1e8e0 | 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 | al.h>....#include.<stdbool.h>... |
| 1e900 | 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 75 64 65 20 | .#include.<stdio.h>....#include. |
| 1e920 | 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 |
| 1e940 | 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 | >....#include.<sys/mman.h>....#i |
| 1e960 | 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | nclude.<sys/timerfd.h>....#inclu |
| 1e980 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 1e9a0 | 68 3e 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 | h>....#include.<wayland-client.h |
| 1e9c0 | 3e 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 65 6e 74 2d | >...&#include."xdg-shell-client- |
| 1e9e0 | 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 | protocol.h"........#ifndef.M_PI. |
| 1ea00 | 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 | ..##define.M_PI.3.14159265358979 |
| 1ea20 | 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 | 323846....#endif....#ifndef.M_PI |
| 1ea40 | 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 | _2...%#define.M_PI_2.1.570796326 |
| 1ea60 | 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 | 79489661923....#endif.......)sta |
| 1ea80 | 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e | tic.volatile.sig_atomic_t.runnin |
| 1eaa0 | 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 | g.=.1;...3static.void.on_sig(int |
| 1eac0 | 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 | .s).{.(void)s;.running.=.0;.}... |
| 1eae0 | 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c | .....struct.app.{......struct.wl |
| 1eb00 | 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | _display.*d;......struct.wl_regi |
| 1eb20 | 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 | stry.*reg;......struct.wl_compos |
| 1eb40 | 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a | itor.*comp;......struct.wl_shm.* |
| 1eb60 | 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | shm;......struct.xdg_wm_base.*wm |
| 1eb80 | 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 | ;......struct.wl_surface.*ws;... |
| 1eba0 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 | ...struct.xdg_surface.*xs;...... |
| 1ebc0 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f | struct.xdg_toplevel.*xt;......vo |
| 1ebe0 | 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | id.*pixels;......struct.wl_buffe |
| 1ec00 | 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c | r.*buf;......int.w,.h;......bool |
| 1ec20 | 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 62 75 66 | .configured;......bool.needs_buf |
| 1ec40 | 66 65 72 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 | fer;....};.......)static.int.cre |
| 1ec60 | 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 | ate_shm_file(size_t.size).{..... |
| 1ec80 | 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b | .char.template[].=."/tmp/wlclock |
| 1eca0 | 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 | -shm-XXXXXX";......int.fd.=.mkst |
| 1ecc0 | 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 | emp(template);......if.(fd.<.0). |
| 1ece0 | 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 | exit(1);......unlink(template);. |
| 1ed00 | 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 | ..=..if.(ftruncate(fd,.(off_t)si |
| 1ed20 | 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d | ze).<.0).{.close(fd);.exit(1);.} |
| 1ed40 | 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 | ......return.fd;....}.......,sta |
| 1ed60 | 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 | tic.void.allocate_buffer(struct. |
| 1ed80 | 61 70 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d | app.*a).{...0..if.(!a->shm.||.a- |
| 1eda0 | 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 | >w.<=.0.||.a->h.<=.0).return;... |
| 1edc0 | 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 | ...if.(a->buf).{........wl_buffe |
| 1ede0 | 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 | r_destroy(a->buf);...1....munmap |
| 1ee00 | 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 | (a->pixels,.(size_t)(a->w.*.a->h |
| 1ee20 | 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 | .*.4));........a->buf.=.NULL;... |
| 1ee40 | 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 | .....a->pixels.=.NULL;......}... |
| 1ee60 | 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 28 20 20 73 | ...int.stride.=.a->w.*.4;...(..s |
| 1ee80 | 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 20 2a 20 61 | ize_t.size.=.(size_t)(stride.*.a |
| 1eea0 | 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 | ->h);...!..int.fd.=.create_shm_f |
| 1eec0 | 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 | ile(size);...J..a->pixels.=.mmap |
| 1eee0 | 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 | (NULL,.size,.PROT_READ.|.PROT_WR |
| 1ef00 | 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 36 20 20 69 66 | ITE,.MAP_SHARED,.fd,.0);...6..if |
| 1ef20 | 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 63 6c 6f | .(a->pixels.==.MAP_FAILED).{.clo |
| 1ef40 | 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 | se(fd);.exit(1);.}...K..struct.w |
| 1ef60 | 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 | l_shm_pool.*pool.=.wl_shm_create |
| 1ef80 | 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 | _pool(a->shm,.fd,.(int32_t)size) |
| 1efa0 | 3b 00 00 00 5a 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 | ;...Z..a->buf.=.wl_shm_pool_crea |
| 1efc0 | 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 | te_buffer(pool,.0,.a->w,.a->h,.s |
| 1efe0 | 74 72 69 64 65 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 | tride,.WL_SHM_FORMAT_ARGB8888);. |
| 1f000 | 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 | .....wl_shm_pool_destroy(pool);. |
| 1f020 | 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 62 75 | .....close(fd);......a->needs_bu |
| 1f040 | 66 66 65 72 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 | ffer.=.false;....}......._static |
| 1f060 | 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e | .void.draw_line(uint32_t.*px,.in |
| 1f080 | 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 | t.w,.int.h,.int.x0,.int.y0,.int. |
| 1f0a0 | 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 | x1,.int.y1,.uint32_t.c).{.../..i |
| 1f0c0 | 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 | nt.dx.=.abs(x1.-.x0),.sx.=.x0.<. |
| 1f0e0 | 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 | x1.?.1.:.-1;...0..int.dy.=.-abs( |
| 1f100 | 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b | y1.-.y0),.sy.=.y0.<.y1.?.1.:.-1; |
| 1f120 | 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d | ......int.err.=.dx.+.dy,.e2;.... |
| 1f140 | 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 | ..while.(1).{...D....if.(x0.>=.0 |
| 1f160 | 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 | .&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h) |
| 1f180 | 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 | .px[y0.*.w.+.x0].=.c;...$....if. |
| 1f1a0 | 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 | (x0.==.x1.&&.y0.==.y1).break;... |
| 1f1c0 | 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 | .....e2.=.2.*.err;...*....if.(e2 |
| 1f1e0 | 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d | .>=.dy).{.err.+=.dy;.x0.+=.sx;.} |
| 1f200 | 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 | ...*....if.(e2.<=.dx).{.err.+=.d |
| 1f220 | 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | x;.y0.+=.sy;.}......}....}...... |
| 1f240 | 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 | .Xstatic.void.draw_circle(uint32 |
| 1f260 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e | _t.*px,.int.w,.int.h,.int.cx,.in |
| 1f280 | 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | t.cy,.int.r,.uint32_t.c).{...".. |
| 1f2a0 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 1f2c0 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e | ......while.(y.>=.x).{...L....in |
| 1f2e0 | 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 | t.pts[8][2].=.{{cx+x,.cy+y},.{cx |
| 1f300 | 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 | -x,.cy+y},.{cx+x,.cy-y},.{cx-x,. |
| 1f320 | 63 79 2d 79 7d 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 20 7b | cy-y},...M.....................{ |
| 1f340 | 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 | cx+y,.cy+x},.{cx-y,.cy+x},.{cx+y |
| 1f360 | 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 | ,.cy-x},.{cx-y,.cy-x}};........f |
| 1f380 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 | or.(int.i.=.0;.i.<.8;.i++)...M.. |
| 1f3a0 | 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d | ....if.(pts[i][0].>=.0.&&.pts[i] |
| 1f3c0 | 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 | [0].<.w.&&.pts[i][1].>=.0.&&.pts |
| 1f3e0 | 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d | [i][1].<.h)...*........px[pts[i] |
| 1f400 | 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 | [1].*.w.+.pts[i][0]].=.c;...C... |
| 1f420 | 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b | .if.(d.>.0).{.d.+=.4.*.(x.-.y).+ |
| 1f440 | 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b | .10;.y--;.}.else.d.+=.4.*.x.+.6; |
| 1f460 | 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 | ........x++;......}....}.......' |
| 1f480 | 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 | static.void.draw_clock(struct.ap |
| 1f4a0 | 70 20 2a 61 29 20 7b 00 00 00 2a 20 20 69 66 20 28 61 2d 3e 6e 65 65 64 73 5f 62 75 66 66 65 72 | p.*a).{...*..if.(a->needs_buffer |
| 1f4c0 | 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 36 20 20 69 66 20 28 21 | ).allocate_buffer(a);...6..if.(! |
| 1f4e0 | 61 2d 3e 70 69 78 65 6c 73 20 7c 7c 20 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 21 | a->pixels.||.!a->configured.||.! |
| 1f500 | 61 2d 3e 62 75 66 29 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d | a->buf).return;......time_t.tt.= |
| 1f520 | 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 | .time(NULL);......struct.tm.tm_b |
| 1f540 | 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 | uf;......localtime_r(&tt,.&tm_bu |
| 1f560 | 66 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c | f);......uint32_t.*px.=.a->pixel |
| 1f580 | 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 | s;......memset(px,.0xff,.(size_t |
| 1f5a0 | 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 | )(a->w.*.a->h.*.4));...#..int.cx |
| 1f5c0 | 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 | .=.a->w./.2,.cy.=.a->h./.2;.../. |
| 1f5e0 | 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 | .int.r.=.(a->w.<.a->h.?.a->w.:.a |
| 1f600 | 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 | ->h)./.2.-.10;......if.(r.<.5).r |
| 1f620 | 20 3d 20 35 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c | .=.5;...5..draw_circle(px,.a->w, |
| 1f640 | 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 | .a->h,.cx,.cy,.r,.0xFF000000);.. |
| 1f660 | 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 | ....for.(int.i.=.0;.i.<.12;.i++) |
| 1f680 | 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 | .{........double.ang.=.i./.12.0. |
| 1f6a0 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 20 64 72 61 77 | *.2.*.M_PI.-.M_PI_2;..._....draw |
| 1f6c0 | 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 | _line(px,.a->w,.a->h,.cx.+.(int) |
| 1f6e0 | 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 | (cos(ang).*.(r.-.10)),.cy.+.(int |
| 1f700 | 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 5a 20 20 20 20 20 | )(sin(ang).*.(r.-.10)),...Z..... |
| 1f720 | 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 | .........cx.+.(int)(cos(ang).*.( |
| 1f740 | 72 20 2d 20 32 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 | r.-.2)),.cy.+.(int)(sin(ang).*.( |
| 1f760 | 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 | r.-.2)),.0xFF000000);......}...7 |
| 1f780 | 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 | ..double.sa.=.tm_buf.tm_sec./.60 |
| 1f7a0 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 | .0.*.2.*.M_PI.-.M_PI_2;...P..dou |
| 1f7c0 | 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 | ble.ma.=.(tm_buf.tm_min.+.tm_buf |
| 1f7e0 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .tm_sec./.60.0)./.60.0.*.2.*.M_P |
| 1f800 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 | I.-.M_PI_2;...Z..double.ha.=.((t |
| 1f820 | 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d | m_buf.tm_hour.%.12).+.(tm_buf.tm |
| 1f840 | 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | _min./.60.0))./.12.0.*.2.*.M_PI. |
| 1f860 | 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | -.M_PI_2;...n..draw_line(px,.a-> |
| 1f880 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | w,.a->h,.cx,.cy,.cx.+.(int)(cos( |
| 1f8a0 | 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 | ha).*.r.*.0.5),.cy.+.(int)(sin(h |
| 1f8c0 | 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 | a).*.r.*.0.5),.0xFF000000);...n. |
| 1f8e0 | 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 | .draw_line(px,.a->w,.a->h,.cx,.c |
| 1f900 | 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 | y,.cx.+.(int)(cos(ma).*.r.*.0.7) |
| 1f920 | 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c | ,.cy.+.(int)(sin(ma).*.r.*.0.7), |
| 1f940 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c | .0xFF000000);...n..draw_line(px, |
| 1f960 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 | .a->w,.a->h,.cx,.cy,.cx.+.(int)( |
| 1f980 | 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 | cos(sa).*.r.*.0.9),.cy.+.(int)(s |
| 1f9a0 | 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 | in(sa).*.r.*.0.9),.0xFFFF0000);. |
| 1f9c0 | 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d | ..)..wl_surface_attach(a->ws,.a- |
| 1f9e0 | 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d | >buf,.0,.0);...-..wl_surface_dam |
| 1fa00 | 61 67 65 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 | age(a->ws,.0,.0,.a->w,.a->h);... |
| 1fa20 | 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 | ...wl_surface_commit(a->ws);.... |
| 1fa40 | 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 | }.......astatic.void.xt_cfg(void |
| 1fa60 | 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e | .*d,.struct.xdg_toplevel.*xt,.in |
| 1fa80 | 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 | t32_t.w,.int32_t.h,.struct.wl_ar |
| 1faa0 | 72 61 79 20 2a 73 74 29 20 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | ray.*st).{...(..struct.app.*a.=. |
| 1fac0 | 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 | d;.(void)xt;.(void)st;...3..if.( |
| 1fae0 | 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 | w.>.0.&&.h.>.0.&&.(w.!=.a->w.||. |
| 1fb00 | 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 | h.!=.a->h)).{........a->w.=.w;.a |
| 1fb20 | 2d 3e 68 20 3d 20 68 3b 00 00 00 1b 20 20 20 20 61 2d 3e 6e 65 65 64 73 5f 62 75 66 66 65 72 20 | ->h.=.h;........a->needs_buffer. |
| 1fb40 | 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 | =.true;......}....}.......Astati |
| 1fb60 | 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xs_cfg(void.*d,.struct.xd |
| 1fb80 | 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 | g_surface.*xs,.uint32_t.s).{.... |
| 1fba0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 | ..struct.app.*a.=.d;...#..xdg_su |
| 1fbc0 | 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 29 3b 00 00 00 17 20 | rface_ack_configure(xs,.s);..... |
| 1fbe0 | 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 10 20 20 64 72 61 77 | .a->configured.=.true;......draw |
| 1fc00 | 5f 63 6c 6f 63 6b 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5d 73 74 61 74 69 63 20 76 6f | _clock(a);....}.......]static.vo |
| 1fc20 | 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 | id.wm_ping(void.*d,.struct.xdg_w |
| 1fc40 | 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 20 78 64 67 5f 77 6d | m_base.*wm,.uint32_t.s).{.xdg_wm |
| 1fc60 | 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 20 7d 00 00 00 00 00 00 00 71 73 74 61 74 | _base_pong(wm,.s);.}.......qstat |
| 1fc80 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| 1fca0 | 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 67 2c 20 75 69 | ata,.struct.wl_registry.*reg,.ui |
| 1fcc0 | 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 | nt32_t.id,.const.char.*iface,.ui |
| 1fce0 | 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | nt32_t.ver).{......struct.app.*a |
| 1fd00 | 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c | .=.data;...h..if.(!strcmp(iface, |
| 1fd20 | 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f | ."wl_compositor")).a->comp.=.wl_ |
| 1fd40 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f | registry_bind(reg,.id,.&wl_compo |
| 1fd60 | 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 5e 20 20 65 6c 73 65 20 69 | sitor_interface,.4);...^..else.i |
| 1fd80 | 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e | f.(!strcmp(iface,."wl_shm")).a-> |
| 1fda0 | 73 68 6d 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 69 64 2c 20 | shm.=.wl_registry_bind(reg,.id,. |
| 1fdc0 | 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 | &wl_shm_interface,.1);...+..else |
| 1fde0 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 | .if.(!strcmp(iface,."xdg_wm_base |
| 1fe00 | 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 | ")).{...A....a->wm.=.wl_registry |
| 1fe20 | 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 | _bind(reg,.id,.&xdg_wm_base_inte |
| 1fe40 | 72 66 61 63 65 2c 20 31 29 3b 00 00 00 41 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | rface,.1);...A....static.const.s |
| 1fe60 | 74 72 75 63 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 6c 69 | truct.xdg_wm_base_listener.wm_li |
| 1fe80 | 73 74 20 3d 20 7b 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 | st.=.{wm_ping};...1....xdg_wm_ba |
| 1fea0 | 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c | se_add_listener(a->wm,.&wm_list, |
| 1fec0 | 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e | .a);......}....}........int.main |
| 1fee0 | 28 76 6f 69 64 29 20 7b 00 00 00 51 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 | (void).{...Q..struct.app.a.=.{.w |
| 1ff00 | 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 2c 20 2e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 | .=.400,..h.=.400,..configured.=. |
| 1ff20 | 66 61 6c 73 65 2c 20 2e 6e 65 65 64 73 5f 62 75 66 66 65 72 20 3d 20 74 72 75 65 7d 3b 00 00 00 | false,..needs_buffer.=.true};... |
| 1ff40 | 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 32 20 20 | ...signal(SIGINT,.on_sig);...2.. |
| 1ff60 | 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e | if.(!(a.d.=.wl_display_connect(N |
| 1ff80 | 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c | ULL))).return.1;...'..a.reg.=.wl |
| 1ffa0 | 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 | _display_get_registry(a.d);...I. |
| 1ffc0 | 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | .static.const.struct.wl_registry |
| 1ffe0 | 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 | _listener.reg_list.=.{registry_h |
| 20000 | 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | andler};...1..wl_registry_add_li |
| 20020 | 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 | stener(a.reg,.®_list,.&a);... |
| 20040 | 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 | ...wl_display_roundtrip(a.d);... |
| 20060 | 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 | +..if.(!a.comp.||.!a.shm.||.!a.w |
| 20080 | 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f | m).return.1;..........a.ws.=.wl_ |
| 200a0 | 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 61 2e 63 6f 6d 70 | compositor_create_surface(a.comp |
| 200c0 | 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 | );...1..a.xs.=.xdg_wm_base_get_x |
| 200e0 | 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 | dg_surface(a.wm,.a.ws);...>..sta |
| 20100 | 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 |
| 20120 | 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 | tener.xs_list.=.{xs_cfg};.../..x |
| 20140 | 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 | dg_surface_add_listener(a.xs,.&x |
| 20160 | 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 | s_list,.&a);...(..a.xt.=.xdg_sur |
| 20180 | 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4e 20 20 73 74 | face_get_toplevel(a.xs);...N..st |
| 201a0 | 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 65 6c 5f 6c | atic.const.struct.xdg_toplevel_l |
| 201c0 | 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 | istener.xt_list.=.{xt_cfg,.(void |
| 201e0 | 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 | *)on_sig};...0..xdg_toplevel_add |
| 20200 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 | _listener(a.xt,.&xt_list,.&a);.. |
| 20220 | 00 2a 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 61 2e 78 74 2c | .*..xdg_toplevel_set_title(a.xt, |
| 20240 | 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 | ."wlclock");.......,..xdg_toplev |
| 20260 | 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b | el_set_min_size(a.xt,.100,.100); |
| 20280 | 00 00 00 28 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 61 78 5f 73 69 7a 65 28 | ...(..xdg_toplevel_set_max_size( |
| 202a0 | 61 2e 78 74 2c 20 30 2c 20 30 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 | a.xt,.0,.0);..........wl_surface |
| 202c0 | 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 | _commit(a.ws);...9..int.tfd.=.ti |
| 202e0 | 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 | merfd_create(CLOCK_MONOTONIC,.TF |
| 20300 | 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 | D_CLOEXEC);...F..timerfd_settime |
| 20320 | 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 | (tfd,.0,.&(struct.itimerspec){{1 |
| 20340 | 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 77 | ,.0},.{1,.0}},.NULL);.......5..w |
| 20360 | 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | hile.(running.&&.wl_display_disp |
| 20380 | 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 | atch(a.d).!=.-1).{...N....struct |
| 203a0 | 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 | .pollfd.pfds[2].=.{{wl_display_g |
| 203c0 | 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 | et_fd(a.d),.POLLIN},.{tfd,.POLLI |
| 203e0 | 4e 7d 7d 3b 00 00 00 25 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 | N}};...%....if.(poll(pfds,.2,.-1 |
| 20400 | 29 20 3c 20 30 29 20 62 72 65 61 6b 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d | ).<.0).break;...#....if.(pfds[1] |
| 20420 | 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 | .revents.&.POLLIN).{..........ui |
| 20440 | 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 3f 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 | nt64_t.ticks;...?......if.(read( |
| 20460 | 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 | tfd,.&ticks,.sizeof(ticks)).>.0) |
| 20480 | 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 | .draw_clock(&a);5............... |
| 204a0 | b8 00 00 00 2f 00 00 00 ea 00 00 00 07 00 00 00 29 00 00 00 00 00 00 00 d3 19 00 00 00 00 00 00 | ..../...........)............... |
| 204c0 | 67 1b 00 00 00 00 00 00 35 81 5f d0 00 00 00 1a 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 1b | g.......5._..................... |
| 204e0 | 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 00 00 00 00 00 00 | ................................ |
| 20500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 205e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 20640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9f 22 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 | ..............i..".............. |
| 20660 | 00 00 02 00 00 00 00 00 00 00 f2 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f | ...............#define._POSIX_C_ |
| 20680 | 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d | SOURCE.200809L...&#include."xdg- |
| 206a0 | 73 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 12 23 69 6e 63 | shell-client-protocol.h"....#inc |
| 206c0 | 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | lude.<errno.h>....#include.<fcnt |
| 206e0 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e | l.h>....#include.<math.h>....#in |
| 20700 | 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e | clude.<poll.h>....#include.<sign |
| 20720 | 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 | al.h>....#include.<stdbool.h>... |
| 20740 | 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 75 64 65 20 | .#include.<stdio.h>....#include. |
| 20760 | 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 |
| 20780 | 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 | >....#include.<sys/mman.h>....#i |
| 207a0 | 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | nclude.<sys/timerfd.h>....#inclu |
| 207c0 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 207e0 | 68 3e 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 | h>....#include.<wayland-client.h |
| 20800 | 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 | >........#ifndef.M_PI...##define |
| 20820 | 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 | .M_PI.3.14159265358979323846.... |
| 20840 | 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 | #endif....#ifndef.M_PI_2...%#def |
| 20860 | 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 | ine.M_PI_2.1.5707963267948966192 |
| 20880 | 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 | 3....#endif.......)static.volati |
| 208a0 | 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b | le.sig_atomic_t.running.=.1;.... |
| 208c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 | static.void.on_sig(int.s).{..... |
| 208e0 | 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d | .(void)s;......running.=.0;....} |
| 20900 | 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 | ........struct.app.{......struct |
| 20920 | 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 | .wl_display.*d;......struct.wl_r |
| 20940 | 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d | egistry.*reg;......struct.wl_com |
| 20960 | 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 | positor.*comp;......struct.wl_sh |
| 20980 | 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 | m.*shm;......struct.xdg_wm_base. |
| 209a0 | 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b | *wm;......struct.wl_surface.*ws; |
| 209c0 | 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 | ......struct.xdg_surface.*xs;... |
| 209e0 | 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 | ...struct.xdg_toplevel.*xt;..... |
| 20a00 | 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | .void.*pixels;......struct.wl_bu |
| 20a20 | 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 | ffer.*buf;......int.w,.h;......b |
| 20a40 | 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f | ool.configured;......bool.needs_ |
| 20a60 | 62 75 66 66 65 72 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 | buffer;....};.......)static.int. |
| 20a80 | 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 | create_shm_file(size_t.size).{.. |
| 20aa0 | 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c | ....char.template[].=."/tmp/wlcl |
| 20ac0 | 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d | ock-shm-XXXXXX";......int.fd.=.m |
| 20ae0 | 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 | kstemp(template);......if.(fd.<. |
| 20b00 | 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 | 0)........exit(1);......unlink(t |
| 20b20 | 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c | emplate);...'..if.(ftruncate(fd, |
| 20b40 | 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 | .(off_t)size).<.0).{........clos |
| 20b60 | 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 | e(fd);........exit(1);......}... |
| 20b80 | 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 | ...return.fd;....}.......,static |
| 20ba0 | 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 | .void.allocate_buffer(struct.app |
| 20bc0 | 20 2a 61 29 20 7b 00 00 00 28 20 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 20 | .*a).{...(..if.(!a->shm.||.a->w. |
| 20be0 | 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e | <=.0.||.a->h.<=.0)........return |
| 20c00 | 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 | ;......if.(a->buf).{........wl_b |
| 20c20 | 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 | uffer_destroy(a->buf);...1....mu |
| 20c40 | 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 | nmap(a->pixels,.(size_t)(a->w.*. |
| 20c60 | 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c | a->h.*.4));........a->buf.=.NULL |
| 20c80 | 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 | ;........a->pixels.=.NULL;...... |
| 20ca0 | 7d 00 00 00 18 20 20 69 6e 74 20 73 74 72 69 64 65 20 3d 20 61 2d 3e 77 20 2a 20 34 3b 00 00 00 | }......int.stride.=.a->w.*.4;... |
| 20cc0 | 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 73 74 72 69 64 65 | (..size_t.size.=.(size_t)(stride |
| 20ce0 | 20 2a 20 61 2d 3e 68 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | .*.a->h);...!..int.fd.=.create_s |
| 20d00 | 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 | hm_file(size);...J..a->pixels.=. |
| 20d20 | 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 20 7c 20 50 52 4f | mmap(NULL,.size,.PROT_READ.|.PRO |
| 20d40 | 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 | T_WRITE,.MAP_SHARED,.fd,.0);.... |
| 20d60 | 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b | ..if.(a->pixels.==.MAP_FAILED).{ |
| 20d80 | 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 | ........close(fd);........exit(1 |
| 20da0 | 29 3b 00 00 00 03 20 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f | );......}...K..struct.wl_shm_poo |
| 20dc0 | 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e | l.*pool.=.wl_shm_create_pool(a-> |
| 20de0 | 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d | shm,.fd,.(int32_t)size);...A..a- |
| 20e00 | 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 | >buf.=.wl_shm_pool_create_buffer |
| 20e20 | 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 73 74 72 69 64 65 2c 00 00 00 | (pool,.0,.a->w,.a->h,.stride,... |
| 20e40 | 3d 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 | =............................... |
| 20e60 | 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 | ......WL_SHM_FORMAT_ARGB8888);.. |
| 20e80 | 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 | ....wl_shm_pool_destroy(pool);.. |
| 20ea0 | 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 62 75 66 | ....close(fd);......a->needs_buf |
| 20ec0 | 66 65 72 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 | fer.=.false;....}.......Istatic. |
| 20ee0 | 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 | void.draw_line(uint32_t.*px,.int |
| 20f00 | 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 | .w,.int.h,.int.x0,.int.y0,.int.x |
| 20f20 | 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | 1,...+......................int. |
| 20f40 | 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 | y1,.uint32_t.c).{.../..int.dx.=. |
| 20f60 | 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a | abs(x1.-.x0),.sx.=.x0.<.x1.?.1.: |
| 20f80 | 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 | .-1;...0..int.dy.=.-abs(y1.-.y0) |
| 20fa0 | 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e | ,.sy.=.y0.<.y1.?.1.:.-1;......in |
| 20fc0 | 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 | t.err.=.dx.+.dy,.e2;......while. |
| 20fe0 | 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c | (1).{.../....if.(x0.>=.0.&&.x0.< |
| 21000 | 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 | .w.&&.y0.>=.0.&&.y0.<.h)........ |
| 21020 | 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 | ..px[y0.*.w.+.x0].=.c;........if |
| 21040 | 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 | .(x0.==.x1.&&.y0.==.y1)......... |
| 21060 | 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 | .break;........e2.=.2.*.err;.... |
| 21080 | 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 | ....if.(e2.>=.dy).{..........err |
| 210a0 | 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 | .+=.dy;..........x0.+=.sx;...... |
| 210c0 | 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 | ..}........if.(e2.<=.dx).{...... |
| 210e0 | 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 | ....err.+=.dx;..........y0.+=.sy |
| 21100 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 | ;........}......}....}.......Jst |
| 21120 | 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a | atic.void.draw_circle(uint32_t.* |
| 21140 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 | px,.int.w,.int.h,.int.cx,.int.cy |
| 21160 | 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.int.r,...%.................... |
| 21180 | 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 | ....uint32_t.c).{..."..int.x.=.0 |
| 211a0 | 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 | ,.y.=.r,.d.=.3.-.2.*.r;......whi |
| 211c0 | 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b | le.(y.>=.x).{...J....int.pts[8][ |
| 211e0 | 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c | 2].=.{{cx.+.x,.cy.+.y},.{cx.-.x, |
| 21200 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 | .cy.+.y},.{cx.+.x,.cy.-.y},...J. |
| 21220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 | ....................{cx.-.x,.cy. |
| 21240 | 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c | -.y},.{cx.+.y,.cy.+.x},.{cx.-.y, |
| 21260 | 20 63 79 20 2b 20 78 7d 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cy.+.x},...9................... |
| 21280 | 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 | ..{cx.+.y,.cy.-.x},.{cx.-.y,.cy. |
| 212a0 | 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | -.x}};........for.(int.i.=.0;.i. |
| 212c0 | 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d | <.8;.i++)...M......if.(pts[i][0] |
| 212e0 | 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d | .>=.0.&&.pts[i][0].<.w.&&.pts[i] |
| 21300 | 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 | [1].>=.0.&&.pts[i][1].<.h)...*.. |
| 21320 | 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b | ......px[pts[i][1].*.w.+.pts[i][ |
| 21340 | 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c | 0]].=.c;........if.(d.>.0).{.... |
| 21360 | 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a | ......d.+=.4.*.(x.-.y).+.10;.... |
| 21380 | 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 | ......y--;........}.else........ |
| 213a0 | 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 | ..d.+=.4.*.x.+.6;........x++;... |
| 213c0 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 27 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 | ...}....}.......'static.void.dra |
| 213e0 | 77 5f 63 6c 6f 63 6b 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 | w_clock(struct.app.*a).{......if |
| 21400 | 20 28 61 2d 3e 6e 65 65 64 73 5f 62 75 66 66 65 72 29 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 | .(a->needs_buffer)........alloca |
| 21420 | 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 2e 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c | te_buffer(a);......if.(!a->pixel |
| 21440 | 73 20 7c 7c 20 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 21 61 2d 3e 62 75 66 29 00 | s.||.!a->configured.||.!a->buf). |
| 21460 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 | .......return;......time_t.tt.=. |
| 21480 | 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 | time(NULL);......struct.tm.tm_bu |
| 214a0 | 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 | f;......localtime_r(&tt,.&tm_buf |
| 214c0 | 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 | );......uint32_t.*px.=.a->pixels |
| 214e0 | 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 | ;......memset(px,.0xff,.(size_t) |
| 21500 | 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 | (a->w.*.a->h.*.4));...#..int.cx. |
| 21520 | 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 | =.a->w./.2,.cy.=.a->h./.2;.../.. |
| 21540 | 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d | int.r.=.(a->w.<.a->h.?.a->w.:.a- |
| 21560 | 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 | >h)./.2.-.10;......if.(r.<.5)... |
| 21580 | 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c | .....r.=.5;...5..draw_circle(px, |
| 215a0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 | .a->w,.a->h,.cx,.cy,.r,.0xFF0000 |
| 215c0 | 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 | 00);......for.(int.i.=.0;.i.<.12 |
| 215e0 | 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f | ;.i++).{........double.ang.=.i./ |
| 21600 | 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 | .12.0.*.2.*.M_PI.-.M_PI_2;...>.. |
| 21620 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | ..draw_line(px,.a->w,.a->h,.cx.+ |
| 21640 | 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e | .(int)(cos(ang).*.(r.-.10)),...N |
| 21660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 | ..............cy.+.(int)(sin(ang |
| 21680 | 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e | ).*.(r.-.10)),.cx.+.(int)(cos(an |
| 216a0 | 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g).*.(r.-.2)),...:.............. |
| 216c0 | 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 | cy.+.(int)(sin(ang).*.(r.-.2)),. |
| 216e0 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 | 0xFF000000);......}...7..double. |
| 21700 | 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 | sa.=.tm_buf.tm_sec./.60.0.*.2.*. |
| 21720 | 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 | M_PI.-.M_PI_2;...P..double.ma.=. |
| 21740 | 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f | (tm_buf.tm_min.+.tm_buf.tm_sec./ |
| 21760 | 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | .60.0)./.60.0.*.2.*.M_PI.-.M_PI_ |
| 21780 | 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 | 2;......double.ha.=...J......((t |
| 217a0 | 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d | m_buf.tm_hour.%.12).+.(tm_buf.tm |
| 217c0 | 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | _min./.60.0))./.12.0.*.2.*.M_PI. |
| 217e0 | 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e | -..........M_PI_2;...B..draw_lin |
| 21800 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 | e(px,.a->w,.a->h,.cx,.cy,.cx.+.( |
| 21820 | 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 | int)(cos(ha).*.r.*.0.5),...7.... |
| 21840 | 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a | ........cy.+.(int)(sin(ha).*.r.* |
| 21860 | 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 | .0.5),.0xFF000000);...B..draw_li |
| 21880 | 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | ne(px,.a->w,.a->h,.cx,.cy,.cx.+. |
| 218a0 | 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 | (int)(cos(ma).*.r.*.0.7),...7... |
| 218c0 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 | .........cy.+.(int)(sin(ma).*.r. |
| 218e0 | 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c | *.0.7),.0xFF000000);...B..draw_l |
| 21900 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | ine(px,.a->w,.a->h,.cx,.cy,.cx.+ |
| 21920 | 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 | .(int)(cos(sa).*.r.*.0.9),...7.. |
| 21940 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 | ..........cy.+.(int)(sin(sa).*.r |
| 21960 | 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 | .*.0.9),.0xFFFF0000);...)..wl_su |
| 21980 | 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 | rface_attach(a->ws,.a->buf,.0,.0 |
| 219a0 | 29 3b 00 00 00 2d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 28 61 2d 3e 77 73 2c | );...-..wl_surface_damage(a->ws, |
| 219c0 | 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 | .0,.0,.a->w,.a->h);......wl_surf |
| 219e0 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 | ace_commit(a->ws);....}.......Js |
| 21a00 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 21a20 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 21a40 | 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.h,...)................... |
| 21a60 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 | struct.wl_array.*st).{......stru |
| 21a80 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 | ct.app.*a.=.d;......(void)xt;... |
| 21aa0 | 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | ...(void)st;...3..if.(w.>.0.&&.h |
| 21ac0 | 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 | .>.0.&&.(w.!=.a->w.||.h.!=.a->h) |
| 21ae0 | 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 | ).{........a->w.=.w;........a->h |
| 21b00 | 20 3d 20 68 3b 00 00 00 1b 20 20 20 20 61 2d 3e 6e 65 65 64 73 5f 62 75 66 66 65 72 20 3d 20 74 | .=.h;........a->needs_buffer.=.t |
| 21b20 | 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 | rue;......}....}.......Astatic.v |
| 21b40 | 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 | oid.xs_cfg(void.*d,.struct.xdg_s |
| 21b60 | 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 | urface.*xs,.uint32_t.s).{......s |
| 21b80 | 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 | truct.app.*a.=.d;...#..xdg_surfa |
| 21ba0 | 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d | ce_ack_configure(xs,.s);......a- |
| 21bc0 | 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 10 20 20 64 72 61 77 5f 63 6c | >configured.=.true;......draw_cl |
| 21be0 | 6f 63 6b 28 61 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 | ock(a);....}.......Bstatic.void. |
| 21c00 | 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 | wm_ping(void.*d,.struct.xdg_wm_b |
| 21c20 | 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 1a 20 20 78 64 67 5f | ase.*wm,.uint32_t.s).{......xdg_ |
| 21c40 | 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | wm_base_pong(wm,.s);....}....... |
| 21c60 | 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f | Nstatic.void.registry_handler(vo |
| 21c80 | 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 |
| 21ca0 | 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 | g,.uint32_t.id,...?............. |
| 21cc0 | 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 72 20 2a 69 66 61 63 | ................const.char.*ifac |
| 21ce0 | 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 | e,.uint32_t.ver).{......struct.a |
| 21d00 | 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | pp.*a.=.data;...&..if.(!strcmp(i |
| 21d20 | 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 | face,."wl_compositor"))...E....a |
| 21d40 | 2d 3e 63 6f 6d 70 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 69 | ->comp.=.wl_registry_bind(reg,.i |
| 21d60 | 64 2c 20 26 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 | d,.&wl_compositor_interface,.4); |
| 21d80 | 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 | ...$..else.if.(!strcmp(iface,."w |
| 21da0 | 6c 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 | l_shm"))...=....a->shm.=.wl_regi |
| 21dc0 | 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 | stry_bind(reg,.id,.&wl_shm_inter |
| 21de0 | 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | face,.1);...+..else.if.(!strcmp( |
| 21e00 | 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 | iface,."xdg_wm_base")).{...A.... |
| 21e20 | 61 2d 3e 77 6d 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 69 64 | a->wm.=.wl_registry_bind(reg,.id |
| 21e40 | 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 00 00 | ,.&xdg_wm_base_interface,.1);... |
| 21e60 | 41 20 20 20 20 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 | A....static.const.struct.xdg_wm_ |
| 21e80 | 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 77 6d 5f 70 69 6e 67 | base_listener.wm_list.=.{wm_ping |
| 21ea0 | 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e | };...1....xdg_wm_base_add_listen |
| 21ec0 | 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 | er(a->wm,.&wm_list,.a);......}.. |
| 21ee0 | 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 12 20 | ..}........int.main(void).{..... |
| 21f00 | 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 00 00 00 45 20 20 20 20 20 20 2e 77 20 3d 20 | .struct.app.a.=.{...E.......w.=. |
| 21f20 | 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 2c 20 2e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 66 61 6c | 400,..h.=.400,..configured.=.fal |
| 21f40 | 73 65 2c 20 2e 6e 65 65 64 73 5f 62 75 66 66 65 72 20 3d 20 74 72 75 65 7d 3b 00 00 00 19 20 20 | se,..needs_buffer.=.true};...... |
| 21f60 | 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 | signal(SIGINT,.on_sig);...(..if. |
| 21f80 | 28 21 28 61 2e 64 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 | (!(a.d.=.wl_display_connect(NULL |
| 21fa0 | 29 29 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 | )))........return.1;...'..a.reg. |
| 21fc0 | 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 61 2e 64 29 3b 00 | =.wl_display_get_registry(a.d);. |
| 21fe0 | 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | ..I..static.const.struct.wl_regi |
| 22000 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 | stry_listener.reg_list.=.{regist |
| 22020 | 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 | ry_handler};...1..wl_registry_ad |
| 22040 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 | d_listener(a.reg,.®_list,.&a) |
| 22060 | 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 | ;......wl_display_roundtrip(a.d) |
| 22080 | 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 | ;...!..if.(!a.comp.||.!a.shm.||. |
| 220a0 | 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 00 00 00 00 2e 20 | !a.wm)........return.1;......... |
| 220c0 | 20 61 2e 77 73 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 | .a.ws.=.wl_compositor_create_sur |
| 220e0 | 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d | face(a.comp);...1..a.xs.=.xdg_wm |
| 22100 | 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 | _base_get_xdg_surface(a.wm,.a.ws |
| 22120 | 29 3b 00 00 00 3e 20 20 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_ |
| 22140 | 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 | surface_listener.xs_list.=.{xs_c |
| 22160 | 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e | fg};.../..xdg_surface_add_listen |
| 22180 | 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 | er(a.xs,.&xs_list,.&a);...(..a.x |
| 221a0 | 74 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 6c 28 61 2e 78 | t.=.xdg_surface_get_toplevel(a.x |
| 221c0 | 73 29 3b 00 00 00 4f 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | s);...O..static.const.struct.xdg |
| 221e0 | 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 | _toplevel_listener.xt_list.=.{xt |
| 22200 | 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f | _cfg,.(void.*)on_sig};...0..xdg_ |
| 22220 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f | toplevel_add_listener(a.xt,.&xt_ |
| 22240 | 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 | list,.&a);...*..xdg_toplevel_set |
| 22260 | 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c | _title(a.xt,."wlclock");......., |
| 22280 | 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 | ..xdg_toplevel_set_min_size(a.xt |
| 222a0 | 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 28 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 | ,.100,.100);...(..xdg_toplevel_s |
| 222c0 | 65 74 5f 6d 61 78 5f 73 69 7a 65 28 61 2e 78 74 2c 20 30 2c 20 30 29 3b 00 00 00 00 00 00 00 1a | et_max_size(a.xt,.0,.0);........ |
| 222e0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 39 20 20 | ..wl_surface_commit(a.ws);...9.. |
| 22300 | 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d | int.tfd.=.timerfd_create(CLOCK_M |
| 22320 | 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d | ONOTONIC,.TFD_CLOEXEC);...F..tim |
| 22340 | 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 | erfd_settime(tfd,.0,.&(struct.it |
| 22360 | 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 | imerspec){{1,.0},.{1,.0}},.NULL) |
| 22380 | 3b 00 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f | ;.......5..while.(running.&&.wl_ |
| 223a0 | 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 | display_dispatch(a.d).!=.-1).{.. |
| 223c0 | 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b | .N....struct.pollfd.pfds[2].=.{{ |
| 223e0 | 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c | wl_display_get_fd(a.d),.POLLIN}, |
| 22400 | 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1e 20 20 20 20 69 66 20 28 70 6f 6c 6c | .{tfd,.POLLIN}};........if.(poll |
| 22420 | 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 | (pfds,.2,.-1).<.0)..........brea |
| 22440 | 6b 3b 00 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 | k;...#....if.(pfds[1].revents.&. |
| 22460 | 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b | POLLIN).{..........uint64_t.tick |
| 22480 | 73 3b 00 00 00 2f 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 | s;.../......if.(read(tfd,.&ticks |
| 224a0 | 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 00 00 00 17 20 20 20 20 20 20 20 | ,.sizeof(ticks)).>.0)........... |
| 224c0 | 20 64 72 61 77 5f 63 6c 6f 63 6b 28 26 61 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d | .draw_clock(&a);........}......} |
| 224e0 | 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 | ......close(tfd);......wl_displa |
| 22500 | 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 | y_disconnect(a.d);......return.0 |
| 22520 | 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 f2 00 00 00 00 00 00 00 01 00 | ;....}5......................... |
| 22540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e5 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 | ..............................5. |
| 22560 | 5f d0 00 00 00 1b 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 00 01 00 00 00 00 00 00 | _............................... |
| 22580 | 00 00 ff ff ff ff 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 | ................................ |
| 225a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 225c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 225e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 226a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 226c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 226e0 | 00 00 00 00 69 9d 9f 23 04 01 00 00 00 00 00 f5 18 00 00 00 c7 00 00 00 00 00 00 00 00 00 00 00 | ....i..#........................ |
| 22700 | 01 00 00 00 01 7d f5 18 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7d 00 00 | .....}.......................}.. |
| 22720 | 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 | ................wl_surface_attac |
| 22740 | 68 28 61 2d 3e 77 73 2c 20 61 2d f5 18 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | h(a->ws,.a-.....~............... |
| 22760 | 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 00 00 00 00 00 | ................................ |
| 22780 | 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 00 00 7d 00 00 | .....5.......................}.. |
| 227a0 | 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 | ................................ |
| 227c0 | 00 00 00 7d 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 4a 00 00 00 01 00 00 00 00 10 00 00 00 | ...}...............J............ |
| 227e0 | 00 00 00 00 00 00 00 00 00 00 00 45 0a 00 00 00 00 00 00 35 81 5f d0 00 00 00 1c 00 00 00 1e 00 | ...........E.......5._.......... |
| 22800 | 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 c8 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ................................ |
| 22820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 228a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 228c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 228e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 22960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9f 24 04 01 00 | .........................i..$... |
| 22980 | 00 00 0c 00 f5 18 00 00 00 01 00 00 00 f4 00 00 00 c8 00 00 00 c1 00 00 00 12 23 69 6e 63 6c 75 | ..........................#inclu |
| 229a0 | 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e | de.<errno.h>....#include.<fcntl. |
| 229c0 | 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c | h>....#include.<math.h>....#incl |
| 229e0 | 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c | ude.<poll.h>....#include.<signal |
| 22a00 | 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 | .h>....#include.<stdbool.h>....# |
| 22a20 | 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 75 64 65 20 3c 73 | include.<stdio.h>....#include.<s |
| 22a40 | 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 3e 00 | tdlib.h>....#include.<string.h>. |
| 22a60 | 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 | ...#include.<sys/mman.h>....#inc |
| 22a80 | 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 | lude.<sys/timerfd.h>....#include |
| 22aa0 | 20 3c 74 69 6d 65 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 | .<time.h>....#include.<unistd.h> |
| 22ac0 | 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>. |
| 22ae0 | 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 65 6e 74 2d 70 72 | ..&#include."xdg-shell-client-pr |
| 22b00 | 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 | otocol.h"........#ifndef.M_PI... |
| 22b20 | 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 | ##define.M_PI.3.1415926535897932 |
| 22b40 | 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 | 3846....#endif....#ifndef.M_PI_2 |
| 22b60 | 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 | ...%#define.M_PI_2.1.57079632679 |
| 22b80 | 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 | 489661923....#endif.......)stati |
| 22ba0 | 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 | c.volatile.sig_atomic_t.running. |
| 22bc0 | 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 | =.1;...3static.void.on_sig(int.s |
| 22be0 | 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 | ).{.(void)s;.running.=.0;.}..... |
| 22c00 | 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 | ...struct.app.{......struct.wl_d |
| 22c20 | 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | isplay.*d;......struct.wl_regist |
| 22c40 | 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | ry.*reg;......struct.wl_composit |
| 22c60 | 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 | or.*comp;......struct.wl_shm.*sh |
| 22c80 | 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 | m;......struct.xdg_wm_base.*wm;. |
| 22ca0 | 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 | .....struct.wl_surface.*ws;..... |
| 22cc0 | 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 | .struct.xdg_surface.*xs;......st |
| 22ce0 | 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 | ruct.xdg_toplevel.*xt;......void |
| 22d00 | 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 | .*pixels;......struct.wl_buffer. |
| 22d20 | 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 | *buf;......int.w,.h;......bool.c |
| 22d40 | 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 | onfigured;......bool.needs_redra |
| 22d60 | 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 | w;....};.......)static.int.creat |
| 22d80 | 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 | e_shm_file(size_t.size).{......c |
| 22da0 | 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 | har.template[].=."/tmp/wlclock-s |
| 22dc0 | 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d | hm-XXXXXX";......int.fd.=.mkstem |
| 22de0 | 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 | p(template);......if.(fd.<.0).ex |
| 22e00 | 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 | it(1);......unlink(template);... |
| 22e20 | 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 | =..if.(ftruncate(fd,.(off_t)size |
| 22e40 | 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 | ).<.0).{.close(fd);.exit(1);.}.. |
| 22e60 | 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 | ....return.fd;....}.......,stati |
| 22e80 | 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 | c.void.allocate_buffer(struct.ap |
| 22ea0 | 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 | p.*a).{...0..if.(!a->shm.||.a->w |
| 22ec0 | 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 | .<=.0.||.a->h.<=.0).return;..... |
| 22ee0 | 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f | .if.(a->buf).{........wl_buffer_ |
| 22f00 | 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 | destroy(a->buf);...1....munmap(a |
| 22f20 | 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a | ->pixels,.(size_t)(a->w.*.a->h.* |
| 22f40 | 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 | .4));........a->buf.=.NULL;..... |
| 22f60 | 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 | ...a->pixels.=.NULL;......}...*. |
| 22f80 | 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 | .size_t.size.=.(size_t)(a->w.*.a |
| 22fa0 | 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | ->h.*.4);...!..int.fd.=.create_s |
| 22fc0 | 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 | hm_file(size);...J..a->pixels.=. |
| 22fe0 | 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 20 7c 20 50 52 4f | mmap(NULL,.size,.PROT_READ.|.PRO |
| 23000 | 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 36 | T_WRITE,.MAP_SHARED,.fd,.0);...6 |
| 23020 | 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b | ..if.(a->pixels.==.MAP_FAILED).{ |
| 23040 | 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 4b 20 20 73 74 72 75 | .close(fd);.exit(1);.}...K..stru |
| 23060 | 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 | ct.wl_shm_pool.*pool.=.wl_shm_cr |
| 23080 | 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 | eate_pool(a->shm,.fd,.(int32_t)s |
| 230a0 | 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | ize);...\..a->buf.=.wl_shm_pool_ |
| 230c0 | 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e | create_buffer(pool,.0,.a->w,.a-> |
| 230e0 | 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 | h,.a->w.*.4,.WL_SHM_FORMAT_ARGB8 |
| 23100 | 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 | 888);......wl_shm_pool_destroy(p |
| 23120 | 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 | ool);......close(fd);....}...... |
| 23140 | 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 | ._static.void.draw_line(uint32_t |
| 23160 | 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 | .*px,.int.w,.int.h,.int.x0,.int. |
| 23180 | 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 | y0,.int.x1,.int.y1,.uint32_t.c). |
| 231a0 | 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 | {.../..int.dx.=.abs(x1.-.x0),.sx |
| 231c0 | 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 | .=.x0.<.x1.?.1.:.-1;...0..int.dy |
| 231e0 | 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f | .=.-abs(y1.-.y0),.sy.=.y0.<.y1.? |
| 23200 | 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c | .1.:.-1;......int.err.=.dx.+.dy, |
| 23220 | 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 | .e2;......while.(1).{...D....if. |
| 23240 | 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 | (x0.>=.0.&&.x0.<.w.&&.y0.>=.0.&& |
| 23260 | 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 | .y0.<.h).px[y0.*.w.+.x0].=.c;... |
| 23280 | 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 | $....if.(x0.==.x1.&&.y0.==.y1).b |
| 232a0 | 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2a 20 20 | reak;........e2.=.2.*.err;...*.. |
| 232c0 | 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 | ..if.(e2.>=.dy).{.err.+=.dy;.x0. |
| 232e0 | 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 | +=.sx;.}...*....if.(e2.<=.dx).{. |
| 23300 | 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 | err.+=.dx;.y0.+=.sy;.}......}... |
| 23320 | 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c | .}.......Xstatic.void.draw_circl |
| 23340 | 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e | e(uint32_t.*px,.int.w,.int.h,.in |
| 23360 | 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 | t.cx,.int.cy,.int.r,.uint32_t.c) |
| 23380 | 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 | .{..."..int.x.=.0,.y.=.r,.d.=.3. |
| 233a0 | 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 | -.2.*.r;......while.(y.>=.x).{.. |
| 233c0 | 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 2b 78 2c 20 63 79 | .L....int.pts[8][2].=.{{cx+x,.cy |
| 233e0 | 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 63 79 2d 79 7d 2c | +y},.{cx-x,.cy+y},.{cx+x,.cy-y}, |
| 23400 | 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .{cx-x,.cy-y},...M.............. |
| 23420 | 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2b 78 | .......{cx+y,.cy+x},.{cx-y,.cy+x |
| 23440 | 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 7d 3b 00 | },.{cx+y,.cy-x},.{cx-y,.cy-x}};. |
| 23460 | 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b | .......for.(int.i.=.0;.i.<.8;.i+ |
| 23480 | 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 | +)...M......if.(pts[i][0].>=.0.& |
| 234a0 | 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 | &.pts[i][0].<.w.&&.pts[i][1].>=. |
| 234c0 | 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 | 0.&&.pts[i][1].<.h)...*........p |
| 234e0 | 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 | x[pts[i][1].*.w.+.pts[i][0]].=.c |
| 23500 | 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 | ;...C....if.(d.>.0).{.d.+=.4.*.( |
| 23520 | 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 | x.-.y).+.10;.y--;.}.else.d.+=.4. |
| 23540 | 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d | *.x.+.6;........x++;......}....} |
| 23560 | 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 | .......#static.void.render(struc |
| 23580 | 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 | t.app.*a).{...7..if.(!a->configu |
| 235a0 | 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 | red.||.a->w.<=.0.||.a->h.<=.0).r |
| 235c0 | 65 74 75 72 6e 3b 00 00 00 22 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 61 74 | eturn;..."..if.(!a->buf).allocat |
| 235e0 | 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 19 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 | e_buffer(a);......if.(!a->pixels |
| 23600 | 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 | ).return;..........time_t.tt.=.t |
| 23620 | 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 | ime(NULL);......struct.tm.tm_buf |
| 23640 | 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 | ;......localtime_r(&tt,.&tm_buf) |
| 23660 | 3b 00 00 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 | ;..........uint32_t.*px.=.a->pix |
| 23680 | 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 | els;......memset(px,.0xff,.(size |
| 236a0 | 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 | _t)(a->w.*.a->h.*.4));...#..int. |
| 236c0 | 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 | cx.=.a->w./.2,.cy.=.a->h./.2;... |
| 236e0 | 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a | /..int.r.=.(a->w.<.a->h.?.a->w.: |
| 23700 | 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 | .a->h)./.2.-.10;......if.(r.<.5) |
| 23720 | 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c | .r.=.5;.......5..draw_circle(px, |
| 23740 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 | .a->w,.a->h,.cx,.cy,.r,.0xFF0000 |
| 23760 | 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 | 00);......for.(int.i.=.0;.i.<.12 |
| 23780 | 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f | ;.i++).{........double.ang.=.i./ |
| 237a0 | 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 | .12.0.*.2.*.M_PI.-.M_PI_2;..._.. |
| 237c0 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | ..draw_line(px,.a->w,.a->h,.cx.+ |
| 237e0 | 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 | .(int)(cos(ang).*.(r.-.10)),.cy. |
| 23800 | 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 | +.(int)(sin(ang).*.(r.-.10)),... |
| 23820 | 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e | Z..............cx.+.(int)(cos(an |
| 23840 | 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e | g).*.(r.-.2)),.cy.+.(int)(sin(an |
| 23860 | 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 | g).*.(r.-.2)),.0xFF000000);..... |
| 23880 | 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 | .}...7..double.sa.=.tm_buf.tm_se |
| 238a0 | 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 | c./.60.0.*.2.*.M_PI.-.M_PI_2;... |
| 238c0 | 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 | P..double.ma.=.(tm_buf.tm_min.+. |
| 238e0 | 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 | tm_buf.tm_sec./.60.0)./.60.0.*.2 |
| 23900 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 61 | .*.M_PI.-.M_PI_2;...Z..double.ha |
| 23920 | 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f | .=.((tm_buf.tm_hour.%.12).+.(tm_ |
| 23940 | 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a | buf.tm_min./.60.0))./.12.0.*.2.* |
| 23960 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 | .M_PI.-.M_PI_2;.......n..draw_li |
| 23980 | 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 | ne(px,.a->w,.a->h,.cx,.cy,.cx.+. |
| 239a0 | 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 | (int)(cos(ha).*.r.*.0.5),.cy.+.( |
| 239c0 | 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 | int)(sin(ha).*.r.*.0.5),.0xFF000 |
| 239e0 | 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 | 000);...n..draw_line(px,.a->w,.a |
| 23a00 | 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 | ->h,.cx,.cy,.cx.+.(int)(cos(ma). |
| 23a20 | 2a 20 72 20 2a 20 30 2e 37 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a | *.r.*.0.7),.cy.+.(int)(sin(ma).* |
| 23a40 | 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 | .r.*.0.7),.0xFF000000);...n..dra |
| 23a60 | 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 | w_line(px,.a->w,.a->h,.cx,.cy,.c |
| 23a80 | 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 | x.+.(int)(cos(sa).*.r.*.0.9),.cy |
| 23aa0 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 | .+.(int)(sin(sa).*.r.*.0.9),.0xF |
| 23ac0 | 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 | FFF0000);.......)..wl_surface_at |
| 23ae0 | 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 | tach(a->ws,.a->buf,.0,.0);...4.. |
| 23b00 | 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 | wl_surface_damage_buffer(a->ws,. |
| 23b20 | 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | 0,.0,.a->w,.a->h);......wl_surfa |
| 23b40 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f | ce_commit(a->ws);......a->needs_ |
| 23b60 | 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 | redraw.=.false;....}.......astat |
| 23b80 | 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | ic.void.xt_cfg(void.*d,.struct.x |
| 23ba0 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 | dg_toplevel.*xt,.int32_t.w,.int3 |
| 23bc0 | 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 | 2_t.h,.struct.wl_array.*st).{... |
| 23be0 | 28 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 | (..struct.app.*a.=.d;.(void)xt;. |
| 23c00 | 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 | (void)st;...3..if.(w.>.0.&&.h.>. |
| 23c20 | 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b | 0.&&.(w.!=.a->w.||.h.!=.a->h)).{ |
| 23c40 | 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 | ........a->w.=.w;.a->h.=.h;..... |
| 23c60 | 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 | ...if.(a->buf).{..."........wl_b |
| 23c80 | 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 35 20 20 20 20 20 20 | uffer_destroy(a->buf);...5...... |
| 23ca0 | 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e | ..munmap(a->pixels,.(size_t)(a-> |
| 23cc0 | 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 61 2d 3e 62 75 | w.*.a->h.*.4));...(........a->bu |
| 23ce0 | 66 20 3d 20 4e 55 4c 4c 3b 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 | f.=.NULL;.a->pixels.=.NULL;..... |
| 23d00 | 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 | ...}......}....}.......Astatic.v |
| 23d20 | 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 | oid.xs_cfg(void.*d,.struct.xdg_s |
| 23d40 | 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 | urface.*xs,.uint32_t.s).{......s |
| 23d60 | 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 | truct.app.*a.=.d;...#..xdg_surfa |
| 23d80 | 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d | ce_ack_configure(xs,.s);......a- |
| 23da0 | 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 | >configured.=.true;......a->need |
| 23dc0 | 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 73 74 61 | s_redraw.=.true;....}.......qsta |
| 23de0 | 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a | tic.void.registry_handler(void.* |
| 23e00 | 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 67 2c 20 75 | data,.struct.wl_registry.*reg,.u |
| 23e20 | 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 | int32_t.id,.const.char.*iface,.u |
| 23e40 | 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | int32_t.ver).{......struct.app.* |
| 23e60 | 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 | a.=.data;...h..if.(!strcmp(iface |
| 23e80 | 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c | ,."wl_compositor")).a->comp.=.wl |
| 23ea0 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 | _registry_bind(reg,.id,.&wl_comp |
| 23ec0 | 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 5e 20 20 65 6c 73 65 20 | ositor_interface,.4);...^..else. |
| 23ee0 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d | if.(!strcmp(iface,."wl_shm")).a- |
| 23f00 | 3e 73 68 6d 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 69 64 2c | >shm.=.wl_registry_bind(reg,.id, |
| 23f20 | 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 | .&wl_shm_interface,.1);...+..els |
| 23f40 | 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 | e.if.(!strcmp(iface,."xdg_wm_bas |
| 23f60 | 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | e")).{...A....a->wm.=.wl_registr |
| 23f80 | 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 | y_bind(reg,.id,.&xdg_wm_base_int |
| 23fa0 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 51 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | erface,.1);...Q....static.const. |
| 23fc0 | 73 74 72 75 63 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 6c | struct.xdg_wm_base_listener.wm_l |
| 23fe0 | 69 73 74 20 3d 20 7b 28 76 6f 69 64 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 3b | ist.=.{(void*)xdg_wm_base_pong}; |
| 24000 | 00 00 00 31 20 20 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 | ...1....xdg_wm_base_add_listener |
| 24020 | 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 | (a->wm,.&wm_list,.a);......}.... |
| 24040 | 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 26 20 20 73 | }........int.main(void).{...&..s |
| 24060 | 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 | truct.app.a.=.{.w.=.400,..h.=.40 |
| 24080 | 30 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b | 0};......signal(SIGINT,.on_sig); |
| 240a0 | 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e | ...2..if.(!(a.d.=.wl_display_con |
| 240c0 | 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 | nect(NULL))).return.1;...'..a.re |
| 240e0 | 67 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 61 2e 64 29 | g.=.wl_display_get_registry(a.d) |
| 24100 | 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | ;...I..static.const.struct.wl_re |
| 24120 | 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 | gistry_listener.reg_list.=.{regi |
| 24140 | 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | stry_handler};...1..wl_registry_ |
| 24160 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 | add_listener(a.reg,.®_list,.& |
| 24180 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 241a0 | 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | d);..........a.ws.=.wl_composito |
| 241c0 | 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 | r_create_surface(a.comp);...1..a |
| 241e0 | 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 | .xs.=.xdg_wm_base_get_xdg_surfac |
| 24200 | 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | e(a.wm,.a.ws);...>..static.const |
| 24220 | 20 73 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 73 5f | .struct.xdg_surface_listener.xs_ |
| 24240 | 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 | list.=.{xs_cfg};.../..xdg_surfac |
| 24260 | 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 | e_add_listener(a.xs,.&xs_list,.& |
| 24280 | 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f | a);...(..a.xt.=.xdg_surface_get_ |
| 242a0 | 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | toplevel(a.xs);...N..static.cons |
| 242c0 | 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 6e 65 72 20 78 | t.struct.xdg_toplevel_listener.x |
| 242e0 | 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 2a 29 6f 6e 5f 73 69 67 7d | t_list.=.{xt_cfg,.(void*)on_sig} |
| 24300 | 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 | ;...0..xdg_toplevel_add_listener |
| 24320 | 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 | (a.xt,.&xt_list,.&a);...*..xdg_t |
| 24340 | 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b | oplevel_set_title(a.xt,."wlclock |
| 24360 | 22 29 3b 00 00 00 02 20 20 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f | ");.........,..xdg_toplevel_set_ |
| 24380 | 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 1a 20 20 77 | min_size(a.xt,.100,.100);......w |
| 243a0 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 | l_surface_commit(a.ws);.......9. |
| 243c0 | 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f | .int.tfd.=.timerfd_create(CLOCK_ |
| 243e0 | 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 | MONOTONIC,.TFD_CLOEXEC);...F..ti |
| 24400 | 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 | merfd_settime(tfd,.0,.&(struct.i |
| 24420 | 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c | timerspec){{1,.0},.{1,.0}},.NULL |
| 24440 | 29 3b 00 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c | );.......5..while.(running.&&.wl |
| 24460 | 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 | _display_dispatch(a.d).!=.-1).{. |
| 24480 | 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b | ..N....struct.pollfd.pfds[2].=.{ |
| 244a0 | 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d | {wl_display_get_fd(a.d),.POLLIN} |
| 244c0 | 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c | ,.{tfd,.POLLIN}};........if.(pol |
| 244e0 | 6c 28 70 66 64 73 2c 20 32 2c 20 30 29 20 3e 20 30 29 20 7b 00 00 00 25 20 20 20 20 20 20 69 66 | l(pfds,.2,.0).>.0).{...%......if |
| 24500 | 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 | .(pfds[1].revents.&.POLLIN).{... |
| 24520 | 17 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 49 20 20 20 20 | .........uint64_t.ticks;...I.... |
| 24540 | 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 | ....if.(read(tfd,.&ticks,.sizeof |
| 24560 | 28 74 69 63 6b 73 29 29 20 3e 20 30 29 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 | (ticks)).>.0).a->needs_redraw.=. |
| 24580 | 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 23 20 20 20 | true;..........}........}...#... |
| 245a0 | 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 3b | .if.(a.needs_redraw).render(&a); |
| 245c0 | 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 c0 00 00 00 17 00 00 00 f1 00 00 00 05 00 00 00 | 5............................... |
| 245e0 | 29 00 00 00 00 00 00 00 d1 19 00 00 00 00 00 00 66 1b 00 00 00 00 00 00 35 81 5f d0 00 00 00 1d | )...............f.......5._..... |
| 24600 | 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 24620 | 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 00 | ................................ |
| 24640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 246a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 246c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 246e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d | ..............................i. |
| 24780 | 9f 5c 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f9 00 00 00 1f 23 | .\.............................# |
| 247a0 | 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 | define._POSIX_C_SOURCE.200809L.. |
| 247c0 | 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 65 6e 74 2d 70 72 6f | .&#include."xdg-shell-client-pro |
| 247e0 | 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 | tocol.h"....#include.<errno.h>.. |
| 24800 | 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 | ..#include.<fcntl.h>....#include |
| 24820 | 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 | .<math.h>....#include.<poll.h>.. |
| 24840 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 | ..#include.<signal.h>....#includ |
| 24860 | 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f | e.<stdbool.h>....#include.<stdio |
| 24880 | 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 00 00 00 13 23 69 | .h>....#include.<stdlib.h>....#i |
| 248a0 | 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 | nclude.<string.h>....#include.<s |
| 248c0 | 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 | ys/mman.h>....#include.<sys/time |
| 248e0 | 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 | rfd.h>....#include.<time.h>....# |
| 24900 | 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c | include.<unistd.h>....#include.< |
| 24920 | 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 | wayland-client.h>........#ifndef |
| 24940 | 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 | .M_PI...##define.M_PI.3.14159265 |
| 24960 | 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 | 358979323846....#endif....#ifnde |
| 24980 | 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 | f.M_PI_2...%#define.M_PI_2.1.570 |
| 249a0 | 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 | 79632679489661923....#endif..... |
| 249c0 | 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 | ..)static.volatile.sig_atomic_t. |
| 249e0 | 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 | running.=.1;....static.void.on_s |
| 24a00 | 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 | ig(int.s).{......(void)s;......r |
| 24a20 | 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 | unning.=.0;....}........struct.a |
| 24a40 | 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 | pp.{......struct.wl_display.*d;. |
| 24a60 | 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 | .....struct.wl_registry.*reg;... |
| 24a80 | 1d 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 3b 00 00 | ...struct.wl_compositor.*comp;.. |
| 24aa0 | 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 | ....struct.wl_shm.*shm;......str |
| 24ac0 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 | uct.xdg_wm_base.*wm;......struct |
| 24ae0 | 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 | .wl_surface.*ws;......struct.xdg |
| 24b00 | 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | _surface.*xs;......struct.xdg_to |
| 24b20 | 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 | plevel.*xt;......void.*pixels;.. |
| 24b40 | 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 | ....struct.wl_buffer.*buf;...... |
| 24b60 | 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 | int.w,.h;......bool.configured;. |
| 24b80 | 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 | .....bool.needs_redraw;....};... |
| 24ba0 | 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 | ....)static.int.create_shm_file( |
| 24bc0 | 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 | size_t.size).{......char.templat |
| 24be0 | 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b | e[].=."/tmp/wlclock-shm-XXXXXX"; |
| 24c00 | 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 | ......int.fd.=.mkstemp(template) |
| 24c20 | 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 | ;......if.(fd.<.0)........exit(1 |
| 24c40 | 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 | );......unlink(template);...'..i |
| 24c60 | 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 | f.(ftruncate(fd,.(off_t)size).<. |
| 24c80 | 30 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 | 0).{........close(fd);........ex |
| 24ca0 | 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 | it(1);......}......return.fd;... |
| 24cc0 | 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 | .}.......,static.void.allocate_b |
| 24ce0 | 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 28 20 20 69 66 20 28 | uffer(struct.app.*a).{...(..if.( |
| 24d00 | 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 | !a->shm.||.a->w.<=.0.||.a->h.<=. |
| 24d20 | 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 | 0)........return;......if.(a->bu |
| 24d40 | 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d | f).{........wl_buffer_destroy(a- |
| 24d60 | 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 | >buf);...1....munmap(a->pixels,. |
| 24d80 | 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 | (size_t)(a->w.*.a->h.*.4));..... |
| 24da0 | 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 | ...a->buf.=.NULL;........a->pixe |
| 24dc0 | 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 | ls.=.NULL;......}...*..size_t.si |
| 24de0 | 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 | ze.=.(size_t)(a->w.*.a->h.*.4);. |
| 24e00 | 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 | ..!..int.fd.=.create_shm_file(si |
| 24e20 | 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c | ze);...J..a->pixels.=.mmap(NULL, |
| 24e40 | 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d | .size,.PROT_READ.|.PROT_WRITE,.M |
| 24e60 | 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 70 | AP_SHARED,.fd,.0);......if.(a->p |
| 24e80 | 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 0e 20 20 20 20 63 6c | ixels.==.MAP_FAILED).{........cl |
| 24ea0 | 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 | ose(fd);........exit(1);......}. |
| 24ec0 | 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 | ..K..struct.wl_shm_pool.*pool.=. |
| 24ee0 | 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 | wl_shm_create_pool(a->shm,.fd,.( |
| 24f00 | 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f | int32_t)size);...C..a->buf.=.wl_ |
| 24f20 | 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 | shm_pool_create_buffer(pool,.0,. |
| 24f40 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 | a->w,.a->h,.a->w.*.4,...=....... |
| 24f60 | 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 57 4c | ..............................WL |
| 24f80 | 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 | _SHM_FORMAT_ARGB8888);......wl_s |
| 24fa0 | 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 | hm_pool_destroy(pool);......clos |
| 24fc0 | 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 | e(fd);....}.......Istatic.void.d |
| 24fe0 | 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e | raw_line(uint32_t.*px,.int.w,.in |
| 25000 | 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b | t.h,.int.x0,.int.y0,.int.x1,...+ |
| 25020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 | ......................int.y1,.ui |
| 25040 | 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 | nt32_t.c).{.../..int.dx.=.abs(x1 |
| 25060 | 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 | .-.x0),.sx.=.x0.<.x1.?.1.:.-1;.. |
| 25080 | 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d | .0..int.dy.=.-abs(y1.-.y0),.sy.= |
| 250a0 | 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 | .y0.<.y1.?.1.:.-1;......int.err. |
| 250c0 | 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 | =.dx.+.dy,.e2;......while.(1).{. |
| 250e0 | 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 | ../....if.(x0.>=.0.&&.x0.<.w.&&. |
| 25100 | 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 | y0.>=.0.&&.y0.<.h)..........px[y |
| 25120 | 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d | 0.*.w.+.x0].=.c;........if.(x0.= |
| 25140 | 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | =.x1.&&.y0.==.y1)..........break |
| 25160 | 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 | ;........e2.=.2.*.err;........if |
| 25180 | 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 | .(e2.>=.dy).{..........err.+=.dy |
| 251a0 | 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ;..........x0.+=.sx;........}... |
| 251c0 | 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 | .....if.(e2.<=.dx).{..........er |
| 251e0 | 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 | r.+=.dx;..........y0.+=.sy;..... |
| 25200 | 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 | ...}......}....}.......Jstatic.v |
| 25220 | 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e | oid.draw_circle(uint32_t.*px,.in |
| 25240 | 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 | t.w,.int.h,.int.cx,.int.cy,.int. |
| 25260 | 72 2c 00 00 00 25 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 | r,...%........................ui |
| 25280 | 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 | nt32_t.c).{..."..int.x.=.0,.y.=. |
| 252a0 | 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 | r,.d.=.3.-.2.*.r;......while.(y. |
| 252c0 | 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b | >=.x).{...J....int.pts[8][2].=.{ |
| 252e0 | 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 | {cx.+.x,.cy.+.y},.{cx.-.x,.cy.+. |
| 25300 | 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 | y},.{cx.+.x,.cy.-.y},...J....... |
| 25320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 | ..............{cx.-.x,.cy.-.y},. |
| 25340 | 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 | {cx.+.y,.cy.+.x},.{cx.-.y,.cy.+. |
| 25360 | 78 7d 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 7b 63 78 20 | x},...9.....................{cx. |
| 25380 | 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b | +.y,.cy.-.x},.{cx.-.y,.cy.-.x}}; |
| 253a0 | 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 | ........for.(int.i.=.0;.i.<.8;.i |
| 253c0 | 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 | ++)...M......if.(pts[i][0].>=.0. |
| 253e0 | 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d | &&.pts[i][0].<.w.&&.pts[i][1].>= |
| 25400 | 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 | .0.&&.pts[i][1].<.h)...*........ |
| 25420 | 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 | px[pts[i][1].*.w.+.pts[i][0]].=. |
| 25440 | 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 | c;........if.(d.>.0).{.......... |
| 25460 | 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 | d.+=.4.*.(x.-.y).+.10;.......... |
| 25480 | 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d | y--;........}.else..........d.+= |
| 254a0 | 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 | .4.*.x.+.6;........x++;......}.. |
| 254c0 | 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 | ..}.......#static.void.render(st |
| 254e0 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 | ruct.app.*a).{.../..if.(!a->conf |
| 25500 | 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 | igured.||.a->w.<=.0.||.a->h.<=.0 |
| 25520 | 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 | )........return;......if.(!a->bu |
| 25540 | 66 29 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 | f)........allocate_buffer(a);... |
| 25560 | 11 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e | ...if.(!a->pixels)........return |
| 25580 | 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c | ;..........time_t.tt.=.time(NULL |
| 255a0 | 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c | );......struct.tm.tm_buf;......l |
| 255c0 | 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 00 00 00 00 | ocaltime_r(&tt,.&tm_buf);....... |
| 255e0 | 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e | ...uint32_t.*px.=.a->pixels;.... |
| 25600 | 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 | ..memset(px,.0xff,.(size_t)(a->w |
| 25620 | 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e | .*.a->h.*.4));...#..int.cx.=.a-> |
| 25640 | 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 | w./.2,.cy.=.a->h./.2;.../..int.r |
| 25660 | 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f | .=.(a->w.<.a->h.?.a->w.:.a->h)./ |
| 25680 | 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 | .2.-.10;......if.(r.<.5)........ |
| 256a0 | 72 20 3d 20 35 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 | r.=.5;.......5..draw_circle(px,. |
| 256c0 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 | a->w,.a->h,.cx,.cy,.r,.0xFF00000 |
| 256e0 | 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b | 0);......for.(int.i.=.0;.i.<.12; |
| 25700 | 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 | .i++).{........double.ang.=.i./. |
| 25720 | 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 20 | 12.0.*.2.*.M_PI.-.M_PI_2;...>... |
| 25740 | 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | .draw_line(px,.a->w,.a->h,.cx.+. |
| 25760 | 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e 20 | (int)(cos(ang).*.(r.-.10)),...N. |
| 25780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 | .............cy.+.(int)(sin(ang) |
| 257a0 | 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 | .*.(r.-.10)),.cx.+.(int)(cos(ang |
| 257c0 | 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | ).*.(r.-.2)),...:..............c |
| 257e0 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 | y.+.(int)(sin(ang).*.(r.-.2)),.0 |
| 25800 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 | xFF000000);......}...7..double.s |
| 25820 | 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d | a.=.tm_buf.tm_sec./.60.0.*.2.*.M |
| 25840 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 | _PI.-.M_PI_2;...P..double.ma.=.( |
| 25860 | 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 | tm_buf.tm_min.+.tm_buf.tm_sec./. |
| 25880 | 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | 60.0)./.60.0.*.2.*.M_PI.-.M_PI_2 |
| 258a0 | 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 6d | ;......double.ha.=...J......((tm |
| 258c0 | 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f | _buf.tm_hour.%.12).+.(tm_buf.tm_ |
| 258e0 | 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | min./.60.0))./.12.0.*.2.*.M_PI.- |
| 25900 | 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 42 20 20 64 72 61 77 5f | ..........M_PI_2;.......B..draw_ |
| 25920 | 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 | line(px,.a->w,.a->h,.cx,.cy,.cx. |
| 25940 | 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 | +.(int)(cos(ha).*.r.*.0.5),...7. |
| 25960 | 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 | ...........cy.+.(int)(sin(ha).*. |
| 25980 | 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 | r.*.0.5),.0xFF000000);...B..draw |
| 259a0 | 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | _line(px,.a->w,.a->h,.cx,.cy,.cx |
| 259c0 | 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 | .+.(int)(cos(ma).*.r.*.0.7),...7 |
| 259e0 | 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a | ............cy.+.(int)(sin(ma).* |
| 25a00 | 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 | .r.*.0.7),.0xFF000000);...B..dra |
| 25a20 | 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 | w_line(px,.a->w,.a->h,.cx,.cy,.c |
| 25a40 | 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 | x.+.(int)(cos(sa).*.r.*.0.9),... |
| 25a60 | 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 | 7............cy.+.(int)(sin(sa). |
| 25a80 | 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 | *.r.*.0.9),.0xFFFF0000);.......) |
| 25aa0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 | ..wl_surface_attach(a->ws,.a->bu |
| 25ac0 | 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 | f,.0,.0);...4..wl_surface_damage |
| 25ae0 | 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 | _buffer(a->ws,.0,.0,.a->w,.a->h) |
| 25b00 | 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | ;......wl_surface_commit(a->ws); |
| 25b20 | 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 | ......a->needs_redraw.=.false;.. |
| 25b40 | 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f | ..}.......Jstatic.void.xt_cfg(vo |
| 25b60 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 | id.*d,.struct.xdg_toplevel.*xt,. |
| 25b80 | 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 | int32_t.w,.int32_t.h,...)....... |
| 25ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 | ............struct.wl_array.*st) |
| 25bc0 | 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0b 20 20 | .{......struct.app.*a.=.d;...... |
| 25be0 | 28 76 6f 69 64 29 78 74 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 | (void)xt;......(void)st;...3..if |
| 25c00 | 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c | .(w.>.0.&&.h.>.0.&&.(w.!=.a->w.| |
| 25c20 | 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b | |.h.!=.a->h)).{........a->w.=.w; |
| 25c40 | 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 28 61 2d 3e | ........a->h.=.h;........if.(a-> |
| 25c60 | 62 75 66 29 20 7b 00 00 00 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f | buf).{..........wl_buffer_destro |
| 25c80 | 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 33 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 | y(a->buf);...3......munmap(a->pi |
| 25ca0 | 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 | xels,.(size_t)(a->w.*.a->h.*.4)) |
| 25cc0 | 3b 00 00 00 14 20 20 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 20 | ;..........a->buf.=.NULL;....... |
| 25ce0 | 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ...a->pixels.=.NULL;........}... |
| 25d00 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f | ...}....}.......Astatic.void.xs_ |
| 25d20 | 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 | cfg(void.*d,.struct.xdg_surface. |
| 25d40 | 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 | *xs,.uint32_t.s).{......struct.a |
| 25d60 | 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f | pp.*a.=.d;...#..xdg_surface_ack_ |
| 25d80 | 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 | configure(xs,.s);......a->config |
| 25da0 | 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 | ured.=.true;......a->needs_redra |
| 25dc0 | 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 | w.=.true;....}.......Nstatic.voi |
| 25de0 | 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 | d.registry_handler(void.*data,.s |
| 25e00 | 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 74 33 32 5f 74 | truct.wl_registry.*reg,.uint32_t |
| 25e20 | 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .id,...?........................ |
| 25e40 | 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 | .....const.char.*iface,.uint32_t |
| 25e60 | 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 | .ver).{......struct.app.*a.=.dat |
| 25e80 | 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 | a;...&..if.(!strcmp(iface,."wl_c |
| 25ea0 | 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c | ompositor"))...E....a->comp.=.wl |
| 25ec0 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 | _registry_bind(reg,.id,.&wl_comp |
| 25ee0 | 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 | ositor_interface,.4);...$..else. |
| 25f00 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 | if.(!strcmp(iface,."wl_shm"))... |
| 25f20 | 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | =....a->shm.=.wl_registry_bind(r |
| 25f40 | 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 | eg,.id,.&wl_shm_interface,.1);.. |
| 25f60 | 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 | .+..else.if.(!strcmp(iface,."xdg |
| 25f80 | 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f | _wm_base")).{...A....a->wm.=.wl_ |
| 25fa0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 | registry_bind(reg,.id,.&xdg_wm_b |
| 25fc0 | 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 38 20 20 20 20 73 74 61 74 69 63 | ase_interface,.1);...8....static |
| 25fe0 | 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e | .const.struct.xdg_wm_base_listen |
| 26000 | 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 28 76 6f 69 64 20 | er.wm_list.=.{..."........(void. |
| 26020 | 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f | *)xdg_wm_base_pong};...1....xdg_ |
| 26040 | 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f | wm_base_add_listener(a->wm,.&wm_ |
| 26060 | 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 | list,.a);......}....}........int |
| 26080 | 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 26 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 | .main(void).{...&..struct.app.a. |
| 260a0 | 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 7d 3b 00 00 00 19 20 20 73 69 67 | =.{.w.=.400,..h.=.400};......sig |
| 260c0 | 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 | nal(SIGINT,.on_sig);...(..if.(!( |
| 260e0 | 61 2e 64 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 29 29 | a.d.=.wl_display_connect(NULL))) |
| 26100 | 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 | ........return.1;...'..a.reg.=.w |
| 26120 | 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 | l_display_get_registry(a.d);...I |
| 26140 | 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | ..static.const.struct.wl_registr |
| 26160 | 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f | y_listener.reg_list.=.{registry_ |
| 26180 | 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c | handler};...1..wl_registry_add_l |
| 261a0 | 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 | istener(a.reg,.®_list,.&a);.. |
| 261c0 | 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 | ....wl_display_roundtrip(a.d);.. |
| 261e0 | 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 | ........a.ws.=.wl_compositor_cre |
| 26200 | 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d | ate_surface(a.comp);...1..a.xs.= |
| 26220 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 | .xdg_wm_base_get_xdg_surface(a.w |
| 26240 | 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | m,.a.ws);...>..static.const.stru |
| 26260 | 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 73 5f 6c 69 73 74 20 | ct.xdg_surface_listener.xs_list. |
| 26280 | 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 | =.{xs_cfg};.../..xdg_surface_add |
| 262a0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 | _listener(a.xs,.&xs_list,.&a);.. |
| 262c0 | 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 | .(..a.xt.=.xdg_surface_get_tople |
| 262e0 | 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4f 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 | vel(a.xs);...O..static.const.str |
| 26300 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 | uct.xdg_toplevel_listener.xt_lis |
| 26320 | 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 | t.=.{xt_cfg,.(void.*)on_sig};... |
| 26340 | 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 | 0..xdg_toplevel_add_listener(a.x |
| 26360 | 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 | t,.&xt_list,.&a);...*..xdg_tople |
| 26380 | 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 | vel_set_title(a.xt,."wlclock");. |
| 263a0 | 00 00 00 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 | ......,..xdg_toplevel_set_min_si |
| 263c0 | 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 | ze(a.xt,.100,.100);......wl_surf |
| 263e0 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 | ace_commit(a.ws);.......9..int.t |
| 26400 | 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f | fd.=.timerfd_create(CLOCK_MONOTO |
| 26420 | 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f | NIC,.TFD_CLOEXEC);...F..timerfd_ |
| 26440 | 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | settime(tfd,.0,.&(struct.itimers |
| 26460 | 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 | pec){{1,.0},.{1,.0}},.NULL);.... |
| 26480 | 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c | ...5..while.(running.&&.wl_displ |
| 264a0 | 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 | ay_dispatch(a.d).!=.-1).{...N... |
| 264c0 | 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 | .struct.pollfd.pfds[2].=.{{wl_di |
| 264e0 | 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 | splay_get_fd(a.d),.POLLIN},.{tfd |
| 26500 | 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 | ,.POLLIN}};........if.(poll(pfds |
| 26520 | 2c 20 32 2c 20 30 29 20 3e 20 30 29 20 7b 00 00 00 25 20 20 20 20 20 20 69 66 20 28 70 66 64 73 | ,.2,.0).>.0).{...%......if.(pfds |
| 26540 | 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 17 20 20 20 20 20 | [1].revents.&.POLLIN).{......... |
| 26560 | 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 31 20 20 20 20 20 20 20 20 69 66 | ...uint64_t.ticks;...1........if |
| 26580 | 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 | .(read(tfd,.&ticks,.sizeof(ticks |
| 265a0 | 29 29 20 3e 20 30 29 00 00 00 21 20 20 20 20 20 20 20 20 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 | )).>.0)...!..........a->needs_re |
| 265c0 | 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | draw.=.true;..........}........} |
| 265e0 | 00 00 00 17 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 00 00 00 11 20 | ........if.(a.needs_redraw)..... |
| 26600 | 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0d 20 | .....render(&a);......}......... |
| 26620 | 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 | .close(tfd);......wl_display_dis |
| 26640 | 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 | connect(a.d);......return.0;.... |
| 26660 | 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 f9 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | }5.............................. |
| 26680 | 00 00 00 00 00 00 00 00 00 db 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 266a0 | 1e 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 1f 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff | ................................ |
| 266c0 | ff 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 | ................................ |
| 266e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 267a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 267c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 267e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 26820 | 9d 9f 5d 04 01 00 00 00 00 00 f5 18 00 00 00 7d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 | ..]............}................ |
| 26840 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 f5 18 00 00 00 7e 00 00 00 00 00 00 00 00 | ..wl_surface_attac.....~........ |
| 26860 | 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 f5 18 00 00 00 01 | ................................ |
| 26880 | 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 00 00 00 00 00 00 | ............5................... |
| 268a0 | 00 00 00 00 7d 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 | ....}........................... |
| 268c0 | 00 00 00 00 f5 18 00 00 00 00 7d 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 4b 00 00 00 01 00 | ..........}...............K..... |
| 268e0 | 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82 0a 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| 26900 | 00 1f 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 c9 00 00 00 00 00 00 00 00 ff ff | .....!.......................... |
| 26920 | ff 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 | ................................ |
| 26940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 269a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 269c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 269e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 26a80 | 69 9d 9f 5e 04 01 00 00 00 0e 00 f5 18 00 00 00 01 00 00 00 f5 00 00 00 c9 00 00 00 c2 00 00 00 | i..^............................ |
| 26aa0 | 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | .#include.<errno.h>....#include. |
| 26ac0 | 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 | <fcntl.h>....#include.<math.h>.. |
| 26ae0 | 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | ..#include.<poll.h>....#include. |
| 26b00 | 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e | <signal.h>....#include.<stdbool. |
| 26b20 | 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 00 00 13 23 69 6e 63 | h>....#include.<stdio.h>....#inc |
| 26b40 | 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 73 74 72 | lude.<stdlib.h>....#include.<str |
| 26b60 | 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 | ing.h>....#include.<sys/mman.h>. |
| 26b80 | 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 | ...#include.<sys/timerfd.h>....# |
| 26ba0 | 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e | include.<time.h>....#include.<un |
| 26bc0 | 69 73 74 64 2e 68 3e 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 | istd.h>....#include.<wayland-cli |
| 26be0 | 65 6e 74 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 6c 2d 63 6c | ent.h>...&#include."xdg-shell-cl |
| 26c00 | 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 | ient-protocol.h"........#ifndef. |
| 26c20 | 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 | M_PI...##define.M_PI.3.141592653 |
| 26c40 | 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 | 58979323846....#endif....#ifndef |
| 26c60 | 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 | .M_PI_2...%#define.M_PI_2.1.5707 |
| 26c80 | 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 | 9632679489661923....#endif...... |
| 26ca0 | 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 | .)static.volatile.sig_atomic_t.r |
| 26cc0 | 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 | unning.=.1;...3static.void.on_si |
| 26ce0 | 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b | g(int.s).{.(void)s;.running.=.0; |
| 26d00 | 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 | .}........struct.app.{......stru |
| 26d20 | 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c | ct.wl_display.*d;......struct.wl |
| 26d40 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 | _registry.*reg;......struct.wl_c |
| 26d60 | 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f | ompositor.*comp;......struct.wl_ |
| 26d80 | 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | shm.*shm;......struct.xdg_wm_bas |
| 26da0 | 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 | e.*wm;......struct.wl_surface.*w |
| 26dc0 | 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 | s;......struct.xdg_surface.*xs;. |
| 26de0 | 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 | .....struct.xdg_toplevel.*xt;... |
| 26e00 | 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f | ...void.*pixels;......struct.wl_ |
| 26e20 | 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 | buffer.*buf;......int.w,.h;..... |
| 26e40 | 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 | .bool.configured;......bool.need |
| 26e60 | 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e | s_redraw;....};.......)static.in |
| 26e80 | 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b | t.create_shm_file(size_t.size).{ |
| 26ea0 | 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c | ......char.template[].=."/tmp/wl |
| 26ec0 | 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d | clock-shm-XXXXXX";......int.fd.= |
| 26ee0 | 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 | .mkstemp(template);......if.(fd. |
| 26f00 | 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 | <.0).exit(1);......unlink(templa |
| 26f20 | 74 65 29 3b 00 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 | te);...=..if.(ftruncate(fd,.(off |
| 26f40 | 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 | _t)size).<.0).{.close(fd);.exit( |
| 26f60 | 31 29 3b 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 | 1);.}......return.fd;....}...... |
| 26f80 | 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 | .,static.void.allocate_buffer(st |
| 26fa0 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 | ruct.app.*a).{...0..if.(!a->shm. |
| 26fc0 | 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 | ||.a->w.<=.0.||.a->h.<=.0).retur |
| 26fe0 | 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f | n;......if.(a->buf).{........wl_ |
| 27000 | 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d | buffer_destroy(a->buf);...1....m |
| 27020 | 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a | unmap(a->pixels,.(size_t)(a->w.* |
| 27040 | 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c | .a->h.*.4));........a->buf.=.NUL |
| 27060 | 4c 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 | L;........a->pixels.=.NULL;..... |
| 27080 | 20 7d 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 | .}...*..size_t.size.=.(size_t)(a |
| 270a0 | 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 | ->w.*.a->h.*.4);...!..int.fd.=.c |
| 270c0 | 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 | reate_shm_file(size);...J..a->pi |
| 270e0 | 78 65 6c 73 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 | xels.=.mmap(NULL,.size,.PROT_REA |
| 27100 | 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 | D.|.PROT_WRITE,.MAP_SHARED,.fd,. |
| 27120 | 30 29 3b 00 00 00 36 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 | 0);...6..if.(a->pixels.==.MAP_FA |
| 27140 | 49 4c 45 44 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 | ILED).{.close(fd);.exit(1);.}... |
| 27160 | 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c | K..struct.wl_shm_pool.*pool.=.wl |
| 27180 | 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e | _shm_create_pool(a->shm,.fd,.(in |
| 271a0 | 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 | t32_t)size);...\..a->buf.=.wl_sh |
| 271c0 | 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d | m_pool_create_buffer(pool,.0,.a- |
| 271e0 | 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | >w,.a->h,.a->w.*.4,.WL_SHM_FORMA |
| 27200 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | T_ARGB8888);......wl_shm_pool_de |
| 27220 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 | stroy(pool);......close(fd);.... |
| 27240 | 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 | }......._static.void.draw_line(u |
| 27260 | 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 | int32_t.*px,.int.w,.int.h,.int.x |
| 27280 | 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 | 0,.int.y0,.int.x1,.int.y1,.uint3 |
| 272a0 | 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 | 2_t.c).{.../..int.dx.=.abs(x1.-. |
| 272c0 | 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 | x0),.sx.=.x0.<.x1.?.1.:.-1;...0. |
| 272e0 | 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 | .int.dy.=.-abs(y1.-.y0),.sy.=.y0 |
| 27300 | 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 | .<.y1.?.1.:.-1;......int.err.=.d |
| 27320 | 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 44 | x.+.dy,.e2;......while.(1).{...D |
| 27340 | 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 | ....if.(x0.>=.0.&&.x0.<.w.&&.y0. |
| 27360 | 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 | >=.0.&&.y0.<.h).px[y0.*.w.+.x0]. |
| 27380 | 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d | =.c;...$....if.(x0.==.x1.&&.y0.= |
| 273a0 | 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 | =.y1).break;........e2.=.2.*.err |
| 273c0 | 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 2b 3d 20 | ;...*....if.(e2.>=.dy).{.err.+=. |
| 273e0 | 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3c 3d | dy;.x0.+=.sx;.}...*....if.(e2.<= |
| 27400 | 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d 00 00 00 | .dx).{.err.+=.dx;.y0.+=.sy;.}... |
| 27420 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 | ...}....}.......Xstatic.void.dra |
| 27440 | 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e | w_circle(uint32_t.*px,.int.w,.in |
| 27460 | 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 | t.h,.int.cx,.int.cy,.int.r,.uint |
| 27480 | 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c | 32_t.c).{..."..int.x.=.0,.y.=.r, |
| 274a0 | 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d | .d.=.3.-.2.*.r;......while.(y.>= |
| 274c0 | 20 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 | .x).{...L....int.pts[8][2].=.{{c |
| 274e0 | 78 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2b 78 2c | x+x,.cy+y},.{cx-x,.cy+y},.{cx+x, |
| 27500 | 20 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 4d 20 20 20 20 20 20 20 | .cy-y},.{cx-x,.cy-y},...M....... |
| 27520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2d | ..............{cx+y,.cy+x},.{cx- |
| 27540 | 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 | y,.cy+x},.{cx+y,.cy-x},.{cx-y,.c |
| 27560 | 79 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | y-x}};........for.(int.i.=.0;.i. |
| 27580 | 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d | <.8;.i++)...M......if.(pts[i][0] |
| 275a0 | 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d | .>=.0.&&.pts[i][0].<.w.&&.pts[i] |
| 275c0 | 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 | [1].>=.0.&&.pts[i][1].<.h)...*.. |
| 275e0 | 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b | ......px[pts[i][1].*.w.+.pts[i][ |
| 27600 | 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b | 0]].=.c;...C....if.(d.>.0).{.d.+ |
| 27620 | 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 | =.4.*.(x.-.y).+.10;.y--;.}.else. |
| 27640 | 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 | d.+=.4.*.x.+.6;........x++;..... |
| 27660 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 | .}....}.......#static.void.rende |
| 27680 | 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 42 20 20 69 66 20 28 21 61 2d 3e | r(struct.app.*a).{...B..if.(!a-> |
| 276a0 | 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 | configured.||.a->w.<=.0.||.a->h. |
| 276c0 | 3c 3d 20 30 20 7c 7c 20 21 61 2d 3e 73 68 6d 29 20 72 65 74 75 72 6e 3b 00 00 00 22 20 20 69 66 | <=.0.||.!a->shm).return;..."..if |
| 276e0 | 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 | .(!a->buf).allocate_buffer(a);.. |
| 27700 | 00 19 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 00 00 00 | ....if.(!a->pixels).return;..... |
| 27720 | 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 | .....time_t.tt.=.time(NULL);.... |
| 27740 | 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 | ..struct.tm.tm_buf;......localti |
| 27760 | 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 00 00 00 00 1b 20 20 75 69 6e | me_r(&tt,.&tm_buf);..........uin |
| 27780 | 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 | t32_t.*px.=.a->pixels;......mems |
| 277a0 | 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e | et(px,.0xff,.(size_t)(a->w.*.a-> |
| 277c0 | 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c | h.*.4));...#..int.cx.=.a->w./.2, |
| 277e0 | 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d | .cy.=.a->h./.2;.../..int.r.=.(a- |
| 27800 | 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 | >w.<.a->h.?.a->w.:.a->h)./.2.-.1 |
| 27820 | 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 | 0;......if.(r.<.5).r.=.5;....... |
| 27840 | 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | 5..draw_circle(px,.a->w,.a->h,.c |
| 27860 | 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 | x,.cy,.r,.0xFF000000);......for. |
| 27880 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 | (int.i.=.0;.i.<.12;.i++).{...... |
| 278a0 | 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f | ..double.ang.=.i./.12.0.*.2.*.M_ |
| 278c0 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 | PI.-.M_PI_2;..._....draw_line(px |
| 278e0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 | ,.a->w,.a->h,.cx.+.(int)(cos(ang |
| 27900 | 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e | ).*.(r.-.10)),.cy.+.(int)(sin(an |
| 27920 | 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 | g).*.(r.-.10)),...Z............. |
| 27940 | 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c | .cx.+.(int)(cos(ang).*.(r.-.2)), |
| 27960 | 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c | .cy.+.(int)(sin(ang).*.(r.-.2)), |
| 27980 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 | .0xFF000000);......}...7..double |
| 279a0 | 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a | .sa.=.tm_buf.tm_sec./.60.0.*.2.* |
| 279c0 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d | .M_PI.-.M_PI_2;...P..double.ma.= |
| 279e0 | 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 | .(tm_buf.tm_min.+.tm_buf.tm_sec. |
| 27a00 | 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | /.60.0)./.60.0.*.2.*.M_PI.-.M_PI |
| 27a20 | 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 6d | _2;...Z..double.ha.=.((tm_buf.tm |
| 27a40 | 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 | _hour.%.12).+.(tm_buf.tm_min./.6 |
| 27a60 | 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | 0.0))./.12.0.*.2.*.M_PI.-.M_PI_2 |
| 27a80 | 3b 00 00 00 00 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 | ;.......n..draw_line(px,.a->w,.a |
| 27aa0 | 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 | ->h,.cx,.cy,.cx.+.(int)(cos(ha). |
| 27ac0 | 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a | *.r.*.0.5),.cy.+.(int)(sin(ha).* |
| 27ae0 | 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 | .r.*.0.5),.0xFF000000);...n..dra |
| 27b00 | 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 | w_line(px,.a->w,.a->h,.cx,.cy,.c |
| 27b20 | 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 63 79 | x.+.(int)(cos(ma).*.r.*.0.7),.cy |
| 27b40 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 | .+.(int)(sin(ma).*.r.*.0.7),.0xF |
| 27b60 | 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | F000000);...n..draw_line(px,.a-> |
| 27b80 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | w,.a->h,.cx,.cy,.cx.+.(int)(cos( |
| 27ba0 | 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 | sa).*.r.*.0.9),.cy.+.(int)(sin(s |
| 27bc0 | 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 | a).*.r.*.0.9),.0xFFFF0000);..... |
| 27be0 | 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d | ..)..wl_surface_attach(a->ws,.a- |
| 27c00 | 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d | >buf,.0,.0);...4..wl_surface_dam |
| 27c20 | 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d | age_buffer(a->ws,.0,.0,.a->w,.a- |
| 27c40 | 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 | >h);......wl_surface_commit(a->w |
| 27c60 | 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 | s);......a->needs_redraw.=.false |
| 27c80 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 | ;....}.......astatic.void.xt_cfg |
| 27ca0 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 | (void.*d,.struct.xdg_toplevel.*x |
| 27cc0 | 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 | t,.int32_t.w,.int32_t.h,.struct. |
| 27ce0 | 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 28 20 20 73 74 72 75 63 74 20 61 70 70 20 | wl_array.*st).{...(..struct.app. |
| 27d00 | 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 | *a.=.d;.(void)xt;.(void)st;...3. |
| 27d20 | 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e | .if.(w.>.0.&&.h.>.0.&&.(w.!=.a-> |
| 27d40 | 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d | w.||.h.!=.a->h)).{........a->w.= |
| 27d60 | 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 | .w;.a->h.=.h;........if.(a->buf) |
| 27d80 | 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 | .{..."........wl_buffer_destroy( |
| 27da0 | 61 2d 3e 62 75 66 29 3b 00 00 00 35 20 20 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 | a->buf);...5........munmap(a->pi |
| 27dc0 | 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 | xels,.(size_t)(a->w.*.a->h.*.4)) |
| 27de0 | 3b 00 00 00 28 20 20 20 20 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 20 61 2d 3e 70 | ;...(........a->buf.=.NULL;.a->p |
| 27e00 | 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1b 20 20 20 20 61 2d | ixels.=.NULL;........}........a- |
| 27e20 | 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 | >needs_redraw.=.true;......}.... |
| 27e40 | 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 | }.......Astatic.void.xs_cfg(void |
| 27e60 | 20 2a 64 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 6e | .*d,.struct.xdg_surface.*xs,.uin |
| 27e80 | 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | t32_t.s).{......struct.app.*a.=. |
| 27ea0 | 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 | d;...#..xdg_surface_ack_configur |
| 27ec0 | 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 | e(xs,.s);......a->configured.=.t |
| 27ee0 | 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 | rue;......a->needs_redraw.=.true |
| 27f00 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 | ;....}.......qstatic.void.regist |
| 27f20 | 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 20 77 6c | ry_handler(void.*data,.struct.wl |
| 27f40 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e | _registry.*reg,.uint32_t.id,.con |
| 27f60 | 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 | st.char.*iface,.uint32_t.ver).{. |
| 27f80 | 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 | .....struct.app.*a.=.data;...h.. |
| 27fa0 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | if.(!strcmp(iface,."wl_composito |
| 27fc0 | 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | r")).a->comp.=.wl_registry_bind( |
| 27fe0 | 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 | reg,.id,.&wl_compositor_interfac |
| 28000 | 65 2c 20 34 29 3b 00 00 00 5e 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 | e,.4);...^..else.if.(!strcmp(ifa |
| 28020 | 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | ce,."wl_shm")).a->shm.=.wl_regis |
| 28040 | 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | try_bind(reg,.id,.&wl_shm_interf |
| 28060 | 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.1);...+..else.if.(!strcmp(i |
| 28080 | 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 | face,."xdg_wm_base")).{...A....a |
| 280a0 | 2d 3e 77 6d 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 69 64 2c | ->wm.=.wl_registry_bind(reg,.id, |
| 280c0 | 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 00 00 51 | .&xdg_wm_base_interface,.1);...Q |
| 280e0 | 20 20 20 20 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 | ....static.const.struct.xdg_wm_b |
| 28100 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 28 76 6f 69 64 2a 29 78 | ase_listener.wm_list.=.{(void*)x |
| 28120 | 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f | dg_wm_base_pong};...1....xdg_wm_ |
| 28140 | 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 | base_add_listener(a->wm,.&wm_lis |
| 28160 | 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 | t,.a);......}....}........int.ma |
| 28180 | 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 3d 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b | in(void).{...=..struct.app.a.=.{ |
| 281a0 | 2e 77 20 3d 20 34 30 30 2c 20 2e 68 20 3d 20 34 30 30 2c 20 2e 6e 65 65 64 73 5f 72 65 64 72 61 | .w.=.400,..h.=.400,..needs_redra |
| 281c0 | 77 20 3d 20 66 61 6c 73 65 7d 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 | w.=.false};......signal(SIGINT,. |
| 281e0 | 6f 6e 5f 73 69 67 29 3b 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 | on_sig);...2..if.(!(a.d.=.wl_dis |
| 28200 | 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 | play_connect(NULL))).return.1;.. |
| 28220 | 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 | .'..a.reg.=.wl_display_get_regis |
| 28240 | 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | try(a.d);...I..static.const.stru |
| 28260 | 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 5f 6c 69 73 74 | ct.wl_registry_listener.reg_list |
| 28280 | 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 | .=.{registry_handler};...1..wl_r |
| 282a0 | 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 | egistry_add_listener(a.reg,.® |
| 282c0 | 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e | _list,.&a);......wl_display_roun |
| 282e0 | 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 | dtrip(a.d);..........a.ws.=.wl_c |
| 28300 | 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 61 2e 63 6f 6d 70 29 | ompositor_create_surface(a.comp) |
| 28320 | 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 | ;...1..a.xs.=.xdg_wm_base_get_xd |
| 28340 | 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 | g_surface(a.wm,.a.ws);...>..stat |
| 28360 | 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 74 | ic.const.struct.xdg_surface_list |
| 28380 | 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 | ener.xs_list.=.{xs_cfg};.../..xd |
| 283a0 | 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 | g_surface_add_listener(a.xs,.&xs |
| 283c0 | 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 | _list,.&a);...(..a.xt.=.xdg_surf |
| 283e0 | 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4e 20 20 73 74 61 | ace_get_toplevel(a.xs);...N..sta |
| 28400 | 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 65 6c 5f 6c 69 | tic.const.struct.xdg_toplevel_li |
| 28420 | 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 2a | stener.xt_list.=.{xt_cfg,.(void* |
| 28440 | 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f | )on_sig};...0..xdg_toplevel_add_ |
| 28460 | 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 | listener(a.xt,.&xt_list,.&a);... |
| 28480 | 2a 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 61 2e 78 74 2c 20 | *..xdg_toplevel_set_title(a.xt,. |
| 284a0 | 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 02 20 20 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 | "wlclock");.........,..xdg_tople |
| 284c0 | 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 | vel_set_min_size(a.xt,.100,.100) |
| 284e0 | 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 | ;......wl_surface_commit(a.ws);. |
| 28500 | 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 | ......9..int.tfd.=.timerfd_creat |
| 28520 | 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b | e(CLOCK_MONOTONIC,.TFD_CLOEXEC); |
| 28540 | 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 | ...F..timerfd_settime(tfd,.0,.&( |
| 28560 | 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 | struct.itimerspec){{1,.0},.{1,.0 |
| 28580 | 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | }},.NULL);.......5..while.(runni |
| 285a0 | 6e 67 20 26 26 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 | ng.&&.wl_display_dispatch(a.d).! |
| 285c0 | 3d 20 2d 31 29 20 7b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 | =.-1).{...N....struct.pollfd.pfd |
| 285e0 | 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c | s[2].=.{{wl_display_get_fd(a.d), |
| 28600 | 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 | .POLLIN},.{tfd,.POLLIN}};....... |
| 28620 | 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 30 29 20 3e 20 30 29 20 7b 00 00 00 25 | .if.(poll(pfds,.2,.0).>.0).{...% |
| 28640 | 20 20 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c | ......if.(pfds[1].revents.&.POLL |
| 28660 | 49 4e 29 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b | IN).{............uint64_t.ticks; |
| 28680 | 00 00 00 48 20 20 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 | ...H........if.(read(tfd,.&ticks |
| 286a0 | 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 20 61 2e 6e 65 65 64 73 5f 72 65 | ,.sizeof(ticks)).>.0).a.needs_re |
| 286c0 | 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d | draw.=.true;..........}........} |
| 286e0 | 00 00 00 23 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 20 72 65 6e 64 | ...#....if.(a.needs_redraw).rend |
| 28700 | 65 72 28 26 61 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 c1 00 00 00 17 00 00 00 f2 | er(&a);5........................ |
| 28720 | 00 00 00 05 00 00 00 29 00 00 00 00 00 00 00 0e 1a 00 00 00 00 00 00 a3 1b 00 00 00 00 00 00 35 | .......).......................5 |
| 28740 | 81 5f d0 00 00 00 20 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 01 00 00 00 00 00 | ._........"...........!......... |
| 28760 | 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 00 00 00 00 00 | ................................ |
| 28780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 287a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 287c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 287e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 28880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 288a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 288c0 | 00 00 00 00 00 69 9d 9f a8 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | .....i.......................... |
| 288e0 | 00 fa 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 | ......#define._POSIX_C_SOURCE.20 |
| 28900 | 30 38 30 39 4c 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 | 0809L...&#include."xdg-shell-cli |
| 28920 | 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 | ent-protocol.h"....#include.<err |
| 28940 | 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 | no.h>....#include.<fcntl.h>....# |
| 28960 | 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f | include.<math.h>....#include.<po |
| 28980 | 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 | ll.h>....#include.<signal.h>.... |
| 289a0 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 | #include.<stdbool.h>....#include |
| 289c0 | 20 3c 73 74 64 69 6f 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 | .<stdio.h>....#include.<stdlib.h |
| 289e0 | 3e 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 15 23 69 6e 63 | >....#include.<string.h>....#inc |
| 28a00 | 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 | lude.<sys/mman.h>....#include.<s |
| 28a20 | 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e | ys/timerfd.h>....#include.<time. |
| 28a40 | 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 1b 23 69 6e | h>....#include.<unistd.h>....#in |
| 28a60 | 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 00 00 00 00 00 00 0c | clude.<wayland-client.h>........ |
| 28a80 | 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 | #ifndef.M_PI...##define.M_PI.3.1 |
| 28aa0 | 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 | 4159265358979323846....#endif... |
| 28ac0 | 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f | .#ifndef.M_PI_2...%#define.M_PI_ |
| 28ae0 | 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 | 2.1.57079632679489661923....#end |
| 28b00 | 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 | if.......)static.volatile.sig_at |
| 28b20 | 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f | omic_t.running.=.1;....static.vo |
| 28b40 | 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b | id.on_sig(int.s).{......(void)s; |
| 28b60 | 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 | ......running.=.0;....}........s |
| 28b80 | 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c | truct.app.{......struct.wl_displ |
| 28ba0 | 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a | ay.*d;......struct.wl_registry.* |
| 28bc0 | 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a | reg;......struct.wl_compositor.* |
| 28be0 | 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 | comp;......struct.wl_shm.*shm;.. |
| 28c00 | 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 | ....struct.xdg_wm_base.*wm;..... |
| 28c20 | 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 | .struct.wl_surface.*ws;......str |
| 28c40 | 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 | uct.xdg_surface.*xs;......struct |
| 28c60 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 | .xdg_toplevel.*xt;......void.*pi |
| 28c80 | 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 | xels;......struct.wl_buffer.*buf |
| 28ca0 | 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 | ;......int.w,.h;......bool.confi |
| 28cc0 | 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 | gured;......bool.needs_redraw;.. |
| 28ce0 | 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 | ..};.......)static.int.create_sh |
| 28d00 | 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 | m_file(size_t.size).{......char. |
| 28d20 | 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 | template[].=."/tmp/wlclock-shm-X |
| 28d40 | 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 | XXXXX";......int.fd.=.mkstemp(te |
| 28d60 | 6d 70 6c 61 74 65 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 | mplate);......if.(fd.<.0)....... |
| 28d80 | 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b | .exit(1);......unlink(template); |
| 28da0 | 00 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 | ...'..if.(ftruncate(fd,.(off_t)s |
| 28dc0 | 69 7a 65 29 20 3c 20 30 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 | ize).<.0).{........close(fd);... |
| 28de0 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e | .....exit(1);......}......return |
| 28e00 | 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c | .fd;....}.......,static.void.all |
| 28e20 | 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | ocate_buffer(struct.app.*a).{... |
| 28e40 | 28 20 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 | (..if.(!a->shm.||.a->w.<=.0.||.a |
| 28e60 | 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 | ->h.<=.0)........return;......if |
| 28e80 | 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 | .(a->buf).{........wl_buffer_des |
| 28ea0 | 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 | troy(a->buf);...1....munmap(a->p |
| 28ec0 | 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 | ixels,.(size_t)(a->w.*.a->h.*.4) |
| 28ee0 | 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 | );........a->buf.=.NULL;........ |
| 28f00 | 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 73 69 | a->pixels.=.NULL;......}...*..si |
| 28f20 | 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 | ze_t.size.=.(size_t)(a->w.*.a->h |
| 28f40 | 20 2a 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f | .*.4);...!..int.fd.=.create_shm_ |
| 28f60 | 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 | file(size);...J..a->pixels.=.mma |
| 28f80 | 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 | p(NULL,.size,.PROT_READ.|.PROT_W |
| 28fa0 | 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 69 | RITE,.MAP_SHARED,.fd,.0);......i |
| 28fc0 | 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 | f.(a->pixels.==.MAP_FAILED).{... |
| 28fe0 | 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | .....close(fd);........exit(1);. |
| 29000 | 00 00 03 20 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a | .....}...K..struct.wl_shm_pool.* |
| 29020 | 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d | pool.=.wl_shm_create_pool(a->shm |
| 29040 | 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 | ,.fd,.(int32_t)size);...C..a->bu |
| 29060 | 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f | f.=.wl_shm_pool_create_buffer(po |
| 29080 | 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d | ol,.0,.a->w,.a->h,.a->w.*.4,...= |
| 290a0 | 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 | ................................ |
| 290c0 | 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | .....WL_SHM_FORMAT_ARGB8888);... |
| 290e0 | 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 | ...wl_shm_pool_destroy(pool);... |
| 29100 | 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 | ...close(fd);....}.......Istatic |
| 29120 | 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e | .void.draw_line(uint32_t.*px,.in |
| 29140 | 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 | t.w,.int.h,.int.x0,.int.y0,.int. |
| 29160 | 78 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 | x1,...+......................int |
| 29180 | 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d | .y1,.uint32_t.c).{.../..int.dx.= |
| 291a0 | 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 | .abs(x1.-.x0),.sx.=.x0.<.x1.?.1. |
| 291c0 | 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 | :.-1;...0..int.dy.=.-abs(y1.-.y0 |
| 291e0 | 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 | ),.sy.=.y0.<.y1.?.1.:.-1;......i |
| 29200 | 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 | nt.err.=.dx.+.dy,.e2;......while |
| 29220 | 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 | .(1).{.../....if.(x0.>=.0.&&.x0. |
| 29240 | 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 | <.w.&&.y0.>=.0.&&.y0.<.h)....... |
| 29260 | 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 | ...px[y0.*.w.+.x0].=.c;........i |
| 29280 | 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 | f.(x0.==.x1.&&.y0.==.y1)........ |
| 292a0 | 20 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 | ..break;........e2.=.2.*.err;... |
| 292c0 | 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 | .....if.(e2.>=.dy).{..........er |
| 292e0 | 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 | r.+=.dy;..........x0.+=.sx;..... |
| 29300 | 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 | ...}........if.(e2.<=.dx).{..... |
| 29320 | 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 | .....err.+=.dx;..........y0.+=.s |
| 29340 | 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 | y;........}......}....}.......Js |
| 29360 | 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 | tatic.void.draw_circle(uint32_t. |
| 29380 | 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 | *px,.int.w,.int.h,.int.cx,.int.c |
| 293a0 | 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y,.int.r,...%................... |
| 293c0 | 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 | .....uint32_t.c).{..."..int.x.=. |
| 293e0 | 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 | 0,.y.=.r,.d.=.3.-.2.*.r;......wh |
| 29400 | 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d | ile.(y.>=.x).{...J....int.pts[8] |
| 29420 | 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 | [2].=.{{cx.+.x,.cy.+.y},.{cx.-.x |
| 29440 | 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a | ,.cy.+.y},.{cx.+.x,.cy.-.y},...J |
| 29460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 | .....................{cx.-.x,.cy |
| 29480 | 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 | .-.y},.{cx.+.y,.cy.+.x},.{cx.-.y |
| 294a0 | 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.cy.+.x},...9.................. |
| 294c0 | 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 | ...{cx.+.y,.cy.-.x},.{cx.-.y,.cy |
| 294e0 | 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | .-.x}};........for.(int.i.=.0;.i |
| 29500 | 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 | .<.8;.i++)...M......if.(pts[i][0 |
| 29520 | 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 | ].>=.0.&&.pts[i][0].<.w.&&.pts[i |
| 29540 | 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 | ][1].>=.0.&&.pts[i][1].<.h)...*. |
| 29560 | 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d | .......px[pts[i][1].*.w.+.pts[i] |
| 29580 | 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 | [0]].=.c;........if.(d.>.0).{... |
| 295a0 | 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 | .......d.+=.4.*.(x.-.y).+.10;... |
| 295c0 | 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 | .......y--;........}.else....... |
| 295e0 | 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 | ...d.+=.4.*.x.+.6;........x++;.. |
| 29600 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | ....}....}.......#static.void.re |
| 29620 | 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 3a 20 20 69 66 20 28 21 | nder(struct.app.*a).{...:..if.(! |
| 29640 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d | a->configured.||.a->w.<=.0.||.a- |
| 29660 | 3e 68 20 3c 3d 20 30 20 7c 7c 20 21 61 2d 3e 73 68 6d 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 | >h.<=.0.||.!a->shm)........retur |
| 29680 | 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 17 20 20 20 20 61 6c 6c 6f | n;......if.(!a->buf)........allo |
| 296a0 | 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 11 20 20 69 66 20 28 21 61 2d 3e 70 69 78 | cate_buffer(a);......if.(!a->pix |
| 296c0 | 65 6c 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d | els)........return;..........tim |
| 296e0 | 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 | e_t.tt.=.time(NULL);......struct |
| 29700 | 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 | .tm.tm_buf;......localtime_r(&tt |
| 29720 | 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 | ,.&tm_buf);..........uint32_t.*p |
| 29740 | 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 | x.=.a->pixels;......memset(px,.0 |
| 29760 | 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b | xff,.(size_t)(a->w.*.a->h.*.4)); |
| 29780 | 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d | ...#..int.cx.=.a->w./.2,.cy.=.a- |
| 297a0 | 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e | >h./.2;.../..int.r.=.(a->w.<.a-> |
| 297c0 | 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 | h.?.a->w.:.a->h)./.2.-.10;...... |
| 297e0 | 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 35 | if.(r.<.5)........r.=.5;.......5 |
| 29800 | 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ..draw_circle(px,.a->w,.a->h,.cx |
| 29820 | 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 | ,.cy,.r,.0xFF000000);......for.( |
| 29840 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 | int.i.=.0;.i.<.12;.i++).{....... |
| 29860 | 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .double.ang.=.i./.12.0.*.2.*.M_P |
| 29880 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c | I.-.M_PI_2;...>....draw_line(px, |
| 298a0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 | .a->w,.a->h,.cx.+.(int)(cos(ang) |
| 298c0 | 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | .*.(r.-.10)),...N..............c |
| 298e0 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 | y.+.(int)(sin(ang).*.(r.-.10)),. |
| 29900 | 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 | cx.+.(int)(cos(ang).*.(r.-.2)),. |
| 29920 | 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 | ..:..............cy.+.(int)(sin( |
| 29940 | 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 | ang).*.(r.-.2)),.0xFF000000);... |
| 29960 | 03 20 20 7d 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f | ...}...7..double.sa.=.tm_buf.tm_ |
| 29980 | 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 | sec./.60.0.*.2.*.M_PI.-.M_PI_2;. |
| 299a0 | 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 | ..P..double.ma.=.(tm_buf.tm_min. |
| 299c0 | 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a | +.tm_buf.tm_sec./.60.0)./.60.0.* |
| 299e0 | 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 | .2.*.M_PI.-.M_PI_2;......double. |
| 29a00 | 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 | ha.=...J......((tm_buf.tm_hour.% |
| 29a20 | 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f | .12).+.(tm_buf.tm_min./.60.0))./ |
| 29a40 | 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 | .12.0.*.2.*.M_PI.-..........M_PI |
| 29a60 | 5f 32 3b 00 00 00 00 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c | _2;.......B..draw_line(px,.a->w, |
| 29a80 | 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 | .a->h,.cx,.cy,.cx.+.(int)(cos(ha |
| 29aa0 | 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | ).*.r.*.0.5),...7............cy. |
| 29ac0 | 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 | +.(int)(sin(ha).*.r.*.0.5),.0xFF |
| 29ae0 | 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 | 000000);...B..draw_line(px,.a->w |
| 29b00 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d | ,.a->h,.cx,.cy,.cx.+.(int)(cos(m |
| 29b20 | 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 | a).*.r.*.0.7),...7............cy |
| 29b40 | 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 | .+.(int)(sin(ma).*.r.*.0.7),.0xF |
| 29b60 | 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | F000000);...B..draw_line(px,.a-> |
| 29b80 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | w,.a->h,.cx,.cy,.cx.+.(int)(cos( |
| 29ba0 | 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 | sa).*.r.*.0.9),...7............c |
| 29bc0 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 | y.+.(int)(sin(sa).*.r.*.0.9),.0x |
| 29be0 | 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 | FFFF0000);.......)..wl_surface_a |
| 29c00 | 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 | ttach(a->ws,.a->buf,.0,.0);...4. |
| 29c20 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c | .wl_surface_damage_buffer(a->ws, |
| 29c40 | 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 | .0,.0,.a->w,.a->h);......wl_surf |
| 29c60 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 | ace_commit(a->ws);......a->needs |
| 29c80 | 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 | _redraw.=.false;....}.......Jsta |
| 29ca0 | 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | tic.void.xt_cfg(void.*d,.struct. |
| 29cc0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 | xdg_toplevel.*xt,.int32_t.w,.int |
| 29ce0 | 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 | 32_t.h,...)...................st |
| 29d00 | 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | ruct.wl_array.*st).{......struct |
| 29d20 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 0b 20 | .app.*a.=.d;......(void)xt;..... |
| 29d40 | 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e | .(void)st;...3..if.(w.>.0.&&.h.> |
| 29d60 | 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 | .0.&&.(w.!=.a->w.||.h.!=.a->h)). |
| 29d80 | 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d | {........a->w.=.w;........a->h.= |
| 29da0 | 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 20 20 20 20 20 | .h;........if.(a->buf).{........ |
| 29dc0 | 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 33 | ..wl_buffer_destroy(a->buf);...3 |
| 29de0 | 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 | ......munmap(a->pixels,.(size_t) |
| 29e00 | 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 14 20 20 20 20 20 20 61 2d 3e | (a->w.*.a->h.*.4));..........a-> |
| 29e20 | 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d | buf.=.NULL;..........a->pixels.= |
| 29e40 | 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1b 20 20 20 20 61 2d 3e 6e 65 65 64 73 5f | .NULL;........}........a->needs_ |
| 29e60 | 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | redraw.=.true;......}....}...... |
| 29e80 | 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 | .Astatic.void.xs_cfg(void.*d,.st |
| 29ea0 | 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 | ruct.xdg_surface.*xs,.uint32_t.s |
| 29ec0 | 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 | ).{......struct.app.*a.=.d;...#. |
| 29ee0 | 20 78 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 | .xdg_surface_ack_configure(xs,.s |
| 29f00 | 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 | );......a->configured.=.true;... |
| 29f20 | 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 | ...a->needs_redraw.=.true;....}. |
| 29f40 | 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 | ......Nstatic.void.registry_hand |
| 29f60 | 6c 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 72 65 67 69 73 74 | ler(void.*data,.struct.wl_regist |
| 29f80 | 72 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 | ry.*reg,.uint32_t.id,...?....... |
| 29fa0 | 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 72 | ......................const.char |
| 29fc0 | 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 | .*iface,.uint32_t.ver).{......st |
| 29fe0 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 | ruct.app.*a.=.data;...&..if.(!st |
| 2a000 | 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 | rcmp(iface,."wl_compositor"))... |
| 2a020 | 45 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | E....a->comp.=.wl_registry_bind( |
| 2a040 | 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 | reg,.id,.&wl_compositor_interfac |
| 2a060 | 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 | e,.4);...$..else.if.(!strcmp(ifa |
| 2a080 | 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 | ce,."wl_shm"))...=....a->shm.=.w |
| 2a0a0 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d | l_registry_bind(reg,.id,.&wl_shm |
| 2a0c0 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 | _interface,.1);...+..else.if.(!s |
| 2a0e0 | 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 | trcmp(iface,."xdg_wm_base")).{.. |
| 2a100 | 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | .A....a->wm.=.wl_registry_bind(r |
| 2a120 | 65 67 2c 20 69 64 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 | eg,.id,.&xdg_wm_base_interface,. |
| 2a140 | 31 29 3b 00 00 00 38 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | 1);...8....static.const.struct.x |
| 2a160 | 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 00 | dg_wm_base_listener.wm_list.=.{. |
| 2a180 | 00 00 22 20 20 20 20 20 20 20 20 28 76 6f 69 64 20 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 | .."........(void.*)xdg_wm_base_p |
| 2a1a0 | 6f 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 | ong};...1....xdg_wm_base_add_lis |
| 2a1c0 | 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 | tener(a->wm,.&wm_list,.a);...... |
| 2a1e0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 | }....}........int.main(void).{.. |
| 2a200 | 00 3d 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 2e 77 20 3d 20 34 30 30 2c 20 2e 68 | .=..struct.app.a.=.{.w.=.400,..h |
| 2a220 | 20 3d 20 34 30 30 2c 20 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 7d 3b 00 | .=.400,..needs_redraw.=.false};. |
| 2a240 | 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 | .....signal(SIGINT,.on_sig);...( |
| 2a260 | 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 | ..if.(!(a.d.=.wl_display_connect |
| 2a280 | 28 4e 55 4c 4c 29 29 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 | (NULL)))........return.1;...'..a |
| 2a2a0 | 2e 72 65 67 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 61 | .reg.=.wl_display_get_registry(a |
| 2a2c0 | 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .d);...I..static.const.struct.wl |
| 2a2e0 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 | _registry_listener.reg_list.=.{r |
| 2a300 | 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 | egistry_handler};...1..wl_regist |
| 2a320 | 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 | ry_add_listener(a.reg,.®_list |
| 2a340 | 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 | ,.&a);......wl_display_roundtrip |
| 2a360 | 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 | (a.d);..........a.ws.=.wl_compos |
| 2a380 | 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 | itor_create_surface(a.comp);...1 |
| 2a3a0 | 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 | ..a.xs.=.xdg_wm_base_get_xdg_sur |
| 2a3c0 | 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 63 6f | face(a.wm,.a.ws);...>..static.co |
| 2a3e0 | 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 74 65 6e 65 72 20 | nst.struct.xdg_surface_listener. |
| 2a400 | 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 | xs_list.=.{xs_cfg};.../..xdg_sur |
| 2a420 | 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 | face_add_listener(a.xs,.&xs_list |
| 2a440 | 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 | ,.&a);...(..a.xt.=.xdg_surface_g |
| 2a460 | 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4f 20 20 73 74 61 74 69 63 20 63 | et_toplevel(a.xs);...O..static.c |
| 2a480 | 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 6e 65 | onst.struct.xdg_toplevel_listene |
| 2a4a0 | 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a 29 6f 6e 5f | r.xt_list.=.{xt_cfg,.(void.*)on_ |
| 2a4c0 | 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 | sig};...0..xdg_toplevel_add_list |
| 2a4e0 | 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 | ener(a.xt,.&xt_list,.&a);...*..x |
| 2a500 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 | dg_toplevel_set_title(a.xt,."wlc |
| 2a520 | 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | lock");.......,..xdg_toplevel_se |
| 2a540 | 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 1a 20 | t_min_size(a.xt,.100,.100);..... |
| 2a560 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 | .wl_surface_commit(a.ws);....... |
| 2a580 | 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 | 9..int.tfd.=.timerfd_create(CLOC |
| 2a5a0 | 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 | K_MONOTONIC,.TFD_CLOEXEC);...F.. |
| 2a5c0 | 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 | timerfd_settime(tfd,.0,.&(struct |
| 2a5e0 | 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 | .itimerspec){{1,.0},.{1,.0}},.NU |
| 2a600 | 4c 4c 29 3b 00 00 00 00 00 00 00 35 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 20 26 26 20 | LL);.......5..while.(running.&&. |
| 2a620 | 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 20 21 3d 20 2d 31 29 20 | wl_display_dispatch(a.d).!=.-1). |
| 2a640 | 7b 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d | {...N....struct.pollfd.pfds[2].= |
| 2a660 | 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 | .{{wl_display_get_fd(a.d),.POLLI |
| 2a680 | 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 | N},.{tfd,.POLLIN}};........if.(p |
| 2a6a0 | 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 30 29 20 3e 20 30 29 20 7b 00 00 00 25 20 20 20 20 20 20 | oll(pfds,.2,.0).>.0).{...%...... |
| 2a6c0 | 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 | if.(pfds[1].revents.&.POLLIN).{. |
| 2a6e0 | 00 00 17 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 31 20 20 | ...........uint64_t.ticks;...1.. |
| 2a700 | 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 | ......if.(read(tfd,.&ticks,.size |
| 2a720 | 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 00 00 00 20 20 20 20 20 20 20 20 20 20 20 61 2e 6e | of(ticks)).>.0)..............a.n |
| 2a740 | 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 | eeds_redraw.=.true;..........}.. |
| 2a760 | 00 05 20 20 20 20 7d 00 00 00 17 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 | ......}........if.(a.needs_redra |
| 2a780 | 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 | w)..........render(&a);......}.. |
| 2a7a0 | 00 00 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 | ........close(tfd);......wl_disp |
| 2a7c0 | 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e | lay_disconnect(a.d);......return |
| 2a7e0 | 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 fa 00 00 00 00 00 00 00 | .0;....}5....................... |
| 2a800 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 1c 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 2a820 | 35 81 5f d0 00 00 00 21 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 22 00 00 00 01 00 00 00 00 | 5._....!...#..........."........ |
| 2a840 | 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2a9a0 | 00 00 00 00 00 00 69 9d 9f a9 04 01 00 00 00 00 00 f5 18 00 00 00 d4 00 00 00 00 00 00 00 00 00 | ......i......................... |
| 2a9c0 | 00 00 01 00 00 00 01 7d f5 18 00 00 00 d5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 cd | .......}........................ |
| 2a9e0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f f5 | ....................wl_display_. |
| 2aa00 | 18 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 bd 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aa20 | 00 00 01 00 00 00 01 20 f5 18 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b5 | ................................ |
| 2aa40 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c f5 18 | ..................xdg_toplevel.. |
| 2aa60 | 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aa80 | 00 01 00 00 00 05 20 20 77 6c 5f f5 18 00 00 00 aa 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ........wl_..................... |
| 2aaa0 | 00 00 a2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 69 6e 74 f5 18 00 00 00 a3 00 00 00 00 | ...................int.......... |
| 2aac0 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 9a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 5b 20 20 | .............................[.. |
| 2aae0 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 | else.if.(!strcmp(iface,."wl_shm" |
| 2ab00 | 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 | )).a->shm.=.wl_registry_bind(reg |
| 2ab20 | 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 f5 18 00 00 00 9b 00 | ,.id,.&wl_shm_interface,........ |
| 2ab40 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 8e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 2ab60 | 01 7d f5 18 00 00 00 8f 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 85 00 00 00 00 00 00 | .}.............................. |
| 2ab80 | 00 00 00 00 00 01 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b f5 18 | ............struct.app.*a.=.d;.. |
| 2aba0 | 00 00 00 86 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 72 00 00 00 00 00 00 00 00 00 00 | .....................r.......... |
| 2abc0 | 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 00 73 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | ...............s................ |
| 2abe0 | 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 00 00 00 00 00 00 | ................................ |
| 2ac00 | 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 00 00 72 00 00 00 | ....5.......................r... |
| 2ac20 | 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 2ac40 | 00 00 72 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 14 00 00 00 00 0d 00 00 00 00 | ..r............................. |
| 2ac60 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 85 00 00 00 14 00 00 00 | ................................ |
| 2ac80 | 00 00 00 00 00 00 00 00 09 00 00 00 01 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aca0 | 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 8e 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 0c 00 | ................................ |
| 2acc0 | 00 00 5b 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ..[............................. |
| 2ace0 | 00 00 00 00 9a 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 03 00 00 00 00 14 00 00 | ........[....................... |
| 2ad00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 a2 00 00 00 03 00 | ................................ |
| 2ad20 | 00 00 00 00 00 00 00 00 00 00 07 00 00 00 05 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ad40 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 a9 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ad60 | 0c 00 00 00 0e 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 2ad80 | f5 18 00 00 00 00 b5 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 18 | ................................ |
| 2ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 bd 00 00 00 | ................................ |
| 2adc0 | 01 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 0f 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ade0 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 cd 00 00 00 0f 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ae00 | 00 00 07 00 00 00 01 00 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 79 00 00 00 00 00 | ..........................y..... |
| 2ae20 | 00 00 35 81 5f d0 00 00 00 22 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00 01 00 00 | ..5._...."...$...........#...... |
| 2ae40 | 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 00 00 | ................................ |
| 2ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2aee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2af00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2af20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2af40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2af60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2af80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2afa0 | 00 00 00 00 00 00 00 00 69 9d 9f ab 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 | ........i....................... |
| 2afc0 | 00 00 00 00 d5 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 | .........#define._POSIX_C_SOURCE |
| 2afe0 | 20 32 30 30 38 30 39 4c 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 | .200809L....#include.<errno.h>.. |
| 2b000 | 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 | ..#include.<fcntl.h>....#include |
| 2b020 | 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 | .<math.h>....#include.<poll.h>.. |
| 2b040 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 | ..#include.<signal.h>....#includ |
| 2b060 | 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f | e.<stdbool.h>....#include.<stdio |
| 2b080 | 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 00 00 00 13 23 69 | .h>....#include.<stdlib.h>....#i |
| 2b0a0 | 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 | nclude.<string.h>....#include.<s |
| 2b0c0 | 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 | ys/mman.h>....#include.<sys/time |
| 2b0e0 | 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 | rfd.h>....#include.<time.h>....# |
| 2b100 | 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c | include.<unistd.h>....#include.< |
| 2b120 | 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | wayland-client.h>...&#include."x |
| 2b140 | 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 22 00 00 00 00 00 | dg-shell-client-protocol.h"..... |
| 2b160 | 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 | ...#ifndef.M_PI...##define.M_PI. |
| 2b180 | 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 | 3.14159265358979323846....#endif |
| 2b1a0 | 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f | ....#ifndef.M_PI_2...%#define.M_ |
| 2b1c0 | 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 | PI_2.1.57079632679489661923....# |
| 2b1e0 | 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 | endif.......)static.volatile.sig |
| 2b200 | 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 | _atomic_t.running.=.1;...3static |
| 2b220 | 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 | .void.on_sig(int.s).{.(void)s;.r |
| 2b240 | 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 | unning.=.0;.}........struct.app. |
| 2b260 | 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a | {......struct.wl_display.*d;.... |
| 2b280 | 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 | ..struct.wl_registry.*reg;...... |
| 2b2a0 | 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 3b 00 00 00 15 20 | struct.wl_compositor.*comp;..... |
| 2b2c0 | 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 | .struct.wl_shm.*shm;......struct |
| 2b2e0 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c | .xdg_wm_base.*wm;......struct.wl |
| 2b300 | 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | _surface.*ws;......struct.xdg_su |
| 2b320 | 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | rface.*xs;......struct.xdg_tople |
| 2b340 | 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 | vel.*xt;......void.*pixels;..... |
| 2b360 | 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 | .struct.wl_buffer.*buf;......int |
| 2b380 | 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 | .w,.h;......bool.configured;.... |
| 2b3a0 | 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 | ..bool.needs_redraw;....};...... |
| 2b3c0 | 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a | .)static.int.create_shm_file(siz |
| 2b3e0 | 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d | e_t.size).{......char.template[] |
| 2b400 | 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 | .=."/tmp/wlclock-shm-XXXXXX";... |
| 2b420 | 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 | ...int.fd.=.mkstemp(template);.. |
| 2b440 | 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e | ....if.(fd.<.0).exit(1);......un |
| 2b460 | 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 | link(template);...=..if.(ftrunca |
| 2b480 | 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 | te(fd,.(off_t)size).<.0).{.close |
| 2b4a0 | 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b | (fd);.exit(1);.}......return.fd; |
| 2b4c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 | ....}.......,static.void.allocat |
| 2b4e0 | 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 | e_buffer(struct.app.*a).{...0..i |
| 2b500 | 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 | f.(!a->shm.||.a->w.<=.0.||.a->h. |
| 2b520 | 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b | <=.0).return;......if.(a->buf).{ |
| 2b540 | 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 | ........wl_buffer_destroy(a->buf |
| 2b560 | 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a | );...1....munmap(a->pixels,.(siz |
| 2b580 | 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 | e_t)(a->w.*.a->h.*.4));........a |
| 2b5a0 | 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d | ->buf.=.NULL;........a->pixels.= |
| 2b5c0 | 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d | .NULL;......}...*..size_t.size.= |
| 2b5e0 | 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 | .(size_t)(a->w.*.a->h.*.4);...!. |
| 2b600 | 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b | .int.fd.=.create_shm_file(size); |
| 2b620 | 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a | ...J..a->pixels.=.mmap(NULL,.siz |
| 2b640 | 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 | e,.PROT_READ.|.PROT_WRITE,.MAP_S |
| 2b660 | 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 36 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c | HARED,.fd,.0);...6..if.(a->pixel |
| 2b680 | 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 | s.==.MAP_FAILED).{.close(fd);.ex |
| 2b6a0 | 69 74 28 31 29 3b 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | it(1);.}...K..struct.wl_shm_pool |
| 2b6c0 | 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 | .*pool.=.wl_shm_create_pool(a->s |
| 2b6e0 | 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e | hm,.fd,.(int32_t)size);...\..a-> |
| 2b700 | 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 | buf.=.wl_shm_pool_create_buffer( |
| 2b720 | 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 | pool,.0,.a->w,.a->h,.a->w.*.4,.W |
| 2b740 | 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);......wl_ |
| 2b760 | 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f | shm_pool_destroy(pool);......clo |
| 2b780 | 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 | se(fd);....}......._static.void. |
| 2b7a0 | 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 | draw_line(uint32_t.*px,.int.w,.i |
| 2b7c0 | 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e | nt.h,.int.x0,.int.y0,.int.x1,.in |
| 2b7e0 | 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 | t.y1,.uint32_t.c).{.../..int.dx. |
| 2b800 | 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 | =.abs(x1.-.x0),.sx.=.x0.<.x1.?.1 |
| 2b820 | 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 | .:.-1;...0..int.dy.=.-abs(y1.-.y |
| 2b840 | 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 | 0),.sy.=.y0.<.y1.?.1.:.-1;...... |
| 2b860 | 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c | int.err.=.dx.+.dy,.e2;......whil |
| 2b880 | 65 20 28 31 29 20 7b 00 00 00 44 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 | e.(1).{...D....if.(x0.>=.0.&&.x0 |
| 2b8a0 | 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 | .<.w.&&.y0.>=.0.&&.y0.<.h).px[y0 |
| 2b8c0 | 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d | .*.w.+.x0].=.c;...$....if.(x0.== |
| 2b8e0 | 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 | .x1.&&.y0.==.y1).break;........e |
| 2b900 | 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 | 2.=.2.*.err;...*....if.(e2.>=.dy |
| 2b920 | 29 20 7b 20 65 72 72 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 | ).{.err.+=.dy;.x0.+=.sx;.}...*.. |
| 2b940 | 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 | ..if.(e2.<=.dx).{.err.+=.dx;.y0. |
| 2b960 | 2b 3d 20 73 79 3b 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 | +=.sy;.}......}....}.......Xstat |
| 2b980 | 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 | ic.void.draw_circle(uint32_t.*px |
| 2b9a0 | 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 | ,.int.w,.int.h,.int.cx,.int.cy,. |
| 2b9c0 | 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 | int.r,.uint32_t.c).{..."..int.x. |
| 2b9e0 | 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 | =.0,.y.=.r,.d.=.3.-.2.*.r;...... |
| 2ba00 | 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b | while.(y.>=.x).{...L....int.pts[ |
| 2ba20 | 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 | 8][2].=.{{cx+x,.cy+y},.{cx-x,.cy |
| 2ba40 | 2b 79 7d 2c 20 7b 63 78 2b 78 2c 20 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c | +y},.{cx+x,.cy-y},.{cx-x,.cy-y}, |
| 2ba60 | 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 | ...M.....................{cx+y,. |
| 2ba80 | 63 79 2b 78 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 | cy+x},.{cx-y,.cy+x},.{cx+y,.cy-x |
| 2baa0 | 7d 2c 20 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e | },.{cx-y,.cy-x}};........for.(in |
| 2bac0 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 | t.i.=.0;.i.<.8;.i++)...M......if |
| 2bae0 | 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 | .(pts[i][0].>=.0.&&.pts[i][0].<. |
| 2bb00 | 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d | w.&&.pts[i][1].>=.0.&&.pts[i][1] |
| 2bb20 | 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 | .<.h)...*........px[pts[i][1].*. |
| 2bb40 | 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 | w.+.pts[i][0]].=.c;...C....if.(d |
| 2bb60 | 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 | .>.0).{.d.+=.4.*.(x.-.y).+.10;.y |
| 2bb80 | 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 | --;.}.else.d.+=.4.*.x.+.6;...... |
| 2bba0 | 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 | ..x++;......}....}.......#static |
| 2bbc0 | 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | .void.render(struct.app.*a).{... |
| 2bbe0 | 42 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d | B..if.(!a->configured.||.a->w.<= |
| 2bc00 | 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 20 7c 7c 20 21 61 2d 3e 73 68 6d 29 20 72 65 74 75 | .0.||.a->h.<=.0.||.!a->shm).retu |
| 2bc20 | 72 6e 3b 00 00 00 22 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 61 74 65 5f 62 | rn;..."..if.(!a->buf).allocate_b |
| 2bc40 | 75 66 66 65 72 28 61 29 3b 00 00 00 19 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 20 72 | uffer(a);......if.(!a->pixels).r |
| 2bc60 | 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 | eturn;..........time_t.tt.=.time |
| 2bc80 | 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 | (NULL);......struct.tm.tm_buf;.. |
| 2bca0 | 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 | ....localtime_r(&tt,.&tm_buf);.. |
| 2bcc0 | 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 | ........uint32_t.*px.=.a->pixels |
| 2bce0 | 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 | ;......memset(px,.0xff,.(size_t) |
| 2bd00 | 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 | (a->w.*.a->h.*.4));...#..int.cx. |
| 2bd20 | 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 | =.a->w./.2,.cy.=.a->h./.2;.../.. |
| 2bd40 | 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d | int.r.=.(a->w.<.a->h.?.a->w.:.a- |
| 2bd60 | 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 | >h)./.2.-.10;......if.(r.<.5).r. |
| 2bd80 | 3d 20 35 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d | =.5;.......5..draw_circle(px,.a- |
| 2bda0 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 | >w,.a->h,.cx,.cy,.r,.0xFF000000) |
| 2bdc0 | 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 | ;......for.(int.i.=.0;.i.<.12;.i |
| 2bde0 | 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 | ++).{........double.ang.=.i./.12 |
| 2be00 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 20 64 | .0.*.2.*.M_PI.-.M_PI_2;..._....d |
| 2be20 | 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 | raw_line(px,.a->w,.a->h,.cx.+.(i |
| 2be40 | 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 2b 20 28 | nt)(cos(ang).*.(r.-.10)),.cy.+.( |
| 2be60 | 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 5a 20 20 | int)(sin(ang).*.(r.-.10)),...Z.. |
| 2be80 | 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 | ............cx.+.(int)(cos(ang). |
| 2bea0 | 2a 20 28 72 20 2d 20 32 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 | *.(r.-.2)),.cy.+.(int)(sin(ang). |
| 2bec0 | 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 | *.(r.-.2)),.0xFF000000);......}. |
| 2bee0 | 00 00 02 20 20 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d | ........7..double.sa.=.tm_buf.tm |
| 2bf00 | 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | _sec./.60.0.*.2.*.M_PI.-.M_PI_2; |
| 2bf20 | 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e | ...P..double.ma.=.(tm_buf.tm_min |
| 2bf40 | 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 | .+.tm_buf.tm_sec./.60.0)./.60.0. |
| 2bf60 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 | *.2.*.M_PI.-.M_PI_2;...Z..double |
| 2bf80 | 20 68 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 | .ha.=.((tm_buf.tm_hour.%.12).+.( |
| 2bfa0 | 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 | tm_buf.tm_min./.60.0))./.12.0.*. |
| 2bfc0 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 6e 20 20 64 72 61 77 | 2.*.M_PI.-.M_PI_2;.......n..draw |
| 2bfe0 | 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | _line(px,.a->w,.a->h,.cx,.cy,.cx |
| 2c000 | 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 | .+.(int)(cos(ha).*.r.*.0.5),.cy. |
| 2c020 | 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 | +.(int)(sin(ha).*.r.*.0.5),.0xFF |
| 2c040 | 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 | 000000);...n..draw_line(px,.a->w |
| 2c060 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d | ,.a->h,.cx,.cy,.cx.+.(int)(cos(m |
| 2c080 | 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 | a).*.r.*.0.7),.cy.+.(int)(sin(ma |
| 2c0a0 | 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 | ).*.r.*.0.7),.0xFF000000);...n.. |
| 2c0c0 | 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 | draw_line(px,.a->w,.a->h,.cx,.cy |
| 2c0e0 | 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c | ,.cx.+.(int)(cos(sa).*.r.*.0.9), |
| 2c100 | 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 | .cy.+.(int)(sin(sa).*.r.*.0.9),. |
| 2c120 | 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 | 0xFFFF0000);.......)..wl_surface |
| 2c140 | 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 | _attach(a->ws,.a->buf,.0,.0);... |
| 2c160 | 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 | 4..wl_surface_damage_buffer(a->w |
| 2c180 | 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 | s,.0,.0,.a->w,.a->h);......wl_su |
| 2c1a0 | 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 | rface_commit(a->ws);......a->nee |
| 2c1c0 | 64 73 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 | ds_redraw.=.false;....}.......as |
| 2c1e0 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 2c200 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 2c220 | 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b | nt32_t.h,.struct.wl_array.*st).{ |
| 2c240 | 00 00 00 28 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 | ...(..struct.app.*a.=.d;.(void)x |
| 2c260 | 74 3b 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | t;.(void)st;...3..if.(w.>.0.&&.h |
| 2c280 | 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 | .>.0.&&.(w.!=.a->w.||.h.!=.a->h) |
| 2c2a0 | 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 00 00 | ).{........a->w.=.w;.a->h.=.h;.. |
| 2c2c0 | 00 11 20 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 | ......if.(a->buf).{..."........w |
| 2c2e0 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 35 20 20 20 | l_buffer_destroy(a->buf);...5... |
| 2c300 | 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 | .....munmap(a->pixels,.(size_t)( |
| 2c320 | 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 61 2d | a->w.*.a->h.*.4));...(........a- |
| 2c340 | 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 | >buf.=.NULL;.a->pixels.=.NULL;.. |
| 2c360 | 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 | ......}......}....}.......Astati |
| 2c380 | 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xs_cfg(void.*d,.struct.xd |
| 2c3a0 | 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 | g_surface.*xs,.uint32_t.s).{.... |
| 2c3c0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 | ..struct.app.*a.=.d;...#..xdg_su |
| 2c3e0 | 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 29 3b 00 00 00 17 20 | rface_ack_configure(xs,.s);..... |
| 2c400 | 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e | .a->configured.=.true;......a->n |
| 2c420 | 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 | eeds_redraw.=.true;....}.......q |
| 2c440 | 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 | static.void.registry_handler(voi |
| 2c460 | 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 67 | d.*data,.struct.wl_registry.*reg |
| 2c480 | 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 | ,.uint32_t.id,.const.char.*iface |
| 2c4a0 | 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 | ,.uint32_t.ver).{......struct.ap |
| 2c4c0 | 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | p.*a.=.data;...h..if.(!strcmp(if |
| 2c4e0 | 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d | ace,."wl_compositor")).a->comp.= |
| 2c500 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 | .wl_registry_bind(reg,.id,.&wl_c |
| 2c520 | 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 5e 20 20 65 6c | ompositor_interface,.4);...^..el |
| 2c540 | 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 | se.if.(!strcmp(iface,."wl_shm")) |
| 2c560 | 20 61 2d 3e 73 68 6d 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 | .a->shm.=.wl_registry_bind(reg,. |
| 2c580 | 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 | id,.&wl_shm_interface,.1);...+.. |
| 2c5a0 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f | else.if.(!strcmp(iface,."xdg_wm_ |
| 2c5c0 | 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 | base")).{...A....a->wm.=.wl_regi |
| 2c5e0 | 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f | stry_bind(reg,.id,.&xdg_wm_base_ |
| 2c600 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 51 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e | interface,.1);...Q....static.con |
| 2c620 | 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 | st.struct.xdg_wm_base_listener.w |
| 2c640 | 6d 5f 6c 69 73 74 20 3d 20 7b 28 76 6f 69 64 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e | m_list.=.{(void*)xdg_wm_base_pon |
| 2c660 | 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 | g};...1....xdg_wm_base_add_liste |
| 2c680 | 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 | ner(a->wm,.&wm_list,.a);......}. |
| 2c6a0 | 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 | ...}........int.main(void).{.... |
| 2c6c0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 17 20 20 61 2e 77 20 3d | ..struct.app.a.=.{0};......a.w.= |
| 2c6e0 | 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 | .400;.a.h.=.400;......signal(SIG |
| 2c700 | 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 | INT,.on_sig);...2..if.(!(a.d.=.w |
| 2c720 | 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e | l_display_connect(NULL))).return |
| 2c740 | 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f | .1;...'..a.reg.=.wl_display_get_ |
| 2c760 | 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | registry(a.d);...I..static.const |
| 2c780 | 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 |
| 2c7a0 | 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 | _list.=.{registry_handler};...1. |
| 2c7c0 | 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 61 2e 72 65 67 2c | .wl_registry_add_listener(a.reg, |
| 2c7e0 | 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 | .®_list,.&a);......wl_display |
| 2c800 | 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d | _roundtrip(a.d);..........a.ws.= |
| 2c820 | 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 65 28 61 2e | .wl_compositor_create_surface(a. |
| 2c840 | 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 | comp);...1..a.xs.=.xdg_wm_base_g |
| 2c860 | 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 | et_xdg_surface(a.wm,.a.ws);...>. |
| 2c880 | 20 73 74 61 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 | .static.const.struct.xdg_surface |
| 2c8a0 | 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 | _listener.xs_list.=.{xs_cfg};... |
| 2c8c0 | 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 | /..xdg_surface_add_listener(a.xs |
| 2c8e0 | 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 | ,.&xs_list,.&a);...(..a.xt.=.xdg |
| 2c900 | 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4e | _surface_get_toplevel(a.xs);...N |
| 2c920 | 20 20 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 |
| 2c940 | 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 | el_listener.xt_list.=.{xt_cfg,.( |
| 2c960 | 76 6f 69 64 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | void*)on_sig};...0..xdg_toplevel |
| 2c980 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 | _add_listener(a.xt,.&xt_list,.&a |
| 2c9a0 | 29 3b 00 00 00 2a 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 61 | );...*..xdg_toplevel_set_title(a |
| 2c9c0 | 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 02 20 20 00 00 00 2c 20 20 78 64 67 5f | .xt,."wlclock");.........,..xdg_ |
| 2c9e0 | 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c | toplevel_set_min_size(a.xt,.100, |
| 2ca00 | 20 31 30 30 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e | .100);......wl_surface_commit(a. |
| 2ca20 | 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f | ws);.......9..int.tfd.=.timerfd_ |
| 2ca40 | 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 | create(CLOCK_MONOTONIC,.TFD_CLOE |
| 2ca60 | 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 | XEC);...F..timerfd_settime(tfd,. |
| 2ca80 | 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 | 0,.&(struct.itimerspec){{1,.0},. |
| 2caa0 | 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 | {1,.0}},.NULL);..........while.( |
| 2cac0 | 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 | running).{...-....while.(wl_disp |
| 2cae0 | 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 29 20 | lay_prepare_read(a.d).!=.0)...). |
| 2cb00 | 20 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 | .......wl_display_dispatch_pendi |
| 2cb20 | 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 | ng(a.d);........wl_display_flush |
| 2cb40 | 28 61 2e 64 29 3b 00 00 00 00 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 | (a.d);.......N....struct.pollfd. |
| 2cb60 | 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e | pfds[2].=.{{wl_display_get_fd(a. |
| 2cb80 | 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 20 | d),.POLLIN},.{tfd,.POLLIN}};.... |
| 2cba0 | 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3e 20 30 29 20 7b | ....if.(poll(pfds,.2,.-1).>.0).{ |
| 2cbc0 | 00 00 00 40 20 20 20 20 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 | ...@......if.(pfds[0].revents.&. |
| 2cbe0 | 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 | POLLIN).wl_display_read_events(a |
| 2cc00 | 2e 64 29 3b 00 00 00 27 20 20 20 20 20 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 | .d);...'......else.wl_display_ca |
| 2cc20 | 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 06 20 20 20 20 20 20 00 00 00 25 20 20 20 | ncel_read(a.d);.............%... |
| 2cc40 | 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 | ...if.(pfds[1].revents.&.POLLIN) |
| 2cc60 | 20 7b 00 00 00 17 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 | .{............uint64_t.ticks;... |
| 2cc80 | 48 20 20 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 | H........if.(read(tfd,.&ticks,.s |
| 2cca0 | 69 7a 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 20 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 | izeof(ticks)).>.0).a.needs_redra |
| 2ccc0 | 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 7d 20 65 6c | w.=.true;..........}........}.el |
| 2cce0 | 73 65 20 7b 00 00 00 24 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 | se.{...$........wl_display_cance |
| 2cd00 | 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 | l_read(a.d);........}........... |
| 2cd20 | 25 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 |
| 2cd40 | 28 61 2e 64 29 3b 00 00 00 23 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 | (a.d);...#....if.(a.needs_redraw |
| 2cd60 | 29 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0d 20 20 63 6c | ).render(&a);......}..........cl |
| 2cd80 | 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e | ose(tfd);......wl_display_discon |
| 2cda0 | 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 | nect(a.d);......return.0;....}5. |
| 2cdc0 | f5 18 00 00 00 00 00 00 00 00 00 00 00 00 d5 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cde0 | 00 00 00 00 00 00 7a 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 23 00 00 | ......z...............5._....#.. |
| 2ce00 | 00 25 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 | .%...........$.................. |
| 2ce20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ce40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ce60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ce80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d 9f ab | ............................i... |
| 2cf80 | 04 01 00 00 00 00 00 f5 18 00 00 00 d4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 | .............................}.. |
| 2cfa0 | 00 00 00 d5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 | .....................~.......... |
| 2cfc0 | 00 01 00 00 00 0f 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 f5 18 00 00 00 7f 00 00 00 00 00 | ........wl_surface_at........... |
| 2cfe0 | 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 f5 18 00 | ................................ |
| 2d000 | 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 00 00 00 | ...............5................ |
| 2d020 | 00 00 00 00 00 00 00 7e 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .......~........................ |
| 2d040 | 10 00 00 00 00 00 00 f5 18 00 00 00 00 7e 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 56 00 00 | .............~...............V.. |
| 2d060 | 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 79 0b 00 00 00 00 00 00 35 81 5f | .....................y.......5._ |
| 2d080 | d0 00 00 00 24 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00 25 00 00 00 d5 00 00 00 00 00 00 00 | ....$...&...........%........... |
| 2d0a0 | 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 00 00 00 00 00 00 00 | ................................ |
| 2d0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d200 | 00 00 00 69 9d 9f ac 04 01 00 00 00 0f 00 f5 18 00 00 00 01 00 00 01 04 00 00 00 d5 00 00 00 ce | ...i............................ |
| 2d220 | 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 | ....#include.<errno.h>....#inclu |
| 2d240 | 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 | de.<fcntl.h>....#include.<math.h |
| 2d260 | 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 | >....#include.<poll.h>....#inclu |
| 2d280 | 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f | de.<signal.h>....#include.<stdbo |
| 2d2a0 | 6f 6c 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 00 00 13 23 | ol.h>....#include.<stdio.h>....# |
| 2d2c0 | 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.< |
| 2d2e0 | 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e | string.h>....#include.<sys/mman. |
| 2d300 | 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 | h>....#include.<sys/timerfd.h>.. |
| 2d320 | 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | ..#include.<time.h>....#include. |
| 2d340 | 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d | <unistd.h>....#include.<wayland- |
| 2d360 | 63 6c 69 65 6e 74 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 6c | client.h>...&#include."xdg-shell |
| 2d380 | 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 0c 23 69 66 6e 64 | -client-protocol.h"........#ifnd |
| 2d3a0 | 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 | ef.M_PI...##define.M_PI.3.141592 |
| 2d3c0 | 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e | 65358979323846....#endif....#ifn |
| 2d3e0 | 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 | def.M_PI_2...%#define.M_PI_2.1.5 |
| 2d400 | 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 | 7079632679489661923....#endif... |
| 2d420 | 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f | ....)static.volatile.sig_atomic_ |
| 2d440 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e | t.running.=.1;...3static.void.on |
| 2d460 | 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d | _sig(int.s).{.(void)s;.running.= |
| 2d480 | 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 | .0;.}........struct.app.{......s |
| 2d4a0 | 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 | truct.wl_display.*d;......struct |
| 2d4c0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 | .wl_registry.*reg;......struct.w |
| 2d4e0 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 | l_compositor.*comp;......struct. |
| 2d500 | 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f | wl_shm.*shm;......struct.xdg_wm_ |
| 2d520 | 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 | base.*wm;......struct.wl_surface |
| 2d540 | 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 | .*ws;......struct.xdg_surface.*x |
| 2d560 | 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b | s;......struct.xdg_toplevel.*xt; |
| 2d580 | 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 | ......void.*pixels;......struct. |
| 2d5a0 | 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 | wl_buffer.*buf;......int.w,.h;.. |
| 2d5c0 | 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e | ....bool.configured;......bool.n |
| 2d5e0 | 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 | eeds_redraw;....};.......)static |
| 2d600 | 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 | .int.create_shm_file(size_t.size |
| 2d620 | 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 | ).{......char.template[].=."/tmp |
| 2d640 | 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 | /wlclock-shm-XXXXXX";......int.f |
| 2d660 | 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 | d.=.mkstemp(template);......if.( |
| 2d680 | 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d | fd.<.0).exit(1);......unlink(tem |
| 2d6a0 | 70 6c 61 74 65 29 3b 00 00 00 3d 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 | plate);...=..if.(ftruncate(fd,.( |
| 2d6c0 | 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 | off_t)size).<.0).{.close(fd);.ex |
| 2d6e0 | 69 74 28 31 29 3b 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 | it(1);.}......return.fd;....}... |
| 2d700 | 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 | ....,static.void.allocate_buffer |
| 2d720 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 30 20 20 69 66 20 28 21 61 2d 3e 73 | (struct.app.*a).{...0..if.(!a->s |
| 2d740 | 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 | hm.||.a->w.<=.0.||.a->h.<=.0).re |
| 2d760 | 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 | turn;......if.(a->buf).{........ |
| 2d780 | 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 | wl_buffer_destroy(a->buf);...1.. |
| 2d7a0 | 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e | ..munmap(a->pixels,.(size_t)(a-> |
| 2d7c0 | 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 | w.*.a->h.*.4));........a->buf.=. |
| 2d7e0 | 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 | NULL;........a->pixels.=.NULL;.. |
| 2d800 | 00 03 20 20 7d 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 | ....}...*..size_t.size.=.(size_t |
| 2d820 | 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 | )(a->w.*.a->h.*.4);...!..int.fd. |
| 2d840 | 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d | =.create_shm_file(size);...J..a- |
| 2d860 | 3e 70 69 78 65 6c 73 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 | >pixels.=.mmap(NULL,.size,.PROT_ |
| 2d880 | 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 | READ.|.PROT_WRITE,.MAP_SHARED,.f |
| 2d8a0 | 64 2c 20 30 29 3b 00 00 00 36 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 | d,.0);...6..if.(a->pixels.==.MAP |
| 2d8c0 | 5f 46 41 49 4c 45 44 29 20 7b 20 63 6c 6f 73 65 28 66 64 29 3b 20 65 78 69 74 28 31 29 3b 20 7d | _FAILED).{.close(fd);.exit(1);.} |
| 2d8e0 | 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d | ...K..struct.wl_shm_pool.*pool.= |
| 2d900 | 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 | .wl_shm_create_pool(a->shm,.fd,. |
| 2d920 | 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c | (int32_t)size);...\..a->buf.=.wl |
| 2d940 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 2d960 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f | .a->w,.a->h,.a->w.*.4,.WL_SHM_FO |
| 2d980 | 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | RMAT_ARGB8888);......wl_shm_pool |
| 2d9a0 | 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 | _destroy(pool);......close(fd);. |
| 2d9c0 | 00 00 01 7d 00 00 00 00 00 00 00 5f 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e | ...}......._static.void.draw_lin |
| 2d9e0 | 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e | e(uint32_t.*px,.int.w,.int.h,.in |
| 2da00 | 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 75 69 | t.x0,.int.y0,.int.x1,.int.y1,.ui |
| 2da20 | 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 | nt32_t.c).{.../..int.dx.=.abs(x1 |
| 2da40 | 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 | .-.x0),.sx.=.x0.<.x1.?.1.:.-1;.. |
| 2da60 | 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d | .0..int.dy.=.-abs(y1.-.y0),.sy.= |
| 2da80 | 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 | .y0.<.y1.?.1.:.-1;......int.err. |
| 2daa0 | 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 | =.dx.+.dy,.e2;......while.(1).{. |
| 2dac0 | 00 00 44 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 | ..D....if.(x0.>=.0.&&.x0.<.w.&&. |
| 2dae0 | 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 | y0.>=.0.&&.y0.<.h).px[y0.*.w.+.x |
| 2db00 | 30 5d 20 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 | 0].=.c;...$....if.(x0.==.x1.&&.y |
| 2db20 | 30 20 3d 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 | 0.==.y1).break;........e2.=.2.*. |
| 2db40 | 65 72 72 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 20 | err;...*....if.(e2.>=.dy).{.err. |
| 2db60 | 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 | +=.dy;.x0.+=.sx;.}...*....if.(e2 |
| 2db80 | 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 7d | .<=.dx).{.err.+=.dx;.y0.+=.sy;.} |
| 2dba0 | 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 | ......}....}.......Xstatic.void. |
| 2dbc0 | 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c | draw_circle(uint32_t.*px,.int.w, |
| 2dbe0 | 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 | .int.h,.int.cx,.int.cy,.int.r,.u |
| 2dc00 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d | int32_t.c).{..."..int.x.=.0,.y.= |
| 2dc20 | 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 | .r,.d.=.3.-.2.*.r;......while.(y |
| 2dc40 | 20 3e 3d 20 78 29 20 7b 00 00 00 4c 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 | .>=.x).{...L....int.pts[8][2].=. |
| 2dc60 | 7b 7b 63 78 2b 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 20 7b 63 78 | {{cx+x,.cy+y},.{cx-x,.cy+y},.{cx |
| 2dc80 | 2b 78 2c 20 63 79 2d 79 7d 2c 20 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 4d 20 20 20 20 | +x,.cy-y},.{cx-x,.cy-y},...M.... |
| 2dca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 20 7b | .................{cx+y,.cy+x},.{ |
| 2dcc0 | 63 78 2d 79 2c 20 63 79 2b 78 7d 2c 20 7b 63 78 2b 79 2c 20 63 79 2d 78 7d 2c 20 7b 63 78 2d 79 | cx-y,.cy+x},.{cx+y,.cy-x},.{cx-y |
| 2dce0 | 2c 20 63 79 2d 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | ,.cy-x}};........for.(int.i.=.0; |
| 2dd00 | 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d | .i.<.8;.i++)...M......if.(pts[i] |
| 2dd20 | 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 | [0].>=.0.&&.pts[i][0].<.w.&&.pts |
| 2dd40 | 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 | [i][1].>=.0.&&.pts[i][1].<.h)... |
| 2dd60 | 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b | *........px[pts[i][1].*.w.+.pts[ |
| 2dd80 | 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 | i][0]].=.c;...C....if.(d.>.0).{. |
| 2dda0 | 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c | d.+=.4.*.(x.-.y).+.10;.y--;.}.el |
| 2ddc0 | 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 | se.d.+=.4.*.x.+.6;........x++;.. |
| 2dde0 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | ....}....}.......#static.void.re |
| 2de00 | 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 42 20 20 69 66 20 28 21 | nder(struct.app.*a).{...B..if.(! |
| 2de20 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d | a->configured.||.a->w.<=.0.||.a- |
| 2de40 | 3e 68 20 3c 3d 20 30 20 7c 7c 20 21 61 2d 3e 73 68 6d 29 20 72 65 74 75 72 6e 3b 00 00 00 22 20 | >h.<=.0.||.!a->shm).return;...". |
| 2de60 | 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 | .if.(!a->buf).allocate_buffer(a) |
| 2de80 | 3b 00 00 00 19 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 20 72 65 74 75 72 6e 3b 00 00 | ;......if.(!a->pixels).return;.. |
| 2dea0 | 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 | ........time_t.tt.=.time(NULL);. |
| 2dec0 | 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 | .....struct.tm.tm_buf;......loca |
| 2dee0 | 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 00 00 00 00 00 1b 20 20 | ltime_r(&tt,.&tm_buf);.......... |
| 2df00 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d | uint32_t.*px.=.a->pixels;......m |
| 2df20 | 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 | emset(px,.0xff,.(size_t)(a->w.*. |
| 2df40 | 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f | a->h.*.4));...#..int.cx.=.a->w./ |
| 2df60 | 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 | .2,.cy.=.a->h./.2;.../..int.r.=. |
| 2df80 | 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 | (a->w.<.a->h.?.a->w.:.a->h)./.2. |
| 2dfa0 | 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 | -.10;......if.(r.<.5).r.=.5;.... |
| 2dfc0 | 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ...5..draw_circle(px,.a->w,.a->h |
| 2dfe0 | 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 | ,.cx,.cy,.r,.0xFF000000);......f |
| 2e000 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 | or.(int.i.=.0;.i.<.12;.i++).{... |
| 2e020 | 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a | .....double.ang.=.i./.12.0.*.2.* |
| 2e040 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5f 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 | .M_PI.-.M_PI_2;..._....draw_line |
| 2e060 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | (px,.a->w,.a->h,.cx.+.(int)(cos( |
| 2e080 | 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e | ang).*.(r.-.10)),.cy.+.(int)(sin |
| 2e0a0 | 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 5a 20 20 20 20 20 20 20 20 20 20 | (ang).*.(r.-.10)),...Z.......... |
| 2e0c0 | 20 20 20 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 | ....cx.+.(int)(cos(ang).*.(r.-.2 |
| 2e0e0 | 29 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 | )),.cy.+.(int)(sin(ang).*.(r.-.2 |
| 2e100 | 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 02 20 20 00 00 00 | )),.0xFF000000);......}......... |
| 2e120 | 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 | 7..double.sa.=.tm_buf.tm_sec./.6 |
| 2e140 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f | 0.0.*.2.*.M_PI.-.M_PI_2;...P..do |
| 2e160 | 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 | uble.ma.=.(tm_buf.tm_min.+.tm_bu |
| 2e180 | 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | f.tm_sec./.60.0)./.60.0.*.2.*.M_ |
| 2e1a0 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 5a 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 | PI.-.M_PI_2;...Z..double.ha.=.(( |
| 2e1c0 | 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 | tm_buf.tm_hour.%.12).+.(tm_buf.t |
| 2e1e0 | 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | m_min./.60.0))./.12.0.*.2.*.M_PI |
| 2e200 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 | .-.M_PI_2;.......n..draw_line(px |
| 2e220 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 | ,.a->w,.a->h,.cx,.cy,.cx.+.(int) |
| 2e240 | 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 | (cos(ha).*.r.*.0.5),.cy.+.(int)( |
| 2e260 | 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b | sin(ha).*.r.*.0.5),.0xFF000000); |
| 2e280 | 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ...n..draw_line(px,.a->w,.a->h,. |
| 2e2a0 | 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a | cx,.cy,.cx.+.(int)(cos(ma).*.r.* |
| 2e2c0 | 20 30 2e 37 29 2c 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 | .0.7),.cy.+.(int)(sin(ma).*.r.*. |
| 2e2e0 | 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 6e 20 20 64 72 61 77 5f 6c 69 6e | 0.7),.0xFF000000);...n..draw_lin |
| 2e300 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 | e(px,.a->w,.a->h,.cx,.cy,.cx.+.( |
| 2e320 | 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 63 79 20 2b 20 28 69 | int)(cos(sa).*.r.*.0.9),.cy.+.(i |
| 2e340 | 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 | nt)(sin(sa).*.r.*.0.9),.0xFFFF00 |
| 2e360 | 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | 00);.......)..wl_surface_attach( |
| 2e380 | 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 | a->ws,.a->buf,.0,.0);...4..wl_su |
| 2e3a0 | 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c | rface_damage_buffer(a->ws,.0,.0, |
| 2e3c0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | .a->w,.a->h);......wl_surface_co |
| 2e3e0 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 | mmit(a->ws);......a->needs_redra |
| 2e400 | 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 61 73 74 61 74 69 63 20 76 6f | w.=.false;....}.......astatic.vo |
| 2e420 | 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f | id.xt_cfg(void.*d,.struct.xdg_to |
| 2e440 | 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 | plevel.*xt,.int32_t.w,.int32_t.h |
| 2e460 | 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 28 20 20 73 74 | ,.struct.wl_array.*st).{...(..st |
| 2e480 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 28 76 6f 69 64 29 78 74 3b 20 28 76 6f 69 64 | ruct.app.*a.=.d;.(void)xt;.(void |
| 2e4a0 | 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 | )st;...3..if.(w.>.0.&&.h.>.0.&&. |
| 2e4c0 | 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 17 20 | (w.!=.a->w.||.h.!=.a->h)).{..... |
| 2e4e0 | 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 | ...a->w.=.w;.a->h.=.h;........if |
| 2e500 | 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 77 6c 5f 62 75 66 66 65 72 | .(a->buf).{..."........wl_buffer |
| 2e520 | 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 35 20 20 20 20 20 20 20 20 6d 75 6e | _destroy(a->buf);...5........mun |
| 2e540 | 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 | map(a->pixels,.(size_t)(a->w.*.a |
| 2e560 | 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 28 20 20 20 20 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e | ->h.*.4));...(........a->buf.=.N |
| 2e580 | 55 4c 4c 3b 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 | ULL;.a->pixels.=.NULL;........}. |
| 2e5a0 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 | .....}....}.......Astatic.void.x |
| 2e5c0 | 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 | s_cfg(void.*d,.struct.xdg_surfac |
| 2e5e0 | 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | e.*xs,.uint32_t.s).{......struct |
| 2e600 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 | .app.*a.=.d;...#..xdg_surface_ac |
| 2e620 | 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 | k_configure(xs,.s);......a->conf |
| 2e640 | 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 | igured.=.true;......a->needs_red |
| 2e660 | 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 71 73 74 61 74 69 63 20 76 | raw.=.true;....}.......qstatic.v |
| 2e680 | 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c | oid.registry_handler(void.*data, |
| 2e6a0 | 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 74 33 32 | .struct.wl_registry.*reg,.uint32 |
| 2e6c0 | 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 | _t.id,.const.char.*iface,.uint32 |
| 2e6e0 | 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | _t.ver).{......struct.app.*a.=.d |
| 2e700 | 61 74 61 3b 00 00 00 68 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c | ata;...h..if.(!strcmp(iface,."wl |
| 2e720 | 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 | _compositor")).a->comp.=.wl_regi |
| 2e740 | 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | stry_bind(reg,.id,.&wl_composito |
| 2e760 | 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 5e 20 20 65 6c 73 65 20 69 66 20 28 21 | r_interface,.4);...^..else.if.(! |
| 2e780 | 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 | strcmp(iface,."wl_shm")).a->shm. |
| 2e7a0 | 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f | =.wl_registry_bind(reg,.id,.&wl_ |
| 2e7c0 | 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 | shm_interface,.1);...+..else.if. |
| 2e7e0 | 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 | (!strcmp(iface,."xdg_wm_base")). |
| 2e800 | 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | {...A....a->wm.=.wl_registry_bin |
| 2e820 | 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 | d(reg,.id,.&xdg_wm_base_interfac |
| 2e840 | 65 2c 20 31 29 3b 00 00 00 51 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | e,.1);...Q....static.const.struc |
| 2e860 | 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 6c 69 73 74 20 3d | t.xdg_wm_base_listener.wm_list.= |
| 2e880 | 20 7b 28 76 6f 69 64 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 3b 00 00 00 31 20 | .{(void*)xdg_wm_base_pong};...1. |
| 2e8a0 | 20 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 61 2d 3e 77 | ...xdg_wm_base_add_listener(a->w |
| 2e8c0 | 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | m,.&wm_list,.a);......}....}.... |
| 2e8e0 | 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 | ....int.main(void).{......struct |
| 2e900 | 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 17 20 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e | .app.a.=.{0};......a.w.=.400;.a. |
| 2e920 | 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f | h.=.400;......signal(SIGINT,.on_ |
| 2e940 | 73 69 67 29 3b 00 00 00 32 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 | sig);...2..if.(!(a.d.=.wl_displa |
| 2e960 | 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 | y_connect(NULL))).return.1;...'. |
| 2e980 | 20 61 2e 72 65 67 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 | .a.reg.=.wl_display_get_registry |
| 2e9a0 | 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | (a.d);...I..static.const.struct. |
| 2e9c0 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 | wl_registry_listener.reg_list.=. |
| 2e9e0 | 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 | {registry_handler};...1..wl_regi |
| 2ea00 | 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 | stry_add_listener(a.reg,.®_li |
| 2ea20 | 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 | st,.&a);......wl_display_roundtr |
| 2ea40 | 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 | ip(a.d);..........a.ws.=.wl_comp |
| 2ea60 | 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 | ositor_create_surface(a.comp);.. |
| 2ea80 | 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 | .1..a.xs.=.xdg_wm_base_get_xdg_s |
| 2eaa0 | 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 | urface(a.wm,.a.ws);...>..static. |
| 2eac0 | 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 74 65 6e 65 | const.struct.xdg_surface_listene |
| 2eae0 | 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 | r.xs_list.=.{xs_cfg};.../..xdg_s |
| 2eb00 | 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 | urface_add_listener(a.xs,.&xs_li |
| 2eb20 | 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 | st,.&a);...(..a.xt.=.xdg_surface |
| 2eb40 | 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4e 20 20 73 74 61 74 69 63 | _get_toplevel(a.xs);...N..static |
| 2eb60 | 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 |
| 2eb80 | 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 2a 29 6f 6e | ner.xt_list.=.{xt_cfg,.(void*)on |
| 2eba0 | 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 | _sig};...0..xdg_toplevel_add_lis |
| 2ebc0 | 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 | tener(a.xt,.&xt_list,.&a);...*.. |
| 2ebe0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c | xdg_toplevel_set_title(a.xt,."wl |
| 2ec00 | 63 6c 6f 63 6b 22 29 3b 00 00 00 02 20 20 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | clock");.........,..xdg_toplevel |
| 2ec20 | 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 | _set_min_size(a.xt,.100,.100);.. |
| 2ec40 | 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 | ....wl_surface_commit(a.ws);.... |
| 2ec60 | 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 | ...9..int.tfd.=.timerfd_create(C |
| 2ec80 | 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 | LOCK_MONOTONIC,.TFD_CLOEXEC);... |
| 2eca0 | 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 | F..timerfd_settime(tfd,.0,.&(str |
| 2ecc0 | 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c | uct.itimerspec){{1,.0},.{1,.0}}, |
| 2ece0 | 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 | .NULL);..........while.(running) |
| 2ed00 | 20 7b 00 00 00 2d 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 | .{...-....while.(wl_display_prep |
| 2ed20 | 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 29 20 20 20 20 20 20 20 20 77 | are_read(a.d).!=.0)...)........w |
| 2ed40 | 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 61 2e 64 29 3b | l_display_dispatch_pending(a.d); |
| 2ed60 | 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 | ........wl_display_flush(a.d);.. |
| 2ed80 | 00 00 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 | .....N....struct.pollfd.pfds[2]. |
| 2eda0 | 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c | =.{{wl_display_get_fd(a.d),.POLL |
| 2edc0 | 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 20 20 20 20 20 69 66 20 28 | IN},.{tfd,.POLLIN}};........if.( |
| 2ede0 | 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3e 20 30 29 20 7b 00 00 00 40 20 20 20 20 | poll(pfds,.2,.-1).>.0).{...@.... |
| 2ee00 | 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 | ..if.(pfds[0].revents.&.POLLIN). |
| 2ee20 | 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 27 | wl_display_read_events(a.d);...' |
| 2ee40 | 20 20 20 20 20 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 | ......else.wl_display_cancel_rea |
| 2ee60 | 64 28 61 2e 64 29 3b 00 00 00 06 20 20 20 20 20 20 00 00 00 25 20 20 20 20 20 20 69 66 20 28 70 | d(a.d);.............%......if.(p |
| 2ee80 | 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 17 20 20 | fds[1].revents.&.POLLIN).{...... |
| 2eea0 | 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 48 20 20 20 20 20 20 20 | ......uint64_t.ticks;...H....... |
| 2eec0 | 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 | .if.(read(tfd,.&ticks,.sizeof(ti |
| 2eee0 | 63 6b 73 29 29 20 3e 20 30 29 20 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 | cks)).>.0).a.needs_redraw.=.true |
| 2ef00 | 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 24 | ;..........}........}.else.{...$ |
| 2ef20 | 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 | ........wl_display_cancel_read(a |
| 2ef40 | 2e 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 04 20 20 20 20 00 00 00 25 20 20 20 20 77 6c 5f | .d);........}...........%....wl_ |
| 2ef60 | 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 61 2e 64 29 3b 00 00 | display_dispatch_pending(a.d);.. |
| 2ef80 | 00 23 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 | .#....if.(a.needs_redraw).render |
| 2efa0 | 28 26 61 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 09 00 00 00 cd 00 00 00 17 00 00 00 01 01 00 | (&a);5.......................... |
| 2efc0 | 00 05 00 00 00 29 00 00 00 00 00 00 00 05 1b 00 00 00 00 00 00 9c 1c 00 00 00 00 00 00 35 81 5f | .....).......................5._ |
| 2efe0 | d0 00 00 00 25 00 00 00 27 00 00 00 00 00 00 00 00 00 00 00 26 00 00 00 01 00 00 00 00 00 00 00 | ....%...'...........&........... |
| 2f000 | 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 00 00 00 00 00 00 00 | ................................ |
| 2f020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2f140 | 00 00 01 00 00 00 00 00 00 00 00 00 00 01 09 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 | ..........................V..... |
| 2f160 | 00 00 00 69 9d a0 69 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 09 | ...i..i......................... |
| 2f180 | 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 | ....#define._POSIX_C_SOURCE.2008 |
| 2f1a0 | 30 39 4c 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 65 6e | 09L...&#include."xdg-shell-clien |
| 2f1c0 | 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f | t-protocol.h"....#include.<errno |
| 2f1e0 | 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e | .h>....#include.<fcntl.h>....#in |
| 2f200 | 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c | clude.<math.h>....#include.<poll |
| 2f220 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 | .h>....#include.<signal.h>....#i |
| 2f240 | 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c | nclude.<stdbool.h>....#include.< |
| 2f260 | 73 74 64 69 6f 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 00 | stdio.h>....#include.<stdlib.h>. |
| 2f280 | 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 15 23 69 6e 63 6c 75 | ...#include.<string.h>....#inclu |
| 2f2a0 | 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | de.<sys/mman.h>....#include.<sys |
| 2f2c0 | 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e | /timerfd.h>....#include.<time.h> |
| 2f2e0 | 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 1b 23 69 6e 63 6c | ....#include.<unistd.h>....#incl |
| 2f300 | 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 | ude.<wayland-client.h>........#i |
| 2f320 | 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 | fndef.M_PI...##define.M_PI.3.141 |
| 2f340 | 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 | 59265358979323846....#endif....# |
| 2f360 | 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 | ifndef.M_PI_2...%#define.M_PI_2. |
| 2f380 | 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 | 1.57079632679489661923....#endif |
| 2f3a0 | 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d | .......)static.volatile.sig_atom |
| 2f3c0 | 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 | ic_t.running.=.1;....static.void |
| 2f3e0 | 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 | .on_sig(int.s).{......(void)s;.. |
| 2f400 | 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 | ....running.=.0;....}........str |
| 2f420 | 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 | uct.app.{......struct.wl_display |
| 2f440 | 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 | .*d;......struct.wl_registry.*re |
| 2f460 | 67 3b 00 00 00 1d 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 | g;......struct.wl_compositor.*co |
| 2f480 | 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 | mp;......struct.wl_shm.*shm;.... |
| 2f4a0 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 | ..struct.xdg_wm_base.*wm;......s |
| 2f4c0 | 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 | truct.wl_surface.*ws;......struc |
| 2f4e0 | 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 | t.xdg_surface.*xs;......struct.x |
| 2f500 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 | dg_toplevel.*xt;......void.*pixe |
| 2f520 | 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 | ls;......struct.wl_buffer.*buf;. |
| 2f540 | 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 | .....int.w,.h;......bool.configu |
| 2f560 | 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 | red;......bool.needs_redraw;.... |
| 2f580 | 7d 3b 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f | };.......)static.int.create_shm_ |
| 2f5a0 | 66 69 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 | file(size_t.size).{......char.te |
| 2f5c0 | 6d 70 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 | mplate[].=."/tmp/wlclock-shm-XXX |
| 2f5e0 | 58 58 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 | XXX";......int.fd.=.mkstemp(temp |
| 2f600 | 6c 61 74 65 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 | late);......if.(fd.<.0)........e |
| 2f620 | 78 69 74 28 31 29 3b 00 00 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 | xit(1);......unlink(template);.. |
| 2f640 | 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a | .'..if.(ftruncate(fd,.(off_t)siz |
| 2f660 | 65 29 20 3c 20 30 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 | e).<.0).{........close(fd);..... |
| 2f680 | 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 | ...exit(1);......}......return.f |
| 2f6a0 | 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 | d;....}.......,static.void.alloc |
| 2f6c0 | 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 28 20 | ate_buffer(struct.app.*a).{...(. |
| 2f6e0 | 20 69 66 20 28 21 61 2d 3e 73 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e | .if.(!a->shm.||.a->w.<=.0.||.a-> |
| 2f700 | 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 | h.<=.0)........return;......if.( |
| 2f720 | 61 2d 3e 62 75 66 29 20 7b 00 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 | a->buf).{........wl_buffer_destr |
| 2f740 | 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 | oy(a->buf);...1....munmap(a->pix |
| 2f760 | 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b | els,.(size_t)(a->w.*.a->h.*.4)); |
| 2f780 | 00 00 00 12 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 61 2d | ........a->buf.=.NULL;........a- |
| 2f7a0 | 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 73 69 7a 65 | >pixels.=.NULL;......}...*..size |
| 2f7c0 | 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a | _t.size.=.(size_t)(a->w.*.a->h.* |
| 2f7e0 | 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 | .4);...!..int.fd.=.create_shm_fi |
| 2f800 | 6c 65 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 | le(size);...J..a->pixels.=.mmap( |
| 2f820 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 | NULL,.size,.PROT_READ.|.PROT_WRI |
| 2f840 | 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 69 66 20 | TE,.MAP_SHARED,.fd,.0);......if. |
| 2f860 | 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 0e 20 | (a->pixels.==.MAP_FAILED).{..... |
| 2f880 | 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | ...close(fd);........exit(1);... |
| 2f8a0 | 03 20 20 7d 00 00 00 4b 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f | ...}...K..struct.wl_shm_pool.*po |
| 2f8c0 | 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 | ol.=.wl_shm_create_pool(a->shm,. |
| 2f8e0 | 66 64 2c 20 28 69 6e 74 33 32 5f 74 29 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 | fd,.(int32_t)size);...C..a->buf. |
| 2f900 | 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c | =.wl_shm_pool_create_buffer(pool |
| 2f920 | 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 | ,.0,.a->w,.a->h,.a->w.*.4,...=.. |
| 2f940 | 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 | ................................ |
| 2f960 | 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 | ...WL_SHM_FORMAT_ARGB8888);..... |
| 2f980 | 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 | .wl_shm_pool_destroy(pool);..... |
| 2f9a0 | 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 | .close(fd);....}.......Istatic.v |
| 2f9c0 | 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 | oid.draw_line(uint32_t.*px,.int. |
| 2f9e0 | 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 | w,.int.h,.int.x0,.int.y0,.int.x1 |
| 2fa00 | 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 | ,...+......................int.y |
| 2fa20 | 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 | 1,.uint32_t.c).{.../..int.dx.=.a |
| 2fa40 | 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 | bs(x1.-.x0),.sx.=.x0.<.x1.?.1.:. |
| 2fa60 | 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c | -1;...0..int.dy.=.-abs(y1.-.y0), |
| 2fa80 | 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 | .sy.=.y0.<.y1.?.1.:.-1;......int |
| 2faa0 | 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 | .err.=.dx.+.dy,.e2;......while.( |
| 2fac0 | 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 | 1).{.../....if.(x0.>=.0.&&.x0.<. |
| 2fae0 | 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 | w.&&.y0.>=.0.&&.y0.<.h)......... |
| 2fb00 | 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 | .px[y0.*.w.+.x0].=.c;........if. |
| 2fb20 | 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 | (x0.==.x1.&&.y0.==.y1).......... |
| 2fb40 | 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 | break;........e2.=.2.*.err;..... |
| 2fb60 | 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 | ...if.(e2.>=.dy).{..........err. |
| 2fb80 | 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 | +=.dy;..........x0.+=.sx;....... |
| 2fba0 | 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 | .}........if.(e2.<=.dx).{....... |
| 2fbc0 | 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b | ...err.+=.dx;..........y0.+=.sy; |
| 2fbe0 | 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 | ........}......}....}.......Jsta |
| 2fc00 | 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 | tic.void.draw_circle(uint32_t.*p |
| 2fc20 | 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c | x,.int.w,.int.h,.int.cx,.int.cy, |
| 2fc40 | 20 69 6e 74 20 72 2c 00 00 00 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .int.r,...%..................... |
| 2fc60 | 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c | ...uint32_t.c).{..."..int.x.=.0, |
| 2fc80 | 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c | .y.=.r,.d.=.3.-.2.*.r;......whil |
| 2fca0 | 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 | e.(y.>=.x).{...J....int.pts[8][2 |
| 2fcc0 | 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 | ].=.{{cx.+.x,.cy.+.y},.{cx.-.x,. |
| 2fce0 | 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 | cy.+.y},.{cx.+.x,.cy.-.y},...J.. |
| 2fd00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d | ...................{cx.-.x,.cy.- |
| 2fd20 | 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 | .y},.{cx.+.y,.cy.+.x},.{cx.-.y,. |
| 2fd40 | 63 79 20 2b 20 78 7d 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 | cy.+.x},...9.................... |
| 2fd60 | 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d | .{cx.+.y,.cy.-.x},.{cx.-.y,.cy.- |
| 2fd80 | 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | .x}};........for.(int.i.=.0;.i.< |
| 2fda0 | 20 38 3b 20 69 2b 2b 29 00 00 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 | .8;.i++)...M......if.(pts[i][0]. |
| 2fdc0 | 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b | >=.0.&&.pts[i][0].<.w.&&.pts[i][ |
| 2fde0 | 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 | 1].>=.0.&&.pts[i][1].<.h)...*... |
| 2fe00 | 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 | .....px[pts[i][1].*.w.+.pts[i][0 |
| 2fe20 | 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 | ]].=.c;........if.(d.>.0).{..... |
| 2fe40 | 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 | .....d.+=.4.*.(x.-.y).+.10;..... |
| 2fe60 | 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 | .....y--;........}.else......... |
| 2fe80 | 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 | .d.+=.4.*.x.+.6;........x++;.... |
| 2fea0 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 | ..}....}.......#static.void.rend |
| 2fec0 | 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 3a 20 20 69 66 20 28 21 61 2d | er(struct.app.*a).{...:..if.(!a- |
| 2fee0 | 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 | >configured.||.a->w.<=.0.||.a->h |
| 2ff00 | 20 3c 3d 20 30 20 7c 7c 20 21 61 2d 3e 73 68 6d 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b | .<=.0.||.!a->shm)........return; |
| 2ff20 | 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 | ......if.(!a->buf)........alloca |
| 2ff40 | 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 11 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c | te_buffer(a);......if.(!a->pixel |
| 2ff60 | 73 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f | s)........return;..........time_ |
| 2ff80 | 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 | t.tt.=.time(NULL);......struct.t |
| 2ffa0 | 6d 20 74 6d 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 | m.tm_buf;......localtime_r(&tt,. |
| 2ffc0 | 26 74 6d 5f 62 75 66 29 3b 00 00 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 | &tm_buf);..........uint32_t.*px. |
| 2ffe0 | 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 | =.a->pixels;......memset(px,.0xf |
| 30000 | 66 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 | f,.(size_t)(a->w.*.a->h.*.4));.. |
| 30020 | 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 | .#..int.cx.=.a->w./.2,.cy.=.a->h |
| 30040 | 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 | ./.2;.../..int.r.=.(a->w.<.a->h. |
| 30060 | 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 | ?.a->w.:.a->h)./.2.-.10;......if |
| 30080 | 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 35 20 20 | .(r.<.5)........r.=.5;.......5.. |
| 300a0 | 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 | draw_circle(px,.a->w,.a->h,.cx,. |
| 300c0 | 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e | cy,.r,.0xFF000000);......for.(in |
| 300e0 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 | t.i.=.0;.i.<.12;.i++).{........d |
| 30100 | 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | ouble.ang.=.i./.12.0.*.2.*.M_PI. |
| 30120 | 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 3e 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 | -.M_PI_2;...>....draw_line(px,.a |
| 30140 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a | ->w,.a->h,.cx.+.(int)(cos(ang).* |
| 30160 | 20 28 72 20 2d 20 31 30 29 29 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | .(r.-.10)),...N..............cy. |
| 30180 | 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 78 | +.(int)(sin(ang).*.(r.-.10)),.cx |
| 301a0 | 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 00 | .+.(int)(cos(ang).*.(r.-.2)),... |
| 301c0 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e | :..............cy.+.(int)(sin(an |
| 301e0 | 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 | g).*.(r.-.2)),.0xFF000000);..... |
| 30200 | 20 7d 00 00 00 00 00 00 00 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 | .}.......7..double.sa.=.tm_buf.t |
| 30220 | 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | m_sec./.60.0.*.2.*.M_PI.-.M_PI_2 |
| 30240 | 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 | ;...P..double.ma.=.(tm_buf.tm_mi |
| 30260 | 6e 20 2b 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 | n.+.tm_buf.tm_sec./.60.0)./.60.0 |
| 30280 | 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c | .*.2.*.M_PI.-.M_PI_2;......doubl |
| 302a0 | 65 20 68 61 20 3d 00 00 00 4a 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 | e.ha.=...J......((tm_buf.tm_hour |
| 302c0 | 20 25 20 31 32 29 20 2b 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 | .%.12).+.(tm_buf.tm_min./.60.0)) |
| 302e0 | 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f | ./.12.0.*.2.*.M_PI.-..........M_ |
| 30300 | 50 49 5f 32 3b 00 00 00 00 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | PI_2;.......B..draw_line(px,.a-> |
| 30320 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 | w,.a->h,.cx,.cy,.cx.+.(int)(cos( |
| 30340 | 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 | ha).*.r.*.0.5),...7............c |
| 30360 | 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 | y.+.(int)(sin(ha).*.r.*.0.5),.0x |
| 30380 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d | FF000000);...B..draw_line(px,.a- |
| 303a0 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 | >w,.a->h,.cx,.cy,.cx.+.(int)(cos |
| 303c0 | 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 | (ma).*.r.*.0.7),...7............ |
| 303e0 | 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 | cy.+.(int)(sin(ma).*.r.*.0.7),.0 |
| 30400 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 | xFF000000);...B..draw_line(px,.a |
| 30420 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f | ->w,.a->h,.cx,.cy,.cx.+.(int)(co |
| 30440 | 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 | s(sa).*.r.*.0.9),...7........... |
| 30460 | 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 | .cy.+.(int)(sin(sa).*.r.*.0.9),. |
| 30480 | 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 | 0xFFFF0000);.......)..wl_surface |
| 304a0 | 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 | _attach(a->ws,.a->buf,.0,.0);... |
| 304c0 | 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 | 4..wl_surface_damage_buffer(a->w |
| 304e0 | 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 | s,.0,.0,.a->w,.a->h);......wl_su |
| 30500 | 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 | rface_commit(a->ws);......a->nee |
| 30520 | 64 73 5f 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 | ds_redraw.=.false;....}.......Js |
| 30540 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 30560 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 30580 | 6e 74 33 32 5f 74 20 68 2c 00 00 00 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.h,...)................... |
| 305a0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 | struct.wl_array.*st).{......stru |
| 305c0 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 | ct.app.*a.=.d;......(void)xt;... |
| 305e0 | 0b 20 20 28 76 6f 69 64 29 73 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | ...(void)st;...3..if.(w.>.0.&&.h |
| 30600 | 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 | .>.0.&&.(w.!=.a->w.||.h.!=.a->h) |
| 30620 | 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 | ).{........a->w.=.w;........a->h |
| 30640 | 20 3d 20 68 3b 00 00 00 11 20 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 20 20 20 | .=.h;........if.(a->buf).{...... |
| 30660 | 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 | ....wl_buffer_destroy(a->buf);.. |
| 30680 | 00 33 20 20 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f | .3......munmap(a->pixels,.(size_ |
| 306a0 | 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 14 20 20 20 20 20 20 61 | t)(a->w.*.a->h.*.4));..........a |
| 306c0 | 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 17 20 20 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 | ->buf.=.NULL;..........a->pixels |
| 306e0 | 20 3d 20 4e 55 4c 4c 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | .=.NULL;........}......}....}... |
| 30700 | 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c | ....Astatic.void.xs_cfg(void.*d, |
| 30720 | 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 6e 74 33 32 5f | .struct.xdg_surface.*xs,.uint32_ |
| 30740 | 74 20 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | t.s).{......struct.app.*a.=.d;.. |
| 30760 | 00 23 20 20 78 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 | .#..xdg_surface_ack_configure(xs |
| 30780 | 2c 20 73 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b | ,.s);......a->configured.=.true; |
| 307a0 | 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 | ......a->needs_redraw.=.true;... |
| 307c0 | 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 | .}.......Nstatic.void.registry_h |
| 307e0 | 61 6e 64 6c 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 72 65 67 | andler(void.*data,.struct.wl_reg |
| 30800 | 69 73 74 72 79 20 2a 72 65 67 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 | istry.*reg,.uint32_t.id,...?.... |
| 30820 | 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 63 6f 6e 73 74 20 63 | .........................const.c |
| 30840 | 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 | har.*iface,.uint32_t.ver).{..... |
| 30860 | 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 | .struct.app.*a.=.data;...&..if.( |
| 30880 | 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 | !strcmp(iface,."wl_compositor")) |
| 308a0 | 00 00 00 45 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | ...E....a->comp.=.wl_registry_bi |
| 308c0 | 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 | nd(reg,.id,.&wl_compositor_inter |
| 308e0 | 66 61 63 65 2c 20 34 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | face,.4);...$..else.if.(!strcmp( |
| 30900 | 69 66 61 63 65 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 | iface,."wl_shm"))...=....a->shm. |
| 30920 | 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f | =.wl_registry_bind(reg,.id,.&wl_ |
| 30940 | 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 | shm_interface,.1);...+..else.if. |
| 30960 | 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 | (!strcmp(iface,."xdg_wm_base")). |
| 30980 | 7b 00 00 00 41 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | {...A....a->wm.=.wl_registry_bin |
| 309a0 | 64 28 72 65 67 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 | d(reg,.id,.&xdg_wm_base_interfac |
| 309c0 | 65 2c 20 31 29 3b 00 00 00 38 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | e,.1);...8....static.const.struc |
| 309e0 | 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 6c 69 73 74 20 3d | t.xdg_wm_base_listener.wm_list.= |
| 30a00 | 20 7b 00 00 00 22 20 20 20 20 20 20 20 20 28 76 6f 69 64 20 2a 29 78 64 67 5f 77 6d 5f 62 61 73 | .{..."........(void.*)xdg_wm_bas |
| 30a20 | 65 5f 70 6f 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f | e_pong};...1....xdg_wm_base_add_ |
| 30a40 | 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 | listener(a->wm,.&wm_list,.a);... |
| 30a60 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 | ...}....}........int.main(void). |
| 30a80 | 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 | {......struct.app.a.=.{0};...... |
| 30aa0 | 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 | a.w.=.400;......a.h.=.400;...... |
| 30ac0 | 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 | signal(SIGINT,.on_sig);...(..if. |
| 30ae0 | 28 21 28 61 2e 64 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 | (!(a.d.=.wl_display_connect(NULL |
| 30b00 | 29 29 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 | )))........return.1;...'..a.reg. |
| 30b20 | 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 61 2e 64 29 3b 00 | =.wl_display_get_registry(a.d);. |
| 30b40 | 00 00 49 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | ..I..static.const.struct.wl_regi |
| 30b60 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 | stry_listener.reg_list.=.{regist |
| 30b80 | 72 79 5f 68 61 6e 64 6c 65 72 7d 3b 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 | ry_handler};...1..wl_registry_ad |
| 30ba0 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 | d_listener(a.reg,.®_list,.&a) |
| 30bc0 | 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 | ;......wl_display_roundtrip(a.d) |
| 30be0 | 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f | ;..........a.ws.=.wl_compositor_ |
| 30c00 | 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 | create_surface(a.comp);...1..a.x |
| 30c20 | 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 | s.=.xdg_wm_base_get_xdg_surface( |
| 30c40 | 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 3e 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | a.wm,.a.ws);...>..static.const.s |
| 30c60 | 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 73 5f 6c 69 | truct.xdg_surface_listener.xs_li |
| 30c80 | 73 74 20 3d 20 7b 78 73 5f 63 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f | st.=.{xs_cfg};.../..xdg_surface_ |
| 30ca0 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 | add_listener(a.xs,.&xs_list,.&a) |
| 30cc0 | 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f | ;...(..a.xt.=.xdg_surface_get_to |
| 30ce0 | 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 4f 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | plevel(a.xs);...O..static.const. |
| 30d00 | 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 6e 65 72 20 78 74 5f | struct.xdg_toplevel_listener.xt_ |
| 30d20 | 6c 69 73 74 20 3d 20 7b 78 74 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a 29 6f 6e 5f 73 69 67 7d 3b | list.=.{xt_cfg,.(void.*)on_sig}; |
| 30d40 | 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ...0..xdg_toplevel_add_listener( |
| 30d60 | 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f | a.xt,.&xt_list,.&a);...*..xdg_to |
| 30d80 | 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 | plevel_set_title(a.xt,."wlclock" |
| 30da0 | 29 3b 00 00 00 00 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e | );.......,..xdg_toplevel_set_min |
| 30dc0 | 5f 73 69 7a 65 28 61 2e 78 74 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 1a 20 20 77 6c 5f 73 | _size(a.xt,.100,.100);......wl_s |
| 30de0 | 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e | urface_commit(a.ws);.......9..in |
| 30e00 | 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e | t.tfd.=.timerfd_create(CLOCK_MON |
| 30e20 | 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 | OTONIC,.TFD_CLOEXEC);...F..timer |
| 30e40 | 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d | fd_settime(tfd,.0,.&(struct.itim |
| 30e60 | 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 | erspec){{1,.0},.{1,.0}},.NULL);. |
| 30e80 | 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 | .........while.(running).{...-.. |
| 30ea0 | 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 61 64 | ..while.(wl_display_prepare_read |
| 30ec0 | 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | (a.d).!=.0)...'......wl_display_ |
| 30ee0 | 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c | dispatch_pending(a.d);........wl |
| 30f00 | 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 00 00 00 00 4e 20 20 20 20 | _display_flush(a.d);.......N.... |
| 30f20 | 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 | struct.pollfd.pfds[2].=.{{wl_dis |
| 30f40 | 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c | play_get_fd(a.d),.POLLIN},.{tfd, |
| 30f60 | 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 20 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c | .POLLIN}};........if.(poll(pfds, |
| 30f80 | 20 32 2c 20 2d 31 29 20 3e 20 30 29 20 7b 00 00 00 23 20 20 20 20 20 20 69 66 20 28 70 66 64 73 | .2,.-1).>.0).{...#......if.(pfds |
| 30fa0 | 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 24 20 20 20 20 20 20 20 | [0].revents.&.POLLIN)...$....... |
| 30fc0 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 | .wl_display_read_events(a.d);... |
| 30fe0 | 0a 20 20 20 20 20 20 65 6c 73 65 00 00 00 24 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | .......else...$........wl_displa |
| 31000 | 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 00 00 00 00 25 20 20 20 20 20 | y_cancel_read(a.d);.......%..... |
| 31020 | 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b | .if.(pfds[1].revents.&.POLLIN).{ |
| 31040 | 00 00 00 17 20 20 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 31 20 | ............uint64_t.ticks;...1. |
| 31060 | 20 20 20 20 20 20 20 69 66 20 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a | .......if.(read(tfd,.&ticks,.siz |
| 31080 | 65 6f 66 28 74 69 63 6b 73 29 29 20 3e 20 30 29 00 00 00 20 20 20 20 20 20 20 20 20 20 20 61 2e | eof(ticks)).>.0)..............a. |
| 310a0 | 6e 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 | needs_redraw.=.true;..........}. |
| 310c0 | 00 00 0c 20 20 20 20 7d 20 65 6c 73 65 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 | .......}.else.{..."......wl_disp |
| 310e0 | 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 | lay_cancel_read(a.d);........}.. |
| 31100 | 00 00 00 00 00 25 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 |
| 31120 | 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 17 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 | nding(a.d);........if.(a.needs_r |
| 31140 | 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 | edraw)..........render(&a);..... |
| 31160 | 20 7d 00 00 00 00 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f | .}..........close(tfd);......wl_ |
| 31180 | 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 | display_disconnect(a.d);......re |
| 311a0 | 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 09 01 00 00 | turn.0;....}5................... |
| 311c0 | 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 1d 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 311e0 | 00 00 00 00 35 81 5f d0 00 00 00 26 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 27 00 00 00 01 | ....5._....&...(...........'.... |
| 31200 | 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 00 00 00 00 00 | ................................ |
| 31220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 312a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 312c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 312e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31340 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31360 | 00 56 00 00 00 00 00 00 00 00 69 9d a0 6a 04 01 00 00 00 00 00 f5 18 00 00 01 09 00 00 00 00 00 | .V........i..j.................. |
| 31380 | 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 01 0a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ................................ |
| 313a0 | 00 01 06 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1b 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | .....................wl_display_ |
| 313c0 | 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 f5 18 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 00 | disconnect(a.d.................. |
| 313e0 | f5 18 00 00 00 e9 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 74 69 6d 65 f5 18 00 00 | ........................time.... |
| 31400 | 00 ea 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 dd 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 31420 | 00 00 00 00 f5 18 00 00 00 de 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d5 00 00 00 00 | ................................ |
| 31440 | 00 00 00 00 00 00 00 01 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 6c 5f 64 69 73 | ...........(..if.(!(a.d.=.wl_dis |
| 31460 | 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 f5 18 00 00 00 d6 00 00 00 00 00 00 | play_connect(NULL)))............ |
| 31480 | 00 00 00 00 00 00 f5 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 | ................................ |
| 314a0 | 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 97 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 314c0 | 00 00 00 04 20 20 64 6f f5 18 00 00 00 98 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ......do........................ |
| 314e0 | 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 | ................................ |
| 31500 | 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 97 00 00 00 04 00 | ..5............................. |
| 31520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 31540 | 97 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 | ................(............... |
| 31560 | 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 bf 00 00 00 00 00 00 00 00 00 | ................................ |
| 31580 | 00 00 00 00 00 00 16 00 00 00 28 00 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 | ..........(..................... |
| 315a0 | 00 00 00 00 00 00 f5 18 00 00 00 00 d5 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 | ................(............... |
| 315c0 | 00 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 315e0 | 00 00 dd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 06 00 00 00 00 18 00 00 00 00 | ................................ |
| 31600 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 e9 00 00 00 06 00 00 00 | ................................ |
| 31620 | 00 00 00 00 00 00 00 00 1d 00 00 00 1b 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31640 | 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 06 01 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 03 00 | ................................ |
| 31660 | 00 00 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 35 81 | ..............................5. |
| 31680 | 5f d0 00 00 00 27 00 00 00 29 00 00 00 00 00 00 00 00 00 00 00 28 00 00 01 0a 00 00 00 00 00 00 | _....'...)...........(.......... |
| 316a0 | 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 00 00 00 00 00 00 | ................................ |
| 316c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 316e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 317a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 317c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 317e0 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 | ...........................V.... |
| 31800 | 00 00 00 00 69 9d a0 6a 04 01 00 00 00 10 00 f5 18 00 00 01 09 00 00 00 00 00 00 00 00 00 00 00 | ....i..j........................ |
| 31820 | 01 00 00 00 00 35 81 f5 18 00 00 00 00 09 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .....5.......................... |
| 31840 | 00 00 00 00 00 11 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ................................ |
| 31860 | 00 00 00 09 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 1d 00 00 00 | ................................ |
| 31880 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 28 00 00 00 2a 00 | ...................5._....(...*. |
| 318a0 | 00 00 00 00 00 00 00 00 00 00 29 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ..........)..................... |
| 318c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 318e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 31980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 319a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 319c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 319e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 31a00 | 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d a0 be 04 01 00 | ................V........i...... |
| 31a20 | 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 09 00 00 00 1f 23 64 65 66 69 6e | ..........................#defin |
| 31a40 | 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e | e._POSIX_C_SOURCE.200809L...&#in |
| 31a60 | 63 6c 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 | clude."xdg-shell-client-protocol |
| 31a80 | 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 6e | .h"....#include.<errno.h>....#in |
| 31aa0 | 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 | clude.<fcntl.h>....#include.<mat |
| 31ac0 | 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e | h.h>....#include.<poll.h>....#in |
| 31ae0 | 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 | clude.<signal.h>....#include.<st |
| 31b00 | 64 62 6f 6f 6c 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 00 | dbool.h>....#include.<stdio.h>.. |
| 31b20 | 00 13 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 | ..#include.<stdlib.h>....#includ |
| 31b40 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| 31b60 | 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 | an.h>....#include.<sys/timerfd.h |
| 31b80 | 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 | >....#include.<time.h>....#inclu |
| 31ba0 | 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 | de.<unistd.h>....#include.<wayla |
| 31bc0 | 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 | nd-client.h>........#ifndef.M_PI |
| 31be0 | 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 | ...##define.M_PI.3.1415926535897 |
| 31c00 | 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 | 9323846....#endif....#ifndef.M_P |
| 31c20 | 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 | I_2...%#define.M_PI_2.1.57079632 |
| 31c40 | 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 | 679489661923....#endif.......)st |
| 31c60 | 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 | atic.volatile.sig_atomic_t.runni |
| 31c80 | 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e | ng.=.1;....static.void.on_sig(in |
| 31ca0 | 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e | t.s).{......(void)s;......runnin |
| 31cc0 | 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 | g.=.0;....}........struct.app.{. |
| 31ce0 | 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 | .....struct.wl_display.*d;...... |
| 31d00 | 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 | struct.wl_registry.*reg;......st |
| 31d20 | 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 | ruct.wl_compositor.*comp;......s |
| 31d40 | 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | truct.wl_shm.*shm;......struct.x |
| 31d60 | 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | dg_wm_base.*wm;......struct.wl_s |
| 31d80 | 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | urface.*ws;......struct.xdg_surf |
| 31da0 | 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ace.*xs;......struct.xdg_topleve |
| 31dc0 | 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 | l.*xt;......void.*pixels;......s |
| 31de0 | 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 | truct.wl_buffer.*buf;......int.w |
| 31e00 | 2c 20 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 | ,.h;......bool.configured;...... |
| 31e20 | 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 29 | bool.needs_redraw;....};.......) |
| 31e40 | 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f | static.int.create_shm_file(size_ |
| 31e60 | 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d | t.size).{......char.template[].= |
| 31e80 | 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 | ."/tmp/wlclock-shm-XXXXXX";..... |
| 31ea0 | 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0d | .int.fd.=.mkstemp(template);.... |
| 31ec0 | 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | ..if.(fd.<.0)........exit(1);... |
| 31ee0 | 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 | ...unlink(template);...'..if.(ft |
| 31f00 | 72 75 6e 63 61 74 65 28 66 64 2c 20 28 6f 66 66 5f 74 29 73 69 7a 65 29 20 3c 20 30 29 20 7b 00 | runcate(fd,.(off_t)size).<.0).{. |
| 31f20 | 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 | .......close(fd);........exit(1) |
| 31f40 | 3b 00 00 00 03 20 20 7d 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 | ;......}......return.fd;....}... |
| 31f60 | 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 | ....,static.void.allocate_buffer |
| 31f80 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 28 20 20 69 66 20 28 21 61 2d 3e 73 | (struct.app.*a).{...(..if.(!a->s |
| 31fa0 | 68 6d 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 | hm.||.a->w.<=.0.||.a->h.<=.0)... |
| 31fc0 | 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0f 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 | .....return;......if.(a->buf).{. |
| 31fe0 | 00 00 1e 20 20 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 | .......wl_buffer_destroy(a->buf) |
| 32000 | 3b 00 00 00 31 20 20 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 | ;...1....munmap(a->pixels,.(size |
| 32020 | 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 12 20 20 20 20 61 2d | _t)(a->w.*.a->h.*.4));........a- |
| 32040 | 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 15 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 | >buf.=.NULL;........a->pixels.=. |
| 32060 | 4e 55 4c 4c 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 | NULL;......}...*..size_t.size.=. |
| 32080 | 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 | (size_t)(a->w.*.a->h.*.4);...!.. |
| 320a0 | 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 | int.fd.=.create_shm_file(size);. |
| 320c0 | 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 | ..J..a->pixels.=.mmap(NULL,.size |
| 320e0 | 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 | ,.PROT_READ.|.PROT_WRITE,.MAP_SH |
| 32100 | 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 20 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 | ARED,.fd,.0);......if.(a->pixels |
| 32120 | 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 7b 00 00 00 0e 20 20 20 20 63 6c 6f 73 65 28 66 | .==.MAP_FAILED).{........close(f |
| 32140 | 64 29 3b 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 4b 20 20 | d);........exit(1);......}...K.. |
| 32160 | 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 | struct.wl_shm_pool.*pool.=.wl_sh |
| 32180 | 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 28 69 6e 74 33 32 | m_create_pool(a->shm,.fd,.(int32 |
| 321a0 | 5f 74 29 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 | _t)size);...C..a->buf.=.wl_shm_p |
| 321c0 | 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c | ool_create_buffer(pool,.0,.a->w, |
| 321e0 | 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 | .a->h,.a->w.*.4,...=............ |
| 32200 | 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 57 4c 5f 53 48 4d 5f | .........................WL_SHM_ |
| 32220 | 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f | FORMAT_ARGB8888);......wl_shm_po |
| 32240 | 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 | ol_destroy(pool);......close(fd) |
| 32260 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c | ;....}.......Istatic.void.draw_l |
| 32280 | 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | ine(uint32_t.*px,.int.w,.int.h,. |
| 322a0 | 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 20 20 | int.x0,.int.y0,.int.x1,...+..... |
| 322c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f | .................int.y1,.uint32_ |
| 322e0 | 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 | t.c).{.../..int.dx.=.abs(x1.-.x0 |
| 32300 | 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 | ),.sx.=.x0.<.x1.?.1.:.-1;...0..i |
| 32320 | 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c | nt.dy.=.-abs(y1.-.y0),.sy.=.y0.< |
| 32340 | 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 18 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 | .y1.?.1.:.-1;......int.err.=.dx. |
| 32360 | 2b 20 64 79 2c 20 65 32 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 | +.dy,.e2;......while.(1).{.../.. |
| 32380 | 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d | ..if.(x0.>=.0.&&.x0.<.w.&&.y0.>= |
| 323a0 | 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 | .0.&&.y0.<.h)..........px[y0.*.w |
| 323c0 | 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 | .+.x0].=.c;........if.(x0.==.x1. |
| 323e0 | 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 11 | &&.y0.==.y1)..........break;.... |
| 32400 | 20 20 20 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 | ....e2.=.2.*.err;........if.(e2. |
| 32420 | 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f | >=.dy).{..........err.+=.dy;.... |
| 32440 | 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 | ......x0.+=.sx;........}........ |
| 32460 | 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 | if.(e2.<=.dx).{..........err.+=. |
| 32480 | 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 | dx;..........y0.+=.sy;........}. |
| 324a0 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 | .....}....}.......Jstatic.void.d |
| 324c0 | 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 | raw_circle(uint32_t.*px,.int.w,. |
| 324e0 | 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 | int.h,.int.cx,.int.cy,.int.r,... |
| 32500 | 25 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 32 5f | %........................uint32_ |
| 32520 | 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 | t.c).{..."..int.x.=.0,.y.=.r,.d. |
| 32540 | 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 | =.3.-.2.*.r;......while.(y.>=.x) |
| 32560 | 20 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b | .{...J....int.pts[8][2].=.{{cx.+ |
| 32580 | 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | .x,.cy.+.y},.{cx.-.x,.cy.+.y},.{ |
| 325a0 | 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 | cx.+.x,.cy.-.y},...J............ |
| 325c0 | 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b | .........{cx.-.x,.cy.-.y},.{cx.+ |
| 325e0 | 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 | .y,.cy.+.x},.{cx.-.y,.cy.+.x},.. |
| 32600 | 00 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 | .9.....................{cx.+.y,. |
| 32620 | 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 | cy.-.x},.{cx.-.y,.cy.-.x}};..... |
| 32640 | 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 | ...for.(int.i.=.0;.i.<.8;.i++).. |
| 32660 | 00 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 | .M......if.(pts[i][0].>=.0.&&.pt |
| 32680 | 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 | s[i][0].<.w.&&.pts[i][1].>=.0.&& |
| 326a0 | 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 | .pts[i][1].<.h)...*........px[pt |
| 326c0 | 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 | s[i][1].*.w.+.pts[i][0]].=.c;... |
| 326e0 | 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 | .....if.(d.>.0).{..........d.+=. |
| 32700 | 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 | 4.*.(x.-.y).+.10;..........y--;. |
| 32720 | 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 | .......}.else..........d.+=.4.*. |
| 32740 | 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 | x.+.6;........x++;......}....}.. |
| 32760 | 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 | .....#static.void.render(struct. |
| 32780 | 61 70 70 20 2a 61 29 20 7b 00 00 00 3a 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 | app.*a).{...:..if.(!a->configure |
| 327a0 | 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 20 7c 7c 20 21 | d.||.a->w.<=.0.||.a->h.<=.0.||.! |
| 327c0 | 61 2d 3e 73 68 6d 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 | a->shm)........return;......if.( |
| 327e0 | 21 61 2d 3e 62 75 66 29 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 | !a->buf)........allocate_buffer( |
| 32800 | 61 29 3b 00 00 00 11 20 20 69 66 20 28 21 61 2d 3e 70 69 78 65 6c 73 29 00 00 00 0b 20 20 20 20 | a);......if.(!a->pixels)........ |
| 32820 | 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d | return;..........time_t.tt.=.tim |
| 32840 | 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 | e(NULL);......struct.tm.tm_buf;. |
| 32860 | 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 | .....localtime_r(&tt,.&tm_buf);. |
| 32880 | 00 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c | .........uint32_t.*px.=.a->pixel |
| 328a0 | 73 3b 00 00 00 2e 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 66 66 2c 20 28 73 69 7a 65 5f 74 | s;......memset(px,.0xff,.(size_t |
| 328c0 | 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 | )(a->w.*.a->h.*.4));...#..int.cx |
| 328e0 | 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 | .=.a->w./.2,.cy.=.a->h./.2;.../. |
| 32900 | 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 | .int.r.=.(a->w.<.a->h.?.a->w.:.a |
| 32920 | 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 | ->h)./.2.-.10;......if.(r.<.5).. |
| 32940 | 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c | ......r.=.5;.......5..draw_circl |
| 32960 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 | e(px,.a->w,.a->h,.cx,.cy,.r,.0xF |
| 32980 | 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | F000000);......for.(int.i.=.0;.i |
| 329a0 | 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 | .<.12;.i++).{........double.ang. |
| 329c0 | 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 | =.i./.12.0.*.2.*.M_PI.-.M_PI_2;. |
| 329e0 | 00 00 3e 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | ..>....draw_line(px,.a->w,.a->h, |
| 32a00 | 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 | .cx.+.(int)(cos(ang).*.(r.-.10)) |
| 32a20 | 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 | ,...N..............cy.+.(int)(si |
| 32a40 | 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 29 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 | n(ang).*.(r.-.10)),.cx.+.(int)(c |
| 32a60 | 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 29 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 | os(ang).*.(r.-.2)),...:......... |
| 32a80 | 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 | .....cy.+.(int)(sin(ang).*.(r.-. |
| 32aa0 | 32 29 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 37 | 2)),.0xFF000000);......}.......7 |
| 32ac0 | 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 | ..double.sa.=.tm_buf.tm_sec./.60 |
| 32ae0 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 | .0.*.2.*.M_PI.-.M_PI_2;...P..dou |
| 32b00 | 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 | ble.ma.=.(tm_buf.tm_min.+.tm_buf |
| 32b20 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .tm_sec./.60.0)./.60.0.*.2.*.M_P |
| 32b40 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4a | I.-.M_PI_2;......double.ha.=...J |
| 32b60 | 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 | ......((tm_buf.tm_hour.%.12).+.( |
| 32b80 | 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 | tm_buf.tm_min./.60.0))./.12.0.*. |
| 32ba0 | 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 | 2.*.M_PI.-..........M_PI_2;..... |
| 32bc0 | 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | ..B..draw_line(px,.a->w,.a->h,.c |
| 32be0 | 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 | x,.cy,.cx.+.(int)(cos(ha).*.r.*. |
| 32c00 | 30 2e 35 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 28 | 0.5),...7............cy.+.(int)( |
| 32c20 | 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b | sin(ha).*.r.*.0.5),.0xFF000000); |
| 32c40 | 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ...B..draw_line(px,.a->w,.a->h,. |
| 32c60 | 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a | cx,.cy,.cx.+.(int)(cos(ma).*.r.* |
| 32c80 | 20 30 2e 37 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 29 | .0.7),...7............cy.+.(int) |
| 32ca0 | 28 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 | (sin(ma).*.r.*.0.7),.0xFF000000) |
| 32cc0 | 3b 00 00 00 42 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | ;...B..draw_line(px,.a->w,.a->h, |
| 32ce0 | 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 28 69 6e 74 29 28 63 6f 73 28 73 61 29 20 2a 20 72 20 | .cx,.cy,.cx.+.(int)(cos(sa).*.r. |
| 32d00 | 2a 20 30 2e 39 29 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 28 69 6e 74 | *.0.9),...7............cy.+.(int |
| 32d20 | 29 28 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 29 2c 20 30 78 46 46 46 46 30 30 30 30 | )(sin(sa).*.r.*.0.9),.0xFFFF0000 |
| 32d40 | 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d | );.......)..wl_surface_attach(a- |
| 32d60 | 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 | >ws,.a->buf,.0,.0);...4..wl_surf |
| 32d80 | 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 | ace_damage_buffer(a->ws,.0,.0,.a |
| 32da0 | 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d | ->w,.a->h);......wl_surface_comm |
| 32dc0 | 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 1a 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 72 61 77 20 | it(a->ws);......a->needs_redraw. |
| 32de0 | 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 | =.false;....}.......Jstatic.void |
| 32e00 | 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c | .xt_cfg(void.*d,.struct.xdg_topl |
| 32e20 | 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 | evel.*xt,.int32_t.w,.int32_t.h,. |
| 32e40 | 00 00 29 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 77 6c 5f | ..)...................struct.wl_ |
| 32e60 | 61 72 72 61 79 20 2a 73 74 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | array.*st).{......struct.app.*a. |
| 32e80 | 3d 20 64 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 78 74 3b 00 00 00 0b 20 20 28 76 6f 69 64 29 73 | =.d;......(void)xt;......(void)s |
| 32ea0 | 74 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 | t;...3..if.(w.>.0.&&.h.>.0.&&.(w |
| 32ec0 | 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 | .!=.a->w.||.h.!=.a->h)).{....... |
| 32ee0 | 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 11 20 | .a->w.=.w;........a->h.=.h;..... |
| 32f00 | 20 20 20 69 66 20 28 61 2d 3e 62 75 66 29 20 7b 00 00 00 20 20 20 20 20 20 20 77 6c 5f 62 75 66 | ...if.(a->buf).{..........wl_buf |
| 32f20 | 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 33 20 20 20 20 20 20 6d 75 | fer_destroy(a->buf);...3......mu |
| 32f40 | 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 | nmap(a->pixels,.(size_t)(a->w.*. |
| 32f60 | 61 2d 3e 68 20 2a 20 34 29 29 3b 00 00 00 14 20 20 20 20 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 | a->h.*.4));..........a->buf.=.NU |
| 32f80 | 4c 4c 3b 00 00 00 17 20 20 20 20 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 | LL;..........a->pixels.=.NULL;.. |
| 32fa0 | 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 | ......}......}....}.......Astati |
| 32fc0 | 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xs_cfg(void.*d,.struct.xd |
| 32fe0 | 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 29 20 7b 00 00 00 14 | g_surface.*xs,.uint32_t.s).{.... |
| 33000 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 23 20 20 78 64 67 5f 73 75 | ..struct.app.*a.=.d;...#..xdg_su |
| 33020 | 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 29 3b 00 00 00 17 20 | rface_ack_configure(xs,.s);..... |
| 33040 | 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e | .a->configured.=.true;......a->n |
| 33060 | 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4e | eeds_redraw.=.true;....}.......N |
| 33080 | 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 | static.void.registry_handler(voi |
| 330a0 | 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 67 | d.*data,.struct.wl_registry.*reg |
| 330c0 | 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.uint32_t.id,...?.............. |
| 330e0 | 20 20 20 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 66 61 63 65 | ...............const.char.*iface |
| 33100 | 2c 20 75 69 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 | ,.uint32_t.ver).{......struct.ap |
| 33120 | 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | p.*a.=.data;...&..if.(!strcmp(if |
| 33140 | 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 2d | ace,."wl_compositor"))...E....a- |
| 33160 | 3e 63 6f 6d 70 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 69 64 | >comp.=.wl_registry_bind(reg,.id |
| 33180 | 2c 20 26 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 | ,.&wl_compositor_interface,.4);. |
| 331a0 | 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c | ..$..else.if.(!strcmp(iface,."wl |
| 331c0 | 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | _shm"))...=....a->shm.=.wl_regis |
| 331e0 | 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | try_bind(reg,.id,.&wl_shm_interf |
| 33200 | 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.1);...+..else.if.(!strcmp(i |
| 33220 | 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 | face,."xdg_wm_base")).{...A....a |
| 33240 | 2d 3e 77 6d 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 69 64 2c | ->wm.=.wl_registry_bind(reg,.id, |
| 33260 | 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 00 00 38 | .&xdg_wm_base_interface,.1);...8 |
| 33280 | 20 20 20 20 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 | ....static.const.struct.xdg_wm_b |
| 332a0 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 00 00 00 22 20 20 20 20 | ase_listener.wm_list.=.{...".... |
| 332c0 | 20 20 20 20 28 76 6f 69 64 20 2a 29 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 7d 3b 00 00 | ....(void.*)xdg_wm_base_pong};.. |
| 332e0 | 00 31 20 20 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 61 | .1....xdg_wm_base_add_listener(a |
| 33300 | 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | ->wm,.&wm_list,.a);......}....}. |
| 33320 | 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 | .......int.main(void).{......str |
| 33340 | 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b | uct.app.a.=.{0};......a.w.=.400; |
| 33360 | 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 | ......a.h.=.400;......signal(SIG |
| 33380 | 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 28 20 20 69 66 20 28 21 28 61 2e 64 20 3d 20 77 | INT,.on_sig);...(..if.(!(a.d.=.w |
| 333a0 | 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 29 29 00 00 00 0d 20 20 20 | l_display_connect(NULL)))....... |
| 333c0 | 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c | .return.1;...'..a.reg.=.wl_displ |
| 333e0 | 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 49 20 20 73 74 61 74 69 | ay_get_registry(a.d);...I..stati |
| 33400 | 63 20 63 6f 6e 73 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 | c.const.struct.wl_registry_liste |
| 33420 | 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 | ner.reg_list.=.{registry_handler |
| 33440 | 7d 3b 00 00 00 31 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 | };...1..wl_registry_add_listener |
| 33460 | 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f | (a.reg,.®_list,.&a);......wl_ |
| 33480 | 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 00 00 00 00 2e 20 | display_roundtrip(a.d);......... |
| 334a0 | 20 61 2e 77 73 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 | .a.ws.=.wl_compositor_create_sur |
| 334c0 | 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d | face(a.comp);...1..a.xs.=.xdg_wm |
| 334e0 | 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 | _base_get_xdg_surface(a.wm,.a.ws |
| 33500 | 29 3b 00 00 00 3e 20 20 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_ |
| 33520 | 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 5f 6c 69 73 74 20 3d 20 7b 78 73 5f 63 | surface_listener.xs_list.=.{xs_c |
| 33540 | 66 67 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e | fg};.../..xdg_surface_add_listen |
| 33560 | 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 | er(a.xs,.&xs_list,.&a);...(..a.x |
| 33580 | 74 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 6c 28 61 2e 78 | t.=.xdg_surface_get_toplevel(a.x |
| 335a0 | 73 29 3b 00 00 00 4f 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | s);...O..static.const.struct.xdg |
| 335c0 | 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 78 74 | _toplevel_listener.xt_list.=.{xt |
| 335e0 | 5f 63 66 67 2c 20 28 76 6f 69 64 20 2a 29 6f 6e 5f 73 69 67 7d 3b 00 00 00 30 20 20 78 64 67 5f | _cfg,.(void.*)on_sig};...0..xdg_ |
| 33600 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f | toplevel_add_listener(a.xt,.&xt_ |
| 33620 | 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 | list,.&a);...*..xdg_toplevel_set |
| 33640 | 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 2c | _title(a.xt,."wlclock");......., |
| 33660 | 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 6d 69 6e 5f 73 69 7a 65 28 61 2e 78 74 | ..xdg_toplevel_set_min_size(a.xt |
| 33680 | 2c 20 31 30 30 2c 20 31 30 30 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | ,.100,.100);......wl_surface_com |
| 336a0 | 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 | mit(a.ws);.......9..int.tfd.=.ti |
| 336c0 | 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 | merfd_create(CLOCK_MONOTONIC,.TF |
| 336e0 | 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 | D_CLOEXEC);...F..timerfd_settime |
| 33700 | 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 | (tfd,.0,.&(struct.itimerspec){{1 |
| 33720 | 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 77 | ,.0},.{1,.0}},.NULL);..........w |
| 33740 | 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 | hile.(running).{...-....while.(w |
| 33760 | 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 | l_display_prepare_read(a.d).!=.0 |
| 33780 | 29 00 00 00 27 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 | )...'......wl_display_dispatch_p |
| 337a0 | 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 | ending(a.d);........wl_display_f |
| 337c0 | 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 00 00 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c | lush(a.d);.......N....struct.pol |
| 337e0 | 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 | lfd.pfds[2].=.{{wl_display_get_f |
| 33800 | 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b | d(a.d),.POLLIN},.{tfd,.POLLIN}}; |
| 33820 | 00 00 00 20 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 20 3e 20 | ........if.(poll(pfds,.2,.-1).>. |
| 33840 | 30 29 20 7b 00 00 00 23 20 20 20 20 20 20 69 66 20 28 70 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 | 0).{...#......if.(pfds[0].revent |
| 33860 | 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 24 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | s.&.POLLIN)...$........wl_displa |
| 33880 | 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 0a 20 20 20 20 20 20 65 6c 73 | y_read_events(a.d);..........els |
| 338a0 | 65 00 00 00 24 20 20 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 | e...$........wl_display_cancel_r |
| 338c0 | 65 61 64 28 61 2e 64 29 3b 00 00 00 00 00 00 00 25 20 20 20 20 20 20 69 66 20 28 70 66 64 73 5b | ead(a.d);.......%......if.(pfds[ |
| 338e0 | 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 17 20 20 20 20 20 20 | 1].revents.&.POLLIN).{.......... |
| 33900 | 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 00 00 31 20 20 20 20 20 20 20 20 69 66 20 | ..uint64_t.ticks;...1........if. |
| 33920 | 28 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f 66 28 74 69 63 6b 73 29 | (read(tfd,.&ticks,.sizeof(ticks) |
| 33940 | 29 20 3e 20 30 29 00 00 00 20 20 20 20 20 20 20 20 20 20 20 61 2e 6e 65 65 64 73 5f 72 65 64 72 | ).>.0)..............a.needs_redr |
| 33960 | 61 77 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 0c 20 20 20 20 7d 20 65 | aw.=.true;..........}........}.e |
| 33980 | 6c 73 65 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c | lse.{..."......wl_display_cancel |
| 339a0 | 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 25 20 20 20 20 | _read(a.d);........}.......%.... |
| 339c0 | 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 61 2e 64 29 | wl_display_dispatch_pending(a.d) |
| 339e0 | 3b 00 00 00 17 20 20 20 20 69 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 00 00 00 11 | ;........if.(a.needs_redraw).... |
| 33a00 | 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0d | ......render(&a);......}........ |
| 33a20 | 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | ..close(tfd);......wl_display_di |
| 33a40 | 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 | sconnect(a.d);......return.0;... |
| 33a60 | 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 09 01 00 00 00 00 00 00 01 00 00 00 00 00 | .}5............................. |
| 33a80 | 00 00 00 00 00 00 00 00 00 00 11 1d 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| 33aa0 | 00 29 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 2a 00 00 00 01 00 00 00 00 00 00 00 00 ff ff | .)...+...........*.............. |
| 33ac0 | ff ff 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 | ................................ |
| 33ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 33be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 33c00 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 | .......................V........ |
| 33c20 | 69 9d a0 bf 04 01 00 00 00 00 00 f5 18 00 00 01 29 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | i...............)............... |
| 33c40 | 01 7d f5 18 00 00 01 2a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 19 00 00 00 00 00 00 | .}.....*........................ |
| 33c60 | 00 00 00 00 00 01 00 00 00 12 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 f5 18 00 00 | ................wl_display_d.... |
| 33c80 | 01 1a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 0c 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 33ca0 | 00 00 00 1c 20 20 20 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c | ........&(struct.itimerspec){{1, |
| 33cc0 | f5 18 00 00 01 0d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 f9 00 00 00 00 00 00 00 00 | ................................ |
| 33ce0 | 00 00 00 01 00 00 00 05 20 20 73 74 61 f5 18 00 00 00 fa 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ..........sta................... |
| 33d00 | 18 00 00 00 ef 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 14 20 20 73 74 61 74 69 63 20 63 6f | .......................static.co |
| 33d20 | 6e 73 74 20 73 74 72 75 63 f5 18 00 00 00 f0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | nst.struc....................... |
| 33d40 | da 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0b 20 20 20 20 20 20 20 20 20 20 20 f5 18 00 00 | ................................ |
| 33d60 | 00 db 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 33d80 | 00 00 00 29 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 | ...)............................ |
| 33da0 | 20 75 69 6e 74 33 32 5f 74 20 76 65 72 f5 18 00 00 00 d3 00 00 00 00 00 00 00 00 00 00 00 00 f5 | .uint32_t.ver................... |
| 33dc0 | 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2c 20 20 69 66 20 28 77 20 3e 20 30 | ....................,..if.(w.>.0 |
| 33de0 | 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 | .&&.h.>.0.&&.(w.!=.a->w.||.h.!=. |
| 33e00 | 61 f5 18 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b7 00 00 00 00 00 00 00 | a............................... |
| 33e20 | 00 00 00 00 01 00 00 00 21 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f | ........!static.void.xt_close(vo |
| 33e40 | 69 64 20 2a 64 61 74 61 2c 20 f5 18 00 00 00 b8 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | id.*data,....................... |
| 33e60 | 00 93 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 15 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 | ....................draw_circle( |
| 33e80 | 70 78 2c 20 61 2d 3e f5 18 00 00 00 94 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 75 00 | px,.a->.......................u. |
| 33ea0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 20 20 69 6e 74 20 70 74 73 5b f5 18 00 00 00 | ...................int.pts[..... |
| 33ec0 | 76 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 58 00 00 00 00 00 00 00 00 00 00 00 01 00 | v.................X............. |
| 33ee0 | 00 00 13 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 f5 18 00 00 00 59 00 00 00 00 | .....wl_shm_pool_destr.....Y.... |
| 33f00 | 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 f5 18 | ................................ |
| 33f20 | 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 00 00 | ................5............... |
| 33f40 | 00 00 00 00 00 00 00 00 58 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........X....................... |
| 33f60 | 00 08 00 00 00 00 00 00 f5 18 00 00 00 00 58 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 1d 00 | ..............X................. |
| 33f80 | 00 00 0c 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 | ................................ |
| 33fa0 | 00 00 00 00 75 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 15 00 00 00 00 0b 00 00 | ....u........................... |
| 33fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 93 00 00 00 15 00 | ................................ |
| 33fe0 | 00 00 00 00 00 00 00 00 00 00 24 00 00 00 21 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 | ..........$...!................. |
| 34000 | 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 b7 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 | ....................!........... |
| 34020 | 08 00 00 00 2c 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ....,........................... |
| 34040 | f5 18 00 00 00 00 bf 00 00 00 2c 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 29 00 00 00 00 13 | ..........,...............)..... |
| 34060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 00 | ................................ |
| 34080 | 29 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 0b 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 | )............................... |
| 340a0 | 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 da 00 00 00 0b 00 00 00 00 00 00 00 00 00 | ................................ |
| 340c0 | 00 00 15 00 00 00 14 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ................................ |
| 340e0 | 00 00 f5 18 00 00 00 00 ef 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 05 00 00 00 | ................................ |
| 34100 | 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 f9 00 | ................................ |
| 34120 | 00 00 05 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1c 00 00 00 00 19 00 00 00 00 00 00 00 00 | ................................ |
| 34140 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 0c 01 00 00 1c 00 00 00 00 00 00 00 | ................................ |
| 34160 | 00 00 00 00 0d 00 00 00 12 00 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 34180 | 00 00 00 00 f5 18 00 00 00 00 19 01 00 00 12 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 01 00 | ................................ |
| 341a0 | 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 01 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| 341c0 | 00 2a 00 00 00 2c 00 00 00 00 00 00 00 00 00 00 00 2b 00 00 01 2a 00 00 00 00 00 00 00 00 ff ff | .*...,...........+...*.......... |
| 341e0 | ff 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 | ................................ |
| 34200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 342a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 342c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 342e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 34320 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 | .......................V........ |
| 34340 | 69 9d a0 c0 04 01 00 00 00 11 00 f5 18 00 00 00 19 00 00 01 07 00 00 01 2a 00 00 00 fc 00 00 00 | i.......................*....... |
| 34360 | 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f | 3static.void.on_sig(int.s).{.(vo |
| 34380 | 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 | id)s;.running.=.0;.}........stru |
| 343a0 | 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 | ct.app.{......struct.wl_display. |
| 343c0 | 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | *d;......struct.wl_registry.*reg |
| 343e0 | 3b 00 00 00 1d 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 | ;......struct.wl_compositor.*com |
| 34400 | 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 | p;......struct.wl_shm.*shm;..... |
| 34420 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 | .struct.xdg_wm_base.*wm;......st |
| 34440 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 | ruct.wl_surface.*ws;......struct |
| 34460 | 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 | .xdg_surface.*xs;......struct.xd |
| 34480 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 00 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 | g_toplevel.*xt;..........void.*p |
| 344a0 | 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 | ixels;......struct.wl_buffer.*bu |
| 344c0 | 66 3b 00 00 00 00 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 35 20 20 69 6e 74 20 62 | f;..........int.w,.h;...5..int.b |
| 344e0 | 75 66 5f 77 2c 20 62 75 66 5f 68 3b 20 20 20 2f 2f 20 e2 86 90 20 74 72 61 63 6b 20 61 63 74 75 | uf_w,.buf_h;...//.....track.actu |
| 34500 | 61 6c 20 62 75 66 66 65 72 20 73 69 7a 65 00 00 00 00 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e | al.buffer.size..........bool.con |
| 34520 | 66 69 67 75 72 65 64 3b 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b | figured;......bool.needs_redraw; |
| 34540 | 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e | ....};.......Jstatic.void.wm_pin |
| 34560 | 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 |
| 34580 | 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 | .*wm,.uint32_t.serial).{......xd |
| 345a0 | 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d | g_wm_base_pong(wm,.serial);....} |
| 345c0 | 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 | .......)static.int.create_shm_fi |
| 345e0 | 6c 65 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 | le(size_t.size).{......char.temp |
| 34600 | 6c 61 74 65 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 | late[].=."/tmp/wlclock-shm-XXXXX |
| 34620 | 58 22 3b 00 00 00 1d 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 | X";......int.fd.=.mkstemp(templa |
| 34640 | 74 65 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 | te);......if.(fd.<.0).exit(1);.. |
| 34660 | 00 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 27 20 20 69 66 20 28 66 | ....unlink(template);...'..if.(f |
| 34680 | 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b | truncate(fd,.size).<.0).exit(1); |
| 346a0 | 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2b 73 74 61 | ......return.fd;....}.......+sta |
| 346c0 | 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 | tic.void.destroy_buffer(struct.a |
| 346e0 | 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 72 65 74 75 72 | pp.*a).{......if.(!a->buf).retur |
| 34700 | 6e 3b 00 00 00 00 00 00 00 32 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f | n;.......2..size_t.size.=.(size_ |
| 34720 | 74 29 28 61 2d 3e 62 75 66 5f 77 20 2a 20 61 2d 3e 62 75 66 5f 68 20 2a 20 34 29 3b 00 00 00 1c | t)(a->buf_w.*.a->buf_h.*.4);.... |
| 34740 | 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a | ..wl_buffer_destroy(a->buf);.... |
| 34760 | 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 00 00 00 | ..munmap(a->pixels,.size);...... |
| 34780 | 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c | ....a->buf.=.NULL;......a->pixel |
| 347a0 | 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 2c 73 74 61 74 69 63 20 76 6f 69 | s.=.NULL;....}.......,static.voi |
| 347c0 | 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 | d.allocate_buffer(struct.app.*a) |
| 347e0 | 20 7b 00 00 00 14 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 00 00 00 | .{......destroy_buffer(a);...... |
| 34800 | 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 | .*..size_t.size.=.(size_t)(a->w. |
| 34820 | 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 | *.a->h.*.4);...!..int.fd.=.creat |
| 34840 | 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 00 00 00 00 00 4a 20 20 61 2d 3e 70 69 | e_shm_file(size);.......J..a->pi |
| 34860 | 78 65 6c 73 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 | xels.=.mmap(NULL,.size,.PROT_REA |
| 34880 | 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 | D.|.PROT_WRITE,.MAP_SHARED,.fd,. |
| 348a0 | 30 29 3b 00 00 00 27 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 | 0);...'..if.(a->pixels.==.MAP_FA |
| 348c0 | 49 4c 45 44 29 20 65 78 69 74 28 31 29 3b 00 00 00 00 00 00 00 1c 20 20 73 74 72 75 63 74 20 77 | ILED).exit(1);..........struct.w |
| 348e0 | 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 00 00 00 2b 20 20 20 20 20 20 77 6c 5f 73 | l_shm_pool.*pool.=...+......wl_s |
| 34900 | 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 | hm_create_pool(a->shm,.fd,.size) |
| 34920 | 3b 00 00 00 00 00 00 00 2d 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | ;.......-..a->buf.=.wl_shm_pool_ |
| 34940 | 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 00 00 00 30 20 20 20 20 20 20 | create_buffer(pool,.0,...0...... |
| 34960 | 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 61 | ...............................a |
| 34980 | 2d 3e 77 2c 20 61 2d 3e 68 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ->w,.a->h,...................... |
| 349a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d | ...................a->w.*.4,...= |
| 349c0 | 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 | ................................ |
| 349e0 | 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | .....WL_SHM_FORMAT_ARGB8888);... |
| 34a00 | 00 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 | .......wl_shm_pool_destroy(pool) |
| 34a20 | 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 00 00 00 00 12 20 20 61 2d 3e 62 75 | ;......close(fd);..........a->bu |
| 34a40 | 66 5f 77 20 3d 20 61 2d 3e 77 3b 00 00 00 12 20 20 61 2d 3e 62 75 66 5f 68 20 3d 20 61 2d 3e 68 | f_w.=.a->w;......a->buf_h.=.a->h |
| 34a60 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 31 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c | ;....}.......1static.void.draw_l |
| 34a80 | 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 00 | ine(uint32_t.*px,.int.w,.int.h,. |
| 34aa0 | 00 00 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 30 2c | ..5......................int.x0, |
| 34ac0 | 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 23 20 20 20 20 | .int.y0,.int.x1,.int.y1,...#.... |
| 34ae0 | 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 63 29 20 7b 00 | ..................uint32_t.c).{. |
| 34b00 | 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d | ../..int.dx.=.abs(x1.-.x0),.sx.= |
| 34b20 | 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d | .x0.<.x1.?.1.:.-1;...0..int.dy.= |
| 34b40 | 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 | .-abs(y1.-.y0),.sy.=.y0.<.y1.?.1 |
| 34b60 | 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 | .:.-1;......int.err.=.dx.+.dy;.. |
| 34b80 | 00 00 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 | ........while.(1).{.../....if.(x |
| 34ba0 | 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 | 0.>=.0.&&.x0.<.w.&&.y0.>=.0.&&.y |
| 34bc0 | 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 | 0.<.h)..........px[y0.*.w.+.x0]. |
| 34be0 | 3d 20 63 3b 00 00 00 24 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d | =.c;...$....if.(x0.==.x1.&&.y0.= |
| 34c00 | 3d 20 79 31 29 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a | =.y1).break;........int.e2.=.2.* |
| 34c20 | 20 65 72 72 3b 00 00 00 2a 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 20 65 72 72 | .err;...*....if.(e2.>=.dy).{.err |
| 34c40 | 20 2b 3d 20 64 79 3b 20 78 30 20 2b 3d 20 73 78 3b 20 7d 00 00 00 2a 20 20 20 20 69 66 20 28 65 | .+=.dy;.x0.+=.sx;.}...*....if.(e |
| 34c60 | 32 20 3c 3d 20 64 78 29 20 7b 20 65 72 72 20 2b 3d 20 64 78 3b 20 79 30 20 2b 3d 20 73 79 3b 20 | 2.<=.dx).{.err.+=.dx;.y0.+=.sy;. |
| 34c80 | 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 | }......}....}.......3static.void |
| 34ca0 | 20 64 72 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 | .draw_circle(uint32_t.*px,.int.w |
| 34cc0 | 2c 20 69 6e 74 20 68 2c 00 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.int.h,........................ |
| 34ce0 | 20 20 20 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 20 20 | ....int.cx,.int.cy,.int.r,...%.. |
| 34d00 | 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 32 5f 74 20 63 | ......................uint32_t.c |
| 34d20 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 34d40 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 34d60 | 00 00 15 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 00 00 00 3a 20 20 20 20 | .......int.pts[8][2].=.{...:.... |
| 34d80 | 20 20 7b 63 78 2b 78 2c 20 63 79 2b 79 7d 2c 7b 63 78 2d 78 2c 20 63 79 2b 79 7d 2c 7b 63 78 2b | ..{cx+x,.cy+y},{cx-x,.cy+y},{cx+ |
| 34da0 | 78 2c 20 63 79 2d 79 7d 2c 7b 63 78 2d 78 2c 20 63 79 2d 79 7d 2c 00 00 00 39 20 20 20 20 20 20 | x,.cy-y},{cx-x,.cy-y},...9...... |
| 34dc0 | 7b 63 78 2b 79 2c 20 63 79 2b 78 7d 2c 7b 63 78 2d 79 2c 20 63 79 2b 78 7d 2c 7b 63 78 2b 79 2c | {cx+y,.cy+x},{cx-y,.cy+x},{cx+y, |
| 34de0 | 20 63 79 2d 78 7d 2c 7b 63 78 2d 79 2c 20 63 79 2d 78 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 | .cy-x},{cx-y,.cy-x}........};... |
| 34e00 | 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 | .....for.(int.i.=.0;.i.<.8;.i++) |
| 34e20 | 00 00 00 2c 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 | ...,......if.(pts[i][0].>=.0.&&. |
| 34e40 | 70 74 73 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 00 00 00 2a 20 20 20 20 20 20 20 20 20 20 70 74 | pts[i][0].<.w.&&...*..........pt |
| 34e60 | 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 | s[i][1].>=.0.&&.pts[i][1].<.h).. |
| 34e80 | 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 | .*........px[pts[i][1].*.w.+.pts |
| 34ea0 | 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 00 00 00 00 2e 20 20 20 20 69 66 20 28 64 20 3e 20 | [i][0]].=.c;............if.(d.>. |
| 34ec0 | 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b | 0).{.d.+=.4.*.(x.-.y).+.10;.y--; |
| 34ee0 | 20 7d 00 00 00 18 20 20 20 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 | .}........else.d.+=.4.*.x.+.6;.. |
| 34f00 | 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 | ......x++;......}....}.......#st |
| 34f20 | 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 | atic.void.render(struct.app.*a). |
| 34f40 | 7b 00 00 00 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e | {...7..if.(!a->configured.||.a-> |
| 34f60 | 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 22 | w.<=.0.||.a->h.<=.0).return;..." |
| 34f80 | 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 | ..if.(!a->buf).allocate_buffer(a |
| 34fa0 | 29 3b 00 00 00 00 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 | );..........uint32_t.*px.=.a->pi |
| 34fc0 | 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 | xels;...$..memset(px,.0xFF,.a->w |
| 34fe0 | 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 | .*.a->h.*.4);..........time_t.tt |
| 35000 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d | .=.time(NULL);......struct.tm.tm |
| 35020 | 5f 62 75 66 3b 00 00 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f | _buf;......localtime_r(&tt,.&tm_ |
| 35040 | 62 75 66 29 3b 00 00 00 00 00 00 00 14 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 | buf);..........int.cx.=.a->w./.2 |
| 35060 | 3b 00 00 00 14 20 20 69 6e 74 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 | ;......int.cy.=.a->h./.2;.../..i |
| 35080 | 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e | nt.r.=.(a->w.<.a->h.?.a->w.:.a-> |
| 350a0 | 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c | h)./.2.-.10;.......5..draw_circl |
| 350c0 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 | e(px,.a->w,.a->h,.cx,.cy,.r,.0xF |
| 350e0 | 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | F000000);..........for.(int.i.=. |
| 35100 | 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2c 20 20 20 20 64 6f 75 62 6c 65 20 | 0;.i.<.12;.i++).{...,....double. |
| 35120 | 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | ang.=.i./.12.0.*.2*M_PI.-.M_PI_2 |
| 35140 | 3b 00 00 00 1d 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e | ;........draw_line(px,.a->w,.a-> |
| 35160 | 68 2c 00 00 00 1b 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 31 30 29 | h,..........cx.+.cos(ang)*(r-10) |
| 35180 | 2c 00 00 00 1b 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c | ,..........cy.+.sin(ang)*(r-10), |
| 351a0 | 00 00 00 1a 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 | ..........cx.+.cos(ang)*(r-2),.. |
| 351c0 | 00 1a 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 00 12 | ........cy.+.sin(ang)*(r-2),.... |
| 351e0 | 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 | ......0xFF000000);......}....... |
| 35200 | 35 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 | 5..double.sa.=.tm_buf.tm_sec./.6 |
| 35220 | 30 2e 30 20 2a 20 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 | 0.0.*.2*M_PI.-.M_PI_2;...J..doub |
| 35240 | 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 66 2e | le.ma.=.(tm_buf.tm_min.+.tm_buf. |
| 35260 | 74 6d 5f 73 65 63 2f 36 30 2e 30 29 2f 36 30 2e 30 20 2a 20 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 | tm_sec/60.0)/60.0.*.2*M_PI.-.M_P |
| 35280 | 49 5f 32 3b 00 00 00 50 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 5f 62 75 66 2e 74 | I_2;...P..double.ha.=.((tm_buf.t |
| 352a0 | 6d 5f 68 6f 75 72 25 31 32 29 2b 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 29 | m_hour%12)+(tm_buf.tm_min/60.0)) |
| 352c0 | 2f 31 32 2e 30 20 2a 20 32 2a 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 23 | /12.0.*.2*M_PI.-.M_PI_2;.......# |
| 352e0 | 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 | ..draw_line(px,.a->w,.a->h,.cx,. |
| 35300 | 63 79 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a | cy,................cx.+.cos(ha)* |
| 35320 | 72 2a 30 2e 35 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 | r*0.5,................cy.+.sin(h |
| 35340 | 61 29 2a 72 2a 30 2e 35 2c 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 30 78 46 46 30 30 30 | a)*r*0.5,................0xFF000 |
| 35360 | 30 30 30 29 3b 00 00 00 00 00 00 00 23 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | 000);.......#..draw_line(px,.a-> |
| 35380 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 | w,.a->h,.cx,.cy,................ |
| 353a0 | 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 37 2c 00 00 00 1f 20 20 20 20 20 20 20 20 20 | cx.+.cos(ma)*r*0.7,............. |
| 353c0 | 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 37 2c 00 00 00 18 20 20 20 20 20 20 | ...cy.+.sin(ma)*r*0.7,.......... |
| 353e0 | 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 23 20 20 64 72 61 77 | ......0xFF000000);.......#..draw |
| 35400 | 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 00 00 00 | _line(px,.a->w,.a->h,.cx,.cy,... |
| 35420 | 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 2c | .............cx.+.cos(sa)*r*0.9, |
| 35440 | 00 00 00 1f 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 30 | ................cy.+.sin(sa)*r*0 |
| 35460 | 2e 39 2c 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 | .9,................0xFFFF0000);. |
| 35480 | 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 | ......)..wl_surface_attach(a->ws |
| 354a0 | 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 | ,.a->buf,.0,.0);...4..wl_surface |
| 354c0 | 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 | _damage_buffer(a->ws,.0,.0,.a->w |
| 354e0 | 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | ,.a->h);......wl_surface_commit( |
| 35500 | 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3b 73 74 61 74 69 63 20 76 6f 69 64 20 | a->ws);....}.......;static.void. |
| 35520 | 78 74 5f 63 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 | xt_close(void.*data,.struct.xdg_ |
| 35540 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 | toplevel.*xt).{......running.=.0 |
| 35560 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 37 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 | ;....}.......7static.void.xt_cfg |
| 35580 | 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 6c | (void.*data,.struct.xdg_toplevel |
| 355a0 | 20 2a 78 74 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 33 | .*xt,...(...................int3 |
| 355c0 | 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 2d 20 20 20 20 20 20 20 20 20 20 20 | 2_t.w,.int32_t.h,...-........... |
| 355e0 | 20 20 20 20 20 20 20 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 | ........struct.wl_array.*states) |
| 35600 | 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 | .{......struct.app.*a.=.data;... |
| 35620 | 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 | 3..if.(w.>.0.&&.h.>.0.&&.(w.!=.a |
| 35640 | 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 | ->w.||.h.!=.a->h)).{........a->w |
| 35660 | 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 16 20 20 20 20 64 65 | .=.w;........a->h.=.h;........de |
| 35680 | 73 74 72 6f 79 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 1b 20 20 20 20 61 2d 3e 6e 65 65 64 73 | stroy_buffer(a);........a->needs |
| 356a0 | 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | _redraw.=.true;......}....}..... |
| 356c0 | 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 61 74 61 | ..Istatic.void.xs_cfg(void.*data |
| 356e0 | 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 6e 74 33 32 | ,.struct.xdg_surface.*xs,.uint32 |
| 35700 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | _t.serial).{......struct.app.*a. |
| 35720 | 3d 20 64 61 74 61 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e | =.data;...(..xdg_surface_ack_con |
| 35740 | 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 | figure(xs,.serial);......a->conf |
| 35760 | 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 5f 72 65 64 | igured.=.true;......a->needs_red |
| 35780 | 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 | raw.=.true;....}.......(static.v |
| 357a0 | 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 61 74 61 2c | oid.registry_handler(void.*data, |
| 357c0 | 00 00 00 35 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 | ...5............................ |
| 357e0 | 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 00 00 00 29 20 20 20 | .struct.wl_registry.*reg,...)... |
| 35800 | 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 32 | ..........................uint32 |
| 35820 | 5f 74 20 69 64 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _t.id,.../...................... |
| 35840 | 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 00 00 00 2c 20 20 20 | .......const.char.*iface,...,... |
| 35860 | 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 32 | ..........................uint32 |
| 35880 | 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | _t.ver).{......struct.app.*a.=.d |
| 358a0 | 61 74 61 3b 00 00 00 00 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c | ata;.......&..if.(!strcmp(iface, |
| 358c0 | 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 27 20 20 20 20 61 2d 3e 63 6f 6d | ."wl_compositor"))...'....a->com |
| 358e0 | 70 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 69 64 2c 00 00 00 | p.=.wl_registry_bind(reg,.id,... |
| 35900 | 3c 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 | <............................... |
| 35920 | 26 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 | &wl_compositor_interface,.4);... |
| 35940 | 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c 5f 73 | $..else.if.(!strcmp(iface,."wl_s |
| 35960 | 68 6d 22 29 29 00 00 00 26 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | hm"))...&....a->shm.=.wl_registr |
| 35980 | 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 | y_bind(reg,.id,...4............. |
| 359a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | .................&wl_shm_interfa |
| 359c0 | 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | ce,.1);...+..else.if.(!strcmp(if |
| 359e0 | 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 25 20 20 20 20 61 2d | ace,."xdg_wm_base")).{...%....a- |
| 35a00 | 3e 77 6d 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 69 64 2c 00 | >wm.=.wl_registry_bind(reg,.id,. |
| 35a20 | 00 00 38 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 | ..8............................. |
| 35a40 | 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 00 00 38 20 | &xdg_wm_base_interface,.1);...8. |
| 35a60 | 20 20 20 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 | ...static.const.struct.xdg_wm_ba |
| 35a80 | 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 00 00 00 15 20 20 20 20 20 | se_listener.wm_list.=.{......... |
| 35aa0 | 20 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 00 00 00 06 20 20 20 20 7d 3b 00 00 00 31 20 20 | ..ping.=.wm_ping........};...1.. |
| 35ac0 | 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 61 2d 3e 77 6d | ..xdg_wm_base_add_listener(a->wm |
| 35ae0 | 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | ,.&wm_list,.a);......}....}..... |
| 35b00 | 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 | ...int.main(void).{......struct. |
| 35b20 | 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c | app.a.=.{0};......a.w.=.400;.... |
| 35b40 | 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 00 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 | ..a.h.=.400;..........signal(SIG |
| 35b60 | 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 00 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f | INT,.on_sig);.......!..a.d.=.wl_ |
| 35b80 | 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 27 20 20 61 2e 72 65 | display_connect(NULL);...'..a.re |
| 35ba0 | 67 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 61 2e 64 29 | g.=.wl_display_get_registry(a.d) |
| 35bc0 | 3b 00 00 00 00 00 00 00 37 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 | ;.......7..static.const.struct.w |
| 35be0 | 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b | l_registry_listener.reg_list.=.{ |
| 35c00 | 00 00 00 1e 20 20 20 20 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c | .........global.=.registry_handl |
| 35c20 | 65 72 00 00 00 04 20 20 7d 3b 00 00 00 00 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | er......};.......1..wl_registry_ |
| 35c40 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 | add_listener(a.reg,.®_list,.& |
| 35c60 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 35c80 | 64 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | d);..........a.ws.=.wl_composito |
| 35ca0 | 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 | r_create_surface(a.comp);...1..a |
| 35cc0 | 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 | .xs.=.xdg_wm_base_get_xdg_surfac |
| 35ce0 | 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 00 00 00 00 36 20 20 73 74 61 74 69 63 20 63 | e(a.wm,.a.ws);.......6..static.c |
| 35d00 | 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 74 65 6e 65 72 | onst.struct.xdg_surface_listener |
| 35d20 | 20 78 73 5f 6c 69 73 74 20 3d 20 7b 00 00 00 17 20 20 20 20 2e 63 6f 6e 66 69 67 75 72 65 20 3d | .xs_list.=.{.........configure.= |
| 35d40 | 20 78 73 5f 63 66 67 00 00 00 04 20 20 7d 3b 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 | .xs_cfg......};.../..xdg_surface |
| 35d60 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 | _add_listener(a.xs,.&xs_list,.&a |
| 35d80 | 29 3b 00 00 00 00 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 | );.......(..a.xt.=.xdg_surface_g |
| 35da0 | 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 00 00 00 00 37 20 20 73 74 61 74 | et_toplevel(a.xs);.......7..stat |
| 35dc0 | 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 65 6c 5f 6c 69 73 | ic.const.struct.xdg_toplevel_lis |
| 35de0 | 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d 20 7b 00 00 00 18 20 20 20 20 2e 63 6f 6e 66 69 67 | tener.xt_list.=.{.........config |
| 35e00 | 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 15 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 | ure.=.xt_cfg,.........close.=.xt |
| 35e20 | 5f 63 6c 6f 73 65 00 00 00 04 20 20 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | _close......};...0..xdg_toplevel |
| 35e40 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 | _add_listener(a.xt,.&xt_list,.&a |
| 35e60 | 29 3b 00 00 00 00 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 | );.......*..xdg_toplevel_set_tit |
| 35e80 | 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c | le(a.xt,."wlclock");..........wl |
| 35ea0 | 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 | _surface_commit(a.ws);.......9.. |
| 35ec0 | 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d | int.tfd.=.timerfd_create(CLOCK_M |
| 35ee0 | 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 19 20 20 74 69 6d | ONOTONIC,.TFD_CLOEXEC);......tim |
| 35f00 | 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 00 00 00 2d 20 20 20 20 26 28 73 74 | erfd_settime(tfd,.0,...-....&(st |
| 35f20 | 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 30 7d 2c 7b 31 2c 30 7d 7d 2c 20 4e | ruct.itimerspec){{1,0},{1,0}},.N |
| 35f40 | 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b | ULL);..........while.(running).{ |
| 35f60 | 00 00 00 25 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 | ...%....wl_display_dispatch_pend |
| 35f80 | 69 6e 67 28 61 2e 64 29 3b 00 00 00 00 00 00 00 1d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c | ing(a.d);............struct.poll |
| 35fa0 | 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b 00 00 00 29 20 20 20 20 20 20 7b 20 77 6c 5f 64 69 73 | fd.pfds[2].=.{...)......{.wl_dis |
| 35fc0 | 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 20 7d 2c 00 00 00 15 20 | play_get_fd(a.d),.POLLIN.},..... |
| 35fe0 | 20 20 20 20 20 7b 20 74 66 64 2c 20 50 4f 4c 4c 49 4e 20 7d 00 00 00 06 20 20 20 20 7d 3b 35 81 | .....{.tfd,.POLLIN.}........};5. |
| 36000 | f5 18 00 00 00 00 19 00 00 00 1b 00 00 00 fb 00 00 00 04 00 00 00 ec 00 00 00 4c 00 00 00 21 02 | ..........................L...!. |
| 36020 | 00 00 00 00 00 00 8f 19 00 00 00 00 00 00 02 19 00 00 00 00 00 00 35 81 5f d0 00 00 00 2b 00 00 | ......................5._....+.. |
| 36040 | 00 2d 00 00 00 00 00 00 00 00 00 00 00 2c 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 | .-...........,.................. |
| 36060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 360a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 360c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 360e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 36180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 361a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a1 1d | ............................i... |
| 361c0 | 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 1b 00 00 00 1f 23 64 65 | .............................#de |
| 361e0 | 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 | fine._POSIX_C_SOURCE.200809L...& |
| 36200 | 23 69 6e 63 6c 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 | #include."xdg-shell-client-proto |
| 36220 | 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 | col.h"....#include.<errno.h>.... |
| 36240 | 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c | #include.<fcntl.h>....#include.< |
| 36260 | 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 | math.h>....#include.<poll.h>.... |
| 36280 | 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 | #include.<signal.h>....#include. |
| 362a0 | 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 | <stdbool.h>....#include.<stdio.h |
| 362c0 | 3e 00 00 00 13 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 | >....#include.<stdlib.h>....#inc |
| 362e0 | 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | lude.<string.h>....#include.<sys |
| 36300 | 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 | /mman.h>....#include.<sys/timerf |
| 36320 | 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e | d.h>....#include.<time.h>....#in |
| 36340 | 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 | clude.<unistd.h>....#include.<wa |
| 36360 | 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d | yland-client.h>........#ifndef.M |
| 36380 | 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 | _PI...##define.M_PI.3.1415926535 |
| 363a0 | 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 | 8979323846....#endif....#ifndef. |
| 363c0 | 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 | M_PI_2...%#define.M_PI_2.1.57079 |
| 363e0 | 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 | 632679489661923....#endif....... |
| 36400 | 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 | )static.volatile.sig_atomic_t.ru |
| 36420 | 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 | nning.=.1;....static.void.on_sig |
| 36440 | 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e | (int.s).{......(void)s;......run |
| 36460 | 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 | ning.=.0;....}........struct.app |
| 36480 | 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 | .{......struct.wl_display.*d;... |
| 364a0 | 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 | ...struct.wl_registry.*reg;..... |
| 364c0 | 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 3b 00 00 00 15 | .struct.wl_compositor.*comp;.... |
| 364e0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 | ..struct.wl_shm.*shm;......struc |
| 36500 | 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 | t.xdg_wm_base.*wm;......struct.w |
| 36520 | 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 | l_surface.*ws;......struct.xdg_s |
| 36540 | 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c | urface.*xs;......struct.xdg_topl |
| 36560 | 65 76 65 6c 20 2a 78 74 3b 00 00 00 00 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b | evel.*xt;..........void.*pixels; |
| 36580 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 00 | ......struct.wl_buffer.*buf;.... |
| 365a0 | 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 33 20 20 69 6e 74 20 62 75 66 5f 77 2c 20 | ......int.w,.h;...3..int.buf_w,. |
| 365c0 | 62 75 66 5f 68 3b 20 2f 2f 20 e2 86 90 20 74 72 61 63 6b 20 61 63 74 75 61 6c 20 62 75 66 66 65 | buf_h;.//.....track.actual.buffe |
| 365e0 | 72 20 73 69 7a 65 00 00 00 00 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b | r.size..........bool.configured; |
| 36600 | 00 00 00 14 20 20 62 6f 6f 6c 20 6e 65 65 64 73 5f 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 | ......bool.needs_redraw;....};.. |
| 36620 | 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a | .....Jstatic.void.wm_ping(void.* |
| 36640 | 64 61 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 | data,.struct.xdg_wm_base.*wm,.ui |
| 36660 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 | nt32_t.serial).{......xdg_wm_bas |
| 36680 | 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 29 | e_pong(wm,.serial);....}.......) |
| 366a0 | 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 5f | static.int.create_shm_file(size_ |
| 366c0 | 74 20 73 69 7a 65 29 20 7b 00 00 00 2e 20 20 63 68 61 72 20 74 65 6d 70 6c 61 74 65 5b 5d 20 3d | t.size).{......char.template[].= |
| 366e0 | 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 73 68 6d 2d 58 58 58 58 58 58 22 3b 00 00 00 1d 20 | ."/tmp/wlclock-shm-XXXXXX";..... |
| 36700 | 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 0d | .int.fd.=.mkstemp(template);.... |
| 36720 | 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | ..if.(fd.<.0)........exit(1);... |
| 36740 | 13 20 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6c 61 74 65 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 | ...unlink(template);......if.(ft |
| 36760 | 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 | runcate(fd,.size).<.0)........ex |
| 36780 | 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 | it(1);......return.fd;....}..... |
| 367a0 | 00 00 2b 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 73 74 | ..+static.void.destroy_buffer(st |
| 367c0 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 | ruct.app.*a).{......if.(!a->buf) |
| 367e0 | 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 00 00 00 00 32 20 20 73 69 7a 65 5f 74 20 | ........return;.......2..size_t. |
| 36800 | 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 28 61 2d 3e 62 75 66 5f 77 20 2a 20 61 2d 3e 62 75 | size.=.(size_t)(a->buf_w.*.a->bu |
| 36820 | 66 5f 68 20 2a 20 34 29 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 | f_h.*.4);......wl_buffer_destroy |
| 36840 | 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c | (a->buf);......munmap(a->pixels, |
| 36860 | 20 73 69 7a 65 29 3b 00 00 00 00 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 | .size);..........a->buf.=.NULL;. |
| 36880 | 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 | .....a->pixels.=.NULL;....}..... |
| 368a0 | 00 00 2c 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 73 | ..,static.void.allocate_buffer(s |
| 368c0 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 14 20 20 64 65 73 74 72 6f 79 5f 62 75 66 | truct.app.*a).{......destroy_buf |
| 368e0 | 66 65 72 28 61 29 3b 00 00 00 00 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 | fer(a);.......*..size_t.size.=.( |
| 36900 | 73 69 7a 65 5f 74 29 28 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 21 20 20 69 | size_t)(a->w.*.a->h.*.4);...!..i |
| 36920 | 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 5f 66 69 6c 65 28 73 69 7a 65 29 3b 00 00 | nt.fd.=.create_shm_file(size);.. |
| 36940 | 00 00 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 | .....J..a->pixels.=.mmap(NULL,.s |
| 36960 | 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 | ize,.PROT_READ.|.PROT_WRITE,.MAP |
| 36980 | 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 | _SHARED,.fd,.0);......if.(a->pix |
| 369a0 | 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 | els.==.MAP_FAILED)........exit(1 |
| 369c0 | 29 3b 00 00 00 00 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a | );.......B..struct.wl_shm_pool.* |
| 369e0 | 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d | pool.=.wl_shm_create_pool(a->shm |
| 36a00 | 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 00 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 | ,.fd,.size);.......C..a->buf.=.w |
| 36a20 | 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 | l_shm_pool_create_buffer(pool,.0 |
| 36a40 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 | ,.a->w,.a->h,.a->w.*.4,...=..... |
| 36a60 | 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 | ................................ |
| 36a80 | 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 00 00 00 00 1c | WL_SHM_FORMAT_ARGB8888);........ |
| 36aa0 | 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c | ..wl_shm_pool_destroy(pool);.... |
| 36ac0 | 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 00 00 00 00 12 20 20 61 2d 3e 62 75 66 5f 77 20 3d | ..close(fd);..........a->buf_w.= |
| 36ae0 | 20 61 2d 3e 77 3b 00 00 00 12 20 20 61 2d 3e 62 75 66 5f 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 | .a->w;......a->buf_h.=.a->h;.... |
| 36b00 | 7d 00 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 61 77 5f 6c 69 6e 65 28 75 | }.......Istatic.void.draw_line(u |
| 36b20 | 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 | int32_t.*px,.int.w,.int.h,.int.x |
| 36b40 | 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 00 00 00 2b 20 20 20 20 20 20 20 20 20 20 | 0,.int.y0,.int.x1,...+.......... |
| 36b60 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79 31 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 | ............int.y1,.uint32_t.c). |
| 36b80 | 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 | {.../..int.dx.=.abs(x1.-.x0),.sx |
| 36ba0 | 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 | .=.x0.<.x1.?.1.:.-1;...0..int.dy |
| 36bc0 | 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f | .=.-abs(y1.-.y0),.sy.=.y0.<.y1.? |
| 36be0 | 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b | .1.:.-1;......int.err.=.dx.+.dy; |
| 36c00 | 00 00 00 00 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 | ..........while.(1).{.../....if. |
| 36c20 | 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 | (x0.>=.0.&&.x0.<.w.&&.y0.>=.0.&& |
| 36c40 | 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 | .y0.<.h)..........px[y0.*.w.+.x0 |
| 36c60 | 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 | ].=.c;........if.(x0.==.x1.&&.y0 |
| 36c80 | 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 | .==.y1)..........break;........i |
| 36ca0 | 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e | nt.e2.=.2.*.err;........if.(e2.> |
| 36cc0 | 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 | =.dy).{..........err.+=.dy;..... |
| 36ce0 | 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 | .....x0.+=.sx;........}........i |
| 36d00 | 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 | f.(e2.<=.dx).{..........err.+=.d |
| 36d20 | 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 | x;..........y0.+=.sy;........}.. |
| 36d40 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 64 72 | ....}....}.......Jstatic.void.dr |
| 36d60 | 61 77 5f 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 | aw_circle(uint32_t.*px,.int.w,.i |
| 36d80 | 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 25 | nt.h,.int.cx,.int.cy,.int.r,...% |
| 36da0 | 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 32 5f 74 | ........................uint32_t |
| 36dc0 | 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d | .c).{..."..int.x.=.0,.y.=.r,.d.= |
| 36de0 | 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 | .3.-.2.*.r;......while.(y.>=.x). |
| 36e00 | 7b 00 00 00 4a 20 20 20 20 69 6e 74 20 70 74 73 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 | {...J....int.pts[8][2].=.{{cx.+. |
| 36e20 | 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 | x,.cy.+.y},.{cx.-.x,.cy.+.y},.{c |
| 36e40 | 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.+.x,.cy.-.y},...J............. |
| 36e60 | 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 | ........{cx.-.x,.cy.-.y},.{cx.+. |
| 36e80 | 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 | y,.cy.+.x},.{cx.-.y,.cy.+.x},... |
| 36ea0 | 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 | 9.....................{cx.+.y,.c |
| 36ec0 | 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 | y.-.x},.{cx.-.y,.cy.-.x}};...... |
| 36ee0 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 | ..for.(int.i.=.0;.i.<.8;.i++)... |
| 36f00 | 4d 20 20 20 20 20 20 69 66 20 28 70 74 73 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 74 73 | M......if.(pts[i][0].>=.0.&&.pts |
| 36f20 | 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 74 73 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 | [i][0].<.w.&&.pts[i][1].>=.0.&&. |
| 36f40 | 70 74 73 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 2a 20 20 20 20 20 20 20 20 70 78 5b 70 74 73 | pts[i][1].<.h)...*........px[pts |
| 36f60 | 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 74 73 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 00 | [i][1].*.w.+.pts[i][0]].=.c;.... |
| 36f80 | 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 | ........if.(d.>.0).{..........d. |
| 36fa0 | 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d | +=.4.*.(x.-.y).+.10;..........y- |
| 36fc0 | 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 | -;........}.else..........d.+=.4 |
| 36fe0 | 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 | .*.x.+.6;........x++;......}.... |
| 37000 | 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 | }.......#static.void.render(stru |
| 37020 | 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 | ct.app.*a).{.../..if.(!a->config |
| 37040 | 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 | ured.||.a->w.<=.0.||.a->h.<=.0). |
| 37060 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 | .......return;......if.(!a->buf) |
| 37080 | 00 00 00 17 20 20 20 20 61 6c 6c 6f 63 61 74 65 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 00 00 | ........allocate_buffer(a);..... |
| 370a0 | 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 | .....uint32_t.*px.=.a->pixels;.. |
| 370c0 | 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 | .$..memset(px,.0xFF,.a->w.*.a->h |
| 370e0 | 20 2a 20 34 29 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 | .*.4);..........time_t.tt.=.time |
| 37100 | 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 5f 62 75 66 3b 00 00 | (NULL);......struct.tm.tm_buf;.. |
| 37120 | 00 1c 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 5f 62 75 66 29 3b 00 00 | ....localtime_r(&tt,.&tm_buf);.. |
| 37140 | 00 00 00 00 00 14 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 3b 00 00 00 14 20 20 | ........int.cx.=.a->w./.2;...... |
| 37160 | 69 6e 74 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 | int.cy.=.a->h./.2;.../..int.r.=. |
| 37180 | 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 | (a->w.<.a->h.?.a->w.:.a->h)./.2. |
| 371a0 | 2d 20 31 30 3b 00 00 00 00 00 00 00 35 20 20 64 72 61 77 5f 63 69 72 63 6c 65 28 70 78 2c 20 61 | -.10;.......5..draw_circle(px,.a |
| 371c0 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 | ->w,.a->h,.cx,.cy,.r,.0xFF000000 |
| 371e0 | 29 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 | );..........for.(int.i.=.0;.i.<. |
| 37200 | 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 | 12;.i++).{........double.ang.=.i |
| 37220 | 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 37 | ./.12.0.*.2.*.M_PI.-.M_PI_2;...7 |
| 37240 | 20 20 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ....draw_line(px,.a->w,.a->h,.cx |
| 37260 | 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 00 00 00 40 20 20 20 20 20 | .+.cos(ang).*.(r.-.10),...@..... |
| 37280 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 | .........cy.+.sin(ang).*.(r.-.10 |
| 372a0 | 29 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 00 00 00 33 20 | ),.cx.+.cos(ang).*.(r.-.2),...3. |
| 372c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 | .............cy.+.sin(ang).*.(r. |
| 372e0 | 2d 20 32 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 | -.2),.0xFF000000);......}....... |
| 37300 | 37 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 5f 62 75 66 2e 74 6d 5f 73 65 63 20 2f 20 36 | 7..double.sa.=.tm_buf.tm_sec./.6 |
| 37320 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 50 20 20 64 6f | 0.0.*.2.*.M_PI.-.M_PI_2;...P..do |
| 37340 | 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 5f 62 75 | uble.ma.=.(tm_buf.tm_min.+.tm_bu |
| 37360 | 66 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | f.tm_sec./.60.0)./.60.0.*.2.*.M_ |
| 37380 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 | PI.-.M_PI_2;......double.ha.=... |
| 373a0 | 4a 20 20 20 20 20 20 28 28 74 6d 5f 62 75 66 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 | J......((tm_buf.tm_hour.%.12).+. |
| 373c0 | 28 74 6d 5f 62 75 66 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a | (tm_buf.tm_min./.60.0))./.12.0.* |
| 373e0 | 20 32 20 2a 20 4d 5f 50 49 20 2d 00 00 00 0d 20 20 20 20 20 20 4d 5f 50 49 5f 32 3b 00 00 00 00 | .2.*.M_PI.-..........M_PI_2;.... |
| 37400 | 00 00 00 3b 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ...;..draw_line(px,.a->w,.a->h,. |
| 37420 | 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 00 | cx,.cy,.cx.+.cos(ha).*.r.*.0.5,. |
| 37440 | 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 | ..0............cy.+.sin(ha).*.r. |
| 37460 | 2a 20 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 3b 20 20 64 72 61 | *.0.5,.0xFF000000);.......;..dra |
| 37480 | 77 5f 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 | w_line(px,.a->w,.a->h,.cx,.cy,.c |
| 374a0 | 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c 00 00 00 30 20 20 20 20 20 20 | x.+.cos(ma).*.r.*.0.7,...0...... |
| 374c0 | 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c 20 30 78 | ......cy.+.sin(ma).*.r.*.0.7,.0x |
| 374e0 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 3b 20 20 64 72 61 77 5f 6c 69 6e 65 28 70 78 | FF000000);.......;..draw_line(px |
| 37500 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 | ,.a->w,.a->h,.cx,.cy,.cx.+.cos(s |
| 37520 | 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | a).*.r.*.0.9,...0............cy. |
| 37540 | 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 20 30 78 46 46 46 46 30 30 30 30 29 | +.sin(sa).*.r.*.0.9,.0xFFFF0000) |
| 37560 | 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e | ;.......)..wl_surface_attach(a-> |
| 37580 | 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 | ws,.a->buf,.0,.0);...4..wl_surfa |
| 375a0 | 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d | ce_damage_buffer(a->ws,.0,.0,.a- |
| 375c0 | 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | >w,.a->h);......wl_surface_commi |
| 375e0 | 74 28 61 2d 3e 77 73 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 | t(a->ws);....}.......Jstatic.voi |
| 37600 | 64 20 78 74 5f 63 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 | d.xt_close(void.*data,.struct.xd |
| 37620 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d | g_toplevel.*xt).{.running.=.0;.} |
| 37640 | 00 00 00 00 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 | .......Mstatic.void.xt_cfg(void. |
| 37660 | 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 78 74 2c 20 | *data,.struct.xdg_toplevel.*xt,. |
| 37680 | 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 2d 20 20 20 20 20 20 20 | int32_t.w,.int32_t.h,...-....... |
| 376a0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 74 61 | ............struct.wl_array.*sta |
| 376c0 | 74 65 73 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 61 74 61 | tes).{......struct.app.*a.=.data |
| 376e0 | 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 | ;...3..if.(w.>.0.&&.h.>.0.&&.(w. |
| 37700 | 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 | !=.a->w.||.h.!=.a->h)).{........ |
| 37720 | 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 16 20 20 | a->w.=.w;........a->h.=.h;...... |
| 37740 | 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 61 29 3b 00 00 00 1b 20 20 20 20 61 2d 3e 6e | ..destroy_buffer(a);........a->n |
| 37760 | 65 65 64 73 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | eeds_redraw.=.true;......}....}. |
| 37780 | 00 00 00 00 00 00 49 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a | ......Istatic.void.xs_cfg(void.* |
| 377a0 | 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 |
| 377c0 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 | nt32_t.serial).{......struct.app |
| 377e0 | 20 2a 61 20 3d 20 64 61 74 61 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b | .*a.=.data;...(..xdg_surface_ack |
| 37800 | 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 17 20 20 61 2d 3e | _configure(xs,.serial);......a-> |
| 37820 | 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 19 20 20 61 2d 3e 6e 65 65 64 73 | configured.=.true;......a->needs |
| 37840 | 5f 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4e 73 74 61 74 | _redraw.=.true;....}.......Nstat |
| 37860 | 69 63 20 76 6f 69 64 20 72 65 67 69 73 74 72 79 5f 68 61 6e 64 6c 65 72 28 76 6f 69 64 20 2a 64 | ic.void.registry_handler(void.*d |
| 37880 | 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 67 2c 20 75 69 | ata,.struct.wl_registry.*reg,.ui |
| 378a0 | 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.id,...?.................. |
| 378c0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 66 61 63 65 2c 20 75 69 | ...........const.char.*iface,.ui |
| 378e0 | 6e 74 33 32 5f 74 20 76 65 72 29 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | nt32_t.ver).{......struct.app.*a |
| 37900 | 20 3d 20 64 61 74 61 3b 00 00 00 00 00 00 00 26 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 | .=.data;.......&..if.(!strcmp(if |
| 37920 | 61 63 65 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 45 20 20 20 20 61 2d | ace,."wl_compositor"))...E....a- |
| 37940 | 3e 63 6f 6d 70 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 69 64 | >comp.=.wl_registry_bind(reg,.id |
| 37960 | 2c 20 26 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 | ,.&wl_compositor_interface,.4);. |
| 37980 | 00 00 24 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 66 61 63 65 2c 20 22 77 6c | ..$..else.if.(!strcmp(iface,."wl |
| 379a0 | 5f 73 68 6d 22 29 29 00 00 00 3d 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | _shm"))...=....a->shm.=.wl_regis |
| 379c0 | 74 72 79 5f 62 69 6e 64 28 72 65 67 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | try_bind(reg,.id,.&wl_shm_interf |
| 379e0 | 61 63 65 2c 20 31 29 3b 00 00 00 2b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.1);...+..else.if.(!strcmp(i |
| 37a00 | 66 61 63 65 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 41 20 20 20 20 61 | face,."xdg_wm_base")).{...A....a |
| 37a20 | 2d 3e 77 6d 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 69 64 2c | ->wm.=.wl_registry_bind(reg,.id, |
| 37a40 | 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 00 00 49 | .&xdg_wm_base_interface,.1);...I |
| 37a60 | 20 20 20 20 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 | ....static.const.struct.xdg_wm_b |
| 37a80 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 77 6d 5f 6c 69 73 74 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 | ase_listener.wm_list.=.{.ping.=. |
| 37aa0 | 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 31 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 | wm_ping};...1....xdg_wm_base_add |
| 37ac0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 77 6d 5f 6c 69 73 74 2c 20 61 29 3b 00 00 | _listener(a->wm,.&wm_list,.a);.. |
| 37ae0 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 | ....}....}........int.main(void) |
| 37b00 | 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 | .{......struct.app.a.=.{0};..... |
| 37b20 | 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 00 00 | .a.w.=.400;......a.h.=.400;..... |
| 37b40 | 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 00 | .....signal(SIGINT,.on_sig);.... |
| 37b60 | 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e | ...!..a.d.=.wl_display_connect(N |
| 37b80 | 55 4c 4c 29 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 | ULL);...'..a.reg.=.wl_display_ge |
| 37ba0 | 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 00 00 00 00 40 20 20 73 74 61 74 69 63 | t_registry(a.d);.......@..static |
| 37bc0 | 20 63 6f 6e 73 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 | .const.struct.wl_registry_listen |
| 37be0 | 65 72 20 72 65 67 5f 6c 69 73 74 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 00 00 00 4d 20 20 20 20 | er.reg_list.=.{.global.=...M.... |
| 37c00 | 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 | ................................ |
| 37c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 73 74 72 79 5f | .......................registry_ |
| 37c40 | 68 61 6e 64 6c 65 72 7d 3b 00 00 00 00 00 00 00 31 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 | handler};.......1..wl_registry_a |
| 37c60 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 65 67 5f 6c 69 73 74 2c 20 26 61 | dd_listener(a.reg,.®_list,.&a |
| 37c80 | 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 | );......wl_display_roundtrip(a.d |
| 37ca0 | 29 3b 00 00 00 00 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | );..........a.ws.=.wl_compositor |
| 37cc0 | 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e | _create_surface(a.comp);...1..a. |
| 37ce0 | 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 | xs.=.xdg_wm_base_get_xdg_surface |
| 37d00 | 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 00 00 00 00 4b 20 20 73 74 61 74 69 63 20 63 6f | (a.wm,.a.ws);.......K..static.co |
| 37d20 | 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 74 65 6e 65 72 20 | nst.struct.xdg_surface_listener. |
| 37d40 | 78 73 5f 6c 69 73 74 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b | xs_list.=.{.configure.=.xs_cfg}; |
| 37d60 | 00 00 00 2f 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 | .../..xdg_surface_add_listener(a |
| 37d80 | 2e 78 73 2c 20 26 78 73 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 00 00 00 00 28 20 20 61 2e 78 | .xs,.&xs_list,.&a);.......(..a.x |
| 37da0 | 74 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 6c 28 61 2e 78 | t.=.xdg_surface_get_toplevel(a.x |
| 37dc0 | 73 29 3b 00 00 00 00 00 00 00 4b 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 | s);.......K..static.const.struct |
| 37de0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 5f 6c 69 73 74 20 3d | .xdg_toplevel_listener.xt_list.= |
| 37e00 | 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 4a 20 20 20 20 20 20 | .{.configure.=.xt_cfg,...J...... |
| 37e20 | 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 | ................................ |
| 37e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f | ..................close.=.xt_clo |
| 37e60 | 73 65 7d 3b 00 00 00 30 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 | se};...0..xdg_toplevel_add_liste |
| 37e80 | 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 5f 6c 69 73 74 2c 20 26 61 29 3b 00 00 00 00 00 00 00 2a | ner(a.xt,.&xt_list,.&a);.......* |
| 37ea0 | 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 61 2e 78 74 2c 20 22 | ..xdg_toplevel_set_title(a.xt,." |
| 37ec0 | 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 00 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 | wlclock");..........wl_surface_c |
| 37ee0 | 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 00 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 | ommit(a.ws);.......9..int.tfd.=. |
| 37f00 | 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 | timerfd_create(CLOCK_MONOTONIC,. |
| 37f20 | 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 | TFD_CLOEXEC);...F..timerfd_setti |
| 37f40 | 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b | me(tfd,.0,.&(struct.itimerspec){ |
| 37f60 | 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 | {1,.0},.{1,.0}},.NULL);......... |
| 37f80 | 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 | .while.(running).{...%....wl_dis |
| 37fa0 | 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 00 00 | play_dispatch_pending(a.d);..... |
| 37fc0 | 00 00 4e 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 66 64 73 5b 32 5d 20 3d 20 7b | ..N....struct.pollfd.pfds[2].=.{ |
| 37fe0 | 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d | {wl_display_get_fd(a.d),.POLLIN} |
| 38000 | 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 00 00 00 00 16 20 20 20 20 70 6f 6c | ,.{tfd,.POLLIN}};............pol |
| 38020 | 6c 28 70 66 64 73 2c 20 32 2c 20 2d 31 29 3b 00 00 00 00 00 00 00 21 20 20 20 20 69 66 20 28 70 | l(pfds,.2,.-1);.......!....if.(p |
| 38040 | 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 1f 20 20 20 20 | fds[0].revents.&.POLLIN)........ |
| 38060 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 00 00 | ..wl_display_dispatch(a.d);..... |
| 38080 | 00 00 23 20 20 20 20 69 66 20 28 70 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c | ..#....if.(pfds[1].revents.&.POL |
| 380a0 | 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 69 63 6b 73 3b 00 | LIN).{..........uint64_t.ticks;. |
| 380c0 | 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 69 63 6b 73 2c 20 73 69 7a 65 6f | ..'......read(tfd,.&ticks,.sizeo |
| 380e0 | 66 28 74 69 63 6b 73 29 29 3b 00 00 00 1c 20 20 20 20 20 20 61 2e 6e 65 65 64 73 5f 72 65 64 72 | f(ticks));..........a.needs_redr |
| 38100 | 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 00 00 00 00 17 20 20 20 20 69 | aw.=.true;........}............i |
| 38120 | 66 20 28 61 2e 6e 65 65 64 73 5f 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 | f.(a.needs_redraw)..........rend |
| 38140 | 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 | er(&a);......}..........close(tf |
| 38160 | 64 29 3b 00 00 00 15 20 20 64 65 73 74 72 6f 79 5f 62 75 66 66 65 72 28 26 61 29 3b 00 00 00 1d | d);......destroy_buffer(&a);.... |
| 38180 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 | ..wl_display_disconnect(a.d);... |
| 381a0 | 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 | ...return.0;....}5.............. |
| 381c0 | 00 1b 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 87 1c 00 00 00 00 00 | ................................ |
| 381e0 | 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2c 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 | .........5._....,............... |
| 38200 | 2d 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 | -............................... |
| 38220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 382a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 382c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 382e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a1 1e 04 01 00 00 00 00 00 f5 18 00 00 00 d2 | ...............i................ |
| 38380 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 d3 00 00 00 00 00 00 00 00 00 | ................}............... |
| 383a0 | 00 00 00 f5 18 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 20 20 77 6c 5f f5 18 | ...........................wl_.. |
| 383c0 | 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a3 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 383e0 | 00 01 00 00 00 03 20 20 20 f5 18 00 00 00 a4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 38400 | 7c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 20 20 20 20 20 20 20 63 f5 18 00 00 00 | |.........................c..... |
| 38420 | 7d 00 00 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 | }............................... |
| 38440 | 00 00 00 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 | .....................5.......... |
| 38460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............|.................. |
| 38480 | 00 00 00 00 00 00 0c 00 00 00 00 00 00 f5 18 00 00 00 00 7c 00 00 00 0a 00 00 00 00 00 00 00 00 | ...................|............ |
| 384a0 | 00 00 00 27 00 00 00 03 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 | ...'............................ |
| 384c0 | 00 00 00 f5 18 00 00 00 00 a3 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 00 05 00 00 | ................................ |
| 384e0 | 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 be | ................................ |
| 38500 | 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 01 00 00 00 00 15 00 00 00 00 00 00 00 | ................................ |
| 38520 | 00 00 00 00 00 00 00 5f 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 2d 00 00 00 2f 00 00 00 00 00 | ......._.......5._....-.../..... |
| 38540 | 00 00 00 00 00 00 2e 00 00 00 d3 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ................................ |
| 38560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 385a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 385c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 385e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 38680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 386a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a1 1f 04 01 00 00 00 12 00 | .....................i.......... |
| 386c0 | f5 18 00 00 00 1a 00 00 00 f3 00 00 00 d3 00 00 00 b3 00 00 00 2d 73 74 61 74 69 63 20 76 6f 69 | .....................-static.voi |
| 386e0 | 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 7b 28 76 6f 69 64 29 73 3b 72 75 6e 6e 69 6e 67 3d | d.on_sig(int.s){(void)s;running= |
| 38700 | 30 3b 7d 00 00 00 00 00 00 00 0b 73 74 72 75 63 74 20 61 70 70 7b 00 00 00 16 20 20 73 74 72 75 | 0;}........struct.app{......stru |
| 38720 | 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 2a 64 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 77 6c 5f | ct.wl_display*d;......struct.wl_ |
| 38740 | 72 65 67 69 73 74 72 79 2a 72 65 67 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d | registry*reg;......struct.wl_com |
| 38760 | 70 6f 73 69 74 6f 72 2a 63 6f 6d 70 3b 00 00 00 14 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d | positor*comp;......struct.wl_shm |
| 38780 | 2a 73 68 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 2a 77 6d | *shm;......struct.xdg_wm_base*wm |
| 387a0 | 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 2a 77 73 3b 00 00 00 18 | ;......struct.wl_surface*ws;.... |
| 387c0 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 2a 78 73 3b 00 00 00 19 20 20 73 74 | ..struct.xdg_surface*xs;......st |
| 387e0 | 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 3b 00 00 00 0e 20 20 76 6f 69 64 2a | ruct.xdg_toplevel*xt;......void* |
| 38800 | 70 69 78 65 6c 73 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 2a 62 75 | pixels;......struct.wl_buffer*bu |
| 38820 | 66 3b 00 00 00 0a 20 20 69 6e 74 20 77 2c 68 3b 00 00 00 0c 20 20 69 6e 74 20 62 77 2c 62 68 3b | f;......int.w,h;......int.bw,bh; |
| 38840 | 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c | ......bool.configured;......bool |
| 38860 | 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 | .redraw;....};.......Estatic.voi |
| 38880 | 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 2a 64 61 74 61 2c 73 74 72 75 63 74 20 78 64 67 5f 77 | d.wm_ping(void*data,struct.xdg_w |
| 388a0 | 6d 5f 62 61 73 65 2a 77 6d 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 7b 00 00 00 1e 20 | m_base*wm,uint32_t.serial){..... |
| 388c0 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 73 65 72 69 61 6c 29 3b 00 00 00 | .xdg_wm_base_pong(wm,serial);... |
| 388e0 | 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 | .}.......#static.int.create_shm( |
| 38900 | 73 69 7a 65 5f 74 20 73 69 7a 65 29 7b 00 00 00 21 20 20 63 68 61 72 20 74 5b 5d 3d 22 2f 74 6d | size_t.size){...!..char.t[]="/tm |
| 38920 | 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 14 20 20 69 6e 74 20 66 64 3d 6d | p/wlclock-XXXXXX";......int.fd=m |
| 38940 | 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 12 20 20 69 66 28 66 64 3c 30 29 65 78 69 74 28 31 29 3b | kstemp(t);......if(fd<0)exit(1); |
| 38960 | 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 22 20 20 69 66 28 66 74 72 75 6e 63 61 | ......unlink(t);..."..if(ftrunca |
| 38980 | 74 65 28 66 64 2c 73 69 7a 65 29 3c 30 29 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 | te(fd,size)<0)exit(1);......retu |
| 389a0 | 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 64 | rn.fd;....}.......&static.void.d |
| 389c0 | 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 14 20 20 69 | estroy_buf(struct.app*a){......i |
| 389e0 | 66 28 21 61 2d 3e 62 75 66 29 72 65 74 75 72 6e 3b 00 00 00 24 20 20 73 69 7a 65 5f 74 20 73 69 | f(!a->buf)return;...$..size_t.si |
| 38a00 | 7a 65 3d 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 2a 61 2d 3e 62 68 2a 34 3b 00 00 00 1c 20 20 77 | ze=(size_t)a->bw*a->bh*4;......w |
| 38a20 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 19 20 20 6d | l_buffer_destroy(a->buf);......m |
| 38a40 | 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 73 69 7a 65 29 3b 00 00 00 0e 20 20 61 2d 3e 62 | unmap(a->pixels,size);......a->b |
| 38a60 | 75 66 3d 4e 55 4c 4c 3b 00 00 00 11 20 20 61 2d 3e 70 69 78 65 6c 73 3d 4e 55 4c 4c 3b 00 00 00 | uf=NULL;......a->pixels=NULL;... |
| 38a80 | 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 | .}.......$static.void.alloc_buf( |
| 38aa0 | 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 | struct.app*a){......destroy_buf( |
| 38ac0 | 61 29 3b 00 00 00 22 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 3d 28 73 69 7a 65 5f 74 29 61 2d 3e | a);..."..size_t.size=(size_t)a-> |
| 38ae0 | 77 2a 61 2d 3e 68 2a 34 3b 00 00 00 1a 20 20 69 6e 74 20 66 64 3d 63 72 65 61 74 65 5f 73 68 6d | w*a->h*4;......int.fd=create_shm |
| 38b00 | 28 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d 3e 70 69 78 65 6c 73 3d 6d 6d 61 70 28 4e 55 4c 4c | (size);...A..a->pixels=mmap(NULL |
| 38b20 | 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 4d 41 50 5f 53 | ,size,PROT_READ|PROT_WRITE,MAP_S |
| 38b40 | 48 41 52 45 44 2c 66 64 2c 30 29 3b 00 00 00 23 20 20 69 66 28 61 2d 3e 70 69 78 65 6c 73 3d 3d | HARED,fd,0);...#..if(a->pixels== |
| 38b60 | 4d 41 50 5f 46 41 49 4c 45 44 29 65 78 69 74 28 31 29 3b 00 00 00 3d 20 20 73 74 72 75 63 74 20 | MAP_FAILED)exit(1);...=..struct. |
| 38b80 | 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 2a 70 6f 6f 6c 3d 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | wl_shm_pool*pool=wl_shm_create_p |
| 38ba0 | 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 66 64 2c 73 69 7a 65 29 3b 00 00 00 53 20 20 61 2d 3e 62 75 66 | ool(a->shm,fd,size);...S..a->buf |
| 38bc0 | 3d 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c | =wl_shm_pool_create_buffer(pool, |
| 38be0 | 30 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 61 2d 3e 77 2a 34 2c 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 | 0,a->w,a->h,a->w*4,WL_SHM_FORMAT |
| 38c00 | 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 | _ARGB8888);......wl_shm_pool_des |
| 38c20 | 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0d 20 | troy(pool);......close(fd);..... |
| 38c40 | 20 61 2d 3e 62 77 3d 61 2d 3e 77 3b 00 00 00 0d 20 20 61 2d 3e 62 68 3d 61 2d 3e 68 3b 00 00 00 | .a->bw=a->w;......a->bh=a->h;... |
| 38c60 | 01 7d 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 | .}.......Qstatic.void.line(uint3 |
| 38c80 | 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 6e 74 20 78 30 2c 69 6e 74 20 79 30 | 2_t*px,int.w,int.h,int.x0,int.y0 |
| 38ca0 | 2c 69 6e 74 20 78 31 2c 69 6e 74 20 79 31 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 22 20 | ,int.x1,int.y1,uint32_t.c){...". |
| 38cc0 | 20 69 6e 74 20 64 78 3d 61 62 73 28 78 31 2d 78 30 29 2c 73 78 3d 78 30 3c 78 31 3f 31 3a 2d 31 | .int.dx=abs(x1-x0),sx=x0<x1?1:-1 |
| 38ce0 | 3b 00 00 00 23 20 20 69 6e 74 20 64 79 3d 2d 61 62 73 28 79 31 2d 79 30 29 2c 73 79 3d 79 30 3c | ;...#..int.dy=-abs(y1-y0),sy=y0< |
| 38d00 | 79 31 3f 31 3a 2d 31 3b 00 00 00 10 20 20 69 6e 74 20 65 72 72 3d 64 78 2b 64 79 3b 00 00 00 0b | y1?1:-1;......int.err=dx+dy;.... |
| 38d20 | 20 20 77 68 69 6c 65 28 31 29 7b 00 00 00 2e 20 20 20 20 69 66 28 78 30 3e 3d 30 26 26 78 30 3c | ..while(1){........if(x0>=0&&x0< |
| 38d40 | 77 26 26 79 30 3e 3d 30 26 26 79 30 3c 68 29 70 78 5b 79 30 2a 77 2b 78 30 5d 3d 63 3b 00 00 00 | w&&y0>=0&&y0<h)px[y0*w+x0]=c;... |
| 38d60 | 1c 20 20 20 20 69 66 28 78 30 3d 3d 78 31 26 26 79 30 3d 3d 79 31 29 62 72 65 61 6b 3b 00 00 00 | .....if(x0==x1&&y0==y1)break;... |
| 38d80 | 11 20 20 20 20 69 6e 74 20 65 32 3d 32 2a 65 72 72 3b 00 00 00 1f 20 20 20 20 69 66 28 65 32 3e | .....int.e2=2*err;........if(e2> |
| 38da0 | 3d 64 79 29 7b 65 72 72 2b 3d 64 79 3b 78 30 2b 3d 73 78 3b 7d 00 00 00 1f 20 20 20 20 69 66 28 | =dy){err+=dy;x0+=sx;}........if( |
| 38dc0 | 65 32 3c 3d 64 78 29 7b 65 72 72 2b 3d 64 78 3b 79 30 2b 3d 73 79 3b 7d 00 00 00 03 20 20 7d 00 | e2<=dx){err+=dx;y0+=sy;}......}. |
| 38de0 | 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 | ...}.......Kstatic.void.circle(u |
| 38e00 | 69 6e 74 33 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 6e 74 20 63 78 2c 69 6e | int32_t*px,int.w,int.h,int.cx,in |
| 38e20 | 74 20 63 79 2c 69 6e 74 20 72 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 16 20 20 69 6e 74 | t.cy,int.r,uint32_t.c){......int |
| 38e40 | 20 78 3d 30 2c 79 3d 72 2c 64 3d 33 2d 32 2a 72 3b 00 00 00 0e 20 20 77 68 69 6c 65 28 79 3e 3d | .x=0,y=r,d=3-2*r;......while(y>= |
| 38e60 | 78 29 7b 00 00 00 41 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 3d 7b 7b 63 78 2b 78 2c 63 79 | x){...A....int.p[8][2]={{cx+x,cy |
| 38e80 | 2b 79 7d 2c 7b 63 78 2d 78 2c 63 79 2b 79 7d 2c 7b 63 78 2b 78 2c 63 79 2d 79 7d 2c 7b 63 78 2d | +y},{cx-x,cy+y},{cx+x,cy-y},{cx- |
| 38ea0 | 78 2c 63 79 2d 79 7d 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 | x,cy-y},...B.................{cx |
| 38ec0 | 2b 79 2c 63 79 2b 78 7d 2c 7b 63 78 2d 79 2c 63 79 2b 78 7d 2c 7b 63 78 2b 79 2c 63 79 2d 78 7d | +y,cy+x},{cx-y,cy+x},{cx+y,cy-x} |
| 38ee0 | 2c 7b 63 78 2d 79 2c 63 79 2d 78 7d 7d 3b 00 00 00 18 20 20 20 20 66 6f 72 28 69 6e 74 20 69 3d | ,{cx-y,cy-x}};........for(int.i= |
| 38f00 | 30 3b 69 3c 38 3b 69 2b 2b 29 00 00 00 36 20 20 20 20 20 20 69 66 28 70 5b 69 5d 5b 30 5d 3e 3d | 0;i<8;i++)...6......if(p[i][0]>= |
| 38f20 | 30 26 26 70 5b 69 5d 5b 30 5d 3c 77 26 26 70 5b 69 5d 5b 31 5d 3e 3d 30 26 26 70 5b 69 5d 5b 31 | 0&&p[i][0]<w&&p[i][1]>=0&&p[i][1 |
| 38f40 | 5d 3c 68 29 00 00 00 20 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 2a 77 2b 70 5b 69 | ]<h)............px[p[i][1]*w+p[i |
| 38f60 | 5d 5b 30 5d 5d 3d 63 3b 00 00 00 2d 20 20 20 20 69 66 28 64 3e 30 29 7b 64 2b 3d 34 2a 28 78 2d | ][0]]=c;...-....if(d>0){d+=4*(x- |
| 38f80 | 79 29 2b 31 30 3b 79 2d 2d 3b 7d 65 6c 73 65 20 64 2b 3d 34 2a 78 2b 36 3b 00 00 00 08 20 20 20 | y)+10;y--;}else.d+=4*x+6;....... |
| 38fa0 | 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 21 73 74 61 74 69 63 20 | .x++;......}....}.......!static. |
| 38fc0 | 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 2d 20 20 | void.render(struct.app*a){...-.. |
| 38fe0 | 69 66 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 7c 7c 61 2d 3e 77 3c 3d 30 7c 7c 61 2d 3e 68 | if(!a->configured||a->w<=0||a->h |
| 39000 | 3c 3d 30 29 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 69 66 28 21 61 2d 3e 62 75 66 29 61 6c 6c 6f | <=0)return;......if(!a->buf)allo |
| 39020 | 63 5f 62 75 66 28 61 29 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f 74 2a 70 78 3d 61 2d 3e 70 69 | c_buf(a);......uint32_t*px=a->pi |
| 39040 | 78 65 6c 73 3b 00 00 00 1e 20 20 6d 65 6d 73 65 74 28 70 78 2c 30 78 46 46 2c 61 2d 3e 77 2a 61 | xels;......memset(px,0xFF,a->w*a |
| 39060 | 2d 3e 68 2a 34 29 3b 00 00 00 17 20 20 74 69 6d 65 5f 74 20 74 74 3d 74 69 6d 65 28 4e 55 4c 4c | ->h*4);......time_t.tt=time(NULL |
| 39080 | 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 18 20 20 6c 6f 63 61 | );......struct.tm.tmv;......loca |
| 390a0 | 6c 74 69 6d 65 5f 72 28 26 74 74 2c 26 74 6d 76 29 3b 00 00 00 1a 20 20 69 6e 74 20 63 78 3d 61 | ltime_r(&tt,&tmv);......int.cx=a |
| 390c0 | 2d 3e 77 2f 32 2c 63 79 3d 61 2d 3e 68 2f 32 3b 00 00 00 23 20 20 69 6e 74 20 72 3d 28 61 2d 3e | ->w/2,cy=a->h/2;...#..int.r=(a-> |
| 390e0 | 77 3c 61 2d 3e 68 3f 61 2d 3e 77 3a 61 2d 3e 68 29 2f 32 2d 31 30 3b 00 00 00 0d 20 20 69 66 28 | w<a->h?a->w:a->h)/2-10;......if( |
| 39100 | 72 3c 35 29 72 3d 35 3b 00 00 00 2a 20 20 63 69 72 63 6c 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e | r<5)r=5;...*..circle(px,a->w,a-> |
| 39120 | 68 2c 63 78 2c 63 79 2c 72 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 18 20 20 66 6f 72 28 | h,cx,cy,r,0xFF000000);......for( |
| 39140 | 69 6e 74 20 69 3d 30 3b 69 3c 31 32 3b 69 2b 2b 29 7b 00 00 00 24 20 20 20 20 64 6f 75 62 6c 65 | int.i=0;i<12;i++){...$....double |
| 39160 | 20 61 6e 67 3d 69 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 16 20 20 | .ang=i/12.0*2*M_PI-M_PI_2;...... |
| 39180 | 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 00 00 00 1c 20 20 20 20 20 20 20 20 | ..line(px,a->w,a->h,............ |
| 391a0 | 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c 00 00 00 1c 20 20 20 20 20 20 20 20 | .cx+cos(ang)*(r-10),............ |
| 391c0 | 20 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c 00 00 00 1b 20 20 20 20 20 20 20 20 | .cy+sin(ang)*(r-10),............ |
| 391e0 | 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 00 1b 20 20 20 20 20 20 20 20 20 | .cx+cos(ang)*(r-2),............. |
| 39200 | 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 00 15 20 20 20 20 20 20 20 20 20 30 | cy+sin(ang)*(r-2),.............0 |
| 39220 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 64 6f 75 62 6c 65 20 73 | xFF000000);......}...*..double.s |
| 39240 | 61 3d 74 6d 76 2e 74 6d 5f 73 65 63 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b | a=tmv.tm_sec/60.0*2*M_PI-M_PI_2; |
| 39260 | 00 00 00 3c 20 20 64 6f 75 62 6c 65 20 6d 61 3d 28 74 6d 76 2e 74 6d 5f 6d 69 6e 2b 74 6d 76 2e | ...<..double.ma=(tmv.tm_min+tmv. |
| 39280 | 74 6d 5f 73 65 63 2f 36 30 2e 30 29 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b | tm_sec/60.0)/60.0*2*M_PI-M_PI_2; |
| 392a0 | 00 00 00 44 20 20 64 6f 75 62 6c 65 20 68 61 3d 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 25 31 32 | ...D..double.ha=((tmv.tm_hour%12 |
| 392c0 | 29 2b 28 74 6d 76 2e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 29 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 | )+(tmv.tm_min/60.0))/12.0*2*M_PI |
| 392e0 | 2d 4d 5f 50 49 5f 32 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c | -M_PI_2;...H..line(px,a->w,a->h, |
| 39300 | 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 2c 63 79 2b 73 69 6e 28 68 61 | cx,cy,cx+cos(ha)*r*0.5,cy+sin(ha |
| 39320 | 29 2a 72 2a 30 2e 35 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 | )*r*0.5,0xFF000000);...H..line(p |
| 39340 | 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 6d 61 29 2a 72 2a 30 | x,a->w,a->h,cx,cy,cx+cos(ma)*r*0 |
| 39360 | 2e 37 2c 63 79 2b 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 37 2c 30 78 46 46 30 30 30 30 30 30 29 3b | .7,cy+sin(ma)*r*0.7,0xFF000000); |
| 39380 | 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 | ...H..line(px,a->w,a->h,cx,cy,cx |
| 393a0 | 2b 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 2c 63 79 2b 73 69 6e 28 73 61 29 2a 72 2a 30 2e 39 2c | +cos(sa)*r*0.9,cy+sin(sa)*r*0.9, |
| 393c0 | 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 26 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 | 0xFFFF0000);...&..wl_surface_att |
| 393e0 | 61 63 68 28 61 2d 3e 77 73 2c 61 2d 3e 62 75 66 2c 30 2c 30 29 3b 00 00 00 30 20 20 77 6c 5f 73 | ach(a->ws,a->buf,0,0);...0..wl_s |
| 39400 | 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 30 2c 30 2c 61 | urface_damage_buffer(a->ws,0,0,a |
| 39420 | 2d 3e 77 2c 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | ->w,a->h);......wl_surface_commi |
| 39440 | 74 28 61 2d 3e 77 73 29 3b 00 00 00 12 20 20 61 2d 3e 72 65 64 72 61 77 3d 66 61 6c 73 65 3b 00 | t(a->ws);......a->redraw=false;. |
| 39460 | 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 | ...}.......?static.void.xt_close |
| 39480 | 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 29 7b | (void*d,struct.xdg_toplevel*xt){ |
| 394a0 | 72 75 6e 6e 69 6e 67 3d 30 3b 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 78 | running=0;}.......Xstatic.void.x |
| 394c0 | 74 5f 63 66 67 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | t_cfg(void*d,struct.xdg_toplevel |
| 394e0 | 2a 78 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f 74 20 68 2c 73 74 72 75 63 74 20 77 | *xt,int32_t.w,int32_t.h,struct.w |
| 39500 | 6c 5f 61 72 72 61 79 2a 73 29 7b 00 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d 64 3b | l_array*s){......struct.app*a=d; |
| 39520 | 00 00 00 23 20 20 69 66 28 77 3e 30 26 26 68 3e 30 26 26 28 77 21 3d 61 2d 3e 77 7c 7c 68 21 3d | ...#..if(w>0&&h>0&&(w!=a->w||h!= |
| 39540 | 61 2d 3e 68 29 29 7b 00 00 00 12 20 20 20 20 61 2d 3e 77 3d 77 3b 61 2d 3e 68 3d 68 3b 00 00 00 | a->h)){........a->w=w;a->h=h;... |
| 39560 | 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 13 20 20 20 20 61 2d 3e 72 | .....destroy_buf(a);........a->r |
| 39580 | 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 41 73 | edraw=true;......}....}.......As |
| 395a0 | 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 | tatic.void.xs_cfg(void*d,struct. |
| 395c0 | 78 64 67 5f 73 75 72 66 61 63 65 2a 78 73 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 7b | xdg_surface*xs,uint32_t.serial){ |
| 395e0 | 00 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d 64 3b 00 00 00 27 20 20 78 64 67 5f 73 | ......struct.app*a=d;...'..xdg_s |
| 39600 | 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 28 78 73 2c 73 65 72 69 61 6c 29 3b | urface_ack_configure(xs,serial); |
| 39620 | 00 00 00 15 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 3b 00 00 00 11 20 20 61 | ......a->configured=true;......a |
| 39640 | 2d 3e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 | ->redraw=true;....}.......Xstati |
| 39660 | 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 | c.void.reg_global(void*d,struct. |
| 39680 | 77 6c 5f 72 65 67 69 73 74 72 79 2a 72 2c 75 69 6e 74 33 32 5f 74 20 69 64 2c 63 6f 6e 73 74 20 | wl_registry*r,uint32_t.id,const. |
| 396a0 | 63 68 61 72 2a 69 2c 75 69 6e 74 33 32 5f 74 20 76 29 7b 00 00 00 11 20 20 73 74 72 75 63 74 20 | char*i,uint32_t.v){......struct. |
| 396c0 | 61 70 70 2a 61 3d 64 3b 00 00 00 20 20 20 69 66 28 21 73 74 72 63 6d 70 28 69 2c 22 77 6c 5f 63 | app*a=d;......if(!strcmp(i,"wl_c |
| 396e0 | 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 3e 20 20 20 20 61 2d 3e 63 6f 6d 70 3d 77 6c 5f 72 | ompositor"))...>....a->comp=wl_r |
| 39700 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | egistry_bind(r,id,&wl_compositor |
| 39720 | 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b 00 00 00 1e 20 20 65 6c 73 65 20 69 66 28 21 73 74 72 | _interface,4);......else.if(!str |
| 39740 | 63 6d 70 28 69 2c 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 36 20 20 20 20 61 2d 3e 73 68 6d 3d 77 | cmp(i,"wl_shm"))...6....a->shm=w |
| 39760 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 | l_registry_bind(r,id,&wl_shm_int |
| 39780 | 65 72 66 61 63 65 2c 31 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 28 21 73 74 72 63 6d 70 28 | erface,1);...$..else.if(!strcmp( |
| 397a0 | 69 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 7b 00 00 00 3a 20 20 20 20 61 2d 3e 77 6d 3d | i,"xdg_wm_base")){...:....a->wm= |
| 397c0 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 78 64 67 5f 77 6d 5f 62 61 | wl_registry_bind(r,id,&xdg_wm_ba |
| 397e0 | 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 20 63 | se_interface,1);...?....static.c |
| 39800 | 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 | onst.struct.xdg_wm_base_listener |
| 39820 | 20 6c 3d 7b 2e 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 29 20 20 20 20 78 64 67 5f 77 | .l={.ping=wm_ping};...)....xdg_w |
| 39840 | 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 26 6c 2c 61 29 3b | m_base_add_listener(a->wm,&l,a); |
| 39860 | 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0f 69 6e 74 20 6d 61 69 6e 28 76 6f 69 | ......}....}........int.main(voi |
| 39880 | 64 29 7b 00 00 00 13 20 20 73 74 72 75 63 74 20 61 70 70 20 61 3d 7b 30 7d 3b 00 00 00 12 20 20 | d){......struct.app.a={0};...... |
| 398a0 | 61 2e 77 3d 34 30 30 3b 61 2e 68 3d 34 30 30 3b 00 00 00 18 20 20 73 69 67 6e 61 6c 28 53 49 47 | a.w=400;a.h=400;......signal(SIG |
| 398c0 | 49 4e 54 2c 6f 6e 5f 73 69 67 29 3b 00 00 00 1f 20 20 61 2e 64 3d 77 6c 5f 64 69 73 70 6c 61 79 | INT,on_sig);......a.d=wl_display |
| 398e0 | 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 69 66 28 21 61 2e 64 29 72 65 74 | _connect(NULL);......if(!a.d)ret |
| 39900 | 75 72 6e 20 31 3b 00 00 00 25 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 | urn.1;...%..a.reg=wl_display_get |
| 39920 | 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 43 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | _registry(a.d);...C..static.cons |
| 39940 | 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 6c | t.struct.wl_registry_listener.rl |
| 39960 | 3d 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 29 20 20 77 6c 5f 72 | ={.global=reg_global};...)..wl_r |
| 39980 | 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 6c 2c 26 | egistry_add_listener(a.reg,&rl,& |
| 399a0 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 399c0 | 64 29 3b 00 00 00 25 20 20 69 66 28 21 61 2e 63 6f 6d 70 7c 7c 21 61 2e 73 68 6d 7c 7c 21 61 2e | d);...%..if(!a.comp||!a.shm||!a. |
| 399e0 | 77 6d 29 72 65 74 75 72 6e 20 31 3b 00 00 00 2c 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d 70 6f 73 | wm)return.1;...,..a.ws=wl_compos |
| 39a00 | 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 2e | itor_create_surface(a.comp);.... |
| 39a20 | 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | ..a.xs=xdg_wm_base_get_xdg_surfa |
| 39a40 | 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 43 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | ce(a.wm,a.ws);...C..static.const |
| 39a60 | 20 73 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 73 6c | .struct.xdg_surface_listener.xsl |
| 39a80 | 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 73 5f 63 66 67 7d 3b 00 00 00 29 20 20 78 64 67 5f 73 | ={.configure=xs_cfg};...)..xdg_s |
| 39aa0 | 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 26 78 73 6c 2c 26 61 | urface_add_listener(a.xs,&xsl,&a |
| 39ac0 | 29 3b 00 00 00 26 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 | );...&..a.xt=xdg_surface_get_top |
| 39ae0 | 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 54 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | level(a.xs);...T..static.const.s |
| 39b00 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 3d | truct.xdg_toplevel_listener.xtl= |
| 39b20 | 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 78 74 5f 63 6c 6f | {.configure=xt_cfg,.close=xt_clo |
| 39b40 | 73 65 7d 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 | se};...*..xdg_toplevel_add_liste |
| 39b60 | 6e 65 72 28 61 2e 78 74 2c 26 78 74 6c 2c 26 61 29 3b 00 00 00 29 20 20 78 64 67 5f 74 6f 70 6c | ner(a.xt,&xtl,&a);...)..xdg_topl |
| 39b80 | 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 | evel_set_title(a.xt,"wlclock");. |
| 39ba0 | 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 | .....wl_surface_commit(a.ws);... |
| 39bc0 | 2f 20 20 77 68 69 6c 65 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 77 6c 5f 64 69 73 70 6c 61 | /..while(!a.configured)wl_displa |
| 39be0 | 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 | y_dispatch(a.d);......render(&a) |
| 39c00 | 3b 00 00 00 36 20 20 69 6e 74 20 74 66 64 3d 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c | ;...6..int.tfd=timerfd_create(CL |
| 39c20 | 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 40 20 | OCK_MONOTONIC,TFD_CLOEXEC);...@. |
| 39c40 | 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 30 2c 26 28 73 74 72 75 63 74 20 | .timerfd_settime(tfd,0,&(struct. |
| 39c60 | 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 30 7d 2c 7b 31 2c 30 7d 7d 2c 4e 55 4c 4c 29 3b 00 | itimerspec){{1,0},{1,0}},NULL);. |
| 39c80 | 00 00 11 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b 00 00 00 25 20 20 20 20 77 6c 5f 64 | .....while(running){...%....wl_d |
| 39ca0 | 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 | isplay_dispatch_pending(a.d);... |
| 39cc0 | 46 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 5b 32 5d 3d 7b 7b 77 6c 5f 64 69 73 | F....struct.pollfd.p[2]={{wl_dis |
| 39ce0 | 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 50 4f 4c 4c 49 4e 7d 2c 7b 74 66 64 2c 50 4f | play_get_fd(a.d),POLLIN},{tfd,PO |
| 39d00 | 4c 4c 49 4e 7d 7d 3b 00 00 00 11 20 20 20 20 70 6f 6c 6c 28 70 2c 32 2c 2d 31 29 3b 00 00 00 34 | LLIN}};........poll(p,2,-1);...4 |
| 39d20 | 20 20 20 20 69 66 28 70 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 77 6c 5f 64 69 | ....if(p[0].revents&POLLIN)wl_di |
| 39d40 | 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 1c 20 20 20 20 69 66 28 70 | splay_dispatch(a.d);........if(p |
| 39d60 | 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 7b 00 00 00 28 20 20 20 20 20 20 75 69 | [1].revents&POLLIN){...(......ui |
| 39d80 | 6e 74 36 34 5f 74 20 74 3b 72 65 61 64 28 74 66 64 2c 26 74 2c 73 69 7a 65 6f 66 28 74 29 29 3b | nt64_t.t;read(tfd,&t,sizeof(t)); |
| 39da0 | 00 00 00 14 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 05 20 20 20 20 | ..........a.redraw=true;........ |
| 39dc0 | 7d 00 00 00 1b 20 20 20 20 69 66 28 61 2e 72 65 64 72 61 77 29 72 65 6e 64 65 72 28 26 61 29 3b | }........if(a.redraw)render(&a); |
| 39de0 | 35 81 f5 18 00 00 00 00 1a 00 00 00 19 00 00 00 b2 00 00 00 10 00 00 00 d7 00 00 00 06 00 00 00 | 5............................... |
| 39e00 | 33 02 00 00 00 00 00 00 d0 14 00 00 00 00 00 00 c6 18 00 00 00 00 00 00 35 81 5f d0 00 00 00 2e | 3.......................5._..... |
| 39e20 | 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 2f 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ...0.........../................ |
| 39e40 | 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 00 | ................................ |
| 39e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 39f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d | ..............................i. |
| 39fa0 | a3 06 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f8 00 00 00 1f 23 | ...............................# |
| 39fc0 | 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 | define._POSIX_C_SOURCE.200809L.. |
| 39fe0 | 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 65 6e 74 2d 70 72 6f | .&#include."xdg-shell-client-pro |
| 3a000 | 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 | tocol.h"....#include.<errno.h>.. |
| 3a020 | 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 | ..#include.<fcntl.h>....#include |
| 3a040 | 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 | .<math.h>....#include.<poll.h>.. |
| 3a060 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 | ..#include.<signal.h>....#includ |
| 3a080 | 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e | e.<stdbool.h>....#include.<stdin |
| 3a0a0 | 74 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 00 00 13 23 69 | t.h>....#include.<stdio.h>....#i |
| 3a0c0 | 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 73 | nclude.<stdlib.h>....#include.<s |
| 3a0e0 | 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 | tring.h>....#include.<sys/mman.h |
| 3a100 | 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 | >....#include.<sys/timerfd.h>... |
| 3a120 | 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c | .#include.<time.h>....#include.< |
| 3a140 | 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 | unistd.h>....#include.<wayland-c |
| 3a160 | 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 | lient.h>........#ifndef.M_PI...# |
| 3a180 | 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 | #define.M_PI.3.14159265358979323 |
| 3a1a0 | 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 | 846....#endif....#ifndef.M_PI_2. |
| 3a1c0 | 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 | ..%#define.M_PI_2.1.570796326794 |
| 3a1e0 | 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 | 89661923....#endif.......)static |
| 3a200 | 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d | .volatile.sig_atomic_t.running.= |
| 3a220 | 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 | .1;....static.void.on_sig(int.s) |
| 3a240 | 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 | .{......(void)s;......running.=. |
| 3a260 | 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 | 0;....}........struct.app.{..... |
| 3a280 | 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 | .struct.wl_display.*d;......stru |
| 3a2a0 | 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 | ct.wl_registry.*reg;......struct |
| 3a2c0 | 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 | .wl_compositor.*comp;......struc |
| 3a2e0 | 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 | t.wl_shm.*shm;......struct.xdg_w |
| 3a300 | 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 | m_base.*wm;......struct.wl_surfa |
| 3a320 | 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 | ce.*ws;......struct.xdg_surface. |
| 3a340 | 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 | *xs;......struct.xdg_toplevel.*x |
| 3a360 | 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 | t;......void.*pixels;......struc |
| 3a380 | 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b | t.wl_buffer.*buf;......int.w,.h; |
| 3a3a0 | 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 | ......int.bw,.bh;......bool.conf |
| 3a3c0 | 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 | igured;......bool.redraw;....};. |
| 3a3e0 | 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 | ......Jstatic.void.wm_ping(void. |
| 3a400 | 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 20 2a 77 6d 2c 20 75 | *data,.struct.xdg_wm_base.*wm,.u |
| 3a420 | 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 | int32_t.serial).{......xdg_wm_ba |
| 3a440 | 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | se_pong(wm,.serial);....}....... |
| 3a460 | 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 | $static.int.create_shm(size_t.si |
| 3a480 | 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c | ze).{...#..char.t[].=."/tmp/wlcl |
| 3a4a0 | 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 | ock-XXXXXX";......int.fd.=.mkste |
| 3a4c0 | 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 | mp(t);......if.(fd.<.0)........e |
| 3a4e0 | 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 | xit(1);......unlink(t);......if. |
| 3a500 | 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 | (ftruncate(fd,.size).<.0)....... |
| 3a520 | 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 | .exit(1);......return.fd;....}.. |
| 3a540 | 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 | .....(static.void.destroy_buf(st |
| 3a560 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 | ruct.app.*a).{......if.(!a->buf) |
| 3a580 | 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 | ........return;...*..size_t.size |
| 3a5a0 | 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 | .=.(size_t)a->bw.*.a->bh.*.4;... |
| 3a5c0 | 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 | ...wl_buffer_destroy(a->buf);... |
| 3a5e0 | 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 | ...munmap(a->pixels,.size);..... |
| 3a600 | 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d | .a->buf.=.NULL;......a->pixels.= |
| 3a620 | 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 | .NULL;....}.......&static.void.a |
| 3a640 | 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 | lloc_buf(struct.app.*a).{......d |
| 3a660 | 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 | estroy_buf(a);...(..size_t.size. |
| 3a680 | 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 | =.(size_t)a->w.*.a->h.*.4;...... |
| 3a6a0 | 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 | int.fd.=.create_shm(size);...J.. |
| 3a6c0 | 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f | a->pixels.=.mmap(NULL,.size,.PRO |
| 3a6e0 | 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c | T_READ.|.PROT_WRITE,.MAP_SHARED, |
| 3a700 | 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d | .fd,.0);......if.(a->pixels.==.M |
| 3a720 | 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 | AP_FAILED)........exit(1);...B.. |
| 3a740 | 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 | struct.wl_shm_pool.*pool.=.wl_sh |
| 3a760 | 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b | m_create_pool(a->shm,.fd,.size); |
| 3a780 | 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 | ...C..a->buf.=.wl_shm_pool_creat |
| 3a7a0 | 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d | e_buffer(pool,.0,.a->w,.a->h,.a- |
| 3a7c0 | 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >w.*.4,...=..................... |
| 3a7e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 | ................WL_SHM_FORMAT_AR |
| 3a800 | 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f | GB8888);......wl_shm_pool_destro |
| 3a820 | 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d | y(pool);......close(fd);......a- |
| 3a840 | 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 | >bw.=.a->w;......a->bh.=.a->h;.. |
| 3a860 | 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 | ..}.......Lstatic.void.line(uint |
| 3a880 | 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 | 32_t.*px,.int.w,.int.h,.int.x0,. |
| 3a8a0 | 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 | int.y0,.int.x1,.int.y1,......... |
| 3a8c0 | 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 | ............uint32_t.c).{.../..i |
| 3a8e0 | 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 | nt.dx.=.abs(x1.-.x0),.sx.=.x0.<. |
| 3a900 | 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 | x1.?.1.:.-1;...0..int.dy.=.-abs( |
| 3a920 | 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b | y1.-.y0),.sy.=.y0.<.y1.?.1.:.-1; |
| 3a940 | 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 | ......int.err.=.dx.+.dy;......wh |
| 3a960 | 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 | ile.(1).{.../....if.(x0.>=.0.&&. |
| 3a980 | 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a | x0.<.w.&&.y0.>=.0.&&.y0.<.h).... |
| 3a9a0 | 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 | ......px[y0.*.w.+.x0].=.c;...... |
| 3a9c0 | 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 | ..if.(x0.==.x1.&&.y0.==.y1)..... |
| 3a9e0 | 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 | .....break;........int.e2.=.2.*. |
| 3aa00 | 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 | err;........if.(e2.>=.dy).{..... |
| 3aa20 | 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 | .....err.+=.dy;..........x0.+=.s |
| 3aa40 | 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 | x;........}........if.(e2.<=.dx) |
| 3aa60 | 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 | .{..........err.+=.dx;.......... |
| 3aa80 | 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 | y0.+=.sy;........}......}....}.. |
| 3aaa0 | 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f | .....Estatic.void.circle(uint32_ |
| 3aac0 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 | t.*px,.int.w,.int.h,.int.cx,.int |
| 3aae0 | 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cy,.int.r,..................... |
| 3ab00 | 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 | ..uint32_t.c).{..."..int.x.=.0,. |
| 3ab20 | 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 | y.=.r,.d.=.3.-.2.*.r;......while |
| 3ab40 | 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d | .(y.>=.x).{...H....int.p[8][2].= |
| 3ab60 | 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 | .{{cx.+.x,.cy.+.y},.{cx.-.x,.cy. |
| 3ab80 | 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 | +.y},.{cx.+.x,.cy.-.y},...H..... |
| 3aba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 | ..............{cx.-.x,.cy.-.y},. |
| 3abc0 | 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 | {cx.+.y,.cy.+.x},.{cx.-.y,.cy.+. |
| 3abe0 | 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 | x},...7...................{cx.+. |
| 3ac00 | 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 | y,.cy.-.x},.{cx.-.y,.cy.-.x}};.. |
| 3ac20 | 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b | ......for.(int.i.=.0;.i.<.8;.i++ |
| 3ac40 | 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 | )...E......if.(p[i][0].>=.0.&&.p |
| 3ac60 | 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b | [i][0].<.w.&&.p[i][1].>=.0.&&.p[ |
| 3ac80 | 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d | i][1].<.h)...&........px[p[i][1] |
| 3aca0 | 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 | .*.w.+.p[i][0]].=.c;........if.( |
| 3acc0 | 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 | d.>.0).{..........d.+=.4.*.(x.-. |
| 3ace0 | 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 | y).+.10;..........y--;........}. |
| 3ad00 | 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 | else..........d.+=.4.*.x.+.6;... |
| 3ad20 | 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 | .....x++;......}....}.......#sta |
| 3ad40 | 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b | tic.void.render(struct.app.*a).{ |
| 3ad60 | 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 | .../..if.(!a->configured.||.a->w |
| 3ad80 | 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 | .<=.0.||.a->h.<=.0)........retur |
| 3ada0 | 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f | n;......if.(!a->buf)........allo |
| 3adc0 | 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d | c_buf(a);......uint32_t.*px.=.a- |
| 3ade0 | 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 | >pixels;...$..memset(px,.0xFF,.a |
| 3ae00 | 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 | ->w.*.a->h.*.4);......time_t.tt. |
| 3ae20 | 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 | =.time(NULL);......struct.tm.tmv |
| 3ae40 | 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 | ;......localtime_r(&tt,.&tmv);.. |
| 3ae60 | 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 | .#..int.cx.=.a->w./.2,.cy.=.a->h |
| 3ae80 | 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 | ./.2;.../..int.r.=.(a->w.<.a->h. |
| 3aea0 | 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 | ?.a->w.:.a->h)./.2.-.10;......if |
| 3aec0 | 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 30 20 20 63 69 72 63 | .(r.<.5)........r.=.5;...0..circ |
| 3aee0 | 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 | le(px,.a->w,.a->h,.cx,.cy,.r,.0x |
| 3af00 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | FF000000);......for.(int.i.=.0;. |
| 3af20 | 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 | i.<.12;.i++).{........double.ang |
| 3af40 | 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | .=.i./.12.0.*.2.*.M_PI.-.M_PI_2; |
| 3af60 | 00 00 00 4c 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 | ...L....line(px,.a->w,.a->h,.cx. |
| 3af80 | 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 20 63 79 20 2b 20 73 69 6e 28 | +.cos(ang).*.(r.-.10),.cy.+.sin( |
| 3afa0 | 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 63 78 20 | ang).*.(r.-.10),...G.........cx. |
| 3afc0 | 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 | +.cos(ang).*.(r.-.2),.cy.+.sin(a |
| 3afe0 | 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 | ng).*.(r.-.2),.0xFF000000);..... |
| 3b000 | 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f | .}...4..double.sa.=.tmv.tm_sec./ |
| 3b020 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...J.. |
| 3b040 | 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d | double.ma.=.(tmv.tm_min.+.tmv.tm |
| 3b060 | 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | _sec./.60.0)./.60.0.*.2.*.M_PI.- |
| 3b080 | 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 | .M_PI_2;......double.ha.=...L... |
| 3b0a0 | 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d | ...((tmv.tm_hour.%.12).+.(tmv.tm |
| 3b0c0 | 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | _min./.60.0))./.12.0.*.2.*.M_PI. |
| 3b0e0 | 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | -.M_PI_2;...N..line(px,.a->w,.a- |
| 3b100 | 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 | >h,.cx,.cy,.cx.+.cos(ha).*.r.*.0 |
| 3b120 | 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 00 00 00 13 20 | .5,.cy.+.sin(ha).*.r.*.0.5,..... |
| 3b140 | 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c | ......0xFF000000);...N..line(px, |
| 3b160 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | .a->w,.a->h,.cx,.cy,.cx.+.cos(ma |
| 3b180 | 29 20 2a 20 72 20 2a 20 30 2e 37 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 | ).*.r.*.0.7,.cy.+.sin(ma).*.r.*. |
| 3b1a0 | 30 2e 37 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e 20 | 0.7,...........0xFF000000);...N. |
| 3b1c0 | 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | .line(px,.a->w,.a->h,.cx,.cy,.cx |
| 3b1e0 | 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 20 63 79 20 2b 20 73 69 6e 28 73 | .+.cos(sa).*.r.*.0.9,.cy.+.sin(s |
| 3b200 | 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 46 46 30 30 | a).*.r.*.0.9,...........0xFFFF00 |
| 3b220 | 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 | 00);...)..wl_surface_attach(a->w |
| 3b240 | 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 | s,.a->buf,.0,.0);...4..wl_surfac |
| 3b260 | 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e | e_damage_buffer(a->ws,.0,.0,.a-> |
| 3b280 | 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | w,.a->h);......wl_surface_commit |
| 3b2a0 | 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b | (a->ws);......a->redraw.=.false; |
| 3b2c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 | ....}.......Gstatic.void.xt_clos |
| 3b2e0 | 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a | e(void.*d,.struct.xdg_toplevel.* |
| 3b300 | 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 | xt).{.running.=.0;.}.......Jstat |
| 3b320 | 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | ic.void.xt_cfg(void.*d,.struct.x |
| 3b340 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 | dg_toplevel.*xt,.int32_t.w,.int3 |
| 3b360 | 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 | 2_t.h,...(...................str |
| 3b380 | 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 | uct.wl_array.*s).{......struct.a |
| 3b3a0 | 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e | pp.*a.=.d;...3..if.(w.>.0.&&.h.> |
| 3b3c0 | 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 | .0.&&.(w.!=.a->w.||.h.!=.a->h)). |
| 3b3e0 | 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d | {........a->w.=.w;........a->h.= |
| 3b400 | 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 | .h;........destroy_buf(a);...... |
| 3b420 | 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | ..a->redraw.=.true;......}....}. |
| 3b440 | 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a | ......Fstatic.void.xs_cfg(void.* |
| 3b460 | 64 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 6e 74 33 | d,.struct.xdg_surface.*xs,.uint3 |
| 3b480 | 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | 2_t.serial).{......struct.app.*a |
| 3b4a0 | 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 | .=.d;...(..xdg_surface_ack_confi |
| 3b4c0 | 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 | gure(xs,.serial);......a->config |
| 3b4e0 | 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 | ured.=.true;......a->redraw.=.tr |
| 3b500 | 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f | ue;....}.......Cstatic.void.reg_ |
| 3b520 | 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | global(void.*d,.struct.wl_regist |
| 3b540 | 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 | ry.*r,.uint32_t.id,...3......... |
| 3b560 | 20 20 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 2c 20 75 69 6e | ..............const.char.*i,.uin |
| 3b580 | 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | t32_t.v).{......struct.app.*a.=. |
| 3b5a0 | 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f | d;..."..if.(!strcmp(i,."wl_compo |
| 3b5c0 | 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 | sitor"))...C....a->comp.=.wl_reg |
| 3b5e0 | 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | istry_bind(r,.id,.&wl_compositor |
| 3b600 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 | _interface,.4);......else.if.(!s |
| 3b620 | 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 | trcmp(i,."wl_shm"))...;....a->sh |
| 3b640 | 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f | m.=.wl_registry_bind(r,.id,.&wl_ |
| 3b660 | 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 | shm_interface,.1);...'..else.if. |
| 3b680 | 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 | (!strcmp(i,."xdg_wm_base")).{... |
| 3b6a0 | 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ?....a->wm.=.wl_registry_bind(r, |
| 3b6c0 | 20 69 64 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 | .id,.&xdg_wm_base_interface,.1); |
| 3b6e0 | 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | ...C....static.const.struct.xdg_ |
| 3b700 | 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d | wm_base_listener.l.=.{.ping.=.wm |
| 3b720 | 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c | _ping};...+....xdg_wm_base_add_l |
| 3b740 | 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 | istener(a->wm,.&l,.a);......}... |
| 3b760 | 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 | .}........int.main(void).{...... |
| 3b780 | 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 | struct.app.a.=.{0};......a.w.=.4 |
| 3b7a0 | 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 | 00;......a.h.=.400;......signal( |
| 3b7c0 | 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 | SIGINT,.on_sig);...!..a.d.=.wl_d |
| 3b7e0 | 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 | isplay_connect(NULL);......if.(! |
| 3b800 | 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 | a.d)........return.1;...'..a.reg |
| 3b820 | 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 61 2e 64 29 3b | .=.wl_display_get_registry(a.d); |
| 3b840 | 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | ...G..static.const.struct.wl_reg |
| 3b860 | 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 | istry_listener.rl.=.{.global.=.r |
| 3b880 | 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 | eg_global};...+..wl_registry_add |
| 3b8a0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 | _listener(a.reg,.&rl,.&a);...... |
| 3b8c0 | 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 | wl_display_roundtrip(a.d);...!.. |
| 3b8e0 | 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 | if.(!a.comp.||.!a.shm.||.!a.wm). |
| 3b900 | 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f | .......return.1;......a.ws.=.wl_ |
| 3b920 | 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 61 2e 63 6f 6d 70 | compositor_create_surface(a.comp |
| 3b940 | 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 | );...1..a.xs.=.xdg_wm_base_get_x |
| 3b960 | 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 | dg_surface(a.wm,.a.ws);...G..sta |
| 3b980 | 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 |
| 3b9a0 | 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 | tener.xsl.=.{.configure.=.xs_cfg |
| 3b9c0 | 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 | };...+..xdg_surface_add_listener |
| 3b9e0 | 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 | (a.xs,.&xsl,.&a);...(..a.xt.=.xd |
| 3ba00 | 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 | g_surface_get_toplevel(a.xs);... |
| 3ba20 | 47 20 20 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 | G..static.const.struct.xdg_tople |
| 3ba40 | 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d | vel_listener.xtl.=.{.configure.= |
| 3ba60 | 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .xt_cfg,...F.................... |
| 3ba80 | 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 2e | ................................ |
| 3baa0 | 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c | close.=.xt_close};...,..xdg_topl |
| 3bac0 | 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 | evel_add_listener(a.xt,.&xtl,.&a |
| 3bae0 | 29 3b 00 00 00 2a 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 61 | );...*..xdg_toplevel_set_title(a |
| 3bb00 | 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 | .xt,."wlclock");......wl_surface |
| 3bb20 | 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f | _commit(a.ws);......while.(!a.co |
| 3bb40 | 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | nfigured)........wl_display_disp |
| 3bb60 | 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 | atch(a.d);......render(&a);...9. |
| 3bb80 | 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f | .int.tfd.=.timerfd_create(CLOCK_ |
| 3bba0 | 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 | MONOTONIC,.TFD_CLOEXEC);...F..ti |
| 3bbc0 | 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 | merfd_settime(tfd,.0,.&(struct.i |
| 3bbe0 | 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c | timerspec){{1,.0},.{1,.0}},.NULL |
| 3bc00 | 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 25 20 20 20 | );......while.(running).{...%... |
| 3bc20 | 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 61 2e 64 | .wl_display_dispatch_pending(a.d |
| 3bc40 | 29 3b 00 00 00 4b 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 70 5b 32 5d 20 3d 20 7b | );...K....struct.pollfd.p[2].=.{ |
| 3bc60 | 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d | {wl_display_get_fd(a.d),.POLLIN} |
| 3bc80 | 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 13 20 20 20 20 70 6f 6c 6c 28 70 2c | ,.{tfd,.POLLIN}};........poll(p, |
| 3bca0 | 20 32 2c 20 2d 31 29 3b 00 00 00 1e 20 20 20 20 69 66 20 28 70 5b 30 5d 2e 72 65 76 65 6e 74 73 | .2,.-1);........if.(p[0].revents |
| 3bcc0 | 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 1f 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | .&.POLLIN)..........wl_display_d |
| 3bce0 | 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 20 20 20 20 20 69 66 20 28 70 5b 31 5d 2e 72 65 | ispatch(a.d);........if.(p[1].re |
| 3bd00 | 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 11 20 20 20 20 20 20 75 69 6e 74 36 | vents.&.POLLIN).{..........uint6 |
| 3bd20 | 34 5f 74 20 74 3b 00 00 00 1f 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 2c 20 73 69 | 4_t.t;..........read(tfd,.&t,.si |
| 3bd40 | 7a 65 6f 66 28 74 29 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 | zeof(t));..........a.redraw.=.tr |
| 3bd60 | 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 | ue;........}........if.(a.redraw |
| 3bd80 | 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 | )..........render(&a);......}... |
| 3bda0 | 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 | ...close(tfd);......destroy_buf( |
| 3bdc0 | 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 | &a);......wl_display_disconnect( |
| 3bde0 | 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 | a.d);......return.0;....}5...... |
| 3be00 | 00 00 00 00 00 00 00 00 00 f8 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be20 | 00 56 1b 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 2f 00 00 00 31 00 00 00 | .V...............5._..../...1... |
| 3be40 | 00 00 00 00 00 00 00 00 30 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 | ........0....................... |
| 3be60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3be80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a3 06 04 01 00 00 00 | .......................i........ |
| 3bfc0 | 00 00 f5 18 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 dd 00 | ........................}....... |
| 3bfe0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 3c000 | 1b 20 20 20 20 69 66 28 61 2e 72 65 64 72 61 77 29 72 65 6e 64 65 72 28 26 61 29 3b f5 18 00 00 | .....if(a.redraw)render(&a);.... |
| 3c020 | 00 d7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 c4 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 3c040 | 00 00 00 22 20 20 20 20 77 68 69 6c 65 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 | ..."....while(wl_display_prepare |
| 3c060 | 5f 72 65 61 64 28 f5 18 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b9 00 00 | _read(.......................... |
| 3c080 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 ba 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c0a0 | f5 18 00 00 00 a8 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 a9 00 00 | ................................ |
| 3c0c0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 8f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c | ................................ |
| 3c0e0 | 20 20 73 74 72 75 63 74 20 61 70 70 f5 18 00 00 00 90 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | ..struct.app.................... |
| 3c100 | 00 00 00 73 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 69 6e 74 20 63 78 3d 61 2d 3e | ...s..................int.cx=a-> |
| 3c120 | 77 2f 32 2c 63 f5 18 00 00 00 74 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 | w/2,c.....t..................... |
| 3c140 | 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 |
| 3c160 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73 00 00 00 11 00 00 00 00 | .......................s........ |
| 3c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 f5 18 00 00 00 00 73 00 00 | .............................s.. |
| 3c1a0 | 00 11 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 00 0c 00 00 00 00 0b 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c1c0 | 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 8f 00 00 00 0c 00 00 00 00 00 00 00 00 | ................................ |
| 3c1e0 | 00 00 00 19 00 00 00 02 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 3c200 | 00 00 00 f5 18 00 00 00 00 a8 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 00 00 00 | ................................ |
| 3c220 | 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 b9 | ................................ |
| 3c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 22 00 00 00 00 14 00 00 00 00 00 00 00 | ..................."............ |
| 3c260 | 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 c4 00 00 00 22 00 00 00 00 00 00 | ........................."...... |
| 3c280 | 00 00 00 00 00 12 00 00 00 1b 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 3c2a0 | 00 00 00 00 00 f5 18 00 00 00 00 d6 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 01 | ................................ |
| 3c2c0 | 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 00 00 00 00 00 00 00 35 81 5f d0 00 | ...................Q.......5._.. |
| 3c2e0 | 00 00 30 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 dd 00 00 00 00 00 00 00 00 ff | ..0...2...........1............. |
| 3c300 | ff ff 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 | ................................ |
| 3c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3c460 | 00 69 9d a3 07 04 01 00 00 00 14 00 f5 18 00 00 00 1a 00 00 00 fb 00 00 00 dd 00 00 00 bd 00 00 | .i.............................. |
| 3c480 | 00 2d 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 7b 28 76 6f 69 | .-static.void.on_sig(int.s){(voi |
| 3c4a0 | 64 29 73 3b 72 75 6e 6e 69 6e 67 3d 30 3b 7d 00 00 00 00 00 00 00 0b 73 74 72 75 63 74 20 61 70 | d)s;running=0;}........struct.ap |
| 3c4c0 | 70 7b 00 00 00 16 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 2a 64 3b 00 00 00 19 | p{......struct.wl_display*d;.... |
| 3c4e0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 2a 72 65 67 3b 00 00 00 1c 20 20 73 | ..struct.wl_registry*reg;......s |
| 3c500 | 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 2a 63 6f 6d 70 3b 00 00 00 14 20 20 73 | truct.wl_compositor*comp;......s |
| 3c520 | 74 72 75 63 74 20 77 6c 5f 73 68 6d 2a 73 68 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 78 64 | truct.wl_shm*shm;......struct.xd |
| 3c540 | 67 5f 77 6d 5f 62 61 73 65 2a 77 6d 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 | g_wm_base*wm;......struct.wl_sur |
| 3c560 | 66 61 63 65 2a 77 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 | face*ws;......struct.xdg_surface |
| 3c580 | 2a 78 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 | *xs;......struct.xdg_toplevel*xt |
| 3c5a0 | 3b 00 00 00 0e 20 20 76 6f 69 64 2a 70 69 78 65 6c 73 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 | ;......void*pixels;......struct. |
| 3c5c0 | 77 6c 5f 62 75 66 66 65 72 2a 62 75 66 3b 00 00 00 0a 20 20 69 6e 74 20 77 2c 68 3b 00 00 00 0c | wl_buffer*buf;......int.w,h;.... |
| 3c5e0 | 20 20 69 6e 74 20 62 77 2c 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 | ..int.bw,bh;......bool.configure |
| 3c600 | 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 | d;......bool.redraw;....};...... |
| 3c620 | 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 2a 64 61 74 61 2c | .Estatic.void.wm_ping(void*data, |
| 3c640 | 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 2a 77 6d 2c 75 69 6e 74 33 32 5f 74 20 73 | struct.xdg_wm_base*wm,uint32_t.s |
| 3c660 | 65 72 69 61 6c 29 7b 00 00 00 1e 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d | erial){......xdg_wm_base_pong(wm |
| 3c680 | 2c 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 | ,serial);....}.......#static.int |
| 3c6a0 | 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 7b 00 00 00 21 20 20 63 | .create_shm(size_t.size){...!..c |
| 3c6c0 | 68 61 72 20 74 5b 5d 3d 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 | har.t[]="/tmp/wlclock-XXXXXX";.. |
| 3c6e0 | 00 14 20 20 69 6e 74 20 66 64 3d 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 12 20 20 69 66 28 66 | ....int.fd=mkstemp(t);......if(f |
| 3c700 | 64 3c 30 29 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 22 | d<0)exit(1);......unlink(t);..." |
| 3c720 | 20 20 69 66 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 73 69 7a 65 29 3c 30 29 65 78 69 74 28 31 | ..if(ftruncate(fd,size)<0)exit(1 |
| 3c740 | 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 | );......return.fd;....}.......&s |
| 3c760 | 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 | tatic.void.destroy_buf(struct.ap |
| 3c780 | 70 2a 61 29 7b 00 00 00 14 20 20 69 66 28 21 61 2d 3e 62 75 66 29 72 65 74 75 72 6e 3b 00 00 00 | p*a){......if(!a->buf)return;... |
| 3c7a0 | 24 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 3d 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 2a 61 2d 3e | $..size_t.size=(size_t)a->bw*a-> |
| 3c7c0 | 62 68 2a 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e | bh*4;......wl_buffer_destroy(a-> |
| 3c7e0 | 62 75 66 29 3b 00 00 00 19 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 73 69 7a 65 | buf);......munmap(a->pixels,size |
| 3c800 | 29 3b 00 00 00 0e 20 20 61 2d 3e 62 75 66 3d 4e 55 4c 4c 3b 00 00 00 11 20 20 61 2d 3e 70 69 78 | );......a->buf=NULL;......a->pix |
| 3c820 | 65 6c 73 3d 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 | els=NULL;....}.......$static.voi |
| 3c840 | 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 11 20 20 | d.alloc_buf(struct.app*a){...... |
| 3c860 | 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 22 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 | destroy_buf(a);..."..size_t.size |
| 3c880 | 3d 28 73 69 7a 65 5f 74 29 61 2d 3e 77 2a 61 2d 3e 68 2a 34 3b 00 00 00 1a 20 20 69 6e 74 20 66 | =(size_t)a->w*a->h*4;......int.f |
| 3c8a0 | 64 3d 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d 3e 70 69 78 65 | d=create_shm(size);...A..a->pixe |
| 3c8c0 | 6c 73 3d 6d 6d 61 70 28 4e 55 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 | ls=mmap(NULL,size,PROT_READ|PROT |
| 3c8e0 | 5f 57 52 49 54 45 2c 4d 41 50 5f 53 48 41 52 45 44 2c 66 64 2c 30 29 3b 00 00 00 23 20 20 69 66 | _WRITE,MAP_SHARED,fd,0);...#..if |
| 3c900 | 28 61 2d 3e 70 69 78 65 6c 73 3d 3d 4d 41 50 5f 46 41 49 4c 45 44 29 65 78 69 74 28 31 29 3b 00 | (a->pixels==MAP_FAILED)exit(1);. |
| 3c920 | 00 00 3d 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 2a 70 6f 6f 6c 3d 77 6c 5f | ..=..struct.wl_shm_pool*pool=wl_ |
| 3c940 | 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 66 64 2c 73 69 7a 65 29 3b | shm_create_pool(a->shm,fd,size); |
| 3c960 | 00 00 00 53 20 20 61 2d 3e 62 75 66 3d 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f | ...S..a->buf=wl_shm_pool_create_ |
| 3c980 | 62 75 66 66 65 72 28 70 6f 6f 6c 2c 30 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 61 2d 3e 77 2a 34 2c 57 | buffer(pool,0,a->w,a->h,a->w*4,W |
| 3c9a0 | 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);......wl_ |
| 3c9c0 | 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f | shm_pool_destroy(pool);......clo |
| 3c9e0 | 73 65 28 66 64 29 3b 00 00 00 0d 20 20 61 2d 3e 62 77 3d 61 2d 3e 77 3b 00 00 00 0d 20 20 61 2d | se(fd);......a->bw=a->w;......a- |
| 3ca00 | 3e 62 68 3d 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 | >bh=a->h;....}.......Qstatic.voi |
| 3ca20 | 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 | d.line(uint32_t*px,int.w,int.h,i |
| 3ca40 | 6e 74 20 78 30 2c 69 6e 74 20 79 30 2c 69 6e 74 20 78 31 2c 69 6e 74 20 79 31 2c 75 69 6e 74 33 | nt.x0,int.y0,int.x1,int.y1,uint3 |
| 3ca60 | 32 5f 74 20 63 29 7b 00 00 00 22 20 20 69 6e 74 20 64 78 3d 61 62 73 28 78 31 2d 78 30 29 2c 73 | 2_t.c){..."..int.dx=abs(x1-x0),s |
| 3ca80 | 78 3d 78 30 3c 78 31 3f 31 3a 2d 31 3b 00 00 00 23 20 20 69 6e 74 20 64 79 3d 2d 61 62 73 28 79 | x=x0<x1?1:-1;...#..int.dy=-abs(y |
| 3caa0 | 31 2d 79 30 29 2c 73 79 3d 79 30 3c 79 31 3f 31 3a 2d 31 3b 00 00 00 10 20 20 69 6e 74 20 65 72 | 1-y0),sy=y0<y1?1:-1;......int.er |
| 3cac0 | 72 3d 64 78 2b 64 79 3b 00 00 00 0b 20 20 77 68 69 6c 65 28 31 29 7b 00 00 00 2e 20 20 20 20 69 | r=dx+dy;......while(1){........i |
| 3cae0 | 66 28 78 30 3e 3d 30 26 26 78 30 3c 77 26 26 79 30 3e 3d 30 26 26 79 30 3c 68 29 70 78 5b 79 30 | f(x0>=0&&x0<w&&y0>=0&&y0<h)px[y0 |
| 3cb00 | 2a 77 2b 78 30 5d 3d 63 3b 00 00 00 1c 20 20 20 20 69 66 28 78 30 3d 3d 78 31 26 26 79 30 3d 3d | *w+x0]=c;........if(x0==x1&&y0== |
| 3cb20 | 79 31 29 62 72 65 61 6b 3b 00 00 00 11 20 20 20 20 69 6e 74 20 65 32 3d 32 2a 65 72 72 3b 00 00 | y1)break;........int.e2=2*err;.. |
| 3cb40 | 00 1f 20 20 20 20 69 66 28 65 32 3e 3d 64 79 29 7b 65 72 72 2b 3d 64 79 3b 78 30 2b 3d 73 78 3b | ......if(e2>=dy){err+=dy;x0+=sx; |
| 3cb60 | 7d 00 00 00 1f 20 20 20 20 69 66 28 65 32 3c 3d 64 78 29 7b 65 72 72 2b 3d 64 78 3b 79 30 2b 3d | }........if(e2<=dx){err+=dx;y0+= |
| 3cb80 | 73 79 3b 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 | sy;}......}....}.......Kstatic.v |
| 3cba0 | 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 | oid.circle(uint32_t*px,int.w,int |
| 3cbc0 | 20 68 2c 69 6e 74 20 63 78 2c 69 6e 74 20 63 79 2c 69 6e 74 20 72 2c 75 69 6e 74 33 32 5f 74 20 | .h,int.cx,int.cy,int.r,uint32_t. |
| 3cbe0 | 63 29 7b 00 00 00 16 20 20 69 6e 74 20 78 3d 30 2c 79 3d 72 2c 64 3d 33 2d 32 2a 72 3b 00 00 00 | c){......int.x=0,y=r,d=3-2*r;... |
| 3cc00 | 0e 20 20 77 68 69 6c 65 28 79 3e 3d 78 29 7b 00 00 00 41 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b | ...while(y>=x){...A....int.p[8][ |
| 3cc20 | 32 5d 3d 7b 7b 63 78 2b 78 2c 63 79 2b 79 7d 2c 7b 63 78 2d 78 2c 63 79 2b 79 7d 2c 7b 63 78 2b | 2]={{cx+x,cy+y},{cx-x,cy+y},{cx+ |
| 3cc40 | 78 2c 63 79 2d 79 7d 2c 7b 63 78 2d 78 2c 63 79 2d 79 7d 2c 00 00 00 42 20 20 20 20 20 20 20 20 | x,cy-y},{cx-x,cy-y},...B........ |
| 3cc60 | 20 20 20 20 20 20 20 20 20 7b 63 78 2b 79 2c 63 79 2b 78 7d 2c 7b 63 78 2d 79 2c 63 79 2b 78 7d | .........{cx+y,cy+x},{cx-y,cy+x} |
| 3cc80 | 2c 7b 63 78 2b 79 2c 63 79 2d 78 7d 2c 7b 63 78 2d 79 2c 63 79 2d 78 7d 7d 3b 00 00 00 18 20 20 | ,{cx+y,cy-x},{cx-y,cy-x}};...... |
| 3cca0 | 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 38 3b 69 2b 2b 29 00 00 00 36 20 20 20 20 20 20 | ..for(int.i=0;i<8;i++)...6...... |
| 3ccc0 | 69 66 28 70 5b 69 5d 5b 30 5d 3e 3d 30 26 26 70 5b 69 5d 5b 30 5d 3c 77 26 26 70 5b 69 5d 5b 31 | if(p[i][0]>=0&&p[i][0]<w&&p[i][1 |
| 3cce0 | 5d 3e 3d 30 26 26 70 5b 69 5d 5b 31 5d 3c 68 29 00 00 00 20 20 20 20 20 20 20 20 20 70 78 5b 70 | ]>=0&&p[i][1]<h)............px[p |
| 3cd00 | 5b 69 5d 5b 31 5d 2a 77 2b 70 5b 69 5d 5b 30 5d 5d 3d 63 3b 00 00 00 2d 20 20 20 20 69 66 28 64 | [i][1]*w+p[i][0]]=c;...-....if(d |
| 3cd20 | 3e 30 29 7b 64 2b 3d 34 2a 28 78 2d 79 29 2b 31 30 3b 79 2d 2d 3b 7d 65 6c 73 65 20 64 2b 3d 34 | >0){d+=4*(x-y)+10;y--;}else.d+=4 |
| 3cd40 | 2a 78 2b 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | *x+6;........x++;......}....}... |
| 3cd60 | 00 00 00 00 21 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 | ....!static.void.render(struct.a |
| 3cd80 | 70 70 2a 61 29 7b 00 00 00 2d 20 20 69 66 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 7c 7c 61 | pp*a){...-..if(!a->configured||a |
| 3cda0 | 2d 3e 77 3c 3d 30 7c 7c 61 2d 3e 68 3c 3d 30 29 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 69 66 28 | ->w<=0||a->h<=0)return;......if( |
| 3cdc0 | 21 61 2d 3e 62 75 66 29 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 18 20 20 75 69 6e 74 33 | !a->buf)alloc_buf(a);......uint3 |
| 3cde0 | 32 5f 74 2a 70 78 3d 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 1e 20 20 6d 65 6d 73 65 74 28 70 78 | 2_t*px=a->pixels;......memset(px |
| 3ce00 | 2c 30 78 46 46 2c 61 2d 3e 77 2a 61 2d 3e 68 2a 34 29 3b 00 00 00 17 20 20 74 69 6d 65 5f 74 20 | ,0xFF,a->w*a->h*4);......time_t. |
| 3ce20 | 74 74 3d 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d | tt=time(NULL);......struct.tm.tm |
| 3ce40 | 76 3b 00 00 00 18 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 26 74 6d 76 29 3b 00 00 | v;......localtime_r(&tt,&tmv);.. |
| 3ce60 | 00 1a 20 20 69 6e 74 20 63 78 3d 61 2d 3e 77 2f 32 2c 63 79 3d 61 2d 3e 68 2f 32 3b 00 00 00 23 | ....int.cx=a->w/2,cy=a->h/2;...# |
| 3ce80 | 20 20 69 6e 74 20 72 3d 28 61 2d 3e 77 3c 61 2d 3e 68 3f 61 2d 3e 77 3a 61 2d 3e 68 29 2f 32 2d | ..int.r=(a->w<a->h?a->w:a->h)/2- |
| 3cea0 | 31 30 3b 00 00 00 0d 20 20 69 66 28 72 3c 35 29 72 3d 35 3b 00 00 00 2a 20 20 63 69 72 63 6c 65 | 10;......if(r<5)r=5;...*..circle |
| 3cec0 | 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 72 2c 30 78 46 46 30 30 30 30 30 30 | (px,a->w,a->h,cx,cy,r,0xFF000000 |
| 3cee0 | 29 3b 00 00 00 18 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 69 3c 31 32 3b 69 2b 2b 29 7b 00 00 | );......for(int.i=0;i<12;i++){.. |
| 3cf00 | 00 24 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 3d 69 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 2d 4d | .$....double.ang=i/12.0*2*M_PI-M |
| 3cf20 | 5f 50 49 5f 32 3b 00 00 00 16 20 20 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c | _PI_2;........line(px,a->w,a->h, |
| 3cf40 | 00 00 00 1c 20 20 20 20 20 20 20 20 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c | .............cx+cos(ang)*(r-10), |
| 3cf60 | 00 00 00 1c 20 20 20 20 20 20 20 20 20 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c | .............cy+sin(ang)*(r-10), |
| 3cf80 | 00 00 00 1b 20 20 20 20 20 20 20 20 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 | .............cx+cos(ang)*(r-2),. |
| 3cfa0 | 00 00 1b 20 20 20 20 20 20 20 20 20 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 | ............cy+sin(ang)*(r-2),.. |
| 3cfc0 | 00 15 20 20 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 | ...........0xFF000000);......}.. |
| 3cfe0 | 00 2a 20 20 64 6f 75 62 6c 65 20 73 61 3d 74 6d 76 2e 74 6d 5f 73 65 63 2f 36 30 2e 30 2a 32 2a | .*..double.sa=tmv.tm_sec/60.0*2* |
| 3d000 | 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 3c 20 20 64 6f 75 62 6c 65 20 6d 61 3d 28 74 6d 76 | M_PI-M_PI_2;...<..double.ma=(tmv |
| 3d020 | 2e 74 6d 5f 6d 69 6e 2b 74 6d 76 2e 74 6d 5f 73 65 63 2f 36 30 2e 30 29 2f 36 30 2e 30 2a 32 2a | .tm_min+tmv.tm_sec/60.0)/60.0*2* |
| 3d040 | 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 44 20 20 64 6f 75 62 6c 65 20 68 61 3d 28 28 74 6d | M_PI-M_PI_2;...D..double.ha=((tm |
| 3d060 | 76 2e 74 6d 5f 68 6f 75 72 25 31 32 29 2b 28 74 6d 76 2e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 29 | v.tm_hour%12)+(tmv.tm_min/60.0)) |
| 3d080 | 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 | /12.0*2*M_PI-M_PI_2;...H..line(p |
| 3d0a0 | 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 68 61 29 2a 72 2a 30 | x,a->w,a->h,cx,cy,cx+cos(ha)*r*0 |
| 3d0c0 | 2e 35 2c 63 79 2b 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 2c 30 78 46 46 30 30 30 30 30 30 29 3b | .5,cy+sin(ha)*r*0.5,0xFF000000); |
| 3d0e0 | 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 | ...H..line(px,a->w,a->h,cx,cy,cx |
| 3d100 | 2b 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 37 2c 63 79 2b 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 37 2c | +cos(ma)*r*0.7,cy+sin(ma)*r*0.7, |
| 3d120 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 | 0xFF000000);...H..line(px,a->w,a |
| 3d140 | 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 2c 63 79 2b 73 69 | ->h,cx,cy,cx+cos(sa)*r*0.9,cy+si |
| 3d160 | 6e 28 73 61 29 2a 72 2a 30 2e 39 2c 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 26 20 20 77 6c | n(sa)*r*0.9,0xFFFF0000);...&..wl |
| 3d180 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 61 2d 3e 62 75 66 2c 30 2c 30 | _surface_attach(a->ws,a->buf,0,0 |
| 3d1a0 | 29 3b 00 00 00 30 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 | );...0..wl_surface_damage_buffer |
| 3d1c0 | 28 61 2d 3e 77 73 2c 30 2c 30 2c 61 2d 3e 77 2c 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 | (a->ws,0,0,a->w,a->h);......wl_s |
| 3d1e0 | 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 12 20 20 61 2d 3e 72 65 | urface_commit(a->ws);......a->re |
| 3d200 | 64 72 61 77 3d 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 76 | draw=false;....}.......?static.v |
| 3d220 | 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 | oid.xt_close(void*d,struct.xdg_t |
| 3d240 | 6f 70 6c 65 76 65 6c 2a 78 74 29 7b 72 75 6e 6e 69 6e 67 3d 30 3b 7d 00 00 00 00 00 00 00 58 73 | oplevel*xt){running=0;}.......Xs |
| 3d260 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 | tatic.void.xt_cfg(void*d,struct. |
| 3d280 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f | xdg_toplevel*xt,int32_t.w,int32_ |
| 3d2a0 | 74 20 68 2c 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 2a 73 29 7b 00 00 00 11 20 20 73 74 72 | t.h,struct.wl_array*s){......str |
| 3d2c0 | 75 63 74 20 61 70 70 2a 61 3d 64 3b 00 00 00 23 20 20 69 66 28 77 3e 30 26 26 68 3e 30 26 26 28 | uct.app*a=d;...#..if(w>0&&h>0&&( |
| 3d2e0 | 77 21 3d 61 2d 3e 77 7c 7c 68 21 3d 61 2d 3e 68 29 29 7b 00 00 00 12 20 20 20 20 61 2d 3e 77 3d | w!=a->w||h!=a->h)){........a->w= |
| 3d300 | 77 3b 61 2d 3e 68 3d 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b | w;a->h=h;........destroy_buf(a); |
| 3d320 | 00 00 00 13 20 20 20 20 61 2d 3e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 | ........a->redraw=true;......}.. |
| 3d340 | 00 01 7d 00 00 00 00 00 00 00 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f | ..}.......Astatic.void.xs_cfg(vo |
| 3d360 | 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 2a 78 73 2c 75 69 6e 74 33 | id*d,struct.xdg_surface*xs,uint3 |
| 3d380 | 32 5f 74 20 73 65 72 69 61 6c 29 7b 00 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d 64 | 2_t.serial){......struct.app*a=d |
| 3d3a0 | 3b 00 00 00 27 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 | ;...'..xdg_surface_ack_configure |
| 3d3c0 | 28 78 73 2c 73 65 72 69 61 6c 29 3b 00 00 00 15 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d | (xs,serial);......a->configured= |
| 3d3e0 | 74 72 75 65 3b 00 00 00 11 20 20 61 2d 3e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 01 7d 00 | true;......a->redraw=true;....}. |
| 3d400 | 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f | ......Xstatic.void.reg_global(vo |
| 3d420 | 69 64 2a 64 2c 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 2a 72 2c 75 69 6e 74 33 32 | id*d,struct.wl_registry*r,uint32 |
| 3d440 | 5f 74 20 69 64 2c 63 6f 6e 73 74 20 63 68 61 72 2a 69 2c 75 69 6e 74 33 32 5f 74 20 76 29 7b 00 | _t.id,const.char*i,uint32_t.v){. |
| 3d460 | 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d 64 3b 00 00 00 20 20 20 69 66 28 21 73 74 | .....struct.app*a=d;......if(!st |
| 3d480 | 72 63 6d 70 28 69 2c 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 3e 20 20 20 20 | rcmp(i,"wl_compositor"))...>.... |
| 3d4a0 | 61 2d 3e 63 6f 6d 70 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 | a->comp=wl_registry_bind(r,id,&w |
| 3d4c0 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b 00 00 00 1e 20 20 | l_compositor_interface,4);...... |
| 3d4e0 | 65 6c 73 65 20 69 66 28 21 73 74 72 63 6d 70 28 69 2c 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 36 | else.if(!strcmp(i,"wl_shm"))...6 |
| 3d500 | 20 20 20 20 61 2d 3e 73 68 6d 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 | ....a->shm=wl_registry_bind(r,id |
| 3d520 | 2c 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 24 20 20 65 6c 73 65 | ,&wl_shm_interface,1);...$..else |
| 3d540 | 20 69 66 28 21 73 74 72 63 6d 70 28 69 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 7b 00 00 | .if(!strcmp(i,"xdg_wm_base")){.. |
| 3d560 | 00 3a 20 20 20 20 61 2d 3e 77 6d 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 | .:....a->wm=wl_registry_bind(r,i |
| 3d580 | 64 2c 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 3f | d,&xdg_wm_base_interface,1);...? |
| 3d5a0 | 20 20 20 20 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 | ....static.const.struct.xdg_wm_b |
| 3d5c0 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 3d 7b 2e 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b 00 | ase_listener.l={.ping=wm_ping};. |
| 3d5e0 | 00 00 29 20 20 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 | ..)....xdg_wm_base_add_listener( |
| 3d600 | 61 2d 3e 77 6d 2c 26 6c 2c 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0f | a->wm,&l,a);......}....}........ |
| 3d620 | 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 7b 00 00 00 13 20 20 73 74 72 75 63 74 20 61 70 70 20 | int.main(void){......struct.app. |
| 3d640 | 61 3d 7b 30 7d 3b 00 00 00 12 20 20 61 2e 77 3d 34 30 30 3b 61 2e 68 3d 34 30 30 3b 00 00 00 18 | a={0};......a.w=400;a.h=400;.... |
| 3d660 | 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 6f 6e 5f 73 69 67 29 3b 00 00 00 1f 20 20 61 2e | ..signal(SIGINT,on_sig);......a. |
| 3d680 | 64 3d 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 00 13 20 | d=wl_display_connect(NULL);..... |
| 3d6a0 | 20 69 66 28 21 61 2e 64 29 72 65 74 75 72 6e 20 31 3b 00 00 00 25 20 20 61 2e 72 65 67 3d 77 6c | .if(!a.d)return.1;...%..a.reg=wl |
| 3d6c0 | 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 43 20 | _display_get_registry(a.d);...C. |
| 3d6e0 | 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 | .static.const.struct.wl_registry |
| 3d700 | 5f 6c 69 73 74 65 6e 65 72 20 72 6c 3d 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f 67 6c 6f 62 61 6c | _listener.rl={.global=reg_global |
| 3d720 | 7d 3b 00 00 00 29 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 | };...)..wl_registry_add_listener |
| 3d740 | 28 61 2e 72 65 67 2c 26 72 6c 2c 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | (a.reg,&rl,&a);......wl_display_ |
| 3d760 | 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 25 20 20 69 66 28 21 61 2e 63 6f 6d 70 7c | roundtrip(a.d);...%..if(!a.comp| |
| 3d780 | 7c 21 61 2e 73 68 6d 7c 7c 21 61 2e 77 6d 29 72 65 74 75 72 6e 20 31 3b 00 00 00 2c 20 20 61 2e | |!a.shm||!a.wm)return.1;...,..a. |
| 3d7a0 | 77 73 3d 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 65 28 | ws=wl_compositor_create_surface( |
| 3d7c0 | 61 2e 63 6f 6d 70 29 3b 00 00 00 2e 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 | a.comp);......a.xs=xdg_wm_base_g |
| 3d7e0 | 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 43 20 20 | et_xdg_surface(a.wm,a.ws);...C.. |
| 3d800 | 73 74 61 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 | static.const.struct.xdg_surface_ |
| 3d820 | 6c 69 73 74 65 6e 65 72 20 78 73 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 73 5f 63 66 67 7d | listener.xsl={.configure=xs_cfg} |
| 3d840 | 3b 00 00 00 29 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ;...)..xdg_surface_add_listener( |
| 3d860 | 61 2e 78 73 2c 26 78 73 6c 2c 26 61 29 3b 00 00 00 26 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 | a.xs,&xsl,&a);...&..a.xt=xdg_sur |
| 3d880 | 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 54 20 20 73 74 | face_get_toplevel(a.xs);...T..st |
| 3d8a0 | 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 65 6c 5f 6c | atic.const.struct.xdg_toplevel_l |
| 3d8c0 | 69 73 74 65 6e 65 72 20 78 74 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 74 5f 63 66 67 2c 2e | istener.xtl={.configure=xt_cfg,. |
| 3d8e0 | 63 6c 6f 73 65 3d 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 | close=xt_close};...*..xdg_toplev |
| 3d900 | 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 26 78 74 6c 2c 26 61 29 3b 00 00 | el_add_listener(a.xt,&xtl,&a);.. |
| 3d920 | 00 29 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 61 2e 78 74 2c | .)..xdg_toplevel_set_title(a.xt, |
| 3d940 | 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d | "wlclock");......wl_surface_comm |
| 3d960 | 69 74 28 61 2e 77 73 29 3b 00 00 00 2f 20 20 77 68 69 6c 65 28 21 61 2e 63 6f 6e 66 69 67 75 72 | it(a.ws);.../..while(!a.configur |
| 3d980 | 65 64 29 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d | ed)wl_display_dispatch(a.d);.... |
| 3d9a0 | 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 36 20 20 69 6e 74 20 74 66 64 3d 74 69 6d 65 72 | ..render(&a);...6..int.tfd=timer |
| 3d9c0 | 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c | fd_create(CLOCK_MONOTONIC,TFD_CL |
| 3d9e0 | 4f 45 58 45 43 29 3b 00 00 00 40 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 | OEXEC);...@..timerfd_settime(tfd |
| 3da00 | 2c 30 2c 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 30 7d 2c 7b 31 | ,0,&(struct.itimerspec){{1,0},{1 |
| 3da20 | 2c 30 7d 7d 2c 4e 55 4c 4c 29 3b 00 00 00 11 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b | ,0}},NULL);......while(running){ |
| 3da40 | 00 00 00 2a 20 20 20 20 77 68 69 6c 65 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 | ...*....while(wl_display_prepare |
| 3da60 | 5f 72 65 61 64 28 61 2e 64 29 21 3d 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c | _read(a.d)!=0)...'......wl_displ |
| 3da80 | 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 | ay_dispatch_pending(a.d);....... |
| 3daa0 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 48 20 20 20 20 73 | .wl_display_flush(a.d);...H....s |
| 3dac0 | 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 3d 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 | truct.pollfd.fds[2]={{wl_display |
| 3dae0 | 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 50 4f 4c 4c 49 4e 7d 2c 7b 74 66 64 2c 50 4f 4c 4c 49 4e | _get_fd(a.d),POLLIN},{tfd,POLLIN |
| 3db00 | 7d 7d 3b 00 00 00 19 20 20 20 20 69 66 28 70 6f 6c 6c 28 66 64 73 2c 32 2c 2d 31 29 3c 30 29 7b | }};........if(poll(fds,2,-1)<0){ |
| 3db20 | 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 | ..."......wl_display_cancel_read |
| 3db40 | 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 | (a.d);..........continue;....... |
| 3db60 | 20 7d 00 00 00 1d 20 20 20 20 69 66 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c | .}........if(fds[0].revents&POLL |
| 3db80 | 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 | IN)..."......wl_display_read_eve |
| 3dba0 | 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 | nts(a.d);........else..."......w |
| 3dbc0 | 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 | l_display_cancel_read(a.d);...%. |
| 3dbe0 | 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 28 61 | ...wl_display_dispatch_pending(a |
| 3dc00 | 2e 64 29 3b 00 00 00 1e 20 20 20 20 69 66 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f | .d);........if(fds[1].revents&PO |
| 3dc20 | 4c 4c 49 4e 29 7b 00 00 00 11 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 3b 00 00 00 1d 20 | LLIN){..........uint64_t.t;..... |
| 3dc40 | 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 26 74 2c 73 69 7a 65 6f 66 28 74 29 29 3b 00 00 00 14 | .....read(tfd,&t,sizeof(t));.... |
| 3dc60 | 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ......a.redraw=true;........}... |
| 3dc80 | 1b 20 20 20 20 69 66 28 61 2e 72 65 64 72 61 77 29 72 65 6e 64 65 72 28 26 61 29 3b 35 81 f5 18 | .....if(a.redraw)render(&a);5... |
| 3dca0 | 00 00 00 00 1a 00 00 00 19 00 00 00 bc 00 00 00 10 00 00 00 df 00 00 00 06 00 00 00 33 02 00 00 | ............................3... |
| 3dcc0 | 00 00 00 00 c2 15 00 00 00 00 00 00 b1 19 00 00 00 00 00 00 35 81 5f d0 00 00 00 31 00 00 00 33 | ....................5._....1...3 |
| 3dce0 | 00 00 00 00 00 00 00 00 00 00 00 32 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ...........2.................... |
| 3dd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ddc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3dde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3de40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a3 bb 04 01 | ..........................i..... |
| 3de60 | 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 00 00 00 00 1f 23 64 65 66 69 | ...........................#defi |
| 3de80 | 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 | ne._POSIX_C_SOURCE.200809L...&#i |
| 3dea0 | 6e 63 6c 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 | nclude."xdg-shell-client-protoco |
| 3dec0 | 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 00 00 00 12 23 69 | l.h"....#include.<errno.h>....#i |
| 3dee0 | 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 | nclude.<fcntl.h>....#include.<ma |
| 3df00 | 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 | th.h>....#include.<poll.h>....#i |
| 3df20 | 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 | nclude.<signal.h>....#include.<s |
| 3df40 | 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e | tdbool.h>....#include.<stdint.h> |
| 3df60 | 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 75 | ....#include.<stdio.h>....#inclu |
| 3df80 | 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 73 74 72 69 6e | de.<stdlib.h>....#include.<strin |
| 3dfa0 | 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 | g.h>....#include.<sys/mman.h>... |
| 3dfc0 | 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e | .#include.<sys/timerfd.h>....#in |
| 3dfe0 | 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 | clude.<time.h>....#include.<unis |
| 3e000 | 74 64 2e 68 3e 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 | td.h>....#include.<wayland-clien |
| 3e020 | 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 | t.h>........#ifndef.M_PI...##def |
| 3e040 | 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 | ine.M_PI.3.14159265358979323846. |
| 3e060 | 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 | ...#endif....#ifndef.M_PI_2...%# |
| 3e080 | 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 | define.M_PI_2.1.5707963267948966 |
| 3e0a0 | 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c | 1923....#endif.......)static.vol |
| 3e0c0 | 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 | atile.sig_atomic_t.running.=.1;. |
| 3e0e0 | 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 | ...static.void.on_sig(int.s).{.. |
| 3e100 | 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 | ....(void)s;......running.=.0;.. |
| 3e120 | 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 | ..}........struct.app.{......str |
| 3e140 | 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 | uct.wl_display.*d;......struct.w |
| 3e160 | 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f | l_registry.*reg;......struct.wl_ |
| 3e180 | 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c | compositor.*comp;......struct.wl |
| 3e1a0 | 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 | _shm.*shm;......struct.xdg_wm_ba |
| 3e1c0 | 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a | se.*wm;......struct.wl_surface.* |
| 3e1e0 | 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b | ws;......struct.xdg_surface.*xs; |
| 3e200 | 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 | ......struct.xdg_toplevel.*xt;.. |
| 3e220 | 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c | ....void.*pixels;......struct.wl |
| 3e240 | 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d | _buffer.*buf;......int.w,.h;.... |
| 3e260 | 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 | ..int.bw,.bh;......bool.configur |
| 3e280 | 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 | ed;......bool.redraw;....};..... |
| 3e2a0 | 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 | ..Jstatic.void.wm_ping(void.*dat |
| 3e2c0 | 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 | a,.struct.xdg_wm_base.*wm,.uint3 |
| 3e2e0 | 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 | 2_t.serial).{......xdg_wm_base_p |
| 3e300 | 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 | ong(wm,.serial);....}.......$sta |
| 3e320 | 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 | tic.int.create_shm(size_t.size). |
| 3e340 | 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d | {...#..char.t[].=."/tmp/wlclock- |
| 3e360 | 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 | XXXXXX";......int.fd.=.mkstemp(t |
| 3e380 | 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 | );......if.(fd.<.0)........exit( |
| 3e3a0 | 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 | 1);......unlink(t);......if.(ftr |
| 3e3c0 | 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 | uncate(fd,.size).<.0)........exi |
| 3e3e0 | 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 | t(1);......return.fd;....}...... |
| 3e400 | 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 | .(static.void.destroy_buf(struct |
| 3e420 | 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b | .app.*a).{......if.(!a->buf).... |
| 3e440 | 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 | ....return;...*..size_t.size.=.( |
| 3e460 | 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 | size_t)a->bw.*.a->bh.*.4;......w |
| 3e480 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d | l_buffer_destroy(a->buf);......m |
| 3e4a0 | 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e | unmap(a->pixels,.size);......a-> |
| 3e4c0 | 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c | buf.=.NULL;......a->pixels.=.NUL |
| 3e4e0 | 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 | L;....}.......&static.void.alloc |
| 3e500 | 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 | _buf(struct.app.*a).{......destr |
| 3e520 | 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 | oy_buf(a);...(..size_t.size.=.(s |
| 3e540 | 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 | ize_t)a->w.*.a->h.*.4;......int. |
| 3e560 | 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 | fd.=.create_shm(size);...J..a->p |
| 3e580 | 69 78 65 6c 73 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 | ixels.=.mmap(NULL,.size,.PROT_RE |
| 3e5a0 | 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c | AD.|.PROT_WRITE,.MAP_SHARED,.fd, |
| 3e5c0 | 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 | .0);......if.(a->pixels.==.MAP_F |
| 3e5e0 | 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 | AILED)........exit(1);...B..stru |
| 3e600 | 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 | ct.wl_shm_pool.*pool.=.wl_shm_cr |
| 3e620 | 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 | eate_pool(a->shm,.fd,.size);...C |
| 3e640 | 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 | ..a->buf.=.wl_shm_pool_create_bu |
| 3e660 | 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a | ffer(pool,.0,.a->w,.a->h,.a->w.* |
| 3e680 | 20 34 2c 00 00 00 3d 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 | .4,...=......................... |
| 3e6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 | ............WL_SHM_FORMAT_ARGB88 |
| 3e6c0 | 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f | 88);......wl_shm_pool_destroy(po |
| 3e6e0 | 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 | ol);......close(fd);......a->bw. |
| 3e700 | 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 | =.a->w;......a->bh.=.a->h;....}. |
| 3e720 | 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 | ......Lstatic.void.line(uint32_t |
| 3e740 | 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 | .*px,.int.w,.int.h,.int.x0,.int. |
| 3e760 | 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 20 | y0,.int.x1,.int.y1,............. |
| 3e780 | 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 | ........uint32_t.c).{.../..int.d |
| 3e7a0 | 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f | x.=.abs(x1.-.x0),.sx.=.x0.<.x1.? |
| 3e7c0 | 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d | .1.:.-1;...0..int.dy.=.-abs(y1.- |
| 3e7e0 | 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 | .y0),.sy.=.y0.<.y1.?.1.:.-1;.... |
| 3e800 | 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 | ..int.err.=.dx.+.dy;......while. |
| 3e820 | 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c | (1).{.../....if.(x0.>=.0.&&.x0.< |
| 3e840 | 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 | .w.&&.y0.>=.0.&&.y0.<.h)........ |
| 3e860 | 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 | ..px[y0.*.w.+.x0].=.c;........if |
| 3e880 | 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 | .(x0.==.x1.&&.y0.==.y1)......... |
| 3e8a0 | 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b | .break;........int.e2.=.2.*.err; |
| 3e8c0 | 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 | ........if.(e2.>=.dy).{......... |
| 3e8e0 | 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 | .err.+=.dy;..........x0.+=.sx;.. |
| 3e900 | 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 | ......}........if.(e2.<=.dx).{.. |
| 3e920 | 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b | ........err.+=.dx;..........y0.+ |
| 3e940 | 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | =.sy;........}......}....}...... |
| 3e960 | 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 | .Estatic.void.circle(uint32_t.*p |
| 3e980 | 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c | x,.int.w,.int.h,.int.cx,.int.cy, |
| 3e9a0 | 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 | .int.r,.......................ui |
| 3e9c0 | 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 | nt32_t.c).{..."..int.x.=.0,.y.=. |
| 3e9e0 | 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 | r,.d.=.3.-.2.*.r;......while.(y. |
| 3ea00 | 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 | >=.x).{...H....int.p[8][2].=.{{c |
| 3ea20 | 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d | x.+.x,.cy.+.y},.{cx.-.x,.cy.+.y} |
| 3ea40 | 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 | ,.{cx.+.x,.cy.-.y},...H......... |
| 3ea60 | 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 | ..........{cx.-.x,.cy.-.y},.{cx. |
| 3ea80 | 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 | +.y,.cy.+.x},.{cx.-.y,.cy.+.x},. |
| 3eaa0 | 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 | ..7...................{cx.+.y,.c |
| 3eac0 | 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 | y.-.x},.{cx.-.y,.cy.-.x}};...... |
| 3eae0 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 | ..for.(int.i.=.0;.i.<.8;.i++)... |
| 3eb00 | 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b | E......if.(p[i][0].>=.0.&&.p[i][ |
| 3eb20 | 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 | 0].<.w.&&.p[i][1].>=.0.&&.p[i][1 |
| 3eb40 | 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 | ].<.h)...&........px[p[i][1].*.w |
| 3eb60 | 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 | .+.p[i][0]].=.c;........if.(d.>. |
| 3eb80 | 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b | 0).{..........d.+=.4.*.(x.-.y).+ |
| 3eba0 | 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 | .10;..........y--;........}.else |
| 3ebc0 | 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 | ..........d.+=.4.*.x.+.6;....... |
| 3ebe0 | 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 | .x++;......}....}.......#static. |
| 3ec00 | 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f | void.render(struct.app.*a).{.../ |
| 3ec20 | 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 | ..if.(!a->configured.||.a->w.<=. |
| 3ec40 | 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | 0.||.a->h.<=.0)........return;.. |
| 3ec60 | 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 | ....if.(!a->buf)........alloc_bu |
| 3ec80 | 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 | f(a);......uint32_t.*px.=.a->pix |
| 3eca0 | 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 | els;...$..memset(px,.0xFF,.a->w. |
| 3ecc0 | 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 | *.a->h.*.4);......time_t.tt.=.ti |
| 3ece0 | 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 | me(NULL);......struct.tm.tmv;... |
| 3ed00 | 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 | ...localtime_r(&tt,.&tmv);...#.. |
| 3ed20 | 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 | int.cx.=.a->w./.2,.cy.=.a->h./.2 |
| 3ed40 | 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d | ;.../..int.r.=.(a->w.<.a->h.?.a- |
| 3ed60 | 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 | >w.:.a->h)./.2.-.10;......if.(r. |
| 3ed80 | 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 30 20 20 63 69 72 63 6c 65 28 70 | <.5)........r.=.5;...0..circle(p |
| 3eda0 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 | x,.a->w,.a->h,.cx,.cy,.r,.0xFF00 |
| 3edc0 | 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 | 0000);......for.(int.i.=.0;.i.<. |
| 3ede0 | 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 | 12;.i++).{........double.ang.=.i |
| 3ee00 | 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4c | ./.12.0.*.2.*.M_PI.-.M_PI_2;...L |
| 3ee20 | 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f | ....line(px,.a->w,.a->h,.cx.+.co |
| 3ee40 | 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 | s(ang).*.(r.-.10),.cy.+.sin(ang) |
| 3ee60 | 20 2a 20 28 72 20 2d 20 31 30 29 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f | .*.(r.-.10),...G.........cx.+.co |
| 3ee80 | 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 | s(ang).*.(r.-.2),.cy.+.sin(ang). |
| 3eea0 | 2a 20 28 72 20 2d 20 32 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 | *.(r.-.2),.0xFF000000);......}.. |
| 3eec0 | 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e | .4..double.sa.=.tmv.tm_sec./.60. |
| 3eee0 | 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 | 0.*.2.*.M_PI.-.M_PI_2;...J..doub |
| 3ef00 | 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 | le.ma.=.(tmv.tm_min.+.tmv.tm_sec |
| 3ef20 | 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 | ./.60.0)./.60.0.*.2.*.M_PI.-.M_P |
| 3ef40 | 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 20 20 20 28 | I_2;......double.ha.=...L......( |
| 3ef60 | 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e | (tmv.tm_hour.%.12).+.(tmv.tm_min |
| 3ef80 | 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f | ./.60.0))./.12.0.*.2.*.M_PI.-.M_ |
| 3efa0 | 50 49 5f 32 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | PI_2;...N..line(px,.a->w,.a->h,. |
| 3efc0 | 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 | cx,.cy,.cx.+.cos(ha).*.r.*.0.5,. |
| 3efe0 | 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 00 00 00 13 20 20 20 20 20 | cy.+.sin(ha).*.r.*.0.5,......... |
| 3f000 | 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | ..0xFF000000);...N..line(px,.a-> |
| 3f020 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 | w,.a->h,.cx,.cy,.cx.+.cos(ma).*. |
| 3f040 | 72 20 2a 20 30 2e 37 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c | r.*.0.7,.cy.+.sin(ma).*.r.*.0.7, |
| 3f060 | 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e 20 20 6c 69 6e | ...........0xFF000000);...N..lin |
| 3f080 | 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 | e(px,.a->w,.a->h,.cx,.cy,.cx.+.c |
| 3f0a0 | 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a | os(sa).*.r.*.0.9,.cy.+.sin(sa).* |
| 3f0c0 | 20 72 20 2a 20 30 2e 39 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 46 46 30 30 30 30 29 3b | .r.*.0.9,...........0xFFFF0000); |
| 3f0e0 | 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 | ...)..wl_surface_attach(a->ws,.a |
| 3f100 | 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 | ->buf,.0,.0);...4..wl_surface_da |
| 3f120 | 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 | mage_buffer(a->ws,.0,.0,.a->w,.a |
| 3f140 | 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e | ->h);......wl_surface_commit(a-> |
| 3f160 | 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 | ws);......a->redraw.=.false;.... |
| 3f180 | 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f | }.......Gstatic.void.xt_close(vo |
| 3f1a0 | 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 | id.*d,.struct.xdg_toplevel.*xt). |
| 3f1c0 | 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 | {.running.=.0;.}.......Jstatic.v |
| 3f1e0 | 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 | oid.xt_cfg(void.*d,.struct.xdg_t |
| 3f200 | 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 | oplevel.*xt,.int32_t.w,.int32_t. |
| 3f220 | 68 2c 00 00 00 28 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 | h,...(...................struct. |
| 3f240 | 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | wl_array.*s).{......struct.app.* |
| 3f260 | 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 | a.=.d;...3..if.(w.>.0.&&.h.>.0.& |
| 3f280 | 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 | &.(w.!=.a->w.||.h.!=.a->h)).{... |
| 3f2a0 | 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 | .....a->w.=.w;........a->h.=.h;. |
| 3f2c0 | 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d | .......destroy_buf(a);........a- |
| 3f2e0 | 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | >redraw.=.true;......}....}..... |
| 3f300 | 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 | ..Fstatic.void.xs_cfg(void.*d,.s |
| 3f320 | 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 6e 74 33 32 5f 74 20 | truct.xdg_surface.*xs,.uint32_t. |
| 3f340 | 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | serial).{......struct.app.*a.=.d |
| 3f360 | 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 | ;...(..xdg_surface_ack_configure |
| 3f380 | 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | (xs,.serial);......a->configured |
| 3f3a0 | 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 | .=.true;......a->redraw.=.true;. |
| 3f3c0 | 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 | ...}.......Cstatic.void.reg_glob |
| 3f3e0 | 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a | al(void.*d,.struct.wl_registry.* |
| 3f400 | 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 | r,.uint32_t.id,...3............. |
| 3f420 | 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f | ..........const.char.*i,.uint32_ |
| 3f440 | 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | t.v).{......struct.app.*a.=.d;.. |
| 3f460 | 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | ."..if.(!strcmp(i,."wl_composito |
| 3f480 | 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | r"))...C....a->comp.=.wl_registr |
| 3f4a0 | 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 | y_bind(r,.id,.&wl_compositor_int |
| 3f4c0 | 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | erface,.4);......else.if.(!strcm |
| 3f4e0 | 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 | p(i,."wl_shm"))...;....a->shm.=. |
| 3f500 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f | wl_registry_bind(r,.id,.&wl_shm_ |
| 3f520 | 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 | interface,.1);...'..else.if.(!st |
| 3f540 | 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 | rcmp(i,."xdg_wm_base")).{...?... |
| 3f560 | 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c | .a->wm.=.wl_registry_bind(r,.id, |
| 3f580 | 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 00 00 43 | .&xdg_wm_base_interface,.1);...C |
| 3f5a0 | 20 20 20 20 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 | ....static.const.struct.xdg_wm_b |
| 3f5c0 | 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e | ase_listener.l.=.{.ping.=.wm_pin |
| 3f5e0 | 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 | g};...+....xdg_wm_base_add_liste |
| 3f600 | 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 | ner(a->wm,.&l,.a);......}....}.. |
| 3f620 | 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 | ......int.main(void).{......stru |
| 3f640 | 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 | ct.app.a.=.{0};......a.w.=.400;. |
| 3f660 | 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 | .....a.h.=.400;......signal(SIGI |
| 3f680 | 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c | NT,.on_sig);...!..a.d.=.wl_displ |
| 3f6a0 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 | ay_connect(NULL);......if.(!a.d) |
| 3f6c0 | 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 | ........return.1;...'..a.reg.=.w |
| 3f6e0 | 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 | l_display_get_registry(a.d);...G |
| 3f700 | 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | ..static.const.struct.wl_registr |
| 3f720 | 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 | y_listener.rl.=.{.global.=.reg_g |
| 3f740 | 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 | lobal};...+..wl_registry_add_lis |
| 3f760 | 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 | tener(a.reg,.&rl,.&a);......wl_d |
| 3f780 | 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 | isplay_roundtrip(a.d);...!..if.( |
| 3f7a0 | 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 | !a.comp.||.!a.shm.||.!a.wm)..... |
| 3f7c0 | 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 | ...return.1;......a.ws.=.wl_comp |
| 3f7e0 | 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 | ositor_create_surface(a.comp);.. |
| 3f800 | 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 | .1..a.xs.=.xdg_wm_base_get_xdg_s |
| 3f820 | 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 | urface(a.wm,.a.ws);...G..static. |
| 3f840 | 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 74 65 6e 65 | const.struct.xdg_surface_listene |
| 3f860 | 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 | r.xsl.=.{.configure.=.xs_cfg};.. |
| 3f880 | 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 | .+..xdg_surface_add_listener(a.x |
| 3f8a0 | 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 | s,.&xsl,.&a);...(..a.xt.=.xdg_su |
| 3f8c0 | 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 | rface_get_toplevel(a.xs);...G..s |
| 3f8e0 | 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 65 6c 5f | tatic.const.struct.xdg_toplevel_ |
| 3f900 | 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f | listener.xtl.=.{.configure.=.xt_ |
| 3f920 | 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cfg,...F........................ |
| 3f940 | 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 2e 63 6c 6f 73 | ............................clos |
| 3f960 | 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | e.=.xt_close};...,..xdg_toplevel |
| 3f980 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 | _add_listener(a.xt,.&xtl,.&a);.. |
| 3f9a0 | 00 2a 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 61 2e 78 74 2c | .*..xdg_toplevel_set_title(a.xt, |
| 3f9c0 | 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | ."wlclock");......wl_surface_com |
| 3f9e0 | 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 | mit(a.ws);......while.(!a.config |
| 3fa00 | 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | ured)........wl_display_dispatch |
| 3fa20 | 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 | (a.d);......render(&a);...9..int |
| 3fa40 | 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f | .tfd.=.timerfd_create(CLOCK_MONO |
| 3fa60 | 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 | TONIC,.TFD_CLOEXEC);...F..timerf |
| 3fa80 | 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 | d_settime(tfd,.0,.&(struct.itime |
| 3faa0 | 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 | rspec){{1,.0},.{1,.0}},.NULL);.. |
| 3fac0 | 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 | ....while.(running).{...-....whi |
| 3fae0 | 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 61 64 28 61 2e 64 29 | le.(wl_display_prepare_read(a.d) |
| 3fb00 | 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | .!=.0)...'......wl_display_dispa |
| 3fb20 | 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 | tch_pending(a.d);........wl_disp |
| 3fb40 | 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f | lay_flush(a.d);...M....struct.po |
| 3fb60 | 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 | llfd.fds[2].=.{{wl_display_get_f |
| 3fb80 | 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b | d(a.d),.POLLIN},.{tfd,.POLLIN}}; |
| 3fba0 | 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 | ........if.(poll(fds,.2,.-1).<.0 |
| 3fbc0 | 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 | ).{..."......wl_display_cancel_r |
| 3fbe0 | 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 | ead(a.d);..........continue;.... |
| 3fc00 | 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 | ....}........if.(fds[0].revents. |
| 3fc20 | 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 | &.POLLIN)..."......wl_display_re |
| 3fc40 | 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 | ad_events(a.d);........else...". |
| 3fc60 | 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 | .....wl_display_cancel_read(a.d) |
| 3fc80 | 3b 00 00 00 25 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 | ;...%....wl_display_dispatch_pen |
| 3fca0 | 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 | ding(a.d);..."....if.(fds[1].rev |
| 3fcc0 | 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 11 20 20 20 20 20 20 75 69 6e 74 36 34 | ents.&.POLLIN).{..........uint64 |
| 3fce0 | 5f 74 20 74 3b 00 00 00 1f 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 2c 20 73 69 7a | _t.t;..........read(tfd,.&t,.siz |
| 3fd00 | 65 6f 66 28 74 29 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 | eof(t));..........a.redraw.=.tru |
| 3fd20 | 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 | e;........}........if.(a.redraw) |
| 3fd40 | 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0d | ..........render(&a);......}.... |
| 3fd60 | 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 | ..close(tfd);......destroy_buf(& |
| 3fd80 | 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 | a);......wl_display_disconnect(a |
| 3fda0 | 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 | .d);......return.0;....}5....... |
| 3fdc0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fde0 | 41 1c 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 32 00 00 00 34 00 00 00 00 | A...............5._....2...4.... |
| 3fe00 | 00 00 00 00 00 00 00 33 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 | .......3........................ |
| 3fe20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fe40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fe60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fe80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3fee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ff00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ff20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ff40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3ff60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a3 bc 04 01 00 00 00 00 | ......................i......... |
| 3ff80 | 00 f5 18 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 dd 00 00 | .......................}........ |
| 3ffa0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 c4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 22 | ..............................." |
| 3ffc0 | 20 20 20 20 77 68 69 6c 65 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 | ....while(wl_display_prepare_rea |
| 3ffe0 | 64 28 f5 18 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 87 00 00 00 00 00 00 | d(.............................. |
| 40000 | 00 00 00 00 00 01 00 00 00 09 20 20 77 6c 5f 73 75 72 66 f5 18 00 00 00 88 00 00 00 00 00 00 00 | ............wl_surf............. |
| 40020 | 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 f5 18 00 00 00 | ................................ |
| 40040 | 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 00 00 00 00 00 | .............5.................. |
| 40060 | 00 00 00 00 00 87 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 | ................................ |
| 40080 | 00 00 00 00 00 f5 18 00 00 00 00 87 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 3d 00 00 00 22 | ...........................=..." |
| 400a0 | 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 400c0 | 00 c4 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 18 00 00 00 01 00 00 00 00 16 00 00 00 00 00 | .....".......................... |
| 400e0 | 00 00 00 00 00 00 00 00 00 51 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 33 00 00 00 35 00 00 00 | .........Q.......5._....3...5... |
| 40100 | 00 00 00 00 00 00 00 00 34 00 00 00 dd 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ........4....................... |
| 40120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 401a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 401c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 401e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a3 bc 04 01 00 00 00 | .......................i........ |
| 40280 | 15 00 f5 18 00 00 00 1a 00 00 00 fb 00 00 00 dd 00 00 00 bd 00 00 00 2d 73 74 61 74 69 63 20 76 | .......................-static.v |
| 402a0 | 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 7b 28 76 6f 69 64 29 73 3b 72 75 6e 6e 69 6e | oid.on_sig(int.s){(void)s;runnin |
| 402c0 | 67 3d 30 3b 7d 00 00 00 00 00 00 00 0b 73 74 72 75 63 74 20 61 70 70 7b 00 00 00 16 20 20 73 74 | g=0;}........struct.app{......st |
| 402e0 | 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 2a 64 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 77 | ruct.wl_display*d;......struct.w |
| 40300 | 6c 5f 72 65 67 69 73 74 72 79 2a 72 65 67 3b 00 00 00 1c 20 20 73 74 72 75 63 74 20 77 6c 5f 63 | l_registry*reg;......struct.wl_c |
| 40320 | 6f 6d 70 6f 73 69 74 6f 72 2a 63 6f 6d 70 3b 00 00 00 14 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | ompositor*comp;......struct.wl_s |
| 40340 | 68 6d 2a 73 68 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 2a | hm*shm;......struct.xdg_wm_base* |
| 40360 | 77 6d 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 2a 77 73 3b 00 00 | wm;......struct.wl_surface*ws;.. |
| 40380 | 00 18 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 2a 78 73 3b 00 00 00 19 20 20 | ....struct.xdg_surface*xs;...... |
| 403a0 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 3b 00 00 00 0e 20 20 76 6f 69 | struct.xdg_toplevel*xt;......voi |
| 403c0 | 64 2a 70 69 78 65 6c 73 3b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 2a | d*pixels;......struct.wl_buffer* |
| 403e0 | 62 75 66 3b 00 00 00 0a 20 20 69 6e 74 20 77 2c 68 3b 00 00 00 0c 20 20 69 6e 74 20 62 77 2c 62 | buf;......int.w,h;......int.bw,b |
| 40400 | 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f | h;......bool.configured;......bo |
| 40420 | 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 | ol.redraw;....};.......Estatic.v |
| 40440 | 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 2a 64 61 74 61 2c 73 74 72 75 63 74 20 78 64 67 | oid.wm_ping(void*data,struct.xdg |
| 40460 | 5f 77 6d 5f 62 61 73 65 2a 77 6d 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 7b 00 00 00 | _wm_base*wm,uint32_t.serial){... |
| 40480 | 1e 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 73 65 72 69 61 6c 29 3b 00 | ...xdg_wm_base_pong(wm,serial);. |
| 404a0 | 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 | ...}.......#static.int.create_sh |
| 404c0 | 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 7b 00 00 00 21 20 20 63 68 61 72 20 74 5b 5d 3d 22 2f | m(size_t.size){...!..char.t[]="/ |
| 404e0 | 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 14 20 20 69 6e 74 20 66 64 | tmp/wlclock-XXXXXX";......int.fd |
| 40500 | 3d 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 12 20 20 69 66 28 66 64 3c 30 29 65 78 69 74 28 31 | =mkstemp(t);......if(fd<0)exit(1 |
| 40520 | 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 22 20 20 69 66 28 66 74 72 75 6e | );......unlink(t);..."..if(ftrun |
| 40540 | 63 61 74 65 28 66 64 2c 73 69 7a 65 29 3c 30 29 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 | cate(fd,size)<0)exit(1);......re |
| 40560 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 | turn.fd;....}.......&static.void |
| 40580 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 14 20 | .destroy_buf(struct.app*a){..... |
| 405a0 | 20 69 66 28 21 61 2d 3e 62 75 66 29 72 65 74 75 72 6e 3b 00 00 00 24 20 20 73 69 7a 65 5f 74 20 | .if(!a->buf)return;...$..size_t. |
| 405c0 | 73 69 7a 65 3d 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 2a 61 2d 3e 62 68 2a 34 3b 00 00 00 1c 20 | size=(size_t)a->bw*a->bh*4;..... |
| 405e0 | 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 19 20 | .wl_buffer_destroy(a->buf);..... |
| 40600 | 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 73 69 7a 65 29 3b 00 00 00 0e 20 20 61 2d | .munmap(a->pixels,size);......a- |
| 40620 | 3e 62 75 66 3d 4e 55 4c 4c 3b 00 00 00 11 20 20 61 2d 3e 70 69 78 65 6c 73 3d 4e 55 4c 4c 3b 00 | >buf=NULL;......a->pixels=NULL;. |
| 40640 | 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 | ...}.......$static.void.alloc_bu |
| 40660 | 66 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 | f(struct.app*a){......destroy_bu |
| 40680 | 66 28 61 29 3b 00 00 00 22 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 3d 28 73 69 7a 65 5f 74 29 61 | f(a);..."..size_t.size=(size_t)a |
| 406a0 | 2d 3e 77 2a 61 2d 3e 68 2a 34 3b 00 00 00 1a 20 20 69 6e 74 20 66 64 3d 63 72 65 61 74 65 5f 73 | ->w*a->h*4;......int.fd=create_s |
| 406c0 | 68 6d 28 73 69 7a 65 29 3b 00 00 00 41 20 20 61 2d 3e 70 69 78 65 6c 73 3d 6d 6d 61 70 28 4e 55 | hm(size);...A..a->pixels=mmap(NU |
| 406e0 | 4c 4c 2c 73 69 7a 65 2c 50 52 4f 54 5f 52 45 41 44 7c 50 52 4f 54 5f 57 52 49 54 45 2c 4d 41 50 | LL,size,PROT_READ|PROT_WRITE,MAP |
| 40700 | 5f 53 48 41 52 45 44 2c 66 64 2c 30 29 3b 00 00 00 23 20 20 69 66 28 61 2d 3e 70 69 78 65 6c 73 | _SHARED,fd,0);...#..if(a->pixels |
| 40720 | 3d 3d 4d 41 50 5f 46 41 49 4c 45 44 29 65 78 69 74 28 31 29 3b 00 00 00 3d 20 20 73 74 72 75 63 | ==MAP_FAILED)exit(1);...=..struc |
| 40740 | 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 2a 70 6f 6f 6c 3d 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 | t.wl_shm_pool*pool=wl_shm_create |
| 40760 | 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 66 64 2c 73 69 7a 65 29 3b 00 00 00 53 20 20 61 2d 3e 62 | _pool(a->shm,fd,size);...S..a->b |
| 40780 | 75 66 3d 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f | uf=wl_shm_pool_create_buffer(poo |
| 407a0 | 6c 2c 30 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 61 2d 3e 77 2a 34 2c 57 4c 5f 53 48 4d 5f 46 4f 52 4d | l,0,a->w,a->h,a->w*4,WL_SHM_FORM |
| 407c0 | 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 | AT_ARGB8888);......wl_shm_pool_d |
| 407e0 | 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 | estroy(pool);......close(fd);... |
| 40800 | 0d 20 20 61 2d 3e 62 77 3d 61 2d 3e 77 3b 00 00 00 0d 20 20 61 2d 3e 62 68 3d 61 2d 3e 68 3b 00 | ...a->bw=a->w;......a->bh=a->h;. |
| 40820 | 00 00 01 7d 00 00 00 00 00 00 00 51 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e | ...}.......Qstatic.void.line(uin |
| 40840 | 74 33 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 6e 74 20 78 30 2c 69 6e 74 20 | t32_t*px,int.w,int.h,int.x0,int. |
| 40860 | 79 30 2c 69 6e 74 20 78 31 2c 69 6e 74 20 79 31 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 | y0,int.x1,int.y1,uint32_t.c){... |
| 40880 | 22 20 20 69 6e 74 20 64 78 3d 61 62 73 28 78 31 2d 78 30 29 2c 73 78 3d 78 30 3c 78 31 3f 31 3a | "..int.dx=abs(x1-x0),sx=x0<x1?1: |
| 408a0 | 2d 31 3b 00 00 00 23 20 20 69 6e 74 20 64 79 3d 2d 61 62 73 28 79 31 2d 79 30 29 2c 73 79 3d 79 | -1;...#..int.dy=-abs(y1-y0),sy=y |
| 408c0 | 30 3c 79 31 3f 31 3a 2d 31 3b 00 00 00 10 20 20 69 6e 74 20 65 72 72 3d 64 78 2b 64 79 3b 00 00 | 0<y1?1:-1;......int.err=dx+dy;.. |
| 408e0 | 00 0b 20 20 77 68 69 6c 65 28 31 29 7b 00 00 00 2e 20 20 20 20 69 66 28 78 30 3e 3d 30 26 26 78 | ....while(1){........if(x0>=0&&x |
| 40900 | 30 3c 77 26 26 79 30 3e 3d 30 26 26 79 30 3c 68 29 70 78 5b 79 30 2a 77 2b 78 30 5d 3d 63 3b 00 | 0<w&&y0>=0&&y0<h)px[y0*w+x0]=c;. |
| 40920 | 00 00 1c 20 20 20 20 69 66 28 78 30 3d 3d 78 31 26 26 79 30 3d 3d 79 31 29 62 72 65 61 6b 3b 00 | .......if(x0==x1&&y0==y1)break;. |
| 40940 | 00 00 11 20 20 20 20 69 6e 74 20 65 32 3d 32 2a 65 72 72 3b 00 00 00 1f 20 20 20 20 69 66 28 65 | .......int.e2=2*err;........if(e |
| 40960 | 32 3e 3d 64 79 29 7b 65 72 72 2b 3d 64 79 3b 78 30 2b 3d 73 78 3b 7d 00 00 00 1f 20 20 20 20 69 | 2>=dy){err+=dy;x0+=sx;}........i |
| 40980 | 66 28 65 32 3c 3d 64 78 29 7b 65 72 72 2b 3d 64 78 3b 79 30 2b 3d 73 79 3b 7d 00 00 00 03 20 20 | f(e2<=dx){err+=dx;y0+=sy;}...... |
| 409a0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 4b 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 | }....}.......Kstatic.void.circle |
| 409c0 | 28 75 69 6e 74 33 32 5f 74 2a 70 78 2c 69 6e 74 20 77 2c 69 6e 74 20 68 2c 69 6e 74 20 63 78 2c | (uint32_t*px,int.w,int.h,int.cx, |
| 409e0 | 69 6e 74 20 63 79 2c 69 6e 74 20 72 2c 75 69 6e 74 33 32 5f 74 20 63 29 7b 00 00 00 16 20 20 69 | int.cy,int.r,uint32_t.c){......i |
| 40a00 | 6e 74 20 78 3d 30 2c 79 3d 72 2c 64 3d 33 2d 32 2a 72 3b 00 00 00 0e 20 20 77 68 69 6c 65 28 79 | nt.x=0,y=r,d=3-2*r;......while(y |
| 40a20 | 3e 3d 78 29 7b 00 00 00 41 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 3d 7b 7b 63 78 2b 78 2c | >=x){...A....int.p[8][2]={{cx+x, |
| 40a40 | 63 79 2b 79 7d 2c 7b 63 78 2d 78 2c 63 79 2b 79 7d 2c 7b 63 78 2b 78 2c 63 79 2d 79 7d 2c 7b 63 | cy+y},{cx-x,cy+y},{cx+x,cy-y},{c |
| 40a60 | 78 2d 78 2c 63 79 2d 79 7d 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b | x-x,cy-y},...B.................{ |
| 40a80 | 63 78 2b 79 2c 63 79 2b 78 7d 2c 7b 63 78 2d 79 2c 63 79 2b 78 7d 2c 7b 63 78 2b 79 2c 63 79 2d | cx+y,cy+x},{cx-y,cy+x},{cx+y,cy- |
| 40aa0 | 78 7d 2c 7b 63 78 2d 79 2c 63 79 2d 78 7d 7d 3b 00 00 00 18 20 20 20 20 66 6f 72 28 69 6e 74 20 | x},{cx-y,cy-x}};........for(int. |
| 40ac0 | 69 3d 30 3b 69 3c 38 3b 69 2b 2b 29 00 00 00 36 20 20 20 20 20 20 69 66 28 70 5b 69 5d 5b 30 5d | i=0;i<8;i++)...6......if(p[i][0] |
| 40ae0 | 3e 3d 30 26 26 70 5b 69 5d 5b 30 5d 3c 77 26 26 70 5b 69 5d 5b 31 5d 3e 3d 30 26 26 70 5b 69 5d | >=0&&p[i][0]<w&&p[i][1]>=0&&p[i] |
| 40b00 | 5b 31 5d 3c 68 29 00 00 00 20 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 2a 77 2b 70 | [1]<h)............px[p[i][1]*w+p |
| 40b20 | 5b 69 5d 5b 30 5d 5d 3d 63 3b 00 00 00 2d 20 20 20 20 69 66 28 64 3e 30 29 7b 64 2b 3d 34 2a 28 | [i][0]]=c;...-....if(d>0){d+=4*( |
| 40b40 | 78 2d 79 29 2b 31 30 3b 79 2d 2d 3b 7d 65 6c 73 65 20 64 2b 3d 34 2a 78 2b 36 3b 00 00 00 08 20 | x-y)+10;y--;}else.d+=4*x+6;..... |
| 40b60 | 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 21 73 74 61 74 69 | ...x++;......}....}.......!stati |
| 40b80 | 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 2a 61 29 7b 00 00 00 2d | c.void.render(struct.app*a){...- |
| 40ba0 | 20 20 69 66 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 7c 7c 61 2d 3e 77 3c 3d 30 7c 7c 61 2d | ..if(!a->configured||a->w<=0||a- |
| 40bc0 | 3e 68 3c 3d 30 29 72 65 74 75 72 6e 3b 00 00 00 1a 20 20 69 66 28 21 61 2d 3e 62 75 66 29 61 6c | >h<=0)return;......if(!a->buf)al |
| 40be0 | 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 18 20 20 75 69 6e 74 33 32 5f 74 2a 70 78 3d 61 2d 3e | loc_buf(a);......uint32_t*px=a-> |
| 40c00 | 70 69 78 65 6c 73 3b 00 00 00 1e 20 20 6d 65 6d 73 65 74 28 70 78 2c 30 78 46 46 2c 61 2d 3e 77 | pixels;......memset(px,0xFF,a->w |
| 40c20 | 2a 61 2d 3e 68 2a 34 29 3b 00 00 00 17 20 20 74 69 6d 65 5f 74 20 74 74 3d 74 69 6d 65 28 4e 55 | *a->h*4);......time_t.tt=time(NU |
| 40c40 | 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 18 20 20 6c 6f | LL);......struct.tm.tmv;......lo |
| 40c60 | 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 26 74 6d 76 29 3b 00 00 00 1a 20 20 69 6e 74 20 63 78 | caltime_r(&tt,&tmv);......int.cx |
| 40c80 | 3d 61 2d 3e 77 2f 32 2c 63 79 3d 61 2d 3e 68 2f 32 3b 00 00 00 23 20 20 69 6e 74 20 72 3d 28 61 | =a->w/2,cy=a->h/2;...#..int.r=(a |
| 40ca0 | 2d 3e 77 3c 61 2d 3e 68 3f 61 2d 3e 77 3a 61 2d 3e 68 29 2f 32 2d 31 30 3b 00 00 00 0d 20 20 69 | ->w<a->h?a->w:a->h)/2-10;......i |
| 40cc0 | 66 28 72 3c 35 29 72 3d 35 3b 00 00 00 2a 20 20 63 69 72 63 6c 65 28 70 78 2c 61 2d 3e 77 2c 61 | f(r<5)r=5;...*..circle(px,a->w,a |
| 40ce0 | 2d 3e 68 2c 63 78 2c 63 79 2c 72 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 18 20 20 66 6f | ->h,cx,cy,r,0xFF000000);......fo |
| 40d00 | 72 28 69 6e 74 20 69 3d 30 3b 69 3c 31 32 3b 69 2b 2b 29 7b 00 00 00 24 20 20 20 20 64 6f 75 62 | r(int.i=0;i<12;i++){...$....doub |
| 40d20 | 6c 65 20 61 6e 67 3d 69 2f 31 32 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 16 | le.ang=i/12.0*2*M_PI-M_PI_2;.... |
| 40d40 | 20 20 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 00 00 00 1c 20 20 20 20 20 20 | ....line(px,a->w,a->h,.......... |
| 40d60 | 20 20 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c 00 00 00 1c 20 20 20 20 20 20 | ...cx+cos(ang)*(r-10),.......... |
| 40d80 | 20 20 20 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 31 30 29 2c 00 00 00 1b 20 20 20 20 20 20 | ...cy+sin(ang)*(r-10),.......... |
| 40da0 | 20 20 20 63 78 2b 63 6f 73 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 00 1b 20 20 20 20 20 20 20 | ...cx+cos(ang)*(r-2),........... |
| 40dc0 | 20 20 63 79 2b 73 69 6e 28 61 6e 67 29 2a 28 72 2d 32 29 2c 00 00 00 15 20 20 20 20 20 20 20 20 | ..cy+sin(ang)*(r-2),............ |
| 40de0 | 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 2a 20 20 64 6f 75 62 6c 65 | .0xFF000000);......}...*..double |
| 40e00 | 20 73 61 3d 74 6d 76 2e 74 6d 5f 73 65 63 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f | .sa=tmv.tm_sec/60.0*2*M_PI-M_PI_ |
| 40e20 | 32 3b 00 00 00 3c 20 20 64 6f 75 62 6c 65 20 6d 61 3d 28 74 6d 76 2e 74 6d 5f 6d 69 6e 2b 74 6d | 2;...<..double.ma=(tmv.tm_min+tm |
| 40e40 | 76 2e 74 6d 5f 73 65 63 2f 36 30 2e 30 29 2f 36 30 2e 30 2a 32 2a 4d 5f 50 49 2d 4d 5f 50 49 5f | v.tm_sec/60.0)/60.0*2*M_PI-M_PI_ |
| 40e60 | 32 3b 00 00 00 44 20 20 64 6f 75 62 6c 65 20 68 61 3d 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 25 | 2;...D..double.ha=((tmv.tm_hour% |
| 40e80 | 31 32 29 2b 28 74 6d 76 2e 74 6d 5f 6d 69 6e 2f 36 30 2e 30 29 29 2f 31 32 2e 30 2a 32 2a 4d 5f | 12)+(tmv.tm_min/60.0))/12.0*2*M_ |
| 40ea0 | 50 49 2d 4d 5f 50 49 5f 32 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e | PI-M_PI_2;...H..line(px,a->w,a-> |
| 40ec0 | 68 2c 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 2c 63 79 2b 73 69 6e 28 | h,cx,cy,cx+cos(ha)*r*0.5,cy+sin( |
| 40ee0 | 68 61 29 2a 72 2a 30 2e 35 2c 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 48 20 20 6c 69 6e 65 | ha)*r*0.5,0xFF000000);...H..line |
| 40f00 | 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c 63 78 2b 63 6f 73 28 6d 61 29 2a 72 | (px,a->w,a->h,cx,cy,cx+cos(ma)*r |
| 40f20 | 2a 30 2e 37 2c 63 79 2b 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 37 2c 30 78 46 46 30 30 30 30 30 30 | *0.7,cy+sin(ma)*r*0.7,0xFF000000 |
| 40f40 | 29 3b 00 00 00 48 20 20 6c 69 6e 65 28 70 78 2c 61 2d 3e 77 2c 61 2d 3e 68 2c 63 78 2c 63 79 2c | );...H..line(px,a->w,a->h,cx,cy, |
| 40f60 | 63 78 2b 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 2c 63 79 2b 73 69 6e 28 73 61 29 2a 72 2a 30 2e | cx+cos(sa)*r*0.9,cy+sin(sa)*r*0. |
| 40f80 | 39 2c 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 26 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 | 9,0xFFFF0000);...&..wl_surface_a |
| 40fa0 | 74 74 61 63 68 28 61 2d 3e 77 73 2c 61 2d 3e 62 75 66 2c 30 2c 30 29 3b 00 00 00 30 20 20 77 6c | ttach(a->ws,a->buf,0,0);...0..wl |
| 40fc0 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 30 2c 30 | _surface_damage_buffer(a->ws,0,0 |
| 40fe0 | 2c 61 2d 3e 77 2c 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | ,a->w,a->h);......wl_surface_com |
| 41000 | 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 12 20 20 61 2d 3e 72 65 64 72 61 77 3d 66 61 6c 73 65 | mit(a->ws);......a->redraw=false |
| 41020 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 3f 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f | ;....}.......?static.void.xt_clo |
| 41040 | 73 65 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 2a 78 74 | se(void*d,struct.xdg_toplevel*xt |
| 41060 | 29 7b 72 75 6e 6e 69 6e 67 3d 30 3b 7d 00 00 00 00 00 00 00 58 73 74 61 74 69 63 20 76 6f 69 64 | ){running=0;}.......Xstatic.void |
| 41080 | 20 78 74 5f 63 66 67 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | .xt_cfg(void*d,struct.xdg_toplev |
| 410a0 | 65 6c 2a 78 74 2c 69 6e 74 33 32 5f 74 20 77 2c 69 6e 74 33 32 5f 74 20 68 2c 73 74 72 75 63 74 | el*xt,int32_t.w,int32_t.h,struct |
| 410c0 | 20 77 6c 5f 61 72 72 61 79 2a 73 29 7b 00 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d | .wl_array*s){......struct.app*a= |
| 410e0 | 64 3b 00 00 00 23 20 20 69 66 28 77 3e 30 26 26 68 3e 30 26 26 28 77 21 3d 61 2d 3e 77 7c 7c 68 | d;...#..if(w>0&&h>0&&(w!=a->w||h |
| 41100 | 21 3d 61 2d 3e 68 29 29 7b 00 00 00 12 20 20 20 20 61 2d 3e 77 3d 77 3b 61 2d 3e 68 3d 68 3b 00 | !=a->h)){........a->w=w;a->h=h;. |
| 41120 | 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 13 20 20 20 20 61 2d | .......destroy_buf(a);........a- |
| 41140 | 3e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | >redraw=true;......}....}....... |
| 41160 | 41 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 | Astatic.void.xs_cfg(void*d,struc |
| 41180 | 74 20 78 64 67 5f 73 75 72 66 61 63 65 2a 78 73 2c 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c | t.xdg_surface*xs,uint32_t.serial |
| 411a0 | 29 7b 00 00 00 11 20 20 73 74 72 75 63 74 20 61 70 70 2a 61 3d 64 3b 00 00 00 27 20 20 78 64 67 | ){......struct.app*a=d;...'..xdg |
| 411c0 | 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 73 65 72 69 61 6c | _surface_ack_configure(xs,serial |
| 411e0 | 29 3b 00 00 00 15 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 3d 74 72 75 65 3b 00 00 00 11 20 | );......a->configured=true;..... |
| 41200 | 20 61 2d 3e 72 65 64 72 61 77 3d 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 58 73 74 61 | .a->redraw=true;....}.......Xsta |
| 41220 | 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 2a 64 2c 73 74 72 75 63 | tic.void.reg_global(void*d,struc |
| 41240 | 74 20 77 6c 5f 72 65 67 69 73 74 72 79 2a 72 2c 75 69 6e 74 33 32 5f 74 20 69 64 2c 63 6f 6e 73 | t.wl_registry*r,uint32_t.id,cons |
| 41260 | 74 20 63 68 61 72 2a 69 2c 75 69 6e 74 33 32 5f 74 20 76 29 7b 00 00 00 11 20 20 73 74 72 75 63 | t.char*i,uint32_t.v){......struc |
| 41280 | 74 20 61 70 70 2a 61 3d 64 3b 00 00 00 20 20 20 69 66 28 21 73 74 72 63 6d 70 28 69 2c 22 77 6c | t.app*a=d;......if(!strcmp(i,"wl |
| 412a0 | 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 3e 20 20 20 20 61 2d 3e 63 6f 6d 70 3d 77 6c | _compositor"))...>....a->comp=wl |
| 412c0 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 | _registry_bind(r,id,&wl_composit |
| 412e0 | 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 34 29 3b 00 00 00 1e 20 20 65 6c 73 65 20 69 66 28 21 73 | or_interface,4);......else.if(!s |
| 41300 | 74 72 63 6d 70 28 69 2c 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 36 20 20 20 20 61 2d 3e 73 68 6d | trcmp(i,"wl_shm"))...6....a->shm |
| 41320 | 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 77 6c 5f 73 68 6d 5f 69 | =wl_registry_bind(r,id,&wl_shm_i |
| 41340 | 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 24 20 20 65 6c 73 65 20 69 66 28 21 73 74 72 63 6d | nterface,1);...$..else.if(!strcm |
| 41360 | 70 28 69 2c 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 7b 00 00 00 3a 20 20 20 20 61 2d 3e 77 | p(i,"xdg_wm_base")){...:....a->w |
| 41380 | 6d 3d 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 69 64 2c 26 78 64 67 5f 77 6d 5f | m=wl_registry_bind(r,id,&xdg_wm_ |
| 413a0 | 62 61 73 65 5f 69 6e 74 65 72 66 61 63 65 2c 31 29 3b 00 00 00 3f 20 20 20 20 73 74 61 74 69 63 | base_interface,1);...?....static |
| 413c0 | 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e | .const.struct.xdg_wm_base_listen |
| 413e0 | 65 72 20 6c 3d 7b 2e 70 69 6e 67 3d 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 29 20 20 20 20 78 64 67 | er.l={.ping=wm_ping};...)....xdg |
| 41400 | 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 26 6c 2c 61 | _wm_base_add_listener(a->wm,&l,a |
| 41420 | 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 0f 69 6e 74 20 6d 61 69 6e 28 76 | );......}....}........int.main(v |
| 41440 | 6f 69 64 29 7b 00 00 00 13 20 20 73 74 72 75 63 74 20 61 70 70 20 61 3d 7b 30 7d 3b 00 00 00 12 | oid){......struct.app.a={0};.... |
| 41460 | 20 20 61 2e 77 3d 34 30 30 3b 61 2e 68 3d 34 30 30 3b 00 00 00 18 20 20 73 69 67 6e 61 6c 28 53 | ..a.w=400;a.h=400;......signal(S |
| 41480 | 49 47 49 4e 54 2c 6f 6e 5f 73 69 67 29 3b 00 00 00 1f 20 20 61 2e 64 3d 77 6c 5f 64 69 73 70 6c | IGINT,on_sig);......a.d=wl_displ |
| 414a0 | 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 13 20 20 69 66 28 21 61 2e 64 29 72 | ay_connect(NULL);......if(!a.d)r |
| 414c0 | 65 74 75 72 6e 20 31 3b 00 00 00 25 20 20 61 2e 72 65 67 3d 77 6c 5f 64 69 73 70 6c 61 79 5f 67 | eturn.1;...%..a.reg=wl_display_g |
| 414e0 | 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 43 20 20 73 74 61 74 69 63 20 63 6f | et_registry(a.d);...C..static.co |
| 41500 | 6e 73 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 | nst.struct.wl_registry_listener. |
| 41520 | 72 6c 3d 7b 2e 67 6c 6f 62 61 6c 3d 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 29 20 20 77 6c | rl={.global=reg_global};...)..wl |
| 41540 | 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 26 72 6c | _registry_add_listener(a.reg,&rl |
| 41560 | 2c 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 | ,&a);......wl_display_roundtrip( |
| 41580 | 61 2e 64 29 3b 00 00 00 25 20 20 69 66 28 21 61 2e 63 6f 6d 70 7c 7c 21 61 2e 73 68 6d 7c 7c 21 | a.d);...%..if(!a.comp||!a.shm||! |
| 415a0 | 61 2e 77 6d 29 72 65 74 75 72 6e 20 31 3b 00 00 00 2c 20 20 61 2e 77 73 3d 77 6c 5f 63 6f 6d 70 | a.wm)return.1;...,..a.ws=wl_comp |
| 415c0 | 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 | ositor_create_surface(a.comp);.. |
| 415e0 | 00 2e 20 20 61 2e 78 73 3d 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 | ....a.xs=xdg_wm_base_get_xdg_sur |
| 41600 | 66 61 63 65 28 61 2e 77 6d 2c 61 2e 77 73 29 3b 00 00 00 43 20 20 73 74 61 74 69 63 20 63 6f 6e | face(a.wm,a.ws);...C..static.con |
| 41620 | 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 74 65 6e 65 72 20 78 | st.struct.xdg_surface_listener.x |
| 41640 | 73 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 73 5f 63 66 67 7d 3b 00 00 00 29 20 20 78 64 67 | sl={.configure=xs_cfg};...)..xdg |
| 41660 | 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 26 78 73 6c 2c | _surface_add_listener(a.xs,&xsl, |
| 41680 | 26 61 29 3b 00 00 00 26 20 20 61 2e 78 74 3d 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 | &a);...&..a.xt=xdg_surface_get_t |
| 416a0 | 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 54 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | oplevel(a.xs);...T..static.const |
| 416c0 | 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 6e 65 72 20 78 74 | .struct.xdg_toplevel_listener.xt |
| 416e0 | 6c 3d 7b 2e 63 6f 6e 66 69 67 75 72 65 3d 78 74 5f 63 66 67 2c 2e 63 6c 6f 73 65 3d 78 74 5f 63 | l={.configure=xt_cfg,.close=xt_c |
| 41700 | 6c 6f 73 65 7d 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 | lose};...*..xdg_toplevel_add_lis |
| 41720 | 74 65 6e 65 72 28 61 2e 78 74 2c 26 78 74 6c 2c 26 61 29 3b 00 00 00 29 20 20 78 64 67 5f 74 6f | tener(a.xt,&xtl,&a);...)..xdg_to |
| 41740 | 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 22 77 6c 63 6c 6f 63 6b 22 29 | plevel_set_title(a.xt,"wlclock") |
| 41760 | 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 | ;......wl_surface_commit(a.ws);. |
| 41780 | 00 00 2f 20 20 77 68 69 6c 65 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 77 6c 5f 64 69 73 70 | ../..while(!a.configured)wl_disp |
| 417a0 | 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 | lay_dispatch(a.d);......render(& |
| 417c0 | 61 29 3b 00 00 00 36 20 20 69 6e 74 20 74 66 64 3d 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 | a);...6..int.tfd=timerfd_create( |
| 417e0 | 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 | CLOCK_MONOTONIC,TFD_CLOEXEC);... |
| 41800 | 40 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 30 2c 26 28 73 74 72 75 63 | @..timerfd_settime(tfd,0,&(struc |
| 41820 | 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 30 7d 2c 7b 31 2c 30 7d 7d 2c 4e 55 4c 4c 29 | t.itimerspec){{1,0},{1,0}},NULL) |
| 41840 | 3b 00 00 00 11 20 20 77 68 69 6c 65 28 72 75 6e 6e 69 6e 67 29 7b 00 00 00 2a 20 20 20 20 77 68 | ;......while(running){...*....wh |
| 41860 | 69 6c 65 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 | ile(wl_display_prepare_read(a.d) |
| 41880 | 21 3d 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 | !=0)...'......wl_display_dispatc |
| 418a0 | 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | h_pending(a.d);........wl_displa |
| 418c0 | 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 48 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c | y_flush(a.d);...H....struct.poll |
| 418e0 | 66 64 20 66 64 73 5b 32 5d 3d 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e | fd.fds[2]={{wl_display_get_fd(a. |
| 41900 | 64 29 2c 50 4f 4c 4c 49 4e 7d 2c 7b 74 66 64 2c 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 19 20 20 20 | d),POLLIN},{tfd,POLLIN}};....... |
| 41920 | 20 69 66 28 70 6f 6c 6c 28 66 64 73 2c 32 2c 2d 31 29 3c 30 29 7b 00 00 00 22 20 20 20 20 20 20 | .if(poll(fds,2,-1)<0){..."...... |
| 41940 | 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f | wl_display_cancel_read(a.d);.... |
| 41960 | 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 | ......continue;........}........ |
| 41980 | 69 66 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 | if(fds[0].revents&POLLIN)..."... |
| 419a0 | 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 | ...wl_display_read_events(a.d);. |
| 419c0 | 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | .......else..."......wl_display_ |
| 419e0 | 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 | cancel_read(a.d);...%....wl_disp |
| 41a00 | 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1e 20 20 | lay_dispatch_pending(a.d);...... |
| 41a20 | 20 20 69 66 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 26 50 4f 4c 4c 49 4e 29 7b 00 00 00 11 | ..if(fds[1].revents&POLLIN){.... |
| 41a40 | 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 3b 00 00 00 1d 20 20 20 20 20 20 72 65 61 64 28 | ......uint64_t.t;..........read( |
| 41a60 | 74 66 64 2c 26 74 2c 73 69 7a 65 6f 66 28 74 29 29 3b 00 00 00 14 20 20 20 20 20 20 61 2e 72 65 | tfd,&t,sizeof(t));..........a.re |
| 41a80 | 64 72 61 77 3d 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1b 20 20 20 20 69 66 28 61 2e | draw=true;........}........if(a. |
| 41aa0 | 72 65 64 72 61 77 29 72 65 6e 64 65 72 28 26 61 29 3b 35 81 f5 18 00 00 00 00 1a 00 00 00 19 00 | redraw)render(&a);5............. |
| 41ac0 | 00 00 bc 00 00 00 10 00 00 00 df 00 00 00 06 00 00 00 33 02 00 00 00 00 00 00 c2 15 00 00 00 00 | ..................3............. |
| 41ae0 | 00 00 b1 19 00 00 00 00 00 00 35 81 5f d0 00 00 00 34 00 00 00 36 00 00 00 00 00 00 00 00 00 00 | ..........5._....4...6.......... |
| 41b00 | 00 35 00 00 00 03 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 | .5.............................. |
| 41b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e | ................................ |
| 41c60 | 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a3 d9 04 01 00 00 00 16 00 f5 18 00 00 00 | .......V........i............... |
| 41c80 | 02 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f | .................#include.<errno |
| 41ca0 | 2e 68 3e 35 81 f5 18 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | .h>5............................ |
| 41cc0 | 00 00 00 47 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 | ...G.......................5._.. |
| 41ce0 | 00 00 35 00 00 00 37 00 00 00 00 00 00 00 00 00 00 00 36 00 00 00 c9 00 00 00 00 00 00 00 00 ff | ..5...7...........6............. |
| 41d00 | ff ff 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 | ................................ |
| 41d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e40 | 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 | ........................V....... |
| 41e60 | 00 69 9d a3 df 04 01 00 00 00 00 00 f5 18 00 00 00 c7 00 00 00 c9 00 00 01 00 00 00 00 02 00 00 | .i.............................. |
| 41e80 | 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 00 f5 18 00 00 00 c8 00 00 00 ca | ..int.main(void).{.............. |
| 41ea0 | 00 00 01 00 00 00 00 01 00 00 00 01 09 f5 18 00 00 00 c8 00 00 00 ca 00 00 00 ff 00 00 00 00 35 | ...............................5 |
| 41ec0 | 81 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 51 | ...............................Q |
| 41ee0 | 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 | ................................ |
| 41f00 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 51 15 00 00 00 00 00 00 02 00 00 | .....................Q.......... |
| 41f20 | 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 41f40 | 00 00 00 00 00 00 00 00 00 00 00 51 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ...........Q.................... |
| 41f60 | 00 00 00 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 | ................................ |
| 41f80 | 00 51 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 | .Q.............................. |
| 41fa0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 52 15 00 00 00 00 00 00 01 | .......................R........ |
| 41fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41fe0 | 00 00 00 00 00 01 00 00 00 01 00 00 00 52 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | .............R.................. |
| 42000 | 00 00 00 00 00 f5 18 00 00 00 00 ca 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 42020 | 00 00 00 53 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | ...S............................ |
| 42040 | 00 c9 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 15 00 00 00 00 00 | .........................R...... |
| 42060 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 01 | ................................ |
| 42080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ...............Q................ |
| 420a0 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 c7 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 420c0 | 00 00 00 00 00 50 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f | .....P.......................5._ |
| 420e0 | d0 00 00 00 36 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 37 00 00 00 c9 00 00 00 0f 00 00 00 | ....6...8...........7........... |
| 42100 | 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 00 00 00 00 00 00 00 | ................................ |
| 42120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 421a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 421c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 421e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42240 | 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 | ..........................V..... |
| 42260 | 00 00 00 69 9d a3 e2 04 01 00 00 00 00 00 f5 18 00 00 00 c8 00 00 00 ca 00 00 01 00 00 00 00 02 | ...i............................ |
| 42280 | 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 00 f5 18 00 | ......struct.app.a.=.{0};....... |
| 422a0 | 00 00 c9 00 00 00 cb 00 00 01 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 c9 00 00 00 cb 00 | ................................ |
| 422c0 | 00 00 ff 00 00 00 00 35 81 f5 18 00 00 00 00 c9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | .......5........................ |
| 422e0 | 00 00 00 00 00 00 00 67 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 | .......g........................ |
| 42300 | 18 00 00 00 00 c9 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 67 15 00 | .............................g.. |
| 42320 | 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 15 | ................................ |
| 42340 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 15 00 00 00 00 00 00 01 00 00 00 00 | ...................f............ |
| 42360 | 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 37 00 00 00 39 00 00 00 00 00 00 00 00 00 | ...........5._....7...9......... |
| 42380 | 00 00 38 00 00 00 c8 00 00 00 10 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..8............................. |
| 423a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 423c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 423e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 424a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 424c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 424e0 | 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a3 e4 04 01 00 00 00 00 00 f5 18 00 00 | ........V........i.............. |
| 42500 | 00 c7 00 00 00 ca 00 00 00 ff 00 00 00 01 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 | ..................int.main(void) |
| 42520 | 20 7b 35 81 f5 18 00 00 00 00 c7 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 | .{5............................. |
| 42540 | 00 00 50 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ..P............................. |
| 42560 | c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 51 15 00 00 00 00 00 00 | ........................Q....... |
| 42580 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 | ................................ |
| 425a0 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 51 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ..............Q................. |
| 425c0 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 38 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 39 00 00 | ......5._....8...:...........9.. |
| 425e0 | 00 c9 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 | ................................ |
| 42600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 426a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 426c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 426e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42720 | 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 | ................................ |
| 42740 | 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a3 e8 04 01 00 00 00 00 00 f5 18 00 00 00 c7 00 00 00 | ...V........i................... |
| 42760 | ca 00 00 01 00 00 00 00 02 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 | .............int.main(void).{... |
| 42780 | 00 f5 18 00 00 00 c8 00 00 00 ca 00 00 01 00 00 00 00 01 00 00 00 00 35 81 f5 18 00 00 00 00 c7 | .......................5........ |
| 427a0 | 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 15 00 00 00 00 00 00 01 | .......................P........ |
| 427c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c7 00 00 00 10 00 00 00 00 00 00 | ................................ |
| 427e0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 50 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .............P.................. |
| 42800 | 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f | ................................ |
| 42820 | 00 00 00 51 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 f5 18 00 00 00 | ...Q............................ |
| 42840 | 00 c8 00 00 00 0e 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 5f 15 00 00 00 00 00 | ........................._...... |
| 42860 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 0d 00 00 00 00 | ................................ |
| 42880 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 5e 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ...............^................ |
| 428a0 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 0c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 428c0 | 00 00 00 00 00 5d 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | .....].......................... |
| 428e0 | 00 00 00 c8 00 00 00 0b 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 5c 15 00 00 00 | ...........................\.... |
| 42900 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 0a 00 00 | ................................ |
| 42920 | 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 5b 15 00 00 00 00 00 00 01 00 00 00 00 00 00 | .................[.............. |
| 42940 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 09 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 42960 | 00 00 00 00 00 00 00 5a 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 | .......Z........................ |
| 42980 | 18 00 00 00 00 c8 00 00 00 08 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 59 15 00 | .............................Y.. |
| 429a0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 09 | ................................ |
| 429c0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 5a 15 00 00 00 00 00 00 02 00 00 00 00 | ...................Z............ |
| 429e0 | 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 0b 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 42a00 | 00 00 00 00 00 07 00 00 00 5c 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 | .........\...................... |
| 42a20 | 00 35 81 5f d0 00 00 00 39 00 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 c9 00 00 00 | .5._....9...;...........:....... |
| 42a40 | 12 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 00 00 00 | ................................ |
| 42a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42b80 | 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 | ..............................V. |
| 42ba0 | 00 00 0e 00 00 00 00 69 9d a4 01 04 01 00 00 00 00 00 f5 18 00 00 00 c8 00 00 00 ca 00 00 01 00 | .......i........................ |
| 42bc0 | 00 00 00 01 00 00 00 12 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 35 81 f5 18 00 00 | .........time_t.cli.=.time5..... |
| 42be0 | 00 00 c8 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 63 15 00 00 00 00 | ..........................c..... |
| 42c00 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 3a 00 00 00 3c 00 00 | ..................5._....:...<.. |
| 42c20 | 00 00 00 00 00 00 00 00 00 3b 00 00 00 c9 00 00 00 13 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........;...................... |
| 42c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 | ................................ |
| 42d80 | 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 01 04 01 00 00 | ...............V........i....... |
| 42da0 | 00 00 00 f5 18 00 00 00 c8 00 00 00 ca 00 00 01 00 00 00 00 01 00 00 00 14 09 74 69 6d 65 5f 74 | ..........................time_t |
| 42dc0 | 20 63 6c 69 20 3d 20 74 69 6d 65 28 29 35 81 f5 18 00 00 00 00 c8 00 00 00 13 00 00 00 00 00 00 | .cli.=.time()5.................. |
| 42de0 | 00 00 00 00 00 00 00 00 00 03 00 00 00 64 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 | .............d.................. |
| 42e00 | 00 00 00 00 00 35 81 5f d0 00 00 00 3b 00 00 00 3d 00 00 00 00 00 00 00 00 00 00 00 3c 00 00 00 | .....5._....;...=...........<... |
| 42e20 | c9 00 00 00 17 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 | ................................ |
| 42e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42f60 | 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 | ................................ |
| 42f80 | 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 02 04 01 00 00 00 00 00 f5 18 00 00 00 c8 00 00 00 ca | ..V........i.................... |
| 42fa0 | 00 00 01 00 00 00 00 01 00 00 00 17 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e | .............time_t.cli.=.time(N |
| 42fc0 | 55 4c 29 35 81 f5 18 00 00 00 00 c8 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | UL)5............................ |
| 42fe0 | 00 00 00 68 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 | ...h.......................5._.. |
| 43000 | 00 00 3c 00 00 00 3e 00 00 00 00 00 00 00 00 00 00 00 3d 00 00 00 c9 00 00 00 16 00 00 00 00 ff | ..<...>...........=............. |
| 43020 | ff ff 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 | ................................ |
| 43040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 430a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 430c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 430e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43160 | 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 | ........................V....... |
| 43180 | 00 69 9d a4 08 04 01 00 00 00 00 00 f5 18 00 00 00 c8 00 00 00 ca 00 00 01 00 00 00 00 01 00 00 | .i.............................. |
| 431a0 | 00 18 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 29 3a 35 81 f5 18 00 00 | ...time_t.cli.=.time(NUL):5..... |
| 431c0 | 00 00 c8 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 67 15 00 00 00 00 | ..........................g..... |
| 431e0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 3d 00 00 00 3f 00 00 | ..................5._....=...?.. |
| 43200 | 00 00 00 00 00 00 00 00 00 3e 00 00 00 c9 00 00 00 19 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........>...................... |
| 43220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 432a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 432c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 432e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 | ................................ |
| 43360 | 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 09 04 01 00 00 | ...............V........i....... |
| 43380 | 00 00 00 f5 18 00 00 00 c8 00 00 00 cb 00 00 01 00 00 00 00 01 00 00 00 19 09 74 69 6d 65 5f 74 | ..........................time_t |
| 433a0 | 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3a 35 81 f5 18 00 00 00 00 c8 00 00 00 19 00 | .cli.=.time(NULL):5............. |
| 433c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 6a 15 00 00 00 00 00 00 00 00 00 00 00 00 | ..................j............. |
| 433e0 | 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 c8 00 00 00 18 00 00 00 00 00 00 00 02 00 00 00 | ................................ |
| 43400 | 00 00 00 00 01 00 00 00 69 15 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ........i....................... |
| 43420 | f5 18 00 00 00 00 c8 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 6a 15 | ..............................j. |
| 43440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 00 00 00 | ................................ |
| 43460 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 6c 15 00 00 00 00 00 00 00 00 00 00 | ....................l........... |
| 43480 | 00 00 00 00 0a 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 00 00 00 0a 00 00 00 00 00 00 00 01 00 | ................................ |
| 434a0 | 00 00 00 00 00 00 00 00 00 00 75 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........u..................... |
| 434c0 | 00 00 f5 18 00 00 00 00 c9 00 00 00 09 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 434e0 | 74 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 3e | t.......................5._....> |
| 43500 | 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 3f 00 00 00 ca 00 00 00 09 00 00 00 00 ff ff ff ff | ...@...........?................ |
| 43520 | 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 00 | ................................ |
| 43540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 435a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 435c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 435e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 | ................................ |
| 43660 | 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d | .....................V........i. |
| 43680 | a4 13 04 01 00 00 00 00 00 f5 18 00 00 00 c9 00 00 00 cb 00 00 01 01 00 00 00 01 00 00 00 0c 09 | ................................ |
| 436a0 | 73 74 72 75 63 74 20 74 63 6c 69 35 81 f5 18 00 00 00 00 c9 00 00 00 09 00 00 00 00 00 00 00 00 | struct.tcli5.................... |
| 436c0 | 00 00 00 00 00 00 00 01 00 00 00 74 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ...........t.................... |
| 436e0 | 00 00 00 35 81 5f d0 00 00 00 3f 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 ca 00 | ...5._....?...A...........@..... |
| 43700 | 00 00 0d 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 00 | ................................ |
| 43720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 437a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 437c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 437e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43840 | 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 | ................................ |
| 43860 | 56 00 00 00 0e 00 00 00 00 69 9d a4 15 04 01 00 00 00 00 00 f5 18 00 00 00 c9 00 00 00 cb 00 00 | V........i...................... |
| 43880 | 01 01 00 00 00 01 00 00 00 0d 09 73 74 72 75 63 74 20 74 6d 63 6c 69 35 81 f5 18 00 00 00 00 c9 | ...........struct.tmcli5........ |
| 438a0 | 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 78 15 00 00 00 00 00 00 00 | .......................x........ |
| 438c0 | 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 40 00 00 00 42 00 00 00 00 00 | ...............5._....@...B..... |
| 438e0 | 00 00 00 00 00 00 41 00 00 00 ca 00 00 00 0d 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ......A......................... |
| 43900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 439a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 439c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 439e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 | ................................ |
| 43a40 | 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 1a 04 01 00 00 00 00 00 | ............V........i.......... |
| 43a60 | f5 18 00 00 00 c9 00 00 00 cb 00 00 01 01 00 00 00 01 00 00 00 11 09 73 74 72 75 63 74 20 74 6d | .......................struct.tm |
| 43a80 | 63 6c 69 20 2a 74 20 35 81 f5 18 00 00 00 00 c9 00 00 00 0c 00 00 00 00 00 00 00 01 00 00 00 00 | cli.*t.5........................ |
| 43aa0 | 00 00 00 00 00 00 00 77 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 | .......w........................ |
| 43ac0 | 18 00 00 00 00 c9 00 00 00 0b 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 76 15 00 | .............................v.. |
| 43ae0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 00 00 00 0a | ................................ |
| 43b00 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 75 15 00 00 00 00 00 00 01 00 00 00 00 | ...................u............ |
| 43b20 | 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 41 00 00 00 43 00 00 00 00 00 00 00 00 00 | ...........5._....A...C......... |
| 43b40 | 00 00 42 00 00 00 ca 00 00 00 0e 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..B............................. |
| 43b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 43ca0 | 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 20 04 01 00 00 00 00 00 f5 18 00 00 | ........V........i.............. |
| 43cc0 | 00 c9 00 00 00 cb 00 00 01 01 00 00 00 01 00 00 00 0e 09 73 74 72 75 63 74 20 74 6d 20 2a 74 20 | ...................struct.tm.*t. |
| 43ce0 | 35 81 f5 18 00 00 00 00 c9 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 | 5............................... |
| 43d00 | 79 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 42 | y.......................5._....B |
| 43d20 | 00 00 00 44 00 00 00 00 00 00 00 00 00 00 00 43 00 00 00 ca 00 00 00 19 00 00 00 00 ff ff ff ff | ...D...........C................ |
| 43d40 | 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 00 | ................................ |
| 43d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 | ................................ |
| 43e80 | 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d | .....................V........i. |
| 43ea0 | a4 22 04 01 00 00 00 00 00 f5 18 00 00 00 c9 00 00 00 cb 00 00 01 01 00 00 00 01 00 00 00 19 09 | .".............................. |
| 43ec0 | 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 35 81 f5 18 00 00 00 00 | struct.tm.*t.=.localtime5....... |
| 43ee0 | c9 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 84 15 00 00 00 00 00 00 | ................................ |
| 43f00 | 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 43 00 00 00 45 00 00 00 00 | ................5._....C...E.... |
| 43f20 | 00 00 00 00 00 00 00 44 00 00 00 ca 00 00 00 1a 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 | .......D........................ |
| 43f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 | ................................ |
| 44080 | 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 23 04 01 00 00 00 00 | .............V........i..#...... |
| 440a0 | 00 f5 18 00 00 00 c9 00 00 00 cb 00 00 01 01 00 00 00 01 00 00 00 1b 09 73 74 72 75 63 74 20 74 | ........................struct.t |
| 440c0 | 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 29 35 81 f5 18 00 00 00 00 c9 00 00 00 1a 00 | m.*t.=.localtime()5............. |
| 440e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 85 15 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44100 | 00 00 04 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 44 00 00 00 46 00 00 00 00 00 00 00 00 00 00 | ..........5._....D...F.......... |
| 44120 | 00 45 00 00 00 ca 00 00 00 1f 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | .E.............................. |
| 44140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 441a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 441c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 441e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e | ................................ |
| 44280 | 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 24 04 01 00 00 00 00 00 f5 18 00 00 00 | .......V........i..$............ |
| 442a0 | c9 00 00 00 cc 00 00 01 01 00 00 00 01 00 00 00 1f 09 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d | ..................struct.tm.*t.= |
| 442c0 | 20 6c 6f 63 61 6c 74 69 6d 65 28 26 6e 6f 77 29 35 81 f5 18 00 00 00 00 c9 00 00 00 1f 00 00 00 | .localtime(&now)5............... |
| 442e0 | 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 8a 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44300 | 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 c9 00 00 00 1f 00 00 00 00 00 00 00 01 00 00 00 00 00 | ................................ |
| 44320 | 00 00 01 00 00 00 8a 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 | ................................ |
| 44340 | 00 00 00 00 c9 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 8b 15 00 00 | ................................ |
| 44360 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 ca 00 00 00 01 00 | ................................ |
| 44380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 8d 15 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 443a0 | 00 00 04 00 00 00 00 00 00 00 f5 18 00 00 00 00 ca 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 443c0 | 00 00 00 00 06 00 00 00 8e 15 00 00 00 00 00 00 03 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 | ................................ |
| 443e0 | f5 18 00 00 00 00 ca 00 00 00 07 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 93 15 | ................................ |
| 44400 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 45 00 00 | ......................5._....E.. |
| 44420 | 00 47 00 00 00 00 00 00 00 00 00 00 00 46 00 00 00 cb 00 00 00 0c 00 00 00 00 ff ff ff ff 00 01 | .G...........F.................. |
| 44440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 444a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 444c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 444e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e | ................................ |
| 44580 | 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 29 | ...................V........i..) |
| 445a0 | 04 01 00 00 00 00 00 f5 18 00 00 00 ca 00 00 00 cc 00 00 01 02 00 00 00 01 00 00 00 0c 09 63 68 | ..............................ch |
| 445c0 | 61 72 20 62 75 66 66 65 72 35 81 f5 18 00 00 00 00 ca 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 | ar.buffer5...................... |
| 445e0 | 00 00 00 00 00 02 00 00 00 98 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 44600 | 00 35 81 5f d0 00 00 00 46 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 47 00 00 00 cb 00 00 00 | .5._....F...H...........G....... |
| 44620 | 0d 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 00 00 00 | ................................ |
| 44640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 446a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 446c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 446e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44760 | 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 | ..............................V. |
| 44780 | 00 00 0e 00 00 00 00 69 9d a4 29 04 01 00 00 00 00 00 f5 18 00 00 00 ca 00 00 00 cc 00 00 01 02 | .......i..)..................... |
| 447a0 | 00 00 00 01 00 00 00 0e 09 63 68 61 72 20 62 75 66 66 65 72 5b 5d 35 81 f5 18 00 00 00 00 ca 00 | .........char.buffer[]5......... |
| 447c0 | 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 99 15 00 00 00 00 00 00 00 00 | ................................ |
| 447e0 | 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 47 00 00 00 49 00 00 00 00 00 00 | ..............5._....G...I...... |
| 44800 | 00 00 00 00 00 48 00 00 00 cb 00 00 00 11 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | .....H.......................... |
| 44820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 448a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 448c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 448e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 | ................................ |
| 44960 | 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 2b 04 01 00 00 00 00 00 f5 | ...........V........i..+........ |
| 44980 | 18 00 00 00 ca 00 00 00 cd 00 00 01 02 00 00 00 01 00 00 00 11 09 63 68 61 72 20 62 75 66 66 65 | ......................char.buffe |
| 449a0 | 72 5b 31 30 30 5d 35 81 f5 18 00 00 00 00 ca 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 | r[100]5......................... |
| 449c0 | 00 00 01 00 00 00 9d 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 | ................................ |
| 449e0 | 00 00 00 00 ca 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 9e 15 00 00 | ................................ |
| 44a00 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 cb 00 00 00 01 00 | ................................ |
| 44a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 a0 15 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44a40 | 00 00 08 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 48 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 | ..........5._....H...J.......... |
| 44a60 | 00 49 00 00 00 cc 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | .I.............................. |
| 44a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e | ................................ |
| 44bc0 | 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 2f 04 01 00 00 00 00 00 f5 18 00 00 00 | .......V........i../............ |
| 44be0 | cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 09 09 73 74 72 66 74 69 6d 65 35 81 f5 18 00 00 | ..................strftime5..... |
| 44c00 | 00 00 cb 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 a8 15 00 00 00 00 | ................................ |
| 44c20 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 49 00 00 00 4b 00 00 | ..................5._....I...K.. |
| 44c40 | 00 00 00 00 00 00 00 00 00 4a 00 00 00 cc 00 00 00 0a 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........J...................... |
| 44c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 | ................................ |
| 44da0 | 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 2f 04 01 00 00 | ...............V........i../.... |
| 44dc0 | 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 0b 09 73 74 72 66 74 69 | ..........................strfti |
| 44de0 | 6d 65 28 29 35 81 f5 18 00 00 00 00 cb 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | me()5........................... |
| 44e00 | 03 00 00 00 a9 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 44e20 | 00 00 cb 00 00 00 0c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 ab 15 00 00 00 00 | ................................ |
| 44e40 | 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 4a 00 00 00 4c 00 00 | ..................5._....J...L.. |
| 44e60 | 00 00 00 00 00 00 00 00 00 4b 00 00 00 cc 00 00 00 18 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........K...................... |
| 44e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 | ................................ |
| 44fc0 | 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 32 04 01 00 00 | ...............V........i..2.... |
| 44fe0 | 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 19 09 73 74 72 66 74 69 | ..........................strfti |
| 45000 | 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 29 35 81 f5 18 00 00 00 00 cb 00 00 00 18 00 | me(buffer,.sizeof)5............. |
| 45020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 b7 15 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45040 | 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 4b 00 00 00 4d 00 00 00 00 00 00 00 00 00 00 | ..........5._....K...M.......... |
| 45060 | 00 4c 00 00 00 cc 00 00 00 19 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | .L.............................. |
| 45080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 450a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 450c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 450e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 451a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e | ................................ |
| 451c0 | 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 33 04 01 00 00 00 00 00 f5 18 00 00 00 | .......V........i..3............ |
| 451e0 | cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 1b 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 | ..................strftime(buffe |
| 45200 | 72 2c 20 73 69 7a 65 6f 66 28 29 29 35 81 f5 18 00 00 00 00 cb 00 00 00 19 00 00 00 00 00 00 00 | r,.sizeof())5................... |
| 45220 | 00 00 00 00 00 00 00 00 06 00 00 00 b8 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 | ................................ |
| 45240 | 00 00 00 00 35 81 5f d0 00 00 00 4c 00 00 00 4e 00 00 00 00 00 00 00 00 00 00 00 4d 00 00 00 cc | ....5._....L...N...........M.... |
| 45260 | 00 00 00 20 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 | ................................ |
| 45280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 452a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 452c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 452e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 453a0 | 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 | ................................ |
| 453c0 | 00 56 00 00 00 0e 00 00 00 00 69 9d a4 34 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 | .V........i..4.................. |
| 453e0 | 00 01 03 00 00 00 01 00 00 00 21 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a | ..........!.strftime(buffer,.siz |
| 45400 | 65 6f 66 28 62 75 66 66 65 72 29 29 35 81 f5 18 00 00 00 00 cb 00 00 00 20 00 00 00 00 00 00 00 | eof(buffer))5................... |
| 45420 | 00 00 00 00 00 00 00 00 01 00 00 00 bf 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 45440 | 00 00 00 00 f5 18 00 00 00 00 cb 00 00 00 20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 | ................................ |
| 45460 | 00 00 bf 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..........................5._... |
| 45480 | 00 4d 00 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 4e 00 00 00 cc 00 00 00 22 00 00 00 00 ff ff | .M...O...........N......."...... |
| 454a0 | ff 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 | ................................ |
| 454c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 454e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 455a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 455c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 | ................................ |
| 455e0 | 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 | .......................V........ |
| 45600 | 69 9d a4 36 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 | i..6............................ |
| 45620 | 23 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 | #.strftime(buffer,.sizeof(buffer |
| 45640 | 29 2c 20 29 35 81 f5 18 00 00 00 00 cb 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ),.)5..........."............... |
| 45660 | 02 00 00 00 c1 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 | ............................5._. |
| 45680 | 00 00 00 4e 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 4f 00 00 00 cc 00 00 00 23 00 00 00 00 | ...N...P...........O.......#.... |
| 456a0 | ff ff ff 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 | ................................ |
| 456c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 456e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 457a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 457c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 457e0 | 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 | .........................V...... |
| 45800 | 00 00 69 9d a4 37 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 | ..i..7.......................... |
| 45820 | 00 00 25 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 | ..%.strftime(buffer,.sizeof(buff |
| 45840 | 65 72 29 2c 20 22 22 29 35 81 f5 18 00 00 00 00 cb 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 | er),."")5...........#........... |
| 45860 | 00 00 00 00 06 00 00 00 c2 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 | ................................ |
| 45880 | f5 18 00 00 00 00 cb 00 00 00 25 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 c4 15 | ..........%..................... |
| 458a0 | 00 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 f5 18 00 00 00 00 cb 00 00 00 | ................................ |
| 458c0 | 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 c7 15 00 00 00 00 00 00 01 00 00 00 | (............................... |
| 458e0 | 00 00 00 00 0c 00 00 00 00 00 00 00 f5 18 00 00 00 00 cb 00 00 00 33 00 00 00 00 00 00 00 01 00 | ......................3......... |
| 45900 | 00 00 00 00 00 00 01 00 00 00 d2 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 | ................................ |
| 45920 | 00 00 35 81 5f d0 00 00 00 4f 00 00 00 52 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 cc 00 00 | ..5._....O...R...........P...... |
| 45940 | 00 34 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 00 00 | .4.............................. |
| 45960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 459a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 459c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 459e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a80 | 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 | ...............................V |
| 45aa0 | 00 00 00 0e 00 00 00 00 69 9d a4 48 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 | ........i..H.................... |
| 45ac0 | 03 00 00 00 01 00 00 00 36 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f | ........6.strftime(buffer,.sizeo |
| 45ae0 | 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 22 29 35 | f(buffer),."%d-%m-%Y.%I:%M:%S")5 |
| 45b00 | 81 f5 18 00 00 00 00 cb 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 d3 | ...........4.................... |
| 45b20 | 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 50 00 | .......................5._....P. |
| 45b40 | 00 00 53 00 00 00 51 00 00 00 00 00 00 00 52 00 00 00 cc 00 00 00 39 00 00 00 00 ff ff ff ff 00 | ..S...Q.......R.......9......... |
| 45b60 | 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 00 00 | ................................ |
| 45b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 | ................................ |
| 45ca0 | 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 | ....................V........i.. |
| 45cc0 | 4c 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 00 01 00 00 00 39 09 73 | L............................9.s |
| 45ce0 | 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 | trftime(buffer,.sizeof(buffer),. |
| 45d00 | 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 29 35 81 f5 18 00 00 00 00 cb | "%d-%m-%Y.%I:%M:%S.%p")5........ |
| 45d20 | 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 d8 15 00 00 00 00 00 00 00 | ...9............................ |
| 45d40 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 52 00 00 00 54 00 00 00 00 00 | ...............5._....R...T..... |
| 45d60 | 00 00 00 00 00 00 53 00 00 00 cc 00 00 00 39 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 | ......S.......9................. |
| 45d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 | ................................ |
| 45ec0 | 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 4c 04 01 00 00 00 19 00 | ............V........i..L....... |
| 45ee0 | f5 18 00 00 00 c8 00 00 00 cd 00 00 01 03 00 00 00 04 00 00 00 19 09 74 69 6d 65 5f 74 20 63 6c | .......................time_t.cl |
| 45f00 | 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 20 09 73 74 72 75 63 74 20 74 6d 20 2a 74 | i.=.time(NULL);.....struct.tm.*t |
| 45f20 | 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 6e 6f 77 29 3b 00 00 00 12 09 63 68 61 72 20 62 75 66 | .=.localtime(&now);.....char.buf |
| 45f40 | 66 65 72 5b 31 30 30 5d 3b 00 00 00 3a 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 | fer[100];...:.strftime(buffer,.s |
| 45f60 | 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 | izeof(buffer),."%d-%m-%Y.%I:%M:% |
| 45f80 | 53 20 25 70 22 29 3b 35 81 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 03 00 00 00 01 00 00 00 03 | S.%p");5........................ |
| 45fa0 | 00 00 00 02 00 00 00 51 15 00 00 00 00 00 00 4f 00 00 00 00 00 00 00 53 00 00 00 00 00 00 00 35 | .......Q.......O.......S.......5 |
| 45fc0 | 81 5f d0 00 00 00 53 00 00 00 55 00 00 00 00 00 00 00 00 00 00 00 54 00 00 00 cc 00 00 00 39 00 | ._....S...U...........T.......9. |
| 45fe0 | 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 00 00 00 00 00 | ................................ |
| 46000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 460a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 460c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 460e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46120 | 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 | ............................V... |
| 46140 | 0e 00 00 00 00 69 9d a4 55 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 cd 00 00 01 03 00 00 | .....i..U....................... |
| 46160 | 00 01 00 00 00 3b 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 | .....;..strftime(buffer,.sizeof( |
| 46180 | 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 29 | buffer),."%d-%m-%Y.%I:%M:%S.%p") |
| 461a0 | 3b 35 81 f5 18 00 00 00 00 cb 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 | ;5...........9.................. |
| 461c0 | 00 db 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 461e0 | 54 00 00 00 56 00 00 00 00 00 00 00 00 00 00 00 55 00 00 00 cc 00 00 00 3e 00 00 00 00 ff ff ff | T...V...........U.......>....... |
| 46200 | 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 | ................................ |
| 46220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 462a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 462c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 462e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 | ................................ |
| 46340 | 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 | ......................V........i |
| 46360 | 9d a4 56 04 01 00 00 00 00 00 f5 18 00 00 00 cb 00 00 00 ce 00 00 01 03 00 00 00 01 00 00 00 3e | ..V............................> |
| 46380 | 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 | ..strftime(buffer,.sizeof(buffer |
| 463a0 | 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 29 3b 35 81 | ),."%d-%m-%Y.%I:%M:%S.%p",.t);5. |
| 463c0 | f5 18 00 00 00 00 cb 00 00 00 3e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 e0 15 | ..........>..................... |
| 463e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 cc 00 00 00 | ................................ |
| 46400 | 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 e3 15 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46420 | 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 55 00 00 00 57 00 00 00 00 00 00 00 00 | ............5._....U...W........ |
| 46440 | 00 00 00 56 00 00 00 cd 00 00 00 08 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ...V............................ |
| 46460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 464a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 464c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 464e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 | ................................ |
| 465a0 | 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 58 04 01 00 00 00 00 00 f5 18 00 | .........V........i..X.......... |
| 465c0 | 00 00 cc 00 00 00 ce 00 00 01 04 00 00 00 01 00 00 00 08 20 20 70 72 69 6e 74 66 35 81 f5 18 00 | .....................printf5.... |
| 465e0 | 00 00 00 cc 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 e9 15 00 00 00 | ................................ |
| 46600 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 56 00 00 00 58 00 | ...................5._....V...X. |
| 46620 | 00 00 00 00 00 00 00 00 00 00 57 00 00 00 cd 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ..........W..................... |
| 46640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 466a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 466c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 466e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 | ................................ |
| 46780 | 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 59 04 01 00 | ................V........i..Y... |
| 467a0 | 00 00 00 00 f5 18 00 00 00 cc 00 00 00 ce 00 00 01 04 00 00 00 01 00 00 00 0a 20 20 70 72 69 6e | ............................prin |
| 467c0 | 74 66 28 29 35 81 f5 18 00 00 00 00 cc 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | tf()5........................... |
| 467e0 | 02 00 00 00 ea 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 | ............................5._. |
| 46800 | 00 00 00 57 00 00 00 59 00 00 00 00 00 00 00 00 00 00 00 58 00 00 00 cd 00 00 00 0a 00 00 00 00 | ...W...Y...........X............ |
| 46820 | ff ff ff 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 | ................................ |
| 46840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 468a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 468c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 468e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46960 | 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 | .........................V...... |
| 46980 | 00 00 69 9d a4 59 04 01 00 00 00 00 00 f5 18 00 00 00 cc 00 00 00 ce 00 00 01 04 00 00 00 01 00 | ..i..Y.......................... |
| 469a0 | 00 00 0c 20 20 70 72 69 6e 74 66 28 22 22 29 35 81 f5 18 00 00 00 00 cc 00 00 00 0a 00 00 00 00 | .....printf("")5................ |
| 469c0 | 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 eb 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 | ................................ |
| 469e0 | 00 00 00 00 00 00 00 f5 18 00 00 00 00 cc 00 00 00 0b 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 46a00 | 00 0d 00 00 00 ec 15 00 00 00 00 00 00 02 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 00 f5 18 00 | ................................ |
| 46a20 | 00 00 00 cc 00 00 00 0a 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 04 00 00 00 eb 15 00 00 00 | ................................ |
| 46a40 | 00 00 00 0e 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 58 00 00 00 5a 00 | ...................5._....X...Z. |
| 46a60 | 00 00 00 00 00 00 00 00 00 00 59 00 00 00 cd 00 00 00 0f 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ..........Y..................... |
| 46a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 | ................................ |
| 46bc0 | 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 60 04 01 00 | ................V........i..`... |
| 46be0 | 00 00 00 00 f5 18 00 00 00 cc 00 00 00 ce 00 00 01 04 00 00 00 01 00 00 00 10 20 20 70 72 69 6e | ............................prin |
| 46c00 | 74 66 28 22 25 73 5c 6e 22 29 35 81 f5 18 00 00 00 00 cc 00 00 00 0f 00 00 00 00 00 00 00 00 00 | tf("%s\n")5..................... |
| 46c20 | 00 00 00 00 00 00 08 00 00 00 f0 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 | ................................ |
| 46c40 | 00 00 35 81 5f d0 00 00 00 59 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 00 5a 00 00 00 cd 00 00 | ..5._....Y...[...........Z...... |
| 46c60 | 00 18 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 00 00 | ................................ |
| 46c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46da0 | 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 56 | ...............................V |
| 46dc0 | 00 00 00 0e 00 00 00 00 69 9d a4 63 04 01 00 00 00 1a 00 f5 18 00 00 00 cc 00 00 00 ce 00 00 01 | ........i..c.................... |
| 46de0 | 04 00 00 00 01 00 00 00 18 20 20 70 72 69 6e 74 66 28 22 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 | ...........printf("%s\n",.buffer |
| 46e00 | 29 35 81 f5 18 00 00 00 00 cc 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | )5.............................. |
| 46e20 | 00 f9 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 46e40 | 5a 00 00 00 5c 00 00 00 00 00 00 00 00 00 00 00 5b 00 00 00 ca 00 00 00 1c 00 00 00 00 ff ff ff | Z...\...........[............... |
| 46e60 | 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 | ................................ |
| 46e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 46fc0 | 9d a4 6d 04 01 00 00 00 1b 00 f5 18 00 00 00 c9 00 00 00 cb 00 00 01 04 00 00 00 01 00 00 00 21 | ..m............................! |
| 46fe0 | 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 6e 6f 77 29 | ..struct.tm.*t.=.localtime(&now) |
| 47000 | 3b 35 81 f5 18 00 00 00 00 c9 00 00 00 1c 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 03 00 00 | ;5.............................. |
| 47020 | 00 88 15 00 00 00 00 00 00 03 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 47040 | 5b 00 00 00 5d 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 cd 00 00 00 0a 00 00 00 00 ff ff ff | [...]...........\............... |
| 47060 | 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 | ................................ |
| 47080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 470a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 470c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 470e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 471a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 471c0 | 9d a4 7f 04 01 00 00 00 00 00 f5 18 00 00 00 cc 00 00 00 ce 00 00 01 04 00 00 00 01 00 00 00 19 | ................................ |
| 471e0 | 20 20 70 72 69 6e 74 66 28 22 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 29 3b 35 81 f5 18 00 00 00 | ..printf("%s\n",.buffer);5...... |
| 47200 | 00 cc 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 eb 15 00 00 00 00 00 | ................................ |
| 47220 | 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 cc 00 00 00 0c 00 00 00 00 | ................................ |
| 47240 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ed 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 47260 | 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 5c 00 00 00 5e 00 00 00 00 00 00 00 00 00 00 00 5d 00 | .......5._....\...^...........]. |
| 47280 | 00 00 cd 00 00 00 0c 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 | ................................ |
| 472a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 472c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 472e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 473a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 473c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 473e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a4 89 04 01 00 00 00 1c 00 f5 18 00 00 00 cc 00 00 | .............i.................. |
| 47400 | 00 ce 00 00 01 04 00 00 00 01 00 00 00 1b 20 20 70 72 69 6e 74 66 28 22 54 3d 25 73 5c 6e 22 2c | ................printf("T=%s\n", |
| 47420 | 20 62 75 66 66 65 72 29 3b 35 81 f5 18 00 00 00 00 cc 00 00 00 0b 00 00 00 00 00 00 00 01 00 00 | .buffer);5...................... |
| 47440 | 00 00 00 00 00 07 00 00 00 ec 15 00 00 00 00 00 00 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 | ................................ |
| 47460 | 00 35 81 5f d0 00 00 00 5d 00 00 00 5f 00 00 00 00 00 00 00 00 00 00 00 5e 00 00 00 cd 00 00 00 | .5._....]..._...........^....... |
| 47480 | 1c 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 00 00 00 | ................................ |
| 474a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 474c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 474e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 475a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 475c0 | 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 | ..............................V. |
| 475e0 | 00 00 27 00 00 00 00 69 9d a5 b5 04 01 00 00 00 00 00 f5 18 00 00 00 cd 00 00 00 d1 00 00 01 05 | ..'....i........................ |
| 47600 | 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 cd 00 00 00 cf 00 00 01 04 00 00 00 00 35 81 f5 18 | ............................5... |
| 47620 | 00 00 00 00 cd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 03 16 00 00 | ................................ |
| 47640 | 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 cd 00 00 00 00 00 | ................................ |
| 47660 | 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 03 16 00 00 00 00 00 00 02 00 00 00 00 00 | ................................ |
| 47680 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 cd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 476a0 | 01 00 00 00 02 00 00 00 03 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 | ................................ |
| 476c0 | f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 04 16 | ................................ |
| 476e0 | 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 ce 00 00 00 | ................................ |
| 47700 | 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 04 16 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47720 | 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 cf 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 47740 | 00 00 00 00 00 00 00 00 00 00 05 16 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47760 | 00 00 35 81 5f d0 00 00 00 5e 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00 5f 00 00 00 cf 00 00 | ..5._....^...`..........._...... |
| 47780 | 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 00 00 | ................................ |
| 477a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 477c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 477e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 478a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 478c0 | 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 | ...............................V |
| 478e0 | 00 00 00 27 00 00 00 00 69 9d a5 b6 04 01 00 00 00 00 00 f5 18 00 00 00 ce 00 00 00 d0 00 00 01 | ...'....i....................... |
| 47900 | 07 00 00 00 01 00 00 00 00 35 81 f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........5...................... |
| 47920 | 00 00 00 00 00 04 00 00 00 04 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 | ................................ |
| 47940 | 00 f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 04 | ................................ |
| 47960 | 16 00 00 00 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 ce 00 00 | ................................ |
| 47980 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 04 16 00 00 00 00 00 00 01 00 00 | ................................ |
| 479a0 | 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 02 | ................................ |
| 479c0 | 00 00 00 00 00 00 00 04 00 00 00 04 16 00 00 00 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 00 | ................................ |
| 479e0 | 00 00 00 f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 0c 00 00 | ................................ |
| 47a00 | 00 04 16 00 00 00 00 00 00 04 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 47a20 | 5f 00 00 00 61 00 00 00 00 00 00 00 00 00 00 00 60 00 00 00 cf 00 00 00 0c 00 00 00 00 ff ff ff | _...a...........`............... |
| 47a40 | 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 | ................................ |
| 47a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 | ................................ |
| 47b80 | 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 | ......................V...'....i |
| 47ba0 | 9d a5 bc 04 01 00 00 00 00 00 f5 18 00 00 00 ce 00 00 00 d0 00 00 01 07 00 00 00 01 00 00 00 0c | ................................ |
| 47bc0 | 09 63 68 61 72 20 62 75 66 66 65 72 35 81 f5 18 00 00 00 00 ce 00 00 00 0c 00 00 00 00 00 00 00 | .char.buffer5................... |
| 47be0 | 00 00 00 00 00 00 00 00 02 00 00 00 10 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | ................................ |
| 47c00 | 00 00 00 00 35 81 5f d0 00 00 00 60 00 00 00 62 00 00 00 00 00 00 00 00 00 00 00 61 00 00 00 cf | ....5._....`...b...........a.... |
| 47c20 | 00 00 00 0d 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 | ................................ |
| 47c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47d60 | 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 | ................................ |
| 47d80 | 00 56 00 00 00 27 00 00 00 00 69 9d a5 bc 04 01 00 00 00 00 00 f5 18 00 00 00 ce 00 00 00 d0 00 | .V...'....i..................... |
| 47da0 | 00 01 07 00 00 00 01 00 00 00 0e 09 63 68 61 72 20 62 75 66 66 65 72 5b 5d 35 81 f5 18 00 00 00 | ............char.buffer[]5...... |
| 47dc0 | 00 ce 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 11 16 00 00 00 00 00 | ................................ |
| 47de0 | 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 61 00 00 00 63 00 00 00 | .................5._....a...c... |
| 47e00 | 00 00 00 00 00 00 00 00 62 00 00 00 cf 00 00 00 11 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ........b....................... |
| 47e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 | ................................ |
| 47f60 | 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 bd 04 01 00 00 00 | ..............V...'....i........ |
| 47f80 | 00 00 f5 18 00 00 00 ce 00 00 00 d1 00 00 01 07 00 00 00 01 00 00 00 11 09 63 68 61 72 20 62 75 | .........................char.bu |
| 47fa0 | 66 66 65 72 5b 31 30 30 5d 35 81 f5 18 00 00 00 00 ce 00 00 00 11 00 00 00 00 00 00 00 00 00 00 | ffer[100]5...................... |
| 47fc0 | 00 00 00 00 00 01 00 00 00 15 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 47fe0 | 00 f5 18 00 00 00 00 ce 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 16 | ................................ |
| 48000 | 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 cf 00 00 | ................................ |
| 48020 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 18 16 00 00 00 00 00 00 00 00 00 | ................................ |
| 48040 | 00 00 00 00 00 05 00 00 00 00 00 00 00 f5 18 00 00 00 00 cf 00 00 00 01 00 00 00 00 00 00 00 05 | ................................ |
| 48060 | 00 00 00 00 00 00 00 03 00 00 00 18 16 00 00 00 00 00 00 05 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 48080 | 00 00 00 35 81 5f d0 00 00 00 62 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 63 00 00 00 d0 00 | ...5._....b...d...........c..... |
| 480a0 | 00 00 04 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 00 | ................................ |
| 480c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 480e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 481a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 481c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 481e0 | 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 | ................................ |
| 48200 | 56 00 00 00 27 00 00 00 00 69 9d a5 c1 04 01 00 00 00 00 00 f5 18 00 00 00 cf 00 00 00 d1 00 00 | V...'....i...................... |
| 48220 | 01 08 00 00 00 01 00 00 00 04 09 66 6f 72 35 81 f5 18 00 00 00 00 cf 00 00 00 04 00 00 00 00 00 | ...........for5................. |
| 48240 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 1b 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 48260 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 63 00 00 00 65 00 00 00 00 00 00 00 00 00 00 00 64 00 00 | ......5._....c...e...........d.. |
| 48280 | 00 d0 00 00 00 05 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 | ................................ |
| 482a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 482c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 482e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 483a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 483c0 | 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 | ................................ |
| 483e0 | 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 c1 04 01 00 00 00 00 00 f5 18 00 00 00 cf 00 00 00 | ...V...'....i................... |
| 48400 | d1 00 00 01 08 00 00 00 01 00 00 00 06 09 66 6f 72 28 29 35 81 f5 18 00 00 00 00 cf 00 00 00 05 | ..............for()5............ |
| 48420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 1c 16 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48440 | 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 64 00 00 00 66 00 00 00 00 00 00 00 00 00 | ...........5._....d...f......... |
| 48460 | 00 00 65 00 00 00 d0 00 00 00 04 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..e............................. |
| 48480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 484a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 484c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 484e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 485a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 | ................................ |
| 485c0 | 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 c3 04 01 00 00 00 00 00 f5 18 00 00 | ........V...'....i.............. |
| 485e0 | 00 cf 00 00 00 d1 00 00 01 08 00 00 00 01 00 00 00 08 09 66 6f 72 28 3b 3b 29 35 81 f5 18 00 00 | ...................for(;;)5..... |
| 48600 | 00 00 cf 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1b 16 00 00 00 00 | ................................ |
| 48620 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 65 00 00 00 67 00 00 | ..................5._....e...g.. |
| 48640 | 00 00 00 00 00 00 00 00 00 66 00 00 00 d0 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | .........f...................... |
| 48660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 486a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 486c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 486e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 | ................................ |
| 487a0 | 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 c3 04 01 00 00 | ...............V...'....i....... |
| 487c0 | 00 00 00 f5 18 00 00 00 cf 00 00 00 d1 00 00 01 08 00 00 00 01 00 00 00 09 09 66 6f 72 20 28 3b | ..........................for.(; |
| 487e0 | 3b 29 35 81 f5 18 00 00 00 00 cf 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 | ;)5............................. |
| 48800 | 00 00 20 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 48820 | cf 00 00 00 0a 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 21 16 00 00 00 00 00 00 | ........................!....... |
| 48840 | 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 66 00 00 00 68 00 00 00 00 | ................5._....f...h.... |
| 48860 | 00 00 00 00 00 00 00 67 00 00 00 d0 00 00 00 0a 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 | .......g........................ |
| 48880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 488a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 488c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 488e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 489a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 | ................................ |
| 489c0 | 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 c5 04 01 00 00 00 00 | .............V...'....i......... |
| 489e0 | 00 f5 18 00 00 00 cf 00 00 00 d1 00 00 01 08 00 00 00 01 00 00 00 0a 09 66 6f 72 20 28 3b 3b 29 | ........................for.(;;) |
| 48a00 | 20 35 81 f5 18 00 00 00 00 cf 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | .5.............................. |
| 48a20 | 00 21 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .!.......................5._.... |
| 48a40 | 67 00 00 00 69 00 00 00 00 00 00 00 00 00 00 00 68 00 00 00 d0 00 00 00 0b 00 00 00 00 ff ff ff | g...i...........h............... |
| 48a60 | 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 | ................................ |
| 48a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 | ................................ |
| 48ba0 | 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 | ......................V...'....i |
| 48bc0 | 9d a5 c5 04 01 00 00 00 00 00 f5 18 00 00 00 cf 00 00 00 d2 00 00 01 09 00 00 00 01 00 00 00 0b | ................................ |
| 48be0 | 09 66 6f 72 20 28 3b 3b 29 20 7b f5 18 00 00 00 d0 00 00 00 d2 00 00 00 00 00 00 00 01 00 00 00 | .for.(;;).{..................... |
| 48c00 | 02 09 7d f5 18 00 00 00 cf 00 00 00 d2 00 00 01 08 00 00 00 01 00 00 00 0c 09 66 6f 72 20 28 3b | ..}.......................for.(; |
| 48c20 | 3b 29 20 7b 7d 35 81 f5 18 00 00 00 00 cf 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ;).{}5.......................... |
| 48c40 | 00 01 00 00 00 22 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 | .....".......................... |
| 48c60 | 00 00 00 cf 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 22 16 00 00 00 | ...........................".... |
| 48c80 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 d0 00 00 00 00 00 00 | ................................ |
| 48ca0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 23 16 00 00 00 00 00 00 01 00 00 00 00 00 00 | .................#.............. |
| 48cc0 | 00 05 00 00 00 00 00 00 00 f5 18 00 00 00 00 d0 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 48ce0 | 00 00 00 00 00 00 00 27 16 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 | .......'........................ |
| 48d00 | 18 00 00 00 00 d0 00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 11 00 00 00 26 16 00 | .............................&.. |
| 48d20 | 00 00 00 00 00 01 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 f5 18 00 00 00 00 d0 00 00 00 13 | ................................ |
| 48d40 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 36 16 00 00 00 00 00 00 01 00 00 00 00 | ...................6............ |
| 48d60 | 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 68 00 00 00 6a 00 00 00 00 00 00 00 00 00 | ...........5._....h...j......... |
| 48d80 | 00 00 69 00 00 00 d1 00 00 00 13 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..i............................. |
| 48da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 | ................................ |
| 48ee0 | 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 cc 04 01 00 00 00 00 00 f5 18 00 00 | ........V...'....i.............. |
| 48f00 | 00 d0 00 00 00 d2 00 00 01 0a 00 00 00 01 00 00 00 13 09 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d | ....................time_t.cli.= |
| 48f20 | 20 74 69 6d 65 35 81 f5 18 00 00 00 00 d0 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .time5.......................... |
| 48f40 | 00 02 00 00 00 36 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f | .....6.......................5._ |
| 48f60 | d0 00 00 00 69 00 00 00 6b 00 00 00 00 00 00 00 00 00 00 00 6a 00 00 00 d1 00 00 00 14 00 00 00 | ....i...k...........j........... |
| 48f80 | 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 00 00 00 00 00 00 00 | ................................ |
| 48fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 490a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 490c0 | 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 | ..........................V...'. |
| 490e0 | 00 00 00 69 9d a5 cc 04 01 00 00 00 00 00 f5 18 00 00 00 d0 00 00 00 d2 00 00 01 0a 00 00 00 01 | ...i............................ |
| 49100 | 00 00 00 15 09 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 29 35 81 f5 18 00 00 00 | ......time_t.cli.=.time()5...... |
| 49120 | 00 d0 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 37 16 00 00 00 00 00 | .........................7...... |
| 49140 | 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 6a 00 00 00 6c 00 00 00 | .................5._....j...l... |
| 49160 | 00 00 00 00 00 00 00 00 6b 00 00 00 d1 00 00 00 19 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ........k....................... |
| 49180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 491a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 491c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 491e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 492a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 | ................................ |
| 492c0 | 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 ce 04 01 00 00 00 | ..............V...'....i........ |
| 492e0 | 00 00 f5 18 00 00 00 d0 00 00 00 d3 00 00 01 0a 00 00 00 01 00 00 00 19 09 09 74 69 6d 65 5f 74 | ..........................time_t |
| 49300 | 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 35 81 f5 18 00 00 00 00 d0 00 00 00 19 00 00 | .cli.=.time(NULL)5.............. |
| 49320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3c 16 00 00 00 00 00 00 00 00 00 00 00 00 00 | .................<.............. |
| 49340 | 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 d0 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 49360 | 00 00 00 02 00 00 00 3d 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 | .......=........................ |
| 49380 | 18 00 00 00 00 d1 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 40 16 00 | .............................@.. |
| 493a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 f5 18 00 00 00 00 d1 00 00 00 0b | ................................ |
| 493c0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 49 16 00 00 00 00 00 00 02 00 00 00 00 | ...................I............ |
| 493e0 | 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 6b 00 00 00 6d 00 00 00 00 00 00 00 00 00 | ...........5._....k...m......... |
| 49400 | 00 00 6c 00 00 00 d2 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 | ..l............................. |
| 49420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 494a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 494c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 494e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 | ................................ |
| 49560 | 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 d4 04 01 00 00 00 00 00 f5 18 00 00 | ........V...'....i.............. |
| 49580 | 00 d1 00 00 00 d3 00 00 01 0b 00 00 00 01 00 00 00 0b 09 09 73 74 72 75 63 74 20 2a 74 35 81 f5 | ....................struct.*t5.. |
| 495a0 | 18 00 00 00 00 d1 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 47 16 00 | .............................G.. |
| 495c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 6c 00 00 00 | .....................5._....l... |
| 495e0 | 6e 00 00 00 00 00 00 00 00 00 00 00 6d 00 00 00 d2 00 00 00 0e 00 00 00 00 ff ff ff ff 00 01 00 | n...........m................... |
| 49600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 496a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 496c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 496e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 | ................................ |
| 49740 | 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 d5 04 | ..................V...'....i.... |
| 49760 | 01 00 00 00 00 00 f5 18 00 00 00 d1 00 00 00 d3 00 00 01 0b 00 00 00 01 00 00 00 0e 09 09 73 74 | ..............................st |
| 49780 | 72 75 63 74 20 74 6d 20 2a 74 35 81 f5 18 00 00 00 00 d1 00 00 00 0e 00 00 00 00 00 00 00 00 00 | ruct.tm.*t5..................... |
| 497a0 | 00 00 00 00 00 00 0c 00 00 00 4c 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 00 00 | ..........L..................... |
| 497c0 | 00 00 35 81 5f d0 00 00 00 6d 00 00 00 6f 00 00 00 00 00 00 00 00 00 00 00 6e 00 00 00 d2 00 00 | ..5._....m...o...........n...... |
| 497e0 | 00 1a 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 00 00 | ................................ |
| 49800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 498a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 498c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 498e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49920 | 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 | ...............................V |
| 49940 | 00 00 00 27 00 00 00 00 69 9d a5 d8 04 01 00 00 00 00 00 f5 18 00 00 00 d1 00 00 00 d3 00 00 01 | ...'....i....................... |
| 49960 | 0b 00 00 00 01 00 00 00 1a 09 09 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 | ...........struct.tm.*t.=.localt |
| 49980 | 69 6d 65 35 81 f5 18 00 00 00 00 d1 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | ime5............................ |
| 499a0 | 00 00 00 58 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 | ...X.......................5._.. |
| 499c0 | 00 00 6e 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 6f 00 00 00 d2 00 00 00 1b 00 00 00 00 ff | ..n...p...........o............. |
| 499e0 | ff ff 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 | ................................ |
| 49a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49b20 | cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 | ........................V...'... |
| 49b40 | 00 69 9d a5 d9 04 01 00 00 00 00 00 f5 18 00 00 00 d1 00 00 00 d3 00 00 01 0b 00 00 00 01 00 00 | .i.............................. |
| 49b60 | 00 1c 09 09 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 29 35 81 | ....struct.tm.*t.=.localtime()5. |
| 49b80 | f5 18 00 00 00 00 d1 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 59 16 | ..............................Y. |
| 49ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 6f 00 00 | ......................5._....o.. |
| 49bc0 | 00 71 00 00 00 00 00 00 00 00 00 00 00 70 00 00 00 d2 00 00 00 20 00 00 00 00 ff ff ff ff 00 01 | .q...........p.................. |
| 49be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 20 | ................................ |
| 49d20 | 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 da | ...................V...'....i... |
| 49d40 | 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 d4 00 00 01 0c 00 00 00 01 00 00 00 0a 09 09 73 | ...............................s |
| 49d60 | 74 72 66 74 69 6d 65 f5 18 00 00 00 d1 00 00 00 d4 00 00 01 0b 00 00 00 01 00 00 00 20 09 09 73 | trftime........................s |
| 49d80 | 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 35 81 f5 | truct.tm.*t.=.localtime(&cli)5.. |
| 49da0 | 18 00 00 00 00 d1 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 5e 16 00 | .............................^.. |
| 49dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 d1 00 00 00 21 | ...............................! |
| 49de0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 5f 16 00 00 00 00 00 00 00 00 00 00 00 | ..................._............ |
| 49e00 | 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 00 02 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49e20 | 00 00 00 00 00 07 00 00 00 62 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 | .........b...................... |
| 49e40 | 00 f5 18 00 00 00 00 d2 00 00 00 02 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 08 00 00 00 62 | ...............................b |
| 49e60 | 16 00 00 00 00 00 00 07 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 | ................................ |
| 49e80 | 00 02 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 03 00 00 00 62 16 00 00 00 00 00 00 08 00 00 | .....................b.......... |
| 49ea0 | 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 00 02 00 00 00 00 00 00 00 03 | ................................ |
| 49ec0 | 00 00 00 00 00 00 00 18 00 00 00 62 16 00 00 00 00 00 00 03 00 00 00 00 00 00 00 18 00 00 00 00 | ...........b.................... |
| 49ee0 | 00 00 00 35 81 5f d0 00 00 00 70 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 71 00 00 00 d3 00 | ...5._....p...r...........q..... |
| 49f00 | 00 00 19 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 00 | ................................ |
| 49f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a040 | 00 00 00 00 00 00 00 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 | ................................ |
| 4a060 | 56 00 00 00 27 00 00 00 00 69 9d a5 e2 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 d4 00 00 | V...'....i...................... |
| 4a080 | 01 0c 00 00 00 01 00 00 00 1a 09 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a | ............strftime(buffer,.siz |
| 4a0a0 | 65 6f 66 29 35 81 f5 18 00 00 00 00 d2 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | eof)5........................... |
| 4a0c0 | 02 00 00 00 79 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 | ....y.......................5._. |
| 4a0e0 | 00 00 00 71 00 00 00 73 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 d3 00 00 00 1a 00 00 00 00 | ...q...s...........r............ |
| 4a100 | ff ff ff 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 | ................................ |
| 4a120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a240 | 00 cd 00 00 00 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 | .........................V...'.. |
| 4a260 | 00 00 69 9d a5 e2 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 d4 00 00 01 0c 00 00 00 01 00 | ..i............................. |
| 4a280 | 00 00 1c 09 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 29 29 35 | .....strftime(buffer,.sizeof())5 |
| 4a2a0 | 81 f5 18 00 00 00 00 d2 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 7a | ...............................z |
| 4a2c0 | 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 72 00 | .......................5._....r. |
| 4a2e0 | 00 00 74 00 00 00 00 00 00 00 00 00 00 00 73 00 00 00 d3 00 00 00 21 00 00 00 00 ff ff ff ff 00 | ..t...........s.......!......... |
| 4a300 | 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 00 00 | ................................ |
| 4a320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 00 00 00 | ................................ |
| 4a440 | 20 00 00 00 00 00 00 00 c9 00 00 00 1a 00 00 00 00 00 00 00 56 00 00 00 27 00 00 00 00 69 9d a5 | ....................V...'....i.. |
| 4a460 | e5 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 d4 00 00 01 0c 00 00 00 01 00 00 00 22 09 09 | .............................".. |
| 4a480 | 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 29 | strftime(buffer,.sizeof(buffer)) |
| 4a4a0 | 35 81 f5 18 00 00 00 00 d2 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | 5...........!................... |
| 4a4c0 | 81 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 73 | ........................5._....s |
| 4a4e0 | 00 00 00 75 00 00 00 00 00 00 00 00 00 00 00 74 00 00 00 d3 00 00 00 22 00 00 00 00 ff ff ff ff | ...u...........t......."........ |
| 4a500 | 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 00 | ................................ |
| 4a520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 | ................................ |
| 4a640 | 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d | .#...........8.......v...8....i. |
| 4a660 | a5 ec 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 d4 00 00 01 0c 00 00 00 01 00 00 00 24 09 | ..............................$. |
| 4a680 | 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 | .strftime(buffer,.sizeof(buffer) |
| 4a6a0 | 2c 20 29 f5 18 00 00 00 d3 00 00 00 d4 00 00 01 0c 00 00 00 00 35 81 f5 18 00 00 00 00 d2 00 00 | ,.)..................5.......... |
| 4a6c0 | 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 83 16 00 00 00 00 00 00 00 00 00 | .#.............................. |
| 4a6e0 | 00 00 00 00 00 16 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 74 00 00 00 76 00 00 00 00 00 00 00 | .............5._....t...v....... |
| 4a700 | 00 00 00 00 75 00 00 00 d3 00 00 00 39 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 | ....u.......9................... |
| 4a720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 | ......................#......... |
| 4a860 | 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a5 ee 04 01 00 00 00 00 00 f5 18 | ..8.......v...8....i............ |
| 4a880 | 00 00 00 d2 00 00 00 d4 00 00 01 0c 00 00 00 01 00 00 00 3a 09 09 73 74 72 66 74 69 6d 65 28 62 | ...................:..strftime(b |
| 4a8a0 | 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 | uffer,.sizeof(buffer),."%d-%m-%Y |
| 4a8c0 | 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 29 35 81 f5 18 00 00 00 00 d2 00 00 00 39 00 00 00 00 00 | .%I:%M:%S.%p")5...........9..... |
| 4a8e0 | 00 00 00 00 00 00 00 00 00 00 03 00 00 00 99 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 | ................................ |
| 4a900 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 75 00 00 00 77 00 00 00 00 00 00 00 00 00 00 00 76 00 00 | ......5._....u...w...........v.. |
| 4a920 | 00 d3 00 00 00 3d 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 | .....=.......................... |
| 4a940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa60 | 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 | ...............#...........8.... |
| 4aa80 | 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a5 f2 04 01 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 | ...v...8....i................... |
| 4aaa0 | d5 00 00 01 0c 00 00 00 01 00 00 00 3d 09 09 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 | ............=..strftime(buffer,. |
| 4aac0 | 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a | sizeof(buffer),."%d-%m-%Y.%I:%M: |
| 4aae0 | 25 53 20 25 70 22 2c 20 74 29 35 81 f5 18 00 00 00 00 d2 00 00 00 3d 00 00 00 00 00 00 00 00 00 | %S.%p",.t)5...........=......... |
| 4ab00 | 00 00 00 00 00 00 01 00 00 00 9d 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 | ................................ |
| 4ab20 | 00 00 f5 18 00 00 00 00 d2 00 00 00 3e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 | ............>................... |
| 4ab40 | 9e 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 d3 00 | ................................ |
| 4ab60 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 a1 16 00 00 00 00 00 00 00 00 | ................................ |
| 4ab80 | 00 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 76 00 00 00 78 00 00 00 00 00 00 | ..............5._....v...x...... |
| 4aba0 | 00 00 00 00 00 77 00 00 00 d4 00 00 00 08 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | .....w.......................... |
| 4abc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4abe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4acc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ace0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc | .......................#........ |
| 4ad00 | 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a5 f4 04 01 00 00 00 00 00 f5 | ...8.......v...8....i........... |
| 4ad20 | 18 00 00 00 d3 00 00 00 d5 00 00 01 0d 00 00 00 01 00 00 00 08 09 09 70 72 69 6e 74 66 35 81 f5 | .......................printf5.. |
| 4ad40 | 18 00 00 00 00 d3 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 a7 16 00 | ................................ |
| 4ad60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 77 00 00 00 | .....................5._....w... |
| 4ad80 | 79 00 00 00 00 00 00 00 00 00 00 00 78 00 00 00 d4 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 | y...........x................... |
| 4ada0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4adc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ade0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 | ..............................#. |
| 4aee0 | 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a5 f5 04 | ..........8.......v...8....i.... |
| 4af00 | 01 00 00 00 00 00 f5 18 00 00 00 d3 00 00 00 d5 00 00 01 0d 00 00 00 01 00 00 00 0a 09 09 70 72 | ..............................pr |
| 4af20 | 69 6e 74 66 28 29 35 81 f5 18 00 00 00 00 d3 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 | intf()5......................... |
| 4af40 | 00 00 02 00 00 00 a8 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 | ..............................5. |
| 4af60 | 5f d0 00 00 00 78 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 79 00 00 00 d4 00 00 00 0a 00 00 | _....x...z...........y.......... |
| 4af80 | 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 00 00 00 00 00 00 | ................................ |
| 4afa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4afe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b0c0 | 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 | .......#...........8.......v...8 |
| 4b0e0 | 00 00 00 00 69 9d a5 f5 04 01 00 00 00 00 00 f5 18 00 00 00 d3 00 00 00 d5 00 00 01 0d 00 00 00 | ....i........................... |
| 4b100 | 01 00 00 00 0c 09 09 70 72 69 6e 74 66 28 22 22 29 35 81 f5 18 00 00 00 00 d3 00 00 00 0a 00 00 | .......printf("")5.............. |
| 4b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 a9 16 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b140 | 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 d3 00 00 00 0b 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 4b160 | 00 00 00 0b 00 00 00 aa 16 00 00 00 00 00 00 01 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 35 | ...............................5 |
| 4b180 | 81 5f d0 00 00 00 79 00 00 00 7b 00 00 00 00 00 00 00 00 00 00 00 7a 00 00 00 d4 00 00 00 17 00 | ._....y...{...........z......... |
| 4b1a0 | 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 00 00 00 00 00 | ................................ |
| 4b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b2e0 | 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 | ........#...........8.......v... |
| 4b300 | 38 00 00 00 00 69 9d a5 fb 04 01 00 00 00 00 00 f5 18 00 00 00 d3 00 00 00 d5 00 00 01 0d 00 00 | 8....i.......................... |
| 4b320 | 00 01 00 00 00 18 09 09 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 29 35 81 | ........printf("\rTime.is.%s")5. |
| 4b340 | f5 18 00 00 00 00 d3 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 b6 16 | ................................ |
| 4b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 d3 00 00 00 | ................................ |
| 4b380 | 17 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 b6 16 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 4b3a0 | 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 00 d3 00 00 00 17 00 00 00 00 00 00 00 02 00 | ................................ |
| 4b3c0 | 00 00 00 00 00 00 08 00 00 00 b6 16 00 00 00 00 00 00 02 00 00 00 00 00 00 00 08 00 00 00 00 00 | ................................ |
| 4b3e0 | 00 00 35 81 5f d0 00 00 00 7a 00 00 00 7c 00 00 00 00 00 00 00 00 00 00 00 7b 00 00 00 d4 00 00 | ..5._....z...|...........{...... |
| 4b400 | 00 20 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 00 00 | ................................ |
| 4b420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b540 | 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 | ...........#...........8.......v |
| 4b560 | 00 00 00 38 00 00 00 00 69 9d a6 01 04 01 00 00 00 00 00 f5 18 00 00 00 d3 00 00 00 d6 00 00 01 | ...8....i....................... |
| 4b580 | 0d 00 00 00 01 00 00 00 20 09 09 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 | ...........printf("\rTime.is.%s" |
| 4b5a0 | 2c 20 62 75 66 66 65 72 29 35 81 f5 18 00 00 00 00 d3 00 00 00 20 00 00 00 00 00 00 00 00 00 00 | ,.buffer)5...................... |
| 4b5c0 | 00 00 00 00 00 01 00 00 00 bf 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ................................ |
| 4b5e0 | 00 f5 18 00 00 00 00 d3 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 c0 | ...........!.................... |
| 4b600 | 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 d4 00 00 | ................................ |
| 4b620 | 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 c3 16 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b640 | 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 7b 00 00 00 7d 00 00 00 00 00 00 00 | .............5._....{...}....... |
| 4b660 | 00 00 00 00 7c 00 00 00 d5 00 00 00 08 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 | ....|........................... |
| 4b680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 | ......................#......... |
| 4b7c0 | 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a6 03 04 01 00 00 00 00 00 f5 18 | ..8.......v...8....i............ |
| 4b7e0 | 00 00 00 d4 00 00 00 d6 00 00 01 0e 00 00 00 01 00 00 00 08 09 09 66 66 6c 75 73 68 35 81 f5 18 | ......................fflush5... |
| 4b800 | 00 00 00 00 d4 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 c9 16 00 00 | ................................ |
| 4b820 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 7c 00 00 00 7e | ....................5._....|...~ |
| 4b840 | 00 00 00 00 00 00 00 00 00 00 00 7d 00 00 00 d5 00 00 00 09 00 00 00 00 ff ff ff ff 00 01 00 00 | ...........}.................... |
| 4b860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 | .............................#.. |
| 4b9a0 | 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a6 04 04 01 | .........8.......v...8....i..... |
| 4b9c0 | 00 00 00 00 00 f5 18 00 00 00 d4 00 00 00 d6 00 00 01 0e 00 00 00 01 00 00 00 0a 09 09 66 66 6c | .............................ffl |
| 4b9e0 | 75 73 68 28 29 35 81 f5 18 00 00 00 00 d4 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ush()5.......................... |
| 4ba00 | 00 06 00 00 00 ca 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 35 81 5f | .............................5._ |
| 4ba20 | d0 00 00 00 7d 00 00 00 7f 00 00 00 00 00 00 00 00 00 00 00 7e 00 00 00 d5 00 00 00 10 00 00 00 | ....}...............~........... |
| 4ba40 | 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 00 00 00 00 00 00 00 | ................................ |
| 4ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bb80 | 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 | ......#...........8.......v...8. |
| 4bba0 | 00 00 00 69 9d a6 06 04 01 00 00 00 00 00 f5 18 00 00 00 d4 00 00 00 d7 00 00 01 0e 00 00 00 01 | ...i............................ |
| 4bbc0 | 00 00 00 10 09 09 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 35 81 f5 18 00 00 00 00 d4 00 00 00 | ......fflush(stdout)5........... |
| 4bbe0 | 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 d1 16 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bc00 | 00 00 00 00 01 00 00 00 00 00 00 00 f5 18 00 00 00 00 d4 00 00 00 10 00 00 00 00 00 00 00 01 00 | ................................ |
| 4bc20 | 00 00 00 00 00 00 01 00 00 00 d1 16 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 | ................................ |
| 4bc40 | 00 00 f5 18 00 00 00 00 d4 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 | ................................ |
| 4bc60 | d2 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 f5 18 00 00 00 00 d5 00 | ................................ |
| 4bc80 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 d5 16 00 00 00 00 00 00 00 00 | ................................ |
| 4bca0 | 00 00 00 00 00 00 05 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 7e 00 00 00 80 00 00 00 00 00 00 | ..............5._....~.......... |
| 4bcc0 | 00 00 00 00 00 7f 00 00 00 d6 00 00 00 07 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 4bce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4be00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc | .......................#........ |
| 4be20 | 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a6 09 04 01 00 00 00 00 00 f5 | ...8.......v...8....i........... |
| 4be40 | 18 00 00 00 d5 00 00 00 d7 00 00 01 0f 00 00 00 01 00 00 00 07 09 09 73 6c 65 65 70 35 81 f5 18 | .......................sleep5... |
| 4be60 | 00 00 00 00 d5 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 da 16 00 00 | ................................ |
| 4be80 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 7f 00 00 00 81 | ....................5._......... |
| 4bea0 | 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 d6 00 00 00 08 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 4bec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bf60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bf80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bfa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bfc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bfe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 | .............................#.. |
| 4c000 | 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 00 00 69 9d a6 09 04 01 | .........8.......v...8....i..... |
| 4c020 | 00 00 00 00 00 f5 18 00 00 00 d5 00 00 00 d7 00 00 01 0f 00 00 00 01 00 00 00 09 09 09 73 6c 65 | .............................sle |
| 4c040 | 65 70 28 29 35 81 f5 18 00 00 00 00 d5 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ep()5........................... |
| 4c060 | 01 00 00 00 db 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 | ............................5._. |
| 4c080 | 00 00 00 80 00 00 00 82 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 d6 00 00 00 0a 00 00 00 00 | ................................ |
| 4c0a0 | ff ff ff 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 | ................................ |
| 4c0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c1e0 | 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 00 00 76 00 00 00 38 00 00 | .....#...........8.......v...8.. |
| 4c200 | 00 00 69 9d a6 0a 04 01 00 00 00 00 00 f5 18 00 00 00 d5 00 00 00 d7 00 00 01 0f 00 00 00 01 00 | ..i............................. |
| 4c220 | 00 00 0a 09 09 73 6c 65 65 70 28 31 29 35 81 f5 18 00 00 00 00 d5 00 00 00 0a 00 00 00 00 00 00 | .....sleep(1)5.................. |
| 4c240 | 00 00 00 00 00 00 00 00 00 01 00 00 00 dd 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 4c260 | 00 00 00 00 00 35 81 5f d0 00 00 00 81 00 00 00 83 00 00 00 00 00 00 00 00 00 00 00 82 00 00 00 | .....5._........................ |
| 4c280 | d6 00 00 00 0a 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 | ................................ |
| 4c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c3c0 | 00 00 00 00 00 00 00 00 00 00 cc 00 00 00 23 00 00 00 00 00 00 00 cc 00 00 00 38 00 00 00 00 00 | ..............#...........8..... |
| 4c3e0 | 00 00 76 00 00 00 38 00 00 00 00 69 9d a6 0b 04 01 00 00 00 1d 00 f5 18 00 00 00 ce 00 00 00 d8 | ..v...8....i.................... |
| 4c400 | 00 00 01 0f 00 00 00 09 00 00 00 12 09 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 | .............char.buffer[100];.. |
| 4c420 | 00 0b 09 66 6f 72 20 28 3b 3b 29 20 7b 00 00 00 1a 09 09 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 | ...for.(;;).{......time_t.cli.=. |
| 4c440 | 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 21 09 09 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 | time(NULL);...!..struct.tm.*t.=. |
| 4c460 | 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 3e 09 09 73 74 72 66 74 69 6d 65 28 62 | localtime(&cli);...>..strftime(b |
| 4c480 | 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 | uffer,.sizeof(buffer),."%d-%m-%Y |
| 4c4a0 | 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 29 3b 00 00 00 21 09 09 70 72 69 6e 74 66 28 22 | .%I:%M:%S.%p",.t);...!..printf(" |
| 4c4c0 | 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 11 09 09 66 66 6c | \rTime.is.%s",.buffer);......ffl |
| 4c4e0 | 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 0b 09 09 73 6c 65 65 70 28 31 29 3b 00 00 00 02 09 | ush(stdout);......sleep(1);..... |
| 4c500 | 7d 35 81 f5 18 00 00 00 00 ce 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 08 00 00 00 02 00 00 | }5.............................. |
| 4c520 | 00 04 16 00 00 00 00 00 00 dc 00 00 00 00 00 00 00 eb 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........................5._.... |
| 4c540 | 82 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 83 00 00 00 c9 00 00 00 0a 00 00 00 00 ff ff ff | ................................ |
| 4c560 | 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 | ................................ |
| 4c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ce 00 | ................................ |
| 4c6a0 | 00 00 00 00 00 00 00 00 00 00 c9 00 00 00 0a 00 00 00 00 00 00 00 56 00 00 00 0a 00 00 00 00 69 | ......................V........i |
| 4c6c0 | 9d a6 0f 04 01 00 00 00 1f 00 f5 18 00 00 00 c8 00 00 00 c9 00 00 00 00 00 00 00 06 00 00 00 1a | ................................ |
| 4c6e0 | 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 21 20 20 | ..time_t.cli.=.time(NULL);...!.. |
| 4c700 | 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 | struct.tm.*t.=.localtime(&cli);. |
| 4c720 | 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 3e 20 20 73 74 72 66 | .....char.buffer[100];...>..strf |
| 4c740 | 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 | time(buffer,.sizeof(buffer),."%d |
| 4c760 | 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 29 3b 00 00 00 21 20 20 70 72 | -%m-%Y.%I:%M:%S.%p",.t);...!..pr |
| 4c780 | 69 6e 74 66 28 22 54 69 6d 65 20 69 73 20 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 | intf("Time.is.%s\n",.buffer);... |
| 4c7a0 | 00 35 81 f5 18 00 00 00 00 c8 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .5.............................. |
| 4c7c0 | 00 51 15 00 00 00 00 00 00 b3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .Q.......................5._.... |
| 4c7e0 | 83 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 84 00 00 00 ce 00 00 00 18 00 00 00 00 ff ff ff | ................................ |
| 4c800 | 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 | ................................ |
| 4c820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ce 00 | ................................ |
| 4c940 | 00 00 17 00 00 00 00 00 00 00 ce 00 00 00 17 00 00 00 00 00 00 00 76 00 00 00 17 00 00 00 00 69 | ......................v........i |
| 4c960 | 9d a6 1f 04 01 00 00 00 00 00 f5 18 00 00 00 cd 00 00 00 cf 00 00 01 09 00 00 00 01 00 00 00 23 | ...............................# |
| 4c980 | 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 | ....printf("\rTime.is.%s",.buffe |
| 4c9a0 | 72 29 3b 35 81 f5 18 00 00 00 00 cd 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 | r);5............................ |
| 4c9c0 | 00 00 00 0c 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 4c9e0 | 00 cd 00 00 00 19 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 0d 16 00 00 00 00 00 | ................................ |
| 4ca00 | 00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 84 00 00 00 86 00 00 00 | .................5._............ |
| 4ca20 | 00 00 00 00 00 00 00 00 85 00 00 00 ce 00 00 00 19 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ................................ |
| 4ca40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ca60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ca80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4caa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ce 00 00 00 17 00 00 00 00 00 | ................................ |
| 4cb80 | 00 00 ce 00 00 00 17 00 00 00 00 00 00 00 76 00 00 00 17 00 00 00 00 69 9d a6 21 04 01 00 00 00 | ..............v........i..!..... |
| 4cba0 | 21 00 f5 18 00 00 00 cd 00 00 00 cf 00 00 01 09 00 00 00 01 00 00 00 26 20 20 20 20 70 72 69 6e | !......................&....prin |
| 4cbc0 | 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 5c 6c 6e 22 2c 20 62 75 66 66 65 72 29 3b 35 81 | tf("\rTime.is.%s\ln",.buffer);5. |
| 4cbe0 | f5 18 00 00 00 00 cd 00 00 00 19 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 0d 16 | ................................ |
| 4cc00 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 85 00 00 | ......................5._....... |
| 4cc20 | 00 87 00 00 00 00 00 00 00 00 00 00 00 86 00 00 00 d2 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 | ................................ |
| 4cc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cc60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cc80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ccc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cd00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cd20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a6 3a | ............................i..: |
| 4cda0 | 04 01 00 00 00 00 00 f5 18 00 00 00 d1 00 00 00 d2 00 00 00 00 00 00 00 01 00 00 00 00 35 81 f5 | .............................5.. |
| 4cdc0 | 18 00 00 00 00 d1 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 16 00 | .............................@.. |
| 4cde0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 86 00 00 00 | .....................5._........ |
| 4ce00 | 88 00 00 00 00 00 00 00 00 00 00 00 87 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 4ce20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cf00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cf20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cf40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 00 | ................................ |
| 4cf60 | 00 00 00 00 00 01 08 00 00 00 01 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9d a6 83 04 | ..................V........i.... |
| 4cf80 | 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 08 00 00 00 1f 23 64 65 66 | ............................#def |
| 4cfa0 | 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 | ine._POSIX_C_SOURCE.200809L...&# |
| 4cfc0 | 69 6e 63 6c 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 | include."xdg-shell-client-protoc |
| 4cfe0 | 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 | ol.h"....#include.<fcntl.h>....# |
| 4d000 | 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f | include.<math.h>....#include.<po |
| 4d020 | 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 | ll.h>....#include.<signal.h>.... |
| 4d040 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | #include.<stdbool.h>....#include |
| 4d060 | 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 | .<stdint.h>....#include.<stdio.h |
| 4d080 | 3e 00 00 00 13 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 | >....#include.<stdlib.h>....#inc |
| 4d0a0 | 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 | lude.<string.h>....#include.<sys |
| 4d0c0 | 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 | /mman.h>....#include.<sys/timerf |
| 4d0e0 | 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e | d.h>....#include.<time.h>....#in |
| 4d100 | 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 | clude.<unistd.h>....#include.<wa |
| 4d120 | 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d | yland-client.h>........#ifndef.M |
| 4d140 | 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 | _PI...##define.M_PI.3.1415926535 |
| 4d160 | 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 | 8979323846....#endif....#ifndef. |
| 4d180 | 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 | M_PI_2...%#define.M_PI_2.1.57079 |
| 4d1a0 | 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 | 632679489661923....#endif....... |
| 4d1c0 | 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 | )static.volatile.sig_atomic_t.ru |
| 4d1e0 | 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 | nning.=.1;....static.void.on_sig |
| 4d200 | 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e | (int.s).{......(void)s;......run |
| 4d220 | 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 | ning.=.0;....}........struct.app |
| 4d240 | 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 | .{......struct.wl_display.*d;... |
| 4d260 | 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 | ...struct.wl_registry.*reg;..... |
| 4d280 | 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 3b 00 00 00 15 | .struct.wl_compositor.*comp;.... |
| 4d2a0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 | ..struct.wl_shm.*shm;......struc |
| 4d2c0 | 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 | t.xdg_wm_base.*wm;......struct.w |
| 4d2e0 | 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 | l_surface.*ws;......struct.xdg_s |
| 4d300 | 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c | urface.*xs;......struct.xdg_topl |
| 4d320 | 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 | evel.*xt;......void.*pixels;.... |
| 4d340 | 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e | ..struct.wl_buffer.*buf;......in |
| 4d360 | 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f | t.w,.h;......int.bw,.bh;......bo |
| 4d380 | 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b | ol.configured;......bool.redraw; |
| 4d3a0 | 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e | ....};.......Jstatic.void.wm_pin |
| 4d3c0 | 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 |
| 4d3e0 | 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 | .*wm,.uint32_t.serial).{......xd |
| 4d400 | 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d | g_wm_base_pong(wm,.serial);....} |
| 4d420 | 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 | .......$static.int.create_shm(si |
| 4d440 | 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 | ze_t.size).{...#..char.t[].=."/t |
| 4d460 | 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 | mp/wlclock-XXXXXX";......int.fd. |
| 4d480 | 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 | =.mkstemp(t);......if.(fd.<.0).. |
| 4d4a0 | 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 | ......exit(1);......unlink(t);.. |
| 4d4c0 | 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 | ....if.(ftruncate(fd,.size).<.0) |
| 4d4e0 | 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b | ........exit(1);......return.fd; |
| 4d500 | 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 | ....}.......(static.void.destroy |
| 4d520 | 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 | _buf(struct.app.*a).{......if.(! |
| 4d540 | 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 | a->buf)........return;...*..size |
| 4d560 | 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 | _t.size.=.(size_t)a->bw.*.a->bh. |
| 4d580 | 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 | *.4;......wl_buffer_destroy(a->b |
| 4d5a0 | 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 | uf);......munmap(a->pixels,.size |
| 4d5c0 | 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 | );......a->buf.=.NULL;......a->p |
| 4d5e0 | 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 | ixels.=.NULL;....}.......&static |
| 4d600 | 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b | .void.alloc_buf(struct.app.*a).{ |
| 4d620 | 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f | ......destroy_buf(a);...(..size_ |
| 4d640 | 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 | t.size.=.(size_t)a->w.*.a->h.*.4 |
| 4d660 | 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 | ;......int.fd.=.create_shm(size) |
| 4d680 | 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 | ;...J..a->pixels.=.mmap(NULL,.si |
| 4d6a0 | 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f | ze,.PROT_READ.|.PROT_WRITE,.MAP_ |
| 4d6c0 | 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 | SHARED,.fd,.0);......if.(a->pixe |
| 4d6e0 | 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 | ls.==.MAP_FAILED)........exit(1) |
| 4d700 | 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 | ;...B..struct.wl_shm_pool.*pool. |
| 4d720 | 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c | =.wl_shm_create_pool(a->shm,.fd, |
| 4d740 | 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f | .size);...C..a->buf.=.wl_shm_poo |
| 4d760 | 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 | l_create_buffer(pool,.0,.a->w,.a |
| 4d780 | 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ->h,.a->w.*.4,...=.............. |
| 4d7a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f | .......................WL_SHM_FO |
| 4d7c0 | 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | RMAT_ARGB8888);......wl_shm_pool |
| 4d7e0 | 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 | _destroy(pool);......close(fd);. |
| 4d800 | 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 | .....a->bw.=.a->w;......a->bh.=. |
| 4d820 | 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 | a->h;....}.......Lstatic.void.li |
| 4d840 | 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | ne(uint32_t.*px,.int.w,.int.h,.i |
| 4d860 | 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 | nt.x0,.int.y0,.int.x1,.int.y1,.. |
| 4d880 | 00 1e 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 63 29 20 7b | ...................uint32_t.c).{ |
| 4d8a0 | 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 | .../..int.dx.=.abs(x1.-.x0),.sx. |
| 4d8c0 | 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 | =.x0.<.x1.?.1.:.-1;...0..int.dy. |
| 4d8e0 | 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 | =.-abs(y1.-.y0),.sy.=.y0.<.y1.?. |
| 4d900 | 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 | 1.:.-1;......int.err.=.dx.+.dy;. |
| 4d920 | 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e | .....while.(1).{.../....if.(x0.> |
| 4d940 | 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c | =.0.&&.x0.<.w.&&.y0.>=.0.&&.y0.< |
| 4d960 | 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 | .h)..........px[y0.*.w.+.x0].=.c |
| 4d980 | 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 | ;........if.(x0.==.x1.&&.y0.==.y |
| 4d9a0 | 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 | 1)..........break;........int.e2 |
| 4d9c0 | 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 | .=.2.*.err;........if.(e2.>=.dy) |
| 4d9e0 | 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 | .{..........err.+=.dy;.......... |
| 4da00 | 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 | x0.+=.sx;........}........if.(e2 |
| 4da20 | 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 | .<=.dx).{..........err.+=.dx;... |
| 4da40 | 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d | .......y0.+=.sy;........}......} |
| 4da60 | 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 | ....}.......Estatic.void.circle( |
| 4da80 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 4daa0 | 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 | cx,.int.cy,.int.r,.............. |
| 4dac0 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 | .........uint32_t.c).{..."..int. |
| 4dae0 | 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 | x.=.0,.y.=.r,.d.=.3.-.2.*.r;.... |
| 4db00 | 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b | ..while.(y.>=.x).{...H....int.p[ |
| 4db20 | 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d | 8][2].=.{{cx.+.x,.cy.+.y},.{cx.- |
| 4db40 | 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 | .x,.cy.+.y},.{cx.+.x,.cy.-.y},.. |
| 4db60 | 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 | .H...................{cx.-.x,.cy |
| 4db80 | 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 | .-.y},.{cx.+.y,.cy.+.x},.{cx.-.y |
| 4dba0 | 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.cy.+.x},...7.................. |
| 4dbc0 | 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d | .{cx.+.y,.cy.-.x},.{cx.-.y,.cy.- |
| 4dbe0 | 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | .x}};........for.(int.i.=.0;.i.< |
| 4dc00 | 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d | .8;.i++)...E......if.(p[i][0].>= |
| 4dc20 | 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 | .0.&&.p[i][0].<.w.&&.p[i][1].>=. |
| 4dc40 | 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b | 0.&&.p[i][1].<.h)...&........px[ |
| 4dc60 | 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 | p[i][1].*.w.+.p[i][0]].=.c;..... |
| 4dc80 | 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 | ...if.(d.>.0).{..........d.+=.4. |
| 4dca0 | 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 | *.(x.-.y).+.10;..........y--;... |
| 4dcc0 | 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 | .....}.else..........d.+=.4.*.x. |
| 4dce0 | 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | +.6;........x++;......}....}.... |
| 4dd00 | 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 | ...#static.void.render(struct.ap |
| 4dd20 | 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 | p.*a).{.../..if.(!a->configured. |
| 4dd40 | 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 | ||.a->w.<=.0.||.a->h.<=.0)...... |
| 4dd60 | 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 | ..return;......if.(!a->buf)..... |
| 4dd80 | 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a | ...alloc_buf(a);......uint32_t.* |
| 4dda0 | 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 | px.=.a->pixels;...$..memset(px,. |
| 4ddc0 | 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d | 0xFF,.a->w.*.a->h.*.4);......tim |
| 4dde0 | 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 | e_t.tt.=.time(NULL);......struct |
| 4de00 | 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 | .tm.tmv;......localtime_r(&tt,.& |
| 4de20 | 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 | tmv);...#..int.cx.=.a->w./.2,.cy |
| 4de40 | 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 | .=.a->h./.2;.../..int.r.=.(a->w. |
| 4de60 | 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 | <.a->h.?.a->w.:.a->h)./.2.-.10;. |
| 4de80 | 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 | .....if.(r.<.5)........r.=.5;... |
| 4dea0 | 30 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 | 0..circle(px,.a->w,.a->h,.cx,.cy |
| 4dec0 | 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 | ,.r,.0xFF000000);......for.(int. |
| 4dee0 | 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 | i.=.0;.i.<.12;.i++).{........dou |
| 4df00 | 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 | ble.ang.=.i./.12.0.*.2.*.M_PI.-. |
| 4df20 | 4d 5f 50 49 5f 32 3b 00 00 00 4c 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | M_PI_2;...L....line(px,.a->w,.a- |
| 4df40 | 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 20 63 79 | >h,.cx.+.cos(ang).*.(r.-.10),.cy |
| 4df60 | 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 00 00 00 47 20 20 20 20 20 | .+.sin(ang).*.(r.-.10),...G..... |
| 4df80 | 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 63 79 20 | ....cx.+.cos(ang).*.(r.-.2),.cy. |
| 4dfa0 | 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 30 78 46 46 30 30 30 30 30 30 | +.sin(ang).*.(r.-.2),.0xFF000000 |
| 4dfc0 | 29 3b 00 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 | );......}...4..double.sa.=.tmv.t |
| 4dfe0 | 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | m_sec./.60.0.*.2.*.M_PI.-.M_PI_2 |
| 4e000 | 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b | ;...J..double.ma.=.(tmv.tm_min.+ |
| 4e020 | 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a | .tmv.tm_sec./.60.0)./.60.0.*.2.* |
| 4e040 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d | .M_PI.-.M_PI_2;......double.ha.= |
| 4e060 | 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 | ...L......((tmv.tm_hour.%.12).+. |
| 4e080 | 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 | (tmv.tm_min./.60.0))./.12.0.*.2. |
| 4e0a0 | 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 | *.M_PI.-.M_PI_2;...N..line(px,.a |
| 4e0c0 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 | ->w,.a->h,.cx,.cy,.cx.+.cos(ha). |
| 4e0e0 | 2a 20 72 20 2a 20 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e | *.r.*.0.5,.cy.+.sin(ha).*.r.*.0. |
| 4e100 | 35 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e 20 20 6c | 5,...........0xFF000000);...N..l |
| 4e120 | 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b | ine(px,.a->w,.a->h,.cx,.cy,.cx.+ |
| 4e140 | 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 | .cos(ma).*.r.*.0.7,.cy.+.sin(ma) |
| 4e160 | 20 2a 20 72 20 2a 20 30 2e 37 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 | .*.r.*.0.7,...........0xFF000000 |
| 4e180 | 29 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c | );...N..line(px,.a->w,.a->h,.cx, |
| 4e1a0 | 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 20 63 79 20 | .cy,.cx.+.cos(sa).*.r.*.0.9,.cy. |
| 4e1c0 | 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 13 20 20 20 20 20 20 20 30 | +.sin(sa).*.r.*.0.9,...........0 |
| 4e1e0 | 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | xFFFF0000);...)..wl_surface_atta |
| 4e200 | 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c | ch(a->ws,.a->buf,.0,.0);...4..wl |
| 4e220 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c | _surface_damage_buffer(a->ws,.0, |
| 4e240 | 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 | .0,.a->w,.a->h);......wl_surface |
| 4e260 | 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d | _commit(a->ws);......a->redraw.= |
| 4e280 | 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 | .false;....}.......Gstatic.void. |
| 4e2a0 | 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 | xt_close(void.*d,.struct.xdg_top |
| 4e2c0 | 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 | level.*xt).{.running.=.0;.}..... |
| 4e2e0 | 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 | ..Jstatic.void.xt_cfg(void.*d,.s |
| 4e300 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 | truct.xdg_toplevel.*xt,.int32_t. |
| 4e320 | 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | w,.int32_t.h,...(............... |
| 4e340 | 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 | ....struct.wl_array.*s).{......s |
| 4e360 | 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 | truct.app.*a.=.d;...3..if.(w.>.0 |
| 4e380 | 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 | .&&.h.>.0.&&.(w.!=.a->w.||.h.!=. |
| 4e3a0 | 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 | a->h)).{........a->w.=.w;....... |
| 4e3c0 | 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 | .a->h.=.h;........destroy_buf(a) |
| 4e3e0 | 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 | ;........a->redraw.=.true;...... |
| 4e400 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 | }....}.......Fstatic.void.xs_cfg |
| 4e420 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 | (void.*d,.struct.xdg_surface.*xs |
| 4e440 | 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | ,.uint32_t.serial).{......struct |
| 4e460 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 | .app.*a.=.d;...(..xdg_surface_ac |
| 4e480 | 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 17 20 20 61 2d | k_configure(xs,.serial);......a- |
| 4e4a0 | 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 | >configured.=.true;......a->redr |
| 4e4c0 | 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f | aw.=.true;....}.......Cstatic.vo |
| 4e4e0 | 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c | id.reg_global(void.*d,.struct.wl |
| 4e500 | 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 | _registry.*r,.uint32_t.id,...3.. |
| 4e520 | 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 72 20 | .....................const.char. |
| 4e540 | 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 | *i,.uint32_t.v).{......struct.ap |
| 4e560 | 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 | p.*a.=.d;..."..if.(!strcmp(i,."w |
| 4e580 | 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d | l_compositor"))...C....a->comp.= |
| 4e5a0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d | .wl_registry_bind(r,.id,.&wl_com |
| 4e5c0 | 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 20 20 20 65 6c 73 65 | positor_interface,.4);......else |
| 4e5e0 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 | .if.(!strcmp(i,."wl_shm"))...;.. |
| 4e600 | 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 | ..a->shm.=.wl_registry_bind(r,.i |
| 4e620 | 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 | d,.&wl_shm_interface,.1);...'..e |
| 4e640 | 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 | lse.if.(!strcmp(i,."xdg_wm_base" |
| 4e660 | 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | )).{...?....a->wm.=.wl_registry_ |
| 4e680 | 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 66 61 | bind(r,.id,.&xdg_wm_base_interfa |
| 4e6a0 | 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | ce,.1);...C....static.const.stru |
| 4e6c0 | 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 | ct.xdg_wm_base_listener.l.=.{.pi |
| 4e6e0 | 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 | ng.=.wm_ping};...+....xdg_wm_bas |
| 4e700 | 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 | e_add_listener(a->wm,.&l,.a);... |
| 4e720 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 | ...}....}........int.main(void). |
| 4e740 | 7b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 0c 20 20 66 6f | {......char.buffer[100];......fo |
| 4e760 | 72 20 28 3b 3b 29 20 7b 00 00 00 1c 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d | r.(;;).{........time_t.cli.=.tim |
| 4e780 | 65 28 4e 55 4c 4c 29 3b 00 00 00 23 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 20 3d 20 6c | e(NULL);...#....struct.tm.*t.=.l |
| 4e7a0 | 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 40 20 20 20 20 73 74 72 66 74 69 6d 65 28 | ocaltime(&cli);...@....strftime( |
| 4e7c0 | 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 | buffer,.sizeof(buffer),."%d-%m-% |
| 4e7e0 | 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 29 3b 00 00 00 25 20 20 20 20 70 72 69 6e 74 | Y.%I:%M:%S.%p",.t);...%....print |
| 4e800 | 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 5c 6e 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 13 | f("\rTime.is.%s\n",.buffer);.... |
| 4e820 | 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 0d 20 20 20 20 73 6c 65 65 70 | ....fflush(stdout);........sleep |
| 4e840 | 28 31 29 3b 00 00 00 03 20 20 7d 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 | (1);......}......struct.app.a.=. |
| 4e860 | 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 | {0};......a.w.=.400;......a.h.=. |
| 4e880 | 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 | 400;......signal(SIGINT,.on_sig) |
| 4e8a0 | 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 | ;...!..a.d.=.wl_display_connect( |
| 4e8c0 | 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 | NULL);......if.(!a.d)........ret |
| 4e8e0 | 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 | urn.1;...'..a.reg.=.wl_display_g |
| 4e900 | 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f | et_registry(a.d);...G..static.co |
| 4e920 | 6e 73 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 | nst.struct.wl_registry_listener. |
| 4e940 | 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b | rl.=.{.global.=.reg_global};...+ |
| 4e960 | 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 61 2e 72 65 67 | ..wl_registry_add_listener(a.reg |
| 4e980 | 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e | ,.&rl,.&a);......wl_display_roun |
| 4e9a0 | 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 | dtrip(a.d);...!..if.(!a.comp.||. |
| 4e9c0 | 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 | !a.shm.||.!a.wm)........return.1 |
| 4e9e0 | 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 72 65 61 | ;......a.ws.=.wl_compositor_crea |
| 4ea00 | 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 | te_surface(a.comp);...1..a.xs.=. |
| 4ea20 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d | xdg_wm_base_get_xdg_surface(a.wm |
| 4ea40 | 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | ,.a.ws);...G..static.const.struc |
| 4ea60 | 74 20 78 64 67 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 | t.xdg_surface_listener.xsl.=.{.c |
| 4ea80 | 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 | onfigure.=.xs_cfg};...+..xdg_sur |
| 4eaa0 | 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 | face_add_listener(a.xs,.&xsl,.&a |
| 4eac0 | 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 | );...(..a.xt.=.xdg_surface_get_t |
| 4eae0 | 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | oplevel(a.xs);...G..static.const |
| 4eb00 | 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 6e 65 72 20 78 74 | .struct.xdg_toplevel_listener.xt |
| 4eb20 | 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 | l.=.{.configure.=.xt_cfg,...F... |
| 4eb40 | 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 | ................................ |
| 4eb60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 | .................close.=.xt_clos |
| 4eb80 | 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e | e};...,..xdg_toplevel_add_listen |
| 4eba0 | 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 | er(a.xt,.&xtl,.&a);...*..xdg_top |
| 4ebc0 | 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 | level_set_title(a.xt,."wlclock") |
| 4ebe0 | 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 | ;......wl_surface_commit(a.ws);. |
| 4ec00 | 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 | .....while.(!a.configured)...... |
| 4ec20 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 | ..wl_display_dispatch(a.d);..... |
| 4ec40 | 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 | .render(&a);...9..int.tfd.=.time |
| 4ec60 | 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f | rfd_create(CLOCK_MONOTONIC,.TFD_ |
| 4ec80 | 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 | CLOEXEC);...F..timerfd_settime(t |
| 4eca0 | 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 | fd,.0,.&(struct.itimerspec){{1,. |
| 4ecc0 | 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 | 0},.{1,.0}},.NULL);......while.( |
| 4ece0 | 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 | running).{...-....while.(wl_disp |
| 4ed00 | 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 | lay_prepare_read(a.d).!=.0)...'. |
| 4ed20 | 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 67 | .....wl_display_dispatch_pending |
| 4ed40 | 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 | (a.d);........wl_display_flush(a |
| 4ed60 | 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d | .d);...M....struct.pollfd.fds[2] |
| 4ed80 | 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c | .=.{{wl_display_get_fd(a.d),.POL |
| 4eda0 | 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 | LIN},.{tfd,.POLLIN}};........if. |
| 4edc0 | 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 | (poll(fds,.2,.-1).<.0).{...".... |
| 4ede0 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 | ..wl_display_cancel_read(a.d);.. |
| 4ee00 | 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 | ........continue;........}...... |
| 4ee20 | 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 | ..if.(fds[0].revents.&.POLLIN).. |
| 4ee40 | 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 | ."......wl_display_read_events(a |
| 4ee60 | 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 | .d);........else..."......wl_dis |
| 4ee80 | 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c | play_cancel_read(a.d);...%....wl |
| 4eea0 | 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 61 2e 64 29 3b 00 | _display_dispatch_pending(a.d);. |
| 4eec0 | 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c | .."....if.(fds[1].revents.&.POLL |
| 4eee0 | 49 4e 29 20 7b 00 00 00 11 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 3b 00 00 00 1f 20 20 | IN).{..........uint64_t.t;...... |
| 4ef00 | 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 2c 20 73 69 7a 65 6f 66 28 74 29 29 3b 00 00 00 | ....read(tfd,.&t,.sizeof(t));... |
| 4ef20 | 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d | .......a.redraw.=.true;........} |
| 4ef40 | 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 | ........if.(a.redraw)..........r |
| 4ef60 | 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 | ender(&a);......}......close(tfd |
| 4ef80 | 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c | );......destroy_buf(&a);......wl |
| 4efa0 | 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 | _display_disconnect(a.d);......r |
| 4efc0 | 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 08 01 00 | eturn.0;....}5.................. |
| 4efe0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1d 1d 00 00 00 00 00 00 01 00 00 | ................................ |
| 4f000 | 00 00 00 00 00 35 81 5f d0 00 00 00 87 00 00 00 89 00 00 00 00 00 00 00 00 00 00 00 88 00 00 00 | .....5._........................ |
| 4f020 | 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 00 00 00 00 | ................................ |
| 4f040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f160 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 | ................................ |
| 4f180 | 00 00 56 00 00 00 12 00 00 00 00 69 9d a6 83 04 01 00 00 00 00 00 f5 18 00 00 00 9c 00 00 00 00 | ..V........i.................... |
| 4f1a0 | 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ................................ |
| 4f1c0 | 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 00 00 00 | ................................ |
| 4f1e0 | 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 00 00 9c | .......5........................ |
| 4f200 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 | ................................ |
| 4f220 | 18 00 00 00 00 9c 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 6e 00 00 00 01 00 00 00 00 10 00 | .....................n.......... |
| 4f240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 40 0d 00 00 00 00 00 00 35 81 5f d0 00 00 00 88 00 00 00 | .............@.......5._........ |
| 4f260 | 8a 00 00 00 00 00 00 00 00 00 00 00 89 00 00 01 0b 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 4f280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 00 | ................................ |
| 4f3c0 | 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 56 00 00 00 12 00 00 00 00 69 9d a6 84 04 | ..................V........i.... |
| 4f3e0 | 01 00 00 00 23 00 f5 18 00 00 00 e4 00 00 00 fb 00 00 01 0b 00 00 00 16 00 00 00 02 20 20 00 00 | ....#........................... |
| 4f400 | 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 00 00 00 00 13 20 20 77 | ....char.buffer[100];..........w |
| 4f420 | 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 | hile.(running).{...-....while.(w |
| 4f440 | 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 | l_display_prepare_read(a.d).!=.0 |
| 4f460 | 29 00 00 00 27 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 | )...'......wl_display_dispatch_p |
| 4f480 | 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 | ending(a.d);........wl_display_f |
| 4f4a0 | 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 | lush(a.d);...M....struct.pollfd. |
| 4f4c0 | 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 | fds[2].=.{{wl_display_get_fd(a.d |
| 4f4e0 | 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 | ),.POLLIN},.{tfd,.POLLIN}};..... |
| 4f500 | 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 | ...if.(poll(fds,.2,.-1).<.0).{.. |
| 4f520 | 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 | ."......wl_display_cancel_read(a |
| 4f540 | 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d | .d);..........continue;........} |
| 4f560 | 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c | ........if.(fds[0].revents.&.POL |
| 4f580 | 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 | LIN)..."......wl_display_read_ev |
| 4f5a0 | 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 | ents(a.d);........else..."...... |
| 4f5c0 | 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 | wl_display_cancel_read(a.d);...% |
| 4f5e0 | 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 28 | ....wl_display_dispatch_pending( |
| 4f600 | 61 2e 64 29 3b 00 00 00 04 20 20 20 20 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e | a.d);..........."....if.(fds[1]. |
| 4f620 | 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e | revents.&.POLLIN).{..........uin |
| 4f640 | 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 | t64_t.t_exp;...'......read(tfd,. |
| 4f660 | 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 06 20 20 20 20 20 | &t_exp,.sizeof(t_exp));......... |
| 4f680 | 20 35 81 f5 18 00 00 00 00 e4 00 00 00 00 00 00 00 15 00 00 00 06 00 00 00 15 00 00 00 00 00 00 | .5.............................. |
| 4f6a0 | 00 85 19 00 00 00 00 00 00 46 02 00 00 00 00 00 00 3a 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 | .........F.......:.......5._.... |
| 4f6c0 | 89 00 00 00 8b 00 00 00 00 00 00 00 00 00 00 00 8a 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff | ................................ |
| 4f6e0 | 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 | ................................ |
| 4f700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 4f820 | 00 00 00 00 00 00 00 00 00 01 0b 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 | ......................V........i |
| 4f840 | 9d a7 5d 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 0b 00 00 00 1f | ..]............................. |
| 4f860 | 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 | #define._POSIX_C_SOURCE.200809L. |
| 4f880 | 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 65 6e 74 2d 70 72 | ..&#include."xdg-shell-client-pr |
| 4f8a0 | 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 | otocol.h"....#include.<fcntl.h>. |
| 4f8c0 | 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 | ...#include.<math.h>....#include |
| 4f8e0 | 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e | .<poll.h>....#include.<signal.h> |
| 4f900 | 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 | ....#include.<stdbool.h>....#inc |
| 4f920 | 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | lude.<stdint.h>....#include.<std |
| 4f940 | 69 6f 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 00 00 00 13 | io.h>....#include.<stdlib.h>.... |
| 4f960 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 | #include.<string.h>....#include. |
| 4f980 | 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 | <sys/mman.h>....#include.<sys/ti |
| 4f9a0 | 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 | merfd.h>....#include.<time.h>... |
| 4f9c0 | 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 | .#include.<unistd.h>....#include |
| 4f9e0 | 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 | .<wayland-client.h>........#ifnd |
| 4fa00 | 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 | ef.M_PI...##define.M_PI.3.141592 |
| 4fa20 | 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e | 65358979323846....#endif....#ifn |
| 4fa40 | 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 | def.M_PI_2...%#define.M_PI_2.1.5 |
| 4fa60 | 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 | 7079632679489661923....#endif... |
| 4fa80 | 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f | ....)static.volatile.sig_atomic_ |
| 4faa0 | 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e | t.running.=.1;....static.void.on |
| 4fac0 | 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 | _sig(int.s).{......(void)s;..... |
| 4fae0 | 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 | .running.=.0;....}........struct |
| 4fb00 | 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | .app.{......struct.wl_display.*d |
| 4fb20 | 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 | ;......struct.wl_registry.*reg;. |
| 4fb40 | 00 00 1d 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 3b | .....struct.wl_compositor.*comp; |
| 4fb60 | 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 | ......struct.wl_shm.*shm;......s |
| 4fb80 | 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 | truct.xdg_wm_base.*wm;......stru |
| 4fba0 | 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | ct.wl_surface.*ws;......struct.x |
| 4fbc0 | 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f | dg_surface.*xs;......struct.xdg_ |
| 4fbe0 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b | toplevel.*xt;......void.*pixels; |
| 4fc00 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b | ......struct.wl_buffer.*buf;.... |
| 4fc20 | 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 | ..int.w,.h;......int.bw,.bh;.... |
| 4fc40 | 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 | ..bool.configured;......bool.red |
| 4fc60 | 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d | raw;....};.......Jstatic.void.wm |
| 4fc80 | 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 78 64 67 5f 77 6d 5f | _ping(void.*data,.struct.xdg_wm_ |
| 4fca0 | 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f | base.*wm,.uint32_t.serial).{.... |
| 4fcc0 | 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 | ..xdg_wm_base_pong(wm,.serial);. |
| 4fce0 | 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 | ...}.......$static.int.create_sh |
| 4fd00 | 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d | m(size_t.size).{...#..char.t[].= |
| 4fd20 | 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 | ."/tmp/wlclock-XXXXXX";......int |
| 4fd40 | 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 | .fd.=.mkstemp(t);......if.(fd.<. |
| 4fd60 | 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 | 0)........exit(1);......unlink(t |
| 4fd80 | 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 | );......if.(ftruncate(fd,.size). |
| 4fda0 | 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e | <.0)........exit(1);......return |
| 4fdc0 | 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 | .fd;....}.......(static.void.des |
| 4fde0 | 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 | troy_buf(struct.app.*a).{......i |
| 4fe00 | 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 | f.(!a->buf)........return;...*.. |
| 4fe20 | 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d | size_t.size.=.(size_t)a->bw.*.a- |
| 4fe40 | 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 | >bh.*.4;......wl_buffer_destroy( |
| 4fe60 | 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 | a->buf);......munmap(a->pixels,. |
| 4fe80 | 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 | size);......a->buf.=.NULL;...... |
| 4fea0 | 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 | a->pixels.=.NULL;....}.......&st |
| 4fec0 | 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a | atic.void.alloc_buf(struct.app.* |
| 4fee0 | 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 | a).{......destroy_buf(a);...(..s |
| 4ff00 | 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 | ize_t.size.=.(size_t)a->w.*.a->h |
| 4ff20 | 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 | .*.4;......int.fd.=.create_shm(s |
| 4ff40 | 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c | ize);...J..a->pixels.=.mmap(NULL |
| 4ff60 | 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 | ,.size,.PROT_READ.|.PROT_WRITE,. |
| 4ff80 | 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e | MAP_SHARED,.fd,.0);......if.(a-> |
| 4ffa0 | 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 | pixels.==.MAP_FAILED)........exi |
| 4ffc0 | 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 | t(1);...B..struct.wl_shm_pool.*p |
| 4ffe0 | 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c | ool.=.wl_shm_create_pool(a->shm, |
| 50000 | 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d | .fd,.size);...C..a->buf.=.wl_shm |
| 50020 | 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e | _pool_create_buffer(pool,.0,.a-> |
| 50040 | 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 | w,.a->h,.a->w.*.4,...=.......... |
| 50060 | 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 57 4c 5f 53 48 | ...........................WL_SH |
| 50080 | 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f | M_FORMAT_ARGB8888);......wl_shm_ |
| 500a0 | 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 | pool_destroy(pool);......close(f |
| 500c0 | 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 | d);......a->bw.=.a->w;......a->b |
| 500e0 | 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 | h.=.a->h;....}.......Lstatic.voi |
| 50100 | 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 | d.line(uint32_t.*px,.int.w,.int. |
| 50120 | 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 | h,.int.x0,.int.y0,.int.x1,.int.y |
| 50140 | 31 2c 00 00 00 1e 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 | 1,.....................uint32_t. |
| 50160 | 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c | c).{.../..int.dx.=.abs(x1.-.x0), |
| 50180 | 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 | .sx.=.x0.<.x1.?.1.:.-1;...0..int |
| 501a0 | 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 | .dy.=.-abs(y1.-.y0),.sy.=.y0.<.y |
| 501c0 | 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 | 1.?.1.:.-1;......int.err.=.dx.+. |
| 501e0 | 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 | dy;......while.(1).{.../....if.( |
| 50200 | 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 | x0.>=.0.&&.x0.<.w.&&.y0.>=.0.&&. |
| 50220 | 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d | y0.<.h)..........px[y0.*.w.+.x0] |
| 50240 | 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 | .=.c;........if.(x0.==.x1.&&.y0. |
| 50260 | 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e | ==.y1)..........break;........in |
| 50280 | 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d | t.e2.=.2.*.err;........if.(e2.>= |
| 502a0 | 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 | .dy).{..........err.+=.dy;...... |
| 502c0 | 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 | ....x0.+=.sx;........}........if |
| 502e0 | 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 | .(e2.<=.dx).{..........err.+=.dx |
| 50300 | 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ;..........y0.+=.sy;........}... |
| 50320 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 | ...}....}.......Estatic.void.cir |
| 50340 | 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | cle(uint32_t.*px,.int.w,.int.h,. |
| 50360 | 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 | int.cx,.int.cy,.int.r,.......... |
| 50380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | .............uint32_t.c).{...".. |
| 503a0 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 503c0 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e | ......while.(y.>=.x).{...H....in |
| 503e0 | 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | t.p[8][2].=.{{cx.+.x,.cy.+.y},.{ |
| 50400 | 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | cx.-.x,.cy.+.y},.{cx.+.x,.cy.-.y |
| 50420 | 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 | },...H...................{cx.-.x |
| 50440 | 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 | ,.cy.-.y},.{cx.+.y,.cy.+.x},.{cx |
| 50460 | 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-.y,.cy.+.x},...7.............. |
| 50480 | 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 | .....{cx.+.y,.cy.-.x},.{cx.-.y,. |
| 504a0 | 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | cy.-.x}};........for.(int.i.=.0; |
| 504c0 | 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 | .i.<.8;.i++)...E......if.(p[i][0 |
| 504e0 | 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d | ].>=.0.&&.p[i][0].<.w.&&.p[i][1] |
| 50500 | 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 | .>=.0.&&.p[i][1].<.h)...&....... |
| 50520 | 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 | .px[p[i][1].*.w.+.p[i][0]].=.c;. |
| 50540 | 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b | .......if.(d.>.0).{..........d.+ |
| 50560 | 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d | =.4.*.(x.-.y).+.10;..........y-- |
| 50580 | 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 | ;........}.else..........d.+=.4. |
| 505a0 | 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d | *.x.+.6;........x++;......}....} |
| 505c0 | 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 | .......#static.void.render(struc |
| 505e0 | 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 | t.app.*a).{.../..if.(!a->configu |
| 50600 | 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 | red.||.a->w.<=.0.||.a->h.<=.0).. |
| 50620 | 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 | ......return;......if.(!a->buf). |
| 50640 | 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 | .......alloc_buf(a);......uint32 |
| 50660 | 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 | _t.*px.=.a->pixels;...$..memset( |
| 50680 | 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 | px,.0xFF,.a->w.*.a->h.*.4);..... |
| 506a0 | 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 | .time_t.tt.=.time(NULL);......st |
| 506c0 | 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 | ruct.tm.tmv;......localtime_r(&t |
| 506e0 | 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 | t,.&tmv);...#..int.cx.=.a->w./.2 |
| 50700 | 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 | ,.cy.=.a->h./.2;.../..int.r.=.(a |
| 50720 | 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 | ->w.<.a->h.?.a->w.:.a->h)./.2.-. |
| 50740 | 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 | 10;......if.(r.<.5)........r.=.5 |
| 50760 | 3b 00 00 00 30 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ;...0..circle(px,.a->w,.a->h,.cx |
| 50780 | 2c 20 63 79 2c 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 20 20 20 66 6f 72 20 28 | ,.cy,.r,.0xFF000000);......for.( |
| 507a0 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 31 32 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 | int.i.=.0;.i.<.12;.i++).{....... |
| 507c0 | 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .double.ang.=.i./.12.0.*.2.*.M_P |
| 507e0 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4c 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 | I.-.M_PI_2;...L....line(px,.a->w |
| 50800 | 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 | ,.a->h,.cx.+.cos(ang).*.(r.-.10) |
| 50820 | 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 31 30 29 2c 00 00 00 47 20 | ,.cy.+.sin(ang).*.(r.-.10),...G. |
| 50840 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c | ........cx.+.cos(ang).*.(r.-.2), |
| 50860 | 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 32 29 2c 20 30 78 46 46 30 30 | .cy.+.sin(ang).*.(r.-.2),.0xFF00 |
| 50880 | 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 | 0000);......}...4..double.sa.=.t |
| 508a0 | 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f | mv.tm_sec./.60.0.*.2.*.M_PI.-.M_ |
| 508c0 | 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d | PI_2;...J..double.ma.=.(tmv.tm_m |
| 508e0 | 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a | in.+.tmv.tm_sec./.60.0)./.60.0.* |
| 50900 | 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 | .2.*.M_PI.-.M_PI_2;......double. |
| 50920 | 68 61 20 3d 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 | ha.=...L......((tmv.tm_hour.%.12 |
| 50940 | 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 | ).+.(tmv.tm_min./.60.0))./.12.0. |
| 50960 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 | *.2.*.M_PI.-.M_PI_2;...N..line(p |
| 50980 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 | x,.a->w,.a->h,.cx,.cy,.cx.+.cos( |
| 509a0 | 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 | ha).*.r.*.0.5,.cy.+.sin(ha).*.r. |
| 509c0 | 2a 20 30 2e 35 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 | *.0.5,...........0xFF000000);... |
| 509e0 | 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 | N..line(px,.a->w,.a->h,.cx,.cy,. |
| 50a00 | 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c 20 63 79 20 2b 20 73 69 6e | cx.+.cos(ma).*.r.*.0.7,.cy.+.sin |
| 50a20 | 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 30 30 | (ma).*.r.*.0.7,...........0xFF00 |
| 50a40 | 30 30 30 30 29 3b 00 00 00 4e 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | 0000);...N..line(px,.a->w,.a->h, |
| 50a60 | 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c | .cx,.cy,.cx.+.cos(sa).*.r.*.0.9, |
| 50a80 | 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 13 20 20 20 20 | .cy.+.sin(sa).*.r.*.0.9,........ |
| 50aa0 | 20 20 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | ...0xFFFF0000);...)..wl_surface_ |
| 50ac0 | 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 | attach(a->ws,.a->buf,.0,.0);...4 |
| 50ae0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 | ..wl_surface_damage_buffer(a->ws |
| 50b00 | 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 | ,.0,.0,.a->w,.a->h);......wl_sur |
| 50b20 | 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 | face_commit(a->ws);......a->redr |
| 50b40 | 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 | aw.=.false;....}.......Gstatic.v |
| 50b60 | 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 | oid.xt_close(void.*d,.struct.xdg |
| 50b80 | 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 | _toplevel.*xt).{.running.=.0;.}. |
| 50ba0 | 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a | ......Jstatic.void.xt_cfg(void.* |
| 50bc0 | 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 | d,.struct.xdg_toplevel.*xt,.int3 |
| 50be0 | 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 | 2_t.w,.int32_t.h,...(........... |
| 50c00 | 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 | ........struct.wl_array.*s).{... |
| 50c20 | 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 | ...struct.app.*a.=.d;...3..if.(w |
| 50c40 | 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 | .>.0.&&.h.>.0.&&.(w.!=.a->w.||.h |
| 50c60 | 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 | .!=.a->h)).{........a->w.=.w;... |
| 50c80 | 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 | .....a->h.=.h;........destroy_bu |
| 50ca0 | 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 | f(a);........a->redraw.=.true;.. |
| 50cc0 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 | ....}....}.......Fstatic.void.xs |
| 50ce0 | 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 | _cfg(void.*d,.struct.xdg_surface |
| 50d00 | 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 14 20 20 73 74 | .*xs,.uint32_t.serial).{......st |
| 50d20 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 | ruct.app.*a.=.d;...(..xdg_surfac |
| 50d40 | 65 5f 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 17 | e_ack_configure(xs,.serial);.... |
| 50d60 | 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e | ..a->configured.=.true;......a-> |
| 50d80 | 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 | redraw.=.true;....}.......Cstati |
| 50da0 | 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | c.void.reg_global(void.*d,.struc |
| 50dc0 | 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 69 64 2c 00 00 | t.wl_registry.*r,.uint32_t.id,.. |
| 50de0 | 00 33 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 | .3.......................const.c |
| 50e00 | 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 | har.*i,.uint32_t.v).{......struc |
| 50e20 | 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | t.app.*a.=.d;..."..if.(!strcmp(i |
| 50e40 | 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f | ,."wl_compositor"))...C....a->co |
| 50e60 | 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c | mp.=.wl_registry_bind(r,.id,.&wl |
| 50e80 | 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 20 20 20 | _compositor_interface,.4);...... |
| 50ea0 | 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 | else.if.(!strcmp(i,."wl_shm")).. |
| 50ec0 | 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | .;....a->shm.=.wl_registry_bind( |
| 50ee0 | 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 | r,.id,.&wl_shm_interface,.1);... |
| 50f00 | 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 | '..else.if.(!strcmp(i,."xdg_wm_b |
| 50f20 | 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | ase")).{...?....a->wm.=.wl_regis |
| 50f40 | 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 | try_bind(r,.id,.&xdg_wm_base_int |
| 50f60 | 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | erface,.1);...C....static.const. |
| 50f80 | 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 | struct.xdg_wm_base_listener.l.=. |
| 50fa0 | 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d | {.ping.=.wm_ping};...+....xdg_wm |
| 50fc0 | 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 | _base_add_listener(a->wm,.&l,.a) |
| 50fe0 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f | ;......}....}........int.main(vo |
| 51000 | 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 | id).{......struct.app.a.=.{0};.. |
| 51020 | 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 | ....a.w.=.400;......a.h.=.400;.. |
| 51040 | 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 | ....signal(SIGINT,.on_sig);...!. |
| 51060 | 20 61 2e 64 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 | .a.d.=.wl_display_connect(NULL); |
| 51080 | 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b | ......if.(!a.d)........return.1; |
| 510a0 | 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 | ...'..a.reg.=.wl_display_get_reg |
| 510c0 | 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | istry(a.d);...G..static.const.st |
| 510e0 | 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 6c 20 3d 20 7b | ruct.wl_registry_listener.rl.=.{ |
| 51100 | 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 | .global.=.reg_global};...+..wl_r |
| 51120 | 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c | egistry_add_listener(a.reg,.&rl, |
| 51140 | 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 | .&a);......wl_display_roundtrip( |
| 51160 | 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d | a.d);...!..if.(!a.comp.||.!a.shm |
| 51180 | 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 | .||.!a.wm)........return.1;..... |
| 511a0 | 20 61 2e 77 73 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 | .a.ws.=.wl_compositor_create_sur |
| 511c0 | 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d | face(a.comp);...1..a.xs.=.xdg_wm |
| 511e0 | 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 | _base_get_xdg_surface(a.wm,.a.ws |
| 51200 | 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | );...G..static.const.struct.xdg_ |
| 51220 | 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 | surface_listener.xsl.=.{.configu |
| 51240 | 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | re.=.xs_cfg};...+..xdg_surface_a |
| 51260 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 | dd_listener(a.xs,.&xsl,.&a);...( |
| 51280 | 20 20 61 2e 78 74 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 | ..a.xt.=.xdg_surface_get_topleve |
| 512a0 | 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 | l(a.xs);...G..static.const.struc |
| 512c0 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e | t.xdg_toplevel_listener.xtl.=.{. |
| 512e0 | 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 | configure.=.xt_cfg,...F......... |
| 51300 | 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 | ................................ |
| 51320 | 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 | ...........close.=.xt_close};... |
| 51340 | 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 | ,..xdg_toplevel_add_listener(a.x |
| 51360 | 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f | t,.&xtl,.&a);...*..xdg_toplevel_ |
| 51380 | 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 | set_title(a.xt,."wlclock");..... |
| 513a0 | 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 | .wl_surface_commit(a.ws);......w |
| 513c0 | 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 | hile.(!a.configured)........wl_d |
| 513e0 | 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 | isplay_dispatch(a.d);......rende |
| 51400 | 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 | r(&a);...9..int.tfd.=.timerfd_cr |
| 51420 | 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 | eate(CLOCK_MONOTONIC,.TFD_CLOEXE |
| 51440 | 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c | C);...F..timerfd_settime(tfd,.0, |
| 51460 | 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 | .&(struct.itimerspec){{1,.0},.{1 |
| 51480 | 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 00 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 | ,.0}},.NULL);..........char.buff |
| 514a0 | 65 72 5b 31 30 30 5d 3b 00 00 00 00 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 | er[100];..........while.(running |
| 514c0 | 29 20 7b 00 00 00 2d 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 | ).{...-....while.(wl_display_pre |
| 514e0 | 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c | pare_read(a.d).!=.0)...'......wl |
| 51500 | 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 61 2e 64 29 3b 00 | _display_dispatch_pending(a.d);. |
| 51520 | 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 | .......wl_display_flush(a.d);... |
| 51540 | 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c | M....struct.pollfd.fds[2].=.{{wl |
| 51560 | 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b | _display_get_fd(a.d),.POLLIN},.{ |
| 51580 | 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 | tfd,.POLLIN}};........if.(poll(f |
| 515a0 | 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 | ds,.2,.-1).<.0).{..."......wl_di |
| 515c0 | 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 | splay_cancel_read(a.d);......... |
| 515e0 | 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 | .continue;........}........if.(f |
| 51600 | 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 | ds[0].revents.&.POLLIN)..."..... |
| 51620 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 | .wl_display_read_events(a.d);... |
| 51640 | 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 | .....else..."......wl_display_ca |
| 51660 | 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | ncel_read(a.d);...%....wl_displa |
| 51680 | 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 00 00 00 00 22 | y_dispatch_pending(a.d);......." |
| 516a0 | 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 | ....if.(fds[1].revents.&.POLLIN) |
| 516c0 | 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 | .{..........uint64_t.t_exp;...'. |
| 516e0 | 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f | .....read(tfd,.&t_exp,.sizeof(t_ |
| 51700 | 65 78 70 29 29 3b 00 00 00 00 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d | exp));..............time_t.cli.= |
| 51720 | 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 | .time(NULL);...,......struct.tm. |
| 51740 | 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 | *t_struct.=.localtime(&cli);...I |
| 51760 | 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 | ......strftime(buffer,.sizeof(bu |
| 51780 | 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 | ffer),."%d-%m-%Y.%I:%M:%S.%p",.t |
| 517a0 | 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d | _struct);...%......printf("\rTim |
| 517c0 | 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 | e.is.%s",.buffer);..........fflu |
| 517e0 | 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 00 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 | sh(stdout);..............a.redra |
| 51800 | 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e | w.=.true;........}........if.(a. |
| 51820 | 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 | redraw)..........render(&a);.... |
| 51840 | 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 | ..}......printf("\n");......clos |
| 51860 | 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 | e(tfd);......destroy_buf(&a);... |
| 51880 | 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 | ...wl_display_disconnect(a.d);.. |
| 518a0 | 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 | ....return.0;....}5............. |
| 518c0 | 00 00 0b 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 1d 00 00 00 00 | ..........................5..... |
| 518e0 | 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 8a 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 | ..........5._................... |
| 51900 | 00 8b 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 | ................................ |
| 51920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 519a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 519c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 519e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 51a60 | 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d a7 5e 04 01 00 00 00 00 00 f5 18 00 00 00 | .......V........i..^............ |
| 51a80 | f0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 f1 00 00 00 00 00 00 00 00 | .................}.............. |
| 51aa0 | 00 00 00 00 f5 18 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 20 20 20 20 20 | ................................ |
| 51ac0 | 77 f5 18 00 00 00 dd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 96 00 00 00 00 00 00 00 | w............................... |
| 51ae0 | 00 00 00 00 01 00 00 00 0a 20 20 20 20 61 2d 3e 77 20 3d f5 18 00 00 00 97 00 00 00 00 00 00 00 | .............a->w.=............. |
| 51b00 | 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 f5 18 00 00 00 | ................................ |
| 51b20 | 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 00 00 00 00 00 | .............5.................. |
| 51b40 | 00 00 00 00 00 96 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 | ................................ |
| 51b60 | 00 00 00 00 00 f5 18 00 00 00 00 96 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 46 00 00 00 07 | ...........................F.... |
| 51b80 | 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 51ba0 | 00 dc 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 01 00 00 00 00 19 00 00 00 00 00 | ................................ |
| 51bc0 | 00 00 00 00 00 00 00 00 00 16 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 8b 00 00 00 8d 00 00 00 | .................5._............ |
| 51be0 | 00 00 00 00 00 00 00 00 8c 00 00 00 f1 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ................................ |
| 51c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 51d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| 51d40 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00 00 69 9d a7 5e 04 01 00 00 00 | ..............V........i..^..... |
| 51d60 | 25 00 f5 18 00 00 00 84 00 00 00 8f 00 00 00 f1 00 00 00 06 00 00 00 54 20 20 64 6f 75 62 6c 65 | %......................T..double |
| 51d80 | 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 | .ha.=.((tmv.tm_hour.%.12).+.(tmv |
| 51da0 | 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f | .tm_min./.60.0))./.12.0.*.2.*.M_ |
| 51dc0 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 | PI.-.M_PI_2;......for.(double.f. |
| 51de0 | 3d 20 2d 30 2e 30 34 3b 20 66 20 3c 3d 20 30 2e 30 34 3b 20 66 20 2b 3d 20 30 2e 30 31 29 00 00 | =.-0.04;.f.<=.0.04;.f.+=.0.01).. |
| 51e00 | 00 65 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 | .e....line(px,.a->w,.a->h,.cx,.c |
| 51e20 | 79 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 63 | y,.cx.+.cos(ha.+.f).*.r.*.0.5,.c |
| 51e40 | 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 30 78 46 46 30 | y.+.sin(ha.+.f).*.r.*.0.5,.0xFF0 |
| 51e60 | 30 30 30 30 30 29 3b 00 00 00 2e 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d 30 2e | 00000);......for.(double.f.=.-0. |
| 51e80 | 30 32 3b 20 66 20 3c 3d 20 30 2e 30 32 3b 20 66 20 2b 3d 20 30 2e 30 31 29 00 00 00 67 20 20 20 | 02;.f.<=.0.02;.f.+=.0.01)...g... |
| 51ea0 | 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | .line(px,.a->w,.a->h,.cx,.cy,.cx |
| 51ec0 | 20 2b 20 63 6f 73 28 6d 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 63 79 20 2b 20 | .+.cos(ma.+.f).*.r.*.0.75,.cy.+. |
| 51ee0 | 73 69 6e 28 6d 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 46 30 30 30 30 | sin(ma.+.f).*.r.*.0.75,.0xFF0000 |
| 51f00 | 30 30 29 3b 00 00 00 5d 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | 00);...]..line(px,.a->w,.a->h,.c |
| 51f20 | 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 | x,.cy,.cx.+.cos(sa).*.r.*.0.85,. |
| 51f40 | 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 30 78 46 46 46 46 30 | cy.+.sin(sa).*.r.*.0.85,.0xFFFF0 |
| 51f60 | 30 30 30 29 3b 35 81 f5 18 00 00 00 00 84 00 00 00 0d 00 00 00 05 00 00 00 50 00 00 00 09 00 00 | 000);5...................P...... |
| 51f80 | 00 06 00 00 00 8b 0c 00 00 00 00 00 00 c4 01 00 00 00 00 00 00 e3 01 00 00 00 00 00 00 35 81 5f | .............................5._ |
| 51fa0 | d0 00 00 00 8c 00 00 00 8e 00 00 00 00 00 00 00 00 00 00 00 8d 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 51fc0 | 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 00 00 00 00 00 00 00 | ................................ |
| 51fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 520a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 520c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 520e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 52120 | 00 00 00 69 9d a7 98 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 f5 | ...i............................ |
| 52140 | 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 | ....#define._POSIX_C_SOURCE.2008 |
| 52160 | 30 39 4c 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 65 6e | 09L...&#include."xdg-shell-clien |
| 52180 | 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c | t-protocol.h"....#include.<fcntl |
| 521a0 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 | .h>....#include.<math.h>....#inc |
| 521c0 | 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 | lude.<poll.h>....#include.<signa |
| 521e0 | 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 | l.h>....#include.<stdbool.h>.... |
| 52200 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | #include.<stdint.h>....#include. |
| 52220 | 3c 73 74 64 69 6f 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 | <stdio.h>....#include.<stdlib.h> |
| 52240 | 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 15 23 69 6e 63 6c | ....#include.<string.h>....#incl |
| 52260 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 | ude.<sys/mman.h>....#include.<sy |
| 52280 | 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 | s/timerfd.h>....#include.<time.h |
| 522a0 | 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 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| 522c0 | 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 | lude.<wayland-client.h>........# |
| 522e0 | 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 | ifndef.M_PI...##define.M_PI.3.14 |
| 52300 | 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e | 159265358979323846....#endif.... |
| 52320 | 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 | #ifndef.M_PI_2...%#define.M_PI_2 |
| 52340 | 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 | .1.57079632679489661923....#endi |
| 52360 | 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f | f.......)static.volatile.sig_ato |
| 52380 | 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 | mic_t.running.=.1;....static.voi |
| 523a0 | 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 | d.on_sig(int.s).{......(void)s;. |
| 523c0 | 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 | .....running.=.0;....}........st |
| 523e0 | 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 | ruct.app.{......struct.wl_displa |
| 52400 | 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | y.*d;......struct.wl_registry.*r |
| 52420 | 65 67 3b 00 00 00 1d 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 | eg;......struct.wl_compositor.*c |
| 52440 | 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 | omp;......struct.wl_shm.*shm;... |
| 52460 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 | ...struct.xdg_wm_base.*wm;...... |
| 52480 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 | struct.wl_surface.*ws;......stru |
| 524a0 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 | ct.xdg_surface.*xs;......struct. |
| 524c0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 | xdg_toplevel.*xt;......void.*pix |
| 524e0 | 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b | els;......struct.wl_buffer.*buf; |
| 52500 | 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b | ......int.w,.h;......int.bw,.bh; |
| 52520 | 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c | ......bool.configured;......bool |
| 52540 | 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 | .redraw;....};.......Jstatic.voi |
| 52560 | 64 20 77 6d 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 78 64 67 | d.wm_ping(void.*data,.struct.xdg |
| 52580 | 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b | _wm_base.*wm,.uint32_t.serial).{ |
| 525a0 | 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 | ......xdg_wm_base_pong(wm,.seria |
| 525c0 | 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 | l);....}.......$static.int.creat |
| 525e0 | 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 | e_shm(size_t.size).{...#..char.t |
| 52600 | 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 | [].=."/tmp/wlclock-XXXXXX";..... |
| 52620 | 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 | .int.fd.=.mkstemp(t);......if.(f |
| 52640 | 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 | d.<.0)........exit(1);......unli |
| 52660 | 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | nk(t);......if.(ftruncate(fd,.si |
| 52680 | 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 | ze).<.0)........exit(1);......re |
| 526a0 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 | turn.fd;....}.......(static.void |
| 526c0 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | .destroy_buf(struct.app.*a).{... |
| 526e0 | 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ...if.(!a->buf)........return;.. |
| 52700 | 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 | .*..size_t.size.=.(size_t)a->bw. |
| 52720 | 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 | *.a->bh.*.4;......wl_buffer_dest |
| 52740 | 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 | roy(a->buf);......munmap(a->pixe |
| 52760 | 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 | ls,.size);......a->buf.=.NULL;.. |
| 52780 | 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 | ....a->pixels.=.NULL;....}...... |
| 527a0 | 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 | .&static.void.alloc_buf(struct.a |
| 527c0 | 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | pp.*a).{......destroy_buf(a);... |
| 527e0 | 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 | (..size_t.size.=.(size_t)a->w.*. |
| 52800 | 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | a->h.*.4;......int.fd.=.create_s |
| 52820 | 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 | hm(size);...J..a->pixels.=.mmap( |
| 52840 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 | NULL,.size,.PROT_READ.|.PROT_WRI |
| 52860 | 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 | TE,.MAP_SHARED,.fd,.0);......if. |
| 52880 | 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 | (a->pixels.==.MAP_FAILED)....... |
| 528a0 | 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f | .exit(1);...B..struct.wl_shm_poo |
| 528c0 | 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e | l.*pool.=.wl_shm_create_pool(a-> |
| 528e0 | 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c | shm,.fd,.size);...C..a->buf.=.wl |
| 52900 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 52920 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 | .a->w,.a->h,.a->w.*.4,...=...... |
| 52940 | 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 57 | ...............................W |
| 52960 | 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);......wl_ |
| 52980 | 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f | shm_pool_destroy(pool);......clo |
| 529a0 | 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 | se(fd);......a->bw.=.a->w;...... |
| 529c0 | 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 | a->bh.=.a->h;....}.......Lstatic |
| 529e0 | 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 | .void.line(uint32_t.*px,.int.w,. |
| 52a00 | 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 | int.h,.int.x0,.int.y0,.int.x1,.i |
| 52a20 | 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 | nt.y1,.....................uint3 |
| 52a40 | 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 | 2_t.c).{.../..int.dx.=.abs(x1.-. |
| 52a60 | 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 | x0),.sx.=.x0.<.x1.?.1.:.-1;...0. |
| 52a80 | 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 | .int.dy.=.-abs(y1.-.y0),.sy.=.y0 |
| 52aa0 | 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 | .<.y1.?.1.:.-1;......int.err.=.d |
| 52ac0 | 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 | x.+.dy;......while.(1).{.../.... |
| 52ae0 | 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 | if.(x0.>=.0.&&.x0.<.w.&&.y0.>=.0 |
| 52b00 | 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b | .&&.y0.<.h)..........px[y0.*.w.+ |
| 52b20 | 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 | .x0].=.c;........if.(x0.==.x1.&& |
| 52b40 | 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 | .y0.==.y1)..........break;...... |
| 52b60 | 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 | ..int.e2.=.2.*.err;........if.(e |
| 52b80 | 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 | 2.>=.dy).{..........err.+=.dy;.. |
| 52ba0 | 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 | ........x0.+=.sx;........}...... |
| 52bc0 | 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b | ..if.(e2.<=.dx).{..........err.+ |
| 52be0 | 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 | =.dx;..........y0.+=.sy;........ |
| 52c00 | 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 | }......}....}.......#static.void |
| 52c20 | 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 | .render(struct.app.*a).{.../..if |
| 52c40 | 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c | .(!a->configured.||.a->w.<=.0.|| |
| 52c60 | 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 | .a->h.<=.0)........return;...... |
| 52c80 | 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 | if.(!a->buf)........alloc_buf(a) |
| 52ca0 | 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b | ;......uint32_t.*px.=.a->pixels; |
| 52cc0 | 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d | ...$..memset(px,.0xFF,.a->w.*.a- |
| 52ce0 | 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e | >h.*.4);......time_t.tt.=.time(N |
| 52d00 | 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c | ULL);......struct.tm.tmv;......l |
| 52d20 | 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 | ocaltime_r(&tt,.&tmv);...#..int. |
| 52d40 | 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 | cx.=.a->w./.2,.cy.=.a->h./.2;... |
| 52d60 | 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a | /..int.r.=.(a->w.<.a->h.?.a->w.: |
| 52d80 | 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 | .a->h)./.2.-.10;......if.(r.<.5) |
| 52da0 | 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | ........r.=.5;......for.(int.i.= |
| 52dc0 | 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 | .0;.i.<.60;.i++).{........double |
| 52de0 | 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 | .ang.=.i./.60.0.*.2.*.M_PI.-.M_P |
| 52e00 | 49 5f 32 3b 00 00 00 24 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 | I_2;...$....int.len.=.(i.%.5.==. |
| 52e20 | 30 29 20 3f 20 31 35 20 3a 20 35 3b 00 00 00 4e 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | 0).?.15.:.5;...N....line(px,.a-> |
| 52e40 | 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 | w,.a->h,.cx.+.cos(ang).*.(r.-.le |
| 52e60 | 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 | n),.cy.+.sin(ang).*.(r.-.len),.. |
| 52e80 | 00 3b 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 72 2c 20 63 79 | .;.........cx.+.cos(ang).*.r,.cy |
| 52ea0 | 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 | .+.sin(ang).*.r,.0xFF000000);... |
| 52ec0 | 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 | ...}...4..double.sa.=.tmv.tm_sec |
| 52ee0 | 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a | ./.60.0.*.2.*.M_PI.-.M_PI_2;...J |
| 52f00 | 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e | ..double.ma.=.(tmv.tm_min.+.tmv. |
| 52f20 | 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | tm_sec./.60.0)./.60.0.*.2.*.M_PI |
| 52f40 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 | .-.M_PI_2;......double.ha.=...L. |
| 52f60 | 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e | .....((tmv.tm_hour.%.12).+.(tmv. |
| 52f80 | 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | tm_min./.60.0))./.12.0.*.2.*.M_P |
| 52fa0 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 2e 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d | I.-.M_PI_2;......for.(double.f.= |
| 52fc0 | 20 2d 30 2e 30 34 3b 20 66 20 3c 3d 20 30 2e 30 34 3b 20 66 20 2b 3d 20 30 2e 30 31 29 00 00 00 | .-0.04;.f.<=.0.04;.f.+=.0.01)... |
| 52fe0 | 3c 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 | <....line(px,.a->w,.a->h,.cx,.cy |
| 53000 | 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 35 2c 00 00 00 | ,.cx.+.cos(ha.+.f).*.r.*.0.5,... |
| 53020 | 31 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 66 29 20 2a 20 72 20 2a | 1.........cy.+.sin(ha.+.f).*.r.* |
| 53040 | 20 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 2e 20 20 66 6f 72 20 28 64 6f 75 | .0.5,.0xFF000000);......for.(dou |
| 53060 | 62 6c 65 20 66 20 3d 20 2d 30 2e 30 32 3b 20 66 20 3c 3d 20 30 2e 30 32 3b 20 66 20 2b 3d 20 30 | ble.f.=.-0.02;.f.<=.0.02;.f.+=.0 |
| 53080 | 2e 30 31 29 00 00 00 3d 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | .01)...=....line(px,.a->w,.a->h, |
| 530a0 | 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 | .cx,.cy,.cx.+.cos(ma.+.f).*.r.*. |
| 530c0 | 30 2e 37 35 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 | 0.75,...2.........cy.+.sin(ma.+. |
| 530e0 | 66 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 50 20 | f).*.r.*.0.75,.0xFF000000);...P. |
| 53100 | 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 | .line(px,.a->w,.a->h,.cx,.cy,.cx |
| 53120 | 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 63 79 20 2b 20 73 69 6e 28 | .+.cos(sa).*.r.*.0.85,.cy.+.sin( |
| 53140 | 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 00 00 00 13 20 20 20 20 20 20 20 30 78 46 46 46 46 | sa).*.r.*.0.85,...........0xFFFF |
| 53160 | 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d | 0000);...)..wl_surface_attach(a- |
| 53180 | 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 | >ws,.a->buf,.0,.0);...4..wl_surf |
| 531a0 | 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 | ace_damage_buffer(a->ws,.0,.0,.a |
| 531c0 | 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d | ->w,.a->h);......wl_surface_comm |
| 531e0 | 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 | it(a->ws);......a->redraw.=.fals |
| 53200 | 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c | e;....}.......Gstatic.void.xt_cl |
| 53220 | 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | ose(void.*d,.struct.xdg_toplevel |
| 53240 | 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 | .*xt).{.running.=.0;.}.......Jst |
| 53260 | 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 | atic.void.xt_cfg(void.*d,.struct |
| 53280 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e | .xdg_toplevel.*xt,.int32_t.w,.in |
| 532a0 | 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | t32_t.h,...(...................s |
| 532c0 | 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 | truct.wl_array.*s).{......struct |
| 532e0 | 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 | .app.*a.=.d;...3..if.(w.>.0.&&.h |
| 53300 | 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 | .>.0.&&.(w.!=.a->w.||.h.!=.a->h) |
| 53320 | 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 | ).{........a->w.=.w;........a->h |
| 53340 | 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 | .=.h;........destroy_buf(a);.... |
| 53360 | 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 | ....a->redraw.=.true;......}.... |
| 53380 | 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 | }.......Fstatic.void.xs_cfg(void |
| 533a0 | 20 2a 64 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 6e | .*d,.struct.xdg_surface.*xs,.uin |
| 533c0 | 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 | t32_t.serial).{......struct.app. |
| 533e0 | 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e | *a.=.d;...(..xdg_surface_ack_con |
| 53400 | 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 | figure(xs,.serial);......a->conf |
| 53420 | 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 | igured.=.true;......a->redraw.=. |
| 53440 | 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | true;....}.......Cstatic.void.re |
| 53460 | 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | g_global(void.*d,.struct.wl_regi |
| 53480 | 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 | stry.*r,.uint32_t.id,...3....... |
| 534a0 | 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 72 20 2a 69 2c 20 75 | ................const.char.*i,.u |
| 534c0 | 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | int32_t.v).{......struct.app.*a. |
| 534e0 | 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d | =.d;..."..if.(!strcmp(i,."wl_com |
| 53500 | 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 | positor"))...C....a->comp.=.wl_r |
| 53520 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 | egistry_bind(r,.id,.&wl_composit |
| 53540 | 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 | or_interface,.4);......else.if.( |
| 53560 | 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e | !strcmp(i,."wl_shm"))...;....a-> |
| 53580 | 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 | shm.=.wl_registry_bind(r,.id,.&w |
| 535a0 | 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 | l_shm_interface,.1);...'..else.i |
| 535c0 | 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 | f.(!strcmp(i,."xdg_wm_base")).{. |
| 535e0 | 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | ..?....a->wm.=.wl_registry_bind( |
| 53600 | 72 2c 20 69 64 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 | r,.id,.&xdg_wm_base_interface,.1 |
| 53620 | 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 | );...C....static.const.struct.xd |
| 53640 | 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 | g_wm_base_listener.l.=.{.ping.=. |
| 53660 | 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 | wm_ping};...+....xdg_wm_base_add |
| 53680 | 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 | _listener(a->wm,.&l,.a);......}. |
| 536a0 | 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 | ...}........int.main(void).{.... |
| 536c0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d | ..struct.app.a.=.{0};......a.w.= |
| 536e0 | 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 | .400;......a.h.=.400;......signa |
| 53700 | 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c | l(SIGINT,.on_sig);...!..a.d.=.wl |
| 53720 | 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 0b 20 20 69 66 20 | _display_connect(NULL);......if. |
| 53740 | 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 | (!a.d)........return.1;...'..a.r |
| 53760 | 65 67 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 61 2e 64 | eg.=.wl_display_get_registry(a.d |
| 53780 | 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 | );...G..static.const.struct.wl_r |
| 537a0 | 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d | egistry_listener.rl.=.{.global.= |
| 537c0 | 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 | .reg_global};...+..wl_registry_a |
| 537e0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c | dd_listener(a.reg,.&rl,.&a);.... |
| 53800 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 | ..wl_display_roundtrip(a.d);...! |
| 53820 | 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d | ..if.(!a.comp.||.!a.shm.||.!a.wm |
| 53840 | 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 | )........return.1;......a.ws.=.w |
| 53860 | 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 65 28 61 2e 63 6f | l_compositor_create_surface(a.co |
| 53880 | 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 | mp);...1..a.xs.=.xdg_wm_base_get |
| 538a0 | 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 | _xdg_surface(a.wm,.a.ws);...G..s |
| 538c0 | 74 61 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 | tatic.const.struct.xdg_surface_l |
| 538e0 | 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 | istener.xsl.=.{.configure.=.xs_c |
| 53900 | 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e | fg};...+..xdg_surface_add_listen |
| 53920 | 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 | er(a.xs,.&xsl,.&a);...(..a.xt.=. |
| 53940 | 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 | xdg_surface_get_toplevel(a.xs);. |
| 53960 | 00 00 47 20 20 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 | ..G..static.const.struct.xdg_top |
| 53980 | 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 | level_listener.xtl.=.{.configure |
| 539a0 | 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .=.xt_cfg,...F.................. |
| 539c0 | 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 | ................................ |
| 539e0 | 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f | ..close.=.xt_close};...,..xdg_to |
| 53a00 | 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 | plevel_add_listener(a.xt,.&xtl,. |
| 53a20 | 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 | &a);...*..xdg_toplevel_set_title |
| 53a40 | 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 | (a.xt,."wlclock");......wl_surfa |
| 53a60 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e | ce_commit(a.ws);......while.(!a. |
| 53a80 | 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | configured)........wl_display_di |
| 53aa0 | 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 | spatch(a.d);......render(&a);... |
| 53ac0 | 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 | 9..int.tfd.=.timerfd_create(CLOC |
| 53ae0 | 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 | K_MONOTONIC,.TFD_CLOEXEC);...F.. |
| 53b00 | 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 | timerfd_settime(tfd,.0,.&(struct |
| 53b20 | 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 | .itimerspec){{1,.0},.{1,.0}},.NU |
| 53b40 | 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 | LL);......char.buffer[100];..... |
| 53b60 | 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 | .while.(running).{...-....while. |
| 53b80 | 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d | (wl_display_prepare_read(a.d).!= |
| 53ba0 | 20 30 29 00 00 00 27 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 | .0)...'......wl_display_dispatch |
| 53bc0 | 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | _pending(a.d);........wl_display |
| 53be0 | 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 | _flush(a.d);...M....struct.pollf |
| 53c00 | 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 | d.fds[2].=.{{wl_display_get_fd(a |
| 53c20 | 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 | .d),.POLLIN},.{tfd,.POLLIN}};... |
| 53c40 | 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b | .....if.(poll(fds,.2,.-1).<.0).{ |
| 53c60 | 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 | ..."......wl_display_cancel_read |
| 53c80 | 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 | (a.d);..........continue;....... |
| 53ca0 | 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 | .}........if.(fds[0].revents.&.P |
| 53cc0 | 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f | OLLIN)..."......wl_display_read_ |
| 53ce0 | 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 | events(a.d);........else...".... |
| 53d00 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 | ..wl_display_cancel_read(a.d);.. |
| 53d20 | 00 25 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 |
| 53d40 | 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 | g(a.d);..."....if.(fds[1].revent |
| 53d60 | 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 | s.&.POLLIN).{..........uint64_t. |
| 53d80 | 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 | t_exp;...'......read(tfd,.&t_exp |
| 53da0 | 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f | ,.sizeof(t_exp));..........time_ |
| 53dc0 | 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 | t.cli.=.time(NULL);...,......str |
| 53de0 | 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c | uct.tm.*t_struct.=.localtime(&cl |
| 53e00 | 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 | i);...I......strftime(buffer,.si |
| 53e20 | 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 | zeof(buffer),."%d-%m-%Y.%I:%M:%S |
| 53e40 | 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 | .%p",.t_struct);...%......printf |
| 53e60 | 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 | ("\rTime.is.%s",.buffer);....... |
| 53e80 | 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 | ...fflush(stdout);..........a.re |
| 53ea0 | 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 | draw.=.true;........}........if. |
| 53ec0 | 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 | (a.redraw)..........render(&a);. |
| 53ee0 | 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 | .....}......printf("\n");......c |
| 53f00 | 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b | lose(tfd);......destroy_buf(&a); |
| 53f20 | 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 | ......wl_display_disconnect(a.d) |
| 53f40 | 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 | ;......return.0;....}5.......... |
| 53f60 | 00 00 00 00 00 f5 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 36 1b 00 | .............................6.. |
| 53f80 | 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 8d 00 00 00 8f 00 00 00 00 00 00 00 | .............5._................ |
| 53fa0 | 00 00 00 00 8e 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 | ................................ |
| 53fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 53fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 540a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 540c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 540e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a7 98 04 01 00 00 00 00 00 f5 18 | ...................i............ |
| 54120 | 00 00 01 06 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 01 07 00 00 00 00 00 | ....................}........... |
| 54140 | 00 00 00 00 00 00 00 f5 18 00 00 00 fc 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 20 | ................................ |
| 54160 | 20 20 20 61 2e 72 65 64 72 61 77 20 3d f5 18 00 00 00 fd 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ...a.redraw.=................... |
| 54180 | 18 00 00 00 de 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 24 20 20 78 64 67 5f 74 6f 70 6c 65 | ....................$..xdg_tople |
| 541a0 | 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c f5 18 00 00 00 df 00 | vel_set_title(a.xt,."wlcl....... |
| 541c0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 da 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 541e0 | 09 20 20 61 2e 78 74 20 3d 20 f5 18 00 00 00 db 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | ...a.xt.=....................... |
| 54200 | 00 d4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 | ....................if.(!a.comp. |
| 54220 | f5 18 00 00 00 d5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b3 00 00 00 00 00 00 00 00 | ................................ |
| 54240 | 00 00 00 01 00 00 00 42 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 | .......Bstatic.void.xs_cfg(void. |
| 54260 | 2a 64 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 6e 74 | *d,.struct.xdg_surface.*xs,.uint |
| 54280 | 33 32 5f 74 20 73 65 72 69 61 f5 18 00 00 00 b4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | 32_t.seria...................... |
| 542a0 | 00 a0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 28 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 | .................(..wl_surface_a |
| 542c0 | 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 f5 18 00 00 00 a1 | ttach(a->ws,.a->buf,.0,.0)...... |
| 542e0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 54300 | 00 29 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 | .)..double.ha.=.((tmv.tm_hour.%. |
| 54320 | 31 32 29 20 2b 20 28 74 6d 76 2e f5 18 00 00 00 9b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | 12).+.(tmv...................... |
| 54340 | 00 00 8e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 69 6e 74 20 63 78 20 3d 20 61 2d | .....................int.cx.=.a- |
| 54360 | 3e 77 20 2f 20 32 2c 20 63 79 20 3d f5 18 00 00 00 8f 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | >w./.2,.cy.=.................... |
| 54380 | 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 f5 18 00 00 00 7b 00 00 00 00 00 00 | ...z.....................{...... |
| 543a0 | 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 0a 20 20 69 6e | ...........o..................in |
| 543c0 | 74 20 6d 69 6e 5f f5 18 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 4b 00 00 | t.min_.....p.................K.. |
| 543e0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 18 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f | ................int.fd.=.create_ |
| 54400 | 73 68 6d 28 73 69 f5 18 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 18 00 00 | shm(si.....L.................... |
| 54420 | 00 00 00 00 00 00 00 00 00 01 00 00 00 23 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 | .............#static.volatile.si |
| 54440 | 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e f5 18 00 00 00 19 00 00 00 00 00 00 00 00 00 | g_atomic_t.runnin............... |
| 54460 | 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 f5 18 00 00 00 01 00 | ................................ |
| 54480 | 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 00 00 00 00 00 00 00 | ...........5.................... |
| 544a0 | 00 00 00 18 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | .......#........................ |
| 544c0 | 00 00 00 f5 18 00 00 00 00 18 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 33 00 00 00 18 00 00 | .............#...........3...... |
| 544e0 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 4b | ...............................K |
| 54500 | 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 0a 00 00 00 00 06 00 00 00 00 00 00 00 | ...............$................ |
| 54520 | 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 6f 00 00 00 0a 00 00 00 00 00 00 | .....................o.......... |
| 54540 | 00 00 00 00 00 0b 00 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 54560 | 00 00 00 00 00 f5 18 00 00 00 00 7a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 19 | ...........z.................... |
| 54580 | 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 545a0 | 00 8e 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 29 00 00 00 00 0e 00 00 00 00 00 | .....................).......... |
| 545c0 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 9a 00 00 00 29 00 00 00 00 | ...........................).... |
| 545e0 | 00 00 00 00 00 00 00 06 00 00 00 28 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ...........(.................... |
| 54600 | 02 00 00 00 00 00 00 f5 18 00 00 00 00 a0 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 13 00 00 | .................(.............. |
| 54620 | 00 42 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 | .B.............................. |
| 54640 | 00 00 00 b3 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 0e 00 00 00 00 14 00 00 00 | .......B...........!............ |
| 54660 | 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 d4 00 00 00 0e 00 00 | ................................ |
| 54680 | 00 00 00 00 00 00 00 00 00 06 00 00 00 09 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 546a0 | 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 da 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 04 | ................................ |
| 546c0 | 00 00 00 24 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 | ...$............................ |
| 546e0 | 18 00 00 00 00 de 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 10 00 00 00 00 1a 00 | .........$...................... |
| 54700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 fc 00 00 00 10 | ................................ |
| 54720 | 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 01 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54740 | 00 00 00 91 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 8e 00 00 00 90 00 00 00 00 00 00 00 00 00 | ...........5._.................. |
| 54760 | 00 00 8f 00 00 01 07 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 | ................................ |
| 54780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 547a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 547c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 547e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 54880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 548a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 548c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a7 99 04 01 00 00 00 27 00 f5 18 00 00 | .................i........'..... |
| 548e0 | 00 6e 00 00 00 ae 00 00 01 07 00 00 00 31 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 | .n...........1...nstatic.void.fi |
| 54900 | 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 | ll_tri(uint32_t.*px,.int.w,.int. |
| 54920 | 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 | h,.int.x0,.int.y0,.int.x1,.int.y |
| 54940 | 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b | 1,.int.x2,.int.y2,.uint32_t.c).{ |
| 54960 | 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 | ...B..int.min_y.=.y0.<.y1.?.(y0. |
| 54980 | 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 | <.y2.?.y0.:.y2).:.(y1.<.y2.?.y1. |
| 549a0 | 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 | :.y2);...B..int.max_y.=.y0.>.y1. |
| 549c0 | 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 | ?.(y0.>.y2.?.y0.:.y2).:.(y1.>.y2 |
| 549e0 | 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 | .?.y1.:.y2);......if.(min_y.<.0) |
| 54a00 | 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 | .min_y.=.0;......if.(max_y.>=.h) |
| 54a20 | 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 | .max_y.=.h.-.1;...(..for.(int.y. |
| 54a40 | 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 | =.min_y;.y.<=.max_y;.y++).{..... |
| 54a60 | 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 | ...int.x_start.=.w,.x_end.=.0;.. |
| 54a80 | 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 | .3....int.xs[3].=.{x0,.x1,.x2},. |
| 54aa0 | 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 | ys[3].=.{y0,.y1,.y2};...!....for |
| 54ac0 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 | .(int.i.=.0;.i.<.3;.i++).{...... |
| 54ae0 | 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 | ....int.j.=.(i.+.1).%.3;...C.... |
| 54b00 | 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 | ..if.((ys[i].<=.y.&&.ys[j].>.y). |
| 54b20 | 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 | ||.(ys[j].<=.y.&&.ys[i].>.y)).{. |
| 54b40 | 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 | ..H........int.x.=.xs[i].+.(y.-. |
| 54b60 | 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a | ys[i]).*.(xs[j].-.xs[i])./.(ys[j |
| 54b80 | 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 | ].-.ys[i]);...%........if.(x.<.x |
| 54ba0 | 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 20 20 20 20 | _start).x_start.=.x;...!........ |
| 54bc0 | 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 | if.(x.>.x_end).x_end.=.x;....... |
| 54be0 | 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 | ...}........}...!....if.(x_start |
| 54c00 | 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 66 20 28 78 5f | .<.0).x_start.=.0;..."....if.(x_ |
| 54c20 | 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3d 20 20 20 20 | end.>=.w).x_end.=.w.-.1;...=.... |
| 54c40 | 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 | for.(int.x.=.x_start;.x.<=.x_end |
| 54c60 | 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d | ;.x++).px[y.*.w.+.x].=.c;......} |
| 54c80 | 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 | ....}.......#static.void.render( |
| 54ca0 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f | struct.app.*a).{.../..if.(!a->co |
| 54cc0 | 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d | nfigured.||.a->w.<=.0.||.a->h.<= |
| 54ce0 | 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e | .0)........return;......if.(!a-> |
| 54d00 | 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 | buf)........alloc_buf(a);......u |
| 54d20 | 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 | int32_t.*px.=.a->pixels;...$..me |
| 54d40 | 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b | mset(px,.0xFF,.a->w.*.a->h.*.4); |
| 54d60 | 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 | ......time_t.tt.=.time(NULL);... |
| 54d80 | 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 | ...struct.tm.tmv;......localtime |
| 54da0 | 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e | _r(&tt,.&tmv);...#..int.cx.=.a-> |
| 54dc0 | 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 | w./.2,.cy.=.a->h./.2;.../..int.r |
| 54de0 | 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f | .=.(a->w.<.a->h.?.a->w.:.a->h)./ |
| 54e00 | 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 | .2.-.10;......if.(r.<.5)........ |
| 54e20 | 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 | r.=.5;......for.(int.i.=.0;.i.<. |
| 54e40 | 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 | 60;.i++).{........double.ang.=.i |
| 54e60 | 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 24 | ./.60.0.*.2.*.M_PI.-.M_PI_2;...$ |
| 54e80 | 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 31 35 20 | ....int.len.=.(i.%.5.==.0).?.15. |
| 54ea0 | 3a 20 35 3b 00 00 00 4e 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | :.5;...N....line(px,.a->w,.a->h, |
| 54ec0 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 63 79 20 2b | .cx.+.cos(ang).*.(r.-.len),.cy.+ |
| 54ee0 | 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 3b 20 20 20 20 20 20 | .sin(ang).*.(r.-.len),...;...... |
| 54f00 | 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 | ...cx.+.cos(ang).*.r,.cy.+.sin(a |
| 54f20 | 6e 67 29 20 2a 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 34 | ng).*.r,.0xFF000000);......}...4 |
| 54f40 | 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 | ..double.sa.=.tmv.tm_sec./.60.0. |
| 54f60 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 | *.2.*.M_PI.-.M_PI_2;...J..double |
| 54f80 | 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f | .ma.=.(tmv.tm_min.+.tmv.tm_sec./ |
| 54fa0 | 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | .60.0)./.60.0.*.2.*.M_PI.-.M_PI_ |
| 54fc0 | 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 | 2;...T..double.ha.=.((tmv.tm_hou |
| 54fe0 | 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f | r.%.12).+.(tmv.tm_min./.60.0))./ |
| 55000 | 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 02 20 20 | .12.0.*.2.*.M_PI.-.M_PI_2;...... |
| 55020 | 00 00 00 a3 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | ......fill_tri(px,.a->w,.a->h,.c |
| 55040 | 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 29 2a 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d | x.+.cos(ha-0.1)*10,.cy.+.sin(ha- |
| 55060 | 30 2e 31 29 2a 31 30 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 29 2a 31 30 2c 20 63 79 | 0.1)*10,.cx.+.cos(ha+0.1)*10,.cy |
| 55080 | 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 29 2a 31 30 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a | .+.sin(ha+0.1)*10,.cx.+.cos(ha)* |
| 550a0 | 72 2a 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 2c 20 30 78 46 46 30 | r*0.5,.cy.+.sin(ha)*r*0.5,.0xFF0 |
| 550c0 | 30 30 30 30 30 29 3b 00 00 00 a5 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 | 00000);......fill_tri(px,.a->w,. |
| 550e0 | 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 36 29 2a 38 2c 20 63 79 20 2b 20 | a->h,.cx.+.cos(ma-0.06)*8,.cy.+. |
| 55100 | 73 69 6e 28 6d 61 2d 30 2e 30 36 29 2a 38 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 36 | sin(ma-0.06)*8,.cx.+.cos(ma+0.06 |
| 55120 | 29 2a 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 36 29 2a 38 2c 20 63 78 20 2b 20 63 | )*8,.cy.+.sin(ma+0.06)*8,.cx.+.c |
| 55140 | 6f 73 28 6d 61 29 2a 72 2a 30 2e 37 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e | os(ma)*r*0.75,.cy.+.sin(ma)*r*0. |
| 55160 | 37 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 5d 20 20 6c 69 6e 65 28 70 78 2c 20 61 | 75,.0xFF000000);...]..line(px,.a |
| 55180 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 | ->w,.a->h,.cx,.cy,.cx.+.cos(sa). |
| 551a0 | 2a 20 72 20 2a 20 30 2e 38 35 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 | *.r.*.0.85,.cy.+.sin(sa).*.r.*.0 |
| 551c0 | 2e 38 35 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 35 81 f5 18 00 00 00 00 6e 00 00 00 50 00 00 | .85,.0xFFFF0000);5.......n...P.. |
| 551e0 | 00 30 00 00 00 50 00 00 00 3e 00 00 00 06 00 00 00 d7 09 00 00 00 00 00 00 f2 07 00 00 00 00 00 | .0...P...>...................... |
| 55200 | 00 9c 08 00 00 00 00 00 00 35 81 5f d0 00 00 00 8f 00 00 00 91 00 00 00 00 00 00 00 00 00 00 00 | .........5._.................... |
| 55220 | 90 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 00 00 00 00 00 | ................................ |
| 55240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 552a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 552c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 552e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 55380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a7 ce 04 01 00 00 00 00 00 f5 18 00 00 00 00 | ...............i................ |
| 553a0 | 00 00 00 02 00 00 00 00 00 00 01 15 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 | ................#define._POSIX_C |
| 553c0 | 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 | _SOURCE.200809L...&#include."xdg |
| 553e0 | 2d 73 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 12 23 69 6e | -shell-client-protocol.h"....#in |
| 55400 | 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 | clude.<fcntl.h>....#include.<mat |
| 55420 | 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e | h.h>....#include.<poll.h>....#in |
| 55440 | 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 | clude.<signal.h>....#include.<st |
| 55460 | 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 | dbool.h>....#include.<stdint.h>. |
| 55480 | 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 75 64 | ...#include.<stdio.h>....#includ |
| 554a0 | 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 73 74 72 69 6e 67 | e.<stdlib.h>....#include.<string |
| 554c0 | 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 | .h>....#include.<sys/mman.h>.... |
| 554e0 | 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 | #include.<sys/timerfd.h>....#inc |
| 55500 | 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 | lude.<time.h>....#include.<unist |
| 55520 | 64 2e 68 3e 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 | d.h>....#include.<wayland-client |
| 55540 | 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 | .h>........#ifndef.M_PI...##defi |
| 55560 | 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 | ne.M_PI.3.14159265358979323846.. |
| 55580 | 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 | ..#endif....#ifndef.M_PI_2...%#d |
| 555a0 | 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 | efine.M_PI_2.1.57079632679489661 |
| 555c0 | 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 | 923....#endif.......)static.vola |
| 555e0 | 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 | tile.sig_atomic_t.running.=.1;.. |
| 55600 | 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 | ..static.void.on_sig(int.s).{... |
| 55620 | 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 | ...(void)s;......running.=.0;... |
| 55640 | 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 | .}........struct.app.{......stru |
| 55660 | 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c | ct.wl_display.*d;......struct.wl |
| 55680 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 | _registry.*reg;......struct.wl_c |
| 556a0 | 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f | ompositor.*comp;......struct.wl_ |
| 556c0 | 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | shm.*shm;......struct.xdg_wm_bas |
| 556e0 | 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 | e.*wm;......struct.wl_surface.*w |
| 55700 | 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 | s;......struct.xdg_surface.*xs;. |
| 55720 | 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 | .....struct.xdg_toplevel.*xt;... |
| 55740 | 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f | ...void.*pixels;......struct.wl_ |
| 55760 | 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 | buffer.*buf;......int.w,.h;..... |
| 55780 | 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 | .int.bw,.bh;......bool.configure |
| 557a0 | 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 | d;......bool.redraw;....};...... |
| 557c0 | 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 | .Jstatic.void.wm_ping(void.*data |
| 557e0 | 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 | ,.struct.xdg_wm_base.*wm,.uint32 |
| 55800 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f | _t.serial).{......xdg_wm_base_po |
| 55820 | 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 | ng(wm,.serial);....}.......$stat |
| 55840 | 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b | ic.int.create_shm(size_t.size).{ |
| 55860 | 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 | ...#..char.t[].=."/tmp/wlclock-X |
| 55880 | 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 | XXXXX";......int.fd.=.mkstemp(t) |
| 558a0 | 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 | ;......if.(fd.<.0)........exit(1 |
| 558c0 | 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 | );......unlink(t);......if.(ftru |
| 558e0 | 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 | ncate(fd,.size).<.0)........exit |
| 55900 | 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | (1);......return.fd;....}....... |
| 55920 | 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 | (static.void.destroy_buf(struct. |
| 55940 | 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 | app.*a).{......if.(!a->buf)..... |
| 55960 | 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 | ...return;...*..size_t.size.=.(s |
| 55980 | 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c | ize_t)a->bw.*.a->bh.*.4;......wl |
| 559a0 | 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 | _buffer_destroy(a->buf);......mu |
| 559c0 | 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 | nmap(a->pixels,.size);......a->b |
| 559e0 | 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c | uf.=.NULL;......a->pixels.=.NULL |
| 55a00 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f | ;....}.......&static.void.alloc_ |
| 55a20 | 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f | buf(struct.app.*a).{......destro |
| 55a40 | 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 | y_buf(a);...(..size_t.size.=.(si |
| 55a60 | 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 | ze_t)a->w.*.a->h.*.4;......int.f |
| 55a80 | 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 | d.=.create_shm(size);...J..a->pi |
| 55aa0 | 78 65 6c 73 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 | xels.=.mmap(NULL,.size,.PROT_REA |
| 55ac0 | 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 | D.|.PROT_WRITE,.MAP_SHARED,.fd,. |
| 55ae0 | 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 | 0);......if.(a->pixels.==.MAP_FA |
| 55b00 | 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 | ILED)........exit(1);...B..struc |
| 55b20 | 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 | t.wl_shm_pool.*pool.=.wl_shm_cre |
| 55b40 | 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 | ate_pool(a->shm,.fd,.size);...C. |
| 55b60 | 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 | .a->buf.=.wl_shm_pool_create_buf |
| 55b80 | 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 | fer(pool,.0,.a->w,.a->h,.a->w.*. |
| 55ba0 | 34 2c 00 00 00 3d 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 | 4,...=.......................... |
| 55bc0 | 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 | ...........WL_SHM_FORMAT_ARGB888 |
| 55be0 | 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f | 8);......wl_shm_pool_destroy(poo |
| 55c00 | 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d | l);......close(fd);......a->bw.= |
| 55c20 | 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 | .a->w;......a->bh.=.a->h;....}.. |
| 55c40 | 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 | .....Lstatic.void.line(uint32_t. |
| 55c60 | 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 | *px,.int.w,.int.h,.int.x0,.int.y |
| 55c80 | 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 | 0,.int.x1,.int.y1,.............. |
| 55ca0 | 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 | .......uint32_t.c).{.../..int.dx |
| 55cc0 | 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 | .=.abs(x1.-.x0),.sx.=.x0.<.x1.?. |
| 55ce0 | 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 | 1.:.-1;...0..int.dy.=.-abs(y1.-. |
| 55d00 | 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 | y0),.sy.=.y0.<.y1.?.1.:.-1;..... |
| 55d20 | 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 | .int.err.=.dx.+.dy;......while.( |
| 55d40 | 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 | 1).{.../....if.(x0.>=.0.&&.x0.<. |
| 55d60 | 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 | w.&&.y0.>=.0.&&.y0.<.h)......... |
| 55d80 | 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 | .px[y0.*.w.+.x0].=.c;........if. |
| 55da0 | 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 | (x0.==.x1.&&.y0.==.y1).......... |
| 55dc0 | 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 | break;........int.e2.=.2.*.err;. |
| 55de0 | 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 | .......if.(e2.>=.dy).{.......... |
| 55e00 | 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 | err.+=.dy;..........x0.+=.sx;... |
| 55e20 | 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 | .....}........if.(e2.<=.dx).{... |
| 55e40 | 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d | .......err.+=.dx;..........y0.+= |
| 55e60 | 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | .sy;........}......}....}....... |
| 55e80 | 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a | Pstatic.void.fill_tri(uint32_t.* |
| 55ea0 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 | px,.int.w,.int.h,.int.x0,.int.y0 |
| 55ec0 | 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 | ,.int.x1,.int.y1,...2........... |
| 55ee0 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 | ..........int.x2,.int.y2,.uint32 |
| 55f00 | 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 | _t.c).{...B..int.min_y.=.y0.<.y1 |
| 55f20 | 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 | .?.(y0.<.y2.?.y0.:.y2).:.(y1.<.y |
| 55f40 | 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 | 2.?.y1.:.y2);...B..int.max_y.=.y |
| 55f60 | 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 | 0.>.y1.?.(y0.>.y2.?.y0.:.y2).:.( |
| 55f80 | 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e | y1.>.y2.?.y1.:.y2);......if.(min |
| 55fa0 | 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 | _y.<.0)........min_y.=.0;......i |
| 55fc0 | 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 | f.(max_y.>=.h)........max_y.=.h. |
| 55fe0 | 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 | -.1;...(..for.(int.y.=.min_y;.y. |
| 56000 | 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 | <=.max_y;.y++).{........int.x_st |
| 56020 | 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 | art.=.w,.x_end.=.0;...3....int.x |
| 56040 | 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 | s[3].=.{x0,.x1,.x2},.ys[3].=.{y0 |
| 56060 | 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | ,.y1,.y2};...!....for.(int.i.=.0 |
| 56080 | 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d | ;.i.<.3;.i++).{..........int.j.= |
| 560a0 | 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 | .(i.+.1).%.3;...C......if.((ys[i |
| 560c0 | 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c | ].<=.y.&&.ys[j].>.y).||.(ys[j].< |
| 560e0 | 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 | =.y.&&.ys[i].>.y)).{...H........ |
| 56100 | 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 | int.x.=.xs[i].+.(y.-.ys[i]).*.(x |
| 56120 | 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b | s[j].-.xs[i])./.(ys[j].-.ys[i]); |
| 56140 | 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 00 00 00 16 | ............if.(x.<.x_start).... |
| 56160 | 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 16 20 20 20 20 20 20 | ..........x_start.=.x;.......... |
| 56180 | 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 20 20 20 20 20 78 5f | ..if.(x.>.x_end)..............x_ |
| 561a0 | 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 14 | end.=.x;..........}........}.... |
| 561c0 | 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 20 20 20 20 20 20 78 5f | ....if.(x_start.<.0)..........x_ |
| 561e0 | 73 74 61 72 74 20 3d 20 30 3b 00 00 00 13 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 | start.=.0;........if.(x_end.>=.w |
| 56200 | 29 00 00 00 14 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2a 20 20 20 | )..........x_end.=.w.-.1;...*... |
| 56220 | 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e | .for.(int.x.=.x_start;.x.<=.x_en |
| 56240 | 64 3b 20 78 2b 2b 29 00 00 00 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d | d;.x++)..........px[y.*.w.+.x].= |
| 56260 | 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f | .c;......}....}.......#static.vo |
| 56280 | 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 | id.render(struct.app.*a).{.../.. |
| 562a0 | 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 | if.(!a->configured.||.a->w.<=.0. |
| 562c0 | 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e | ||.a->h.<=.0)........return;.... |
| 562e0 | 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 | ..if.(!a->buf)........alloc_buf( |
| 56300 | 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c | a);......uint32_t.*px.=.a->pixel |
| 56320 | 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 | s;...$..memset(px,.0xFF,.a->w.*. |
| 56340 | 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 | a->h.*.4);......time_t.tt.=.time |
| 56360 | 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 | (NULL);......struct.tm.tmv;..... |
| 56380 | 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e | .localtime_r(&tt,.&tmv);...#..in |
| 563a0 | 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 | t.cx.=.a->w./.2,.cy.=.a->h./.2;. |
| 563c0 | 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 | ../..int.r.=.(a->w.<.a->h.?.a->w |
| 563e0 | 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 | .:.a->h)./.2.-.10;......if.(r.<. |
| 56400 | 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 | 5)........r.=.5;......for.(int.i |
| 56420 | 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 | .=.0;.i.<.60;.i++).{........doub |
| 56440 | 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d | le.ang.=.i./.60.0.*.2.*.M_PI.-.M |
| 56460 | 5f 50 49 5f 32 3b 00 00 00 24 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d | _PI_2;...$....int.len.=.(i.%.5.= |
| 56480 | 3d 20 30 29 20 3f 20 31 35 20 3a 20 35 3b 00 00 00 4e 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 | =.0).?.15.:.5;...N....line(px,.a |
| 564a0 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 | ->w,.a->h,.cx.+.cos(ang).*.(r.-. |
| 564c0 | 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c | len),.cy.+.sin(ang).*.(r.-.len), |
| 564e0 | 00 00 00 3b 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 72 2c 20 | ...;.........cx.+.cos(ang).*.r,. |
| 56500 | 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | cy.+.sin(ang).*.r,.0xFF000000);. |
| 56520 | 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 | .....}...4..double.sa.=.tmv.tm_s |
| 56540 | 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | ec./.60.0.*.2.*.M_PI.-.M_PI_2;.. |
| 56560 | 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d | .J..double.ma.=.(tmv.tm_min.+.tm |
| 56580 | 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | v.tm_sec./.60.0)./.60.0.*.2.*.M_ |
| 565a0 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 | PI.-.M_PI_2;......double.ha.=... |
| 565c0 | 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d | L......((tmv.tm_hour.%.12).+.(tm |
| 565e0 | 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d | v.tm_min./.60.0))./.12.0.*.2.*.M |
| 56600 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 4c 20 20 66 69 6c 6c 5f 74 72 69 28 | _PI.-.M_PI_2;.......L..fill_tri( |
| 56620 | 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e | px,.a->w,.a->h,.cx.+.cos(ha.-.0. |
| 56640 | 31 29 20 2a 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 29 20 2a 20 31 30 | 1).*.10,.cy.+.sin(ha.-.0.1).*.10 |
| 56660 | 2c 00 00 00 3c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e | ,...<...........cx.+.cos(ha.+.0. |
| 56680 | 31 29 20 2a 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 29 20 2a 20 31 30 | 1).*.10,.cy.+.sin(ha.+.0.1).*.10 |
| 566a0 | 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 | ,...G...........cx.+.cos(ha).*.r |
| 566c0 | 20 2a 20 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 | .*.0.5,.cy.+.sin(ha).*.r.*.0.5,. |
| 566e0 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4c 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 | 0xFF000000);...L..fill_tri(px,.a |
| 56700 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 30 36 29 20 2a | ->w,.a->h,.cx.+.cos(ma.-.0.06).* |
| 56720 | 20 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 36 29 20 2a 20 38 2c 00 00 00 3c | .8,.cy.+.sin(ma.-.0.06).*.8,...< |
| 56740 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 36 29 20 2a | ...........cx.+.cos(ma.+.0.06).* |
| 56760 | 20 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 30 36 29 20 2a 20 38 2c 00 00 00 49 | .8,.cy.+.sin(ma.+.0.06).*.8,...I |
| 56780 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e | ...........cx.+.cos(ma).*.r.*.0. |
| 567a0 | 37 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 | 75,.cy.+.sin(ma).*.r.*.0.75,.0xF |
| 567c0 | 46 30 30 30 30 30 30 29 3b 00 00 00 50 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | F000000);...P..line(px,.a->w,.a- |
| 567e0 | 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 | >h,.cx,.cy,.cx.+.cos(sa).*.r.*.0 |
| 56800 | 2e 38 35 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 00 00 00 | .85,.cy.+.sin(sa).*.r.*.0.85,... |
| 56820 | 13 20 20 20 20 20 20 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c | ........0xFFFF0000);.......)..wl |
| 56840 | 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 | _surface_attach(a->ws,.a->buf,.0 |
| 56860 | 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 | ,.0);...4..wl_surface_damage_buf |
| 56880 | 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 | fer(a->ws,.0,.0,.a->w,.a->h);... |
| 568a0 | 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 | ...wl_surface_commit(a->ws);.... |
| 568c0 | 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ..a->redraw.=.false;....}....... |
| 568e0 | 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 | Gstatic.void.xt_close(void.*d,.s |
| 56900 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e | truct.xdg_toplevel.*xt).{.runnin |
| 56920 | 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 | g.=.0;.}.......Jstatic.void.xt_c |
| 56940 | 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 | fg(void.*d,.struct.xdg_toplevel. |
| 56960 | 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 | *xt,.int32_t.w,.int32_t.h,...(.. |
| 56980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 | .................struct.wl_array |
| 569a0 | 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | .*s).{......struct.app.*a.=.d;.. |
| 569c0 | 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 | .3..if.(w.>.0.&&.h.>.0.&&.(w.!=. |
| 569e0 | 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e | a->w.||.h.!=.a->h)).{........a-> |
| 56a00 | 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 | w.=.w;........a->h.=.h;........d |
| 56a20 | 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 | estroy_buf(a);........a->redraw. |
| 56a40 | 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 | =.true;......}....}.......Fstati |
| 56a60 | 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 | c.void.xs_cfg(void.*d,.struct.xd |
| 56a80 | 67 5f 73 75 72 66 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 | g_surface.*xs,.uint32_t.serial). |
| 56aa0 | 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 | {......struct.app.*a.=.d;...(..x |
| 56ac0 | 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 |
| 56ae0 | 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b | ial);......a->configured.=.true; |
| 56b00 | 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 | ......a->redraw.=.true;....}.... |
| 56b20 | 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 | ...Cstatic.void.reg_global(void. |
| 56b40 | 2a 64 2c 20 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 | *d,.struct.wl_registry.*r,.uint3 |
| 56b60 | 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2_t.id,...3..................... |
| 56b80 | 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 | ..const.char.*i,.uint32_t.v).{.. |
| 56ba0 | 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 | ....struct.app.*a.=.d;..."..if.( |
| 56bc0 | 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 | !strcmp(i,."wl_compositor"))...C |
| 56be0 | 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | ....a->comp.=.wl_registry_bind(r |
| 56c00 | 2c 20 69 64 2c 20 26 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 | ,.id,.&wl_compositor_interface,. |
| 56c20 | 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c | 4);......else.if.(!strcmp(i,."wl |
| 56c40 | 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 | _shm"))...;....a->shm.=.wl_regis |
| 56c60 | 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 | try_bind(r,.id,.&wl_shm_interfac |
| 56c80 | 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 | e,.1);...'..else.if.(!strcmp(i,. |
| 56ca0 | 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d | "xdg_wm_base")).{...?....a->wm.= |
| 56cc0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d | .wl_registry_bind(r,.id,.&xdg_wm |
| 56ce0 | 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 73 74 61 74 | _base_interface,.1);...C....stat |
| 56d00 | 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 73 65 5f 6c 69 73 74 | ic.const.struct.xdg_wm_base_list |
| 56d20 | 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 | ener.l.=.{.ping.=.wm_ping};...+. |
| 56d40 | 20 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 61 2d 3e 77 | ...xdg_wm_base_add_listener(a->w |
| 56d60 | 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e | m,.&l,.a);......}....}........in |
| 56d80 | 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 | t.main(void).{......struct.app.a |
| 56da0 | 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 | .=.{0};......a.w.=.400;......a.h |
| 56dc0 | 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 | .=.400;......signal(SIGINT,.on_s |
| 56de0 | 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 | ig);...!..a.d.=.wl_display_conne |
| 56e00 | 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 | ct(NULL);......if.(!a.d)........ |
| 56e20 | 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 | return.1;...'..a.reg.=.wl_displa |
| 56e40 | 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 | y_get_registry(a.d);...G..static |
| 56e60 | 20 63 6f 6e 73 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 | .const.struct.wl_registry_listen |
| 56e80 | 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 | er.rl.=.{.global.=.reg_global};. |
| 56ea0 | 00 00 2b 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 61 2e | ..+..wl_registry_add_listener(a. |
| 56ec0 | 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 | reg,.&rl,.&a);......wl_display_r |
| 56ee0 | 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 | oundtrip(a.d);...!..if.(!a.comp. |
| 56f00 | 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 | ||.!a.shm.||.!a.wm)........retur |
| 56f20 | 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 63 | n.1;......a.ws.=.wl_compositor_c |
| 56f40 | 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 | reate_surface(a.comp);...1..a.xs |
| 56f60 | 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 | .=.xdg_wm_base_get_xdg_surface(a |
| 56f80 | 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | .wm,.a.ws);...G..static.const.st |
| 56fa0 | 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 73 6c 20 3d 20 | ruct.xdg_surface_listener.xsl.=. |
| 56fc0 | 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f | {.configure.=.xs_cfg};...+..xdg_ |
| 56fe0 | 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c | surface_add_listener(a.xs,.&xsl, |
| 57000 | 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 | .&a);...(..a.xt.=.xdg_surface_ge |
| 57020 | 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f | t_toplevel(a.xs);...G..static.co |
| 57040 | 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 6e 65 72 | nst.struct.xdg_toplevel_listener |
| 57060 | 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 | .xtl.=.{.configure.=.xt_cfg,...F |
| 57080 | 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 | ................................ |
| 570a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 | ....................close.=.xt_c |
| 570c0 | 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 | lose};...,..xdg_toplevel_add_lis |
| 570e0 | 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f | tener(a.xt,.&xtl,.&a);...*..xdg_ |
| 57100 | 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 | toplevel_set_title(a.xt,."wlcloc |
| 57120 | 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 | k");......wl_surface_commit(a.ws |
| 57140 | 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 | );......while.(!a.configured)... |
| 57160 | 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 | .....wl_display_dispatch(a.d);.. |
| 57180 | 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 | ....render(&a);...9..int.tfd.=.t |
| 571a0 | 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 | imerfd_create(CLOCK_MONOTONIC,.T |
| 571c0 | 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d | FD_CLOEXEC);...F..timerfd_settim |
| 571e0 | 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b | e(tfd,.0,.&(struct.itimerspec){{ |
| 57200 | 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 | 1,.0},.{1,.0}},.NULL);......char |
| 57220 | 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e | .buffer[100];......while.(runnin |
| 57240 | 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 | g).{...-....while.(wl_display_pr |
| 57260 | 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 | epare_read(a.d).!=.0)...'......w |
| 57280 | 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 61 2e 64 29 3b | l_display_dispatch_pending(a.d); |
| 572a0 | 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 | ........wl_display_flush(a.d);.. |
| 572c0 | 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 | .M....struct.pollfd.fds[2].=.{{w |
| 572e0 | 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 | l_display_get_fd(a.d),.POLLIN},. |
| 57300 | 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 | {tfd,.POLLIN}};........if.(poll( |
| 57320 | 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 | fds,.2,.-1).<.0).{..."......wl_d |
| 57340 | 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 | isplay_cancel_read(a.d);........ |
| 57360 | 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 | ..continue;........}........if.( |
| 57380 | 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 | fds[0].revents.&.POLLIN)...".... |
| 573a0 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 | ..wl_display_read_events(a.d);.. |
| 573c0 | 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | ......else..."......wl_display_c |
| 573e0 | 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c | ancel_read(a.d);...%....wl_displ |
| 57400 | 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 | ay_dispatch_pending(a.d);..."... |
| 57420 | 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 | .if.(fds[1].revents.&.POLLIN).{. |
| 57440 | 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 | .........uint64_t.t_exp;...'.... |
| 57460 | 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 | ..read(tfd,.&t_exp,.sizeof(t_exp |
| 57480 | 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e | ));..........time_t.cli.=.time(N |
| 574a0 | 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 | ULL);...,......struct.tm.*t_stru |
| 574c0 | 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 | ct.=.localtime(&cli);...I......s |
| 574e0 | 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 | trftime(buffer,.sizeof(buffer),. |
| 57500 | 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 | "%d-%m-%Y.%I:%M:%S.%p",.t_struct |
| 57520 | 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 | );...%......printf("\rTime.is.%s |
| 57540 | 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f | ",.buffer);..........fflush(stdo |
| 57560 | 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 | ut);..........a.redraw.=.true;.. |
| 57580 | 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 | ......}........if.(a.redraw).... |
| 575a0 | 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 | ......render(&a);......}......pr |
| 575c0 | 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 | intf("\n");......close(tfd);.... |
| 575e0 | 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c | ..destroy_buf(&a);......wl_displ |
| 57600 | 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 | ay_disconnect(a.d);......return. |
| 57620 | 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 15 01 00 00 00 00 00 00 01 | 0;....}5........................ |
| 57640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3c 1f 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 | ...............<...............5 |
| 57660 | 81 5f d0 00 00 00 90 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 91 00 00 00 01 00 00 00 00 00 | ._.............................. |
| 57680 | 00 00 00 ff ff ff ff 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 | ................................ |
| 576a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 576c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 576e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577e0 | 00 00 00 00 00 69 9d a7 ce 04 01 00 00 00 00 00 f5 18 00 00 01 1a 00 00 00 00 00 00 00 00 00 00 | .....i.......................... |
| 57800 | 00 01 00 00 00 01 7d f5 18 00 00 01 1b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 14 00 | ......}......................... |
| 57820 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 7d f5 18 00 00 01 15 00 00 00 00 00 00 00 00 | .................}.............. |
| 57840 | 00 00 00 00 f5 18 00 00 01 0b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 16 20 20 20 20 20 20 | ................................ |
| 57860 | 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d f5 18 00 00 01 0c 00 00 00 00 00 00 00 00 00 00 | time_t.cli.=.tim................ |
| 57880 | 00 00 f5 18 00 00 00 f4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 20 20 77 68 69 6c 65 20 | ..........................while. |
| 578a0 | 28 21 61 2e 63 6f 6e 66 69 67 f5 18 00 00 00 f5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | (!a.config...................... |
| 578c0 | 00 ea 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f | ....................a.ws.=.wl_co |
| 578e0 | 6d 70 6f 73 f5 18 00 00 00 eb 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d7 00 00 00 00 | mpos............................ |
| 57900 | 00 00 00 00 00 00 00 01 00 00 00 09 20 20 20 20 73 74 61 74 69 f5 18 00 00 00 d8 00 00 00 00 00 | ................stati........... |
| 57920 | 00 00 00 00 00 00 00 f5 18 00 00 00 b5 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 32 20 20 77 | ............................2..w |
| 57940 | 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 | l_surface_damage_buffer(a->ws,.0 |
| 57960 | 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 f5 18 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 | ,.0,.a->w,.a->h................. |
| 57980 | 00 f5 18 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 20 69 66 20 28 6d 61 78 | .........................if.(max |
| 579a0 | 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d f5 18 00 00 00 85 00 00 00 00 00 00 | _y.>=.h).max_y.=.h.-............ |
| 579c0 | 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 f5 18 00 00 | ................................ |
| 579e0 | 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 00 00 00 00 | ..............5................. |
| 57a00 | 00 00 00 00 00 00 84 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d | ................................ |
| 57a20 | 00 00 00 00 00 00 f5 18 00 00 00 00 84 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 31 00 00 00 | ............................1... |
| 57a40 | 32 00 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 f5 18 00 00 | 2............................... |
| 57a60 | 00 00 b5 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 22 00 00 00 09 00 00 00 00 15 00 00 00 00 | ......2..........."............. |
| 57a80 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 d7 00 00 00 09 00 00 00 | ................................ |
| 57aa0 | 00 00 00 00 00 00 00 00 13 00 00 00 12 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57ac0 | 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 ea 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 0a 00 | ................................ |
| 57ae0 | 00 00 12 00 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 | ................................ |
| 57b00 | 00 00 00 00 f4 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 16 00 00 00 00 1d 00 00 | ................................ |
| 57b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 0b 01 00 00 16 00 | ................................ |
| 57b40 | 00 00 00 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57b60 | 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 14 01 00 00 03 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57b80 | 06 00 00 00 01 00 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 00 00 00 00 00 00 00 | .........!..............]....... |
| 57ba0 | 35 81 5f d0 00 00 00 91 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 92 00 00 01 1b 00 00 00 00 | 5._............................. |
| 57bc0 | 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 00 00 00 00 | ................................ |
| 57be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57d20 | 00 00 00 00 00 00 69 9d a7 cf 04 01 00 00 00 29 00 f5 18 00 00 00 6e 00 00 00 c3 00 00 01 1b 00 | ......i........)......n......... |
| 57d40 | 00 00 44 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 | ..D...Sstatic.void.circle(uint32 |
| 57d60 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e | _t.*px,.int.w,.int.h,.int.cx,.in |
| 57d80 | 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | t.cy,.int.r,.uint32_t.c).{...".. |
| 57da0 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 57dc0 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e | ......while.(y.>=.x).{...H....in |
| 57de0 | 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | t.p[8][2].=.{{cx.+.x,.cy.+.y},.{ |
| 57e00 | 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | cx.-.x,.cy.+.y},.{cx.+.x,.cy.-.y |
| 57e20 | 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 | },...H...................{cx.-.x |
| 57e40 | 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 | ,.cy.-.y},.{cx.+.y,.cy.+.x},.{cx |
| 57e60 | 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-.y,.cy.+.x},...7.............. |
| 57e80 | 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 | .....{cx.+.y,.cy.-.x},.{cx.-.y,. |
| 57ea0 | 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | cy.-.x}};........for.(int.i.=.0; |
| 57ec0 | 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 | .i.<.8;.i++)...E......if.(p[i][0 |
| 57ee0 | 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d | ].>=.0.&&.p[i][0].<.w.&&.p[i][1] |
| 57f00 | 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 | .>=.0.&&.p[i][1].<.h)...&....... |
| 57f20 | 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 | .px[p[i][1].*.w.+.p[i][0]].=.c;. |
| 57f40 | 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b | .......if.(d.>.0).{..........d.+ |
| 57f60 | 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d | =.4.*.(x.-.y).+.10;..........y-- |
| 57f80 | 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 | ;........}.else..........d.+=.4. |
| 57fa0 | 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d | *.x.+.6;........x++;......}....} |
| 57fc0 | 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e | .......nstatic.void.fill_tri(uin |
| 57fe0 | 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c | t32_t.*px,.int.w,.int.h,.int.x0, |
| 58000 | 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c | .int.y0,.int.x1,.int.y1,.int.x2, |
| 58020 | 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 | .int.y2,.uint32_t.c).{...B..int. |
| 58040 | 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 | min_y.=.y0.<.y1.?.(y0.<.y2.?.y0. |
| 58060 | 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 | :.y2).:.(y1.<.y2.?.y1.:.y2);...B |
| 58080 | 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 | ..int.max_y.=.y0.>.y1.?.(y0.>.y2 |
| 580a0 | 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 | .?.y0.:.y2).:.(y1.>.y2.?.y1.:.y2 |
| 580c0 | 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 | );......if.(min_y.<.0).min_y.=.0 |
| 580e0 | 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 | ;......if.(max_y.>=.h).max_y.=.h |
| 58100 | 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 | .-.1;...(..for.(int.y.=.min_y;.y |
| 58120 | 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 | .<=.max_y;.y++).{........int.x_s |
| 58140 | 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 | tart.=.w,.x_end.=.0;...3....int. |
| 58160 | 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 | xs[3].=.{x0,.x1,.x2},.ys[3].=.{y |
| 58180 | 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | 0,.y1,.y2};...!....for.(int.i.=. |
| 581a0 | 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 | 0;.i.<.3;.i++).{..........int.j. |
| 581c0 | 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b | =.(i.+.1).%.3;...C......if.((ys[ |
| 581e0 | 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 | i].<=.y.&&.ys[j].>.y).||.(ys[j]. |
| 58200 | 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 | <=.y.&&.ys[i].>.y)).{...H....... |
| 58220 | 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 | .int.x.=.xs[i].+.(y.-.ys[i]).*.( |
| 58240 | 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 | xs[j].-.xs[i])./.(ys[j].-.ys[i]) |
| 58260 | 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f | ;...%........if.(x.<.x_start).x_ |
| 58280 | 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f | start.=.x;...!........if.(x.>.x_ |
| 582a0 | 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 | end).x_end.=.x;..........}...... |
| 582c0 | 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 | ..}...!....if.(x_start.<.0).x_st |
| 582e0 | 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 | art.=.0;..."....if.(x_end.>=.w). |
| 58300 | 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 | x_end.=.w.-.1;...=....for.(int.x |
| 58320 | 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b | .=.x_start;.x.<=.x_end;.x++).px[ |
| 58340 | 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | y.*.w.+.x].=.c;......}....}..... |
| 58360 | 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 | ..#static.void.render(struct.app |
| 58380 | 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c | .*a).{.../..if.(!a->configured.| |
| 583a0 | 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 | |.a->w.<=.0.||.a->h.<=.0)....... |
| 583c0 | 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 | .return;......if.(!a->buf)...... |
| 583e0 | 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 | ..alloc_buf(a);......uint32_t.*p |
| 58400 | 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 | x.=.a->pixels;...$..memset(px,.0 |
| 58420 | 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 | xFF,.a->w.*.a->h.*.4);......time |
| 58440 | 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 | _t.tt.=.time(NULL);......struct. |
| 58460 | 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 | tm.tmv;......localtime_r(&tt,.&t |
| 58480 | 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 | mv);...#..int.cx.=.a->w./.2,.cy. |
| 584a0 | 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c | =.a->h./.2;.../..int.r.=.(a->w.< |
| 584c0 | 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 | .a->h.?.a->w.:.a->h)./.2.-.10;.. |
| 584e0 | 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 20 | ....if.(r.<.5)........r.=.5;.... |
| 58500 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b | ..for.(int.i.=.0;.i.<.60;.i++).{ |
| 58520 | 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 | ........double.ang.=.i./.60.0.*. |
| 58540 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 24 20 20 20 20 69 6e 74 20 6c 65 | 2.*.M_PI.-.M_PI_2;...$....int.le |
| 58560 | 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 31 35 20 3a 20 35 3b 00 00 00 4e 20 20 | n.=.(i.%.5.==.0).?.15.:.5;...N.. |
| 58580 | 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 | ..line(px,.a->w,.a->h,.cx.+.cos( |
| 585a0 | 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 | ang).*.(r.-.len),.cy.+.sin(ang). |
| 585c0 | 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 3b 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f | *.(r.-.len),...;.........cx.+.co |
| 585e0 | 73 28 61 6e 67 29 20 2a 20 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 72 2c 20 30 | s(ang).*.r,.cy.+.sin(ang).*.r,.0 |
| 58600 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 | xFF000000);......}...4..double.s |
| 58620 | 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | a.=.tmv.tm_sec./.60.0.*.2.*.M_PI |
| 58640 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 | .-.M_PI_2;...J..double.ma.=.(tmv |
| 58660 | 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 | .tm_min.+.tmv.tm_sec./.60.0)./.6 |
| 58680 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 64 6f | 0.0.*.2.*.M_PI.-.M_PI_2;...T..do |
| 586a0 | 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 | uble.ha.=.((tmv.tm_hour.%.12).+. |
| 586c0 | 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 | (tmv.tm_min./.60.0))./.12.0.*.2. |
| 586e0 | 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 a3 20 20 66 69 6c 6c 5f 74 72 69 28 70 | *.M_PI.-.M_PI_2;......fill_tri(p |
| 58700 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 29 2a | x,.a->w,.a->h,.cx.+.cos(ha-0.1)* |
| 58720 | 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 31 29 2a 31 30 2c 20 63 78 20 2b 20 63 6f | 10,.cy.+.sin(ha-0.1)*10,.cx.+.co |
| 58740 | 73 28 68 61 2b 30 2e 31 29 2a 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 29 2a 31 | s(ha+0.1)*10,.cy.+.sin(ha+0.1)*1 |
| 58760 | 30 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 | 0,.cx.+.cos(ha)*r*0.5,.cy.+.sin( |
| 58780 | 68 61 29 2a 72 2a 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 a5 20 20 66 69 6c | ha)*r*0.5,.0xFF000000);......fil |
| 587a0 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d | l_tri(px,.a->w,.a->h,.cx.+.cos(m |
| 587c0 | 61 2d 30 2e 30 36 29 2a 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 30 36 29 2a 38 2c 20 | a-0.06)*8,.cy.+.sin(ma-0.06)*8,. |
| 587e0 | 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 36 29 2a 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 | cx.+.cos(ma+0.06)*8,.cy.+.sin(ma |
| 58800 | 2b 30 2e 30 36 29 2a 38 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 37 35 2c 20 63 | +0.06)*8,.cx.+.cos(ma)*r*0.75,.c |
| 58820 | 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 37 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b | y.+.sin(ma)*r*0.75,.0xFF000000); |
| 58840 | 00 00 00 5d 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 | ...]..line(px,.a->w,.a->h,.cx,.c |
| 58860 | 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 63 79 20 2b | y,.cx.+.cos(sa).*.r.*.0.85,.cy.+ |
| 58880 | 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 30 78 46 46 46 46 30 30 30 30 29 | .sin(sa).*.r.*.0.85,.0xFFFF0000) |
| 588a0 | 3b 00 00 00 02 20 20 00 00 00 4f 20 20 66 6f 72 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 | ;.........O..for(int.ir.=.0;.ir. |
| 588c0 | 3c 20 34 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | <.4;.ir++).circle(px,.a->w,.a->h |
| 588e0 | 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 | ,.cx,.cy,.ir,.0xFFFFFFFF);5..... |
| 58900 | 00 00 6e 00 00 00 45 00 00 00 43 00 00 00 1f 00 00 00 53 00 00 00 03 00 00 00 cc 09 00 00 00 00 | ..n...E...C.......S............. |
| 58920 | 00 00 75 0a 00 00 00 00 00 00 37 0b 00 00 00 00 00 00 35 81 5f d0 00 00 00 92 00 00 00 94 00 00 | ..u.......7.......5._........... |
| 58940 | 00 00 00 00 00 00 00 00 00 93 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | ................................ |
| 58960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 589a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 589c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 589e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 58aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 26 04 01 00 00 | ........................i..&.... |
| 58ac0 | 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 2b 00 00 00 1f 23 64 65 66 69 6e 65 | ....................+....#define |
| 58ae0 | 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 | ._POSIX_C_SOURCE.200809L...&#inc |
| 58b00 | 6c 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 | lude."xdg-shell-client-protocol. |
| 58b20 | 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 | h"....#include.<fcntl.h>....#inc |
| 58b40 | 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e | lude.<math.h>....#include.<poll. |
| 58b60 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e | h>....#include.<signal.h>....#in |
| 58b80 | 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 | clude.<stdbool.h>....#include.<s |
| 58ba0 | 74 64 69 6e 74 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 00 | tdint.h>....#include.<stdio.h>.. |
| 58bc0 | 00 13 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 | ..#include.<stdlib.h>....#includ |
| 58be0 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| 58c00 | 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 | an.h>....#include.<sys/timerfd.h |
| 58c20 | 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 | >....#include.<time.h>....#inclu |
| 58c40 | 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 | de.<unistd.h>....#include.<wayla |
| 58c60 | 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 | nd-client.h>........#ifndef.M_PI |
| 58c80 | 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 | ...##define.M_PI.3.1415926535897 |
| 58ca0 | 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 | 9323846....#endif....#ifndef.M_P |
| 58cc0 | 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 | I_2...%#define.M_PI_2.1.57079632 |
| 58ce0 | 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 | 679489661923....#endif.......)st |
| 58d00 | 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 | atic.volatile.sig_atomic_t.runni |
| 58d20 | 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e | ng.=.1;....static.void.on_sig(in |
| 58d40 | 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e | t.s).{......(void)s;......runnin |
| 58d60 | 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 | g.=.0;....}........struct.app.{. |
| 58d80 | 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 | .....struct.wl_display.*d;...... |
| 58da0 | 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 | struct.wl_registry.*reg;......st |
| 58dc0 | 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 | ruct.wl_compositor.*comp;......s |
| 58de0 | 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | truct.wl_shm.*shm;......struct.x |
| 58e00 | 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | dg_wm_base.*wm;......struct.wl_s |
| 58e20 | 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | urface.*ws;......struct.xdg_surf |
| 58e40 | 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ace.*xs;......struct.xdg_topleve |
| 58e60 | 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 | l.*xt;......void.*pixels;......s |
| 58e80 | 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 | truct.wl_buffer.*buf;......int.w |
| 58ea0 | 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 | ,.h;......int.bw,.bh;......bool. |
| 58ec0 | 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 | configured;......bool.redraw;... |
| 58ee0 | 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 | .};.......Jstatic.void.wm_ping(v |
| 58f00 | 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 20 2a 77 | oid.*data,.struct.xdg_wm_base.*w |
| 58f20 | 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 | m,.uint32_t.serial).{......xdg_w |
| 58f40 | 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 | m_base_pong(wm,.serial);....}... |
| 58f60 | 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f | ....$static.int.create_shm(size_ |
| 58f80 | 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f | t.size).{...#..char.t[].=."/tmp/ |
| 58fa0 | 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d | wlclock-XXXXXX";......int.fd.=.m |
| 58fc0 | 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 | kstemp(t);......if.(fd.<.0)..... |
| 58fe0 | 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 | ...exit(1);......unlink(t);..... |
| 59000 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 | .if.(ftruncate(fd,.size).<.0)... |
| 59020 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 | .....exit(1);......return.fd;... |
| 59040 | 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 | .}.......(static.void.destroy_bu |
| 59060 | 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e | f(struct.app.*a).{......if.(!a-> |
| 59080 | 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 | buf)........return;...*..size_t. |
| 590a0 | 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 | size.=.(size_t)a->bw.*.a->bh.*.4 |
| 590c0 | 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 | ;......wl_buffer_destroy(a->buf) |
| 590e0 | 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 | ;......munmap(a->pixels,.size);. |
| 59100 | 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 | .....a->buf.=.NULL;......a->pixe |
| 59120 | 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f | ls.=.NULL;....}.......&static.vo |
| 59140 | 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | id.alloc_buf(struct.app.*a).{... |
| 59160 | 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 | ...destroy_buf(a);...(..size_t.s |
| 59180 | 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 | ize.=.(size_t)a->w.*.a->h.*.4;.. |
| 591a0 | 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 | ....int.fd.=.create_shm(size);.. |
| 591c0 | 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c | .J..a->pixels.=.mmap(NULL,.size, |
| 591e0 | 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 | .PROT_READ.|.PROT_WRITE,.MAP_SHA |
| 59200 | 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 | RED,.fd,.0);......if.(a->pixels. |
| 59220 | 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | ==.MAP_FAILED)........exit(1);.. |
| 59240 | 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 | .B..struct.wl_shm_pool.*pool.=.w |
| 59260 | 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 | l_shm_create_pool(a->shm,.fd,.si |
| 59280 | 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 | ze);...C..a->buf.=.wl_shm_pool_c |
| 592a0 | 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | reate_buffer(pool,.0,.a->w,.a->h |
| 592c0 | 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.a->w.*.4,...=................. |
| 592e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | ....................WL_SHM_FORMA |
| 59300 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | T_ARGB8888);......wl_shm_pool_de |
| 59320 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f | stroy(pool);......close(fd);.... |
| 59340 | 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e | ..a->bw.=.a->w;......a->bh.=.a-> |
| 59360 | 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 | h;....}.......Lstatic.void.line( |
| 59380 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 593a0 | 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 | x0,.int.y0,.int.x1,.int.y1,..... |
| 593c0 | 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 63 29 20 7b 00 00 00 | ................uint32_t.c).{... |
| 593e0 | 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 | /..int.dx.=.abs(x1.-.x0),.sx.=.x |
| 59400 | 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d | 0.<.x1.?.1.:.-1;...0..int.dy.=.- |
| 59420 | 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a | abs(y1.-.y0),.sy.=.y0.<.y1.?.1.: |
| 59440 | 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d | .-1;......int.err.=.dx.+.dy;.... |
| 59460 | 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 | ..while.(1).{.../....if.(x0.>=.0 |
| 59480 | 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 | .&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h) |
| 594a0 | 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 | ..........px[y0.*.w.+.x0].=.c;.. |
| 594c0 | 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 | ......if.(x0.==.x1.&&.y0.==.y1). |
| 594e0 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 | .........break;........int.e2.=. |
| 59500 | 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 | 2.*.err;........if.(e2.>=.dy).{. |
| 59520 | 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 | .........err.+=.dy;..........x0. |
| 59540 | 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d | +=.sx;........}........if.(e2.<= |
| 59560 | 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 | .dx).{..........err.+=.dx;...... |
| 59580 | 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 | ....y0.+=.sy;........}......}... |
| 595a0 | 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e | .}.......Estatic.void.circle(uin |
| 595c0 | 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c | t32_t.*px,.int.w,.int.h,.int.cx, |
| 595e0 | 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .int.cy,.int.r,................. |
| 59600 | 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d | ......uint32_t.c).{..."..int.x.= |
| 59620 | 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 | .0,.y.=.r,.d.=.3.-.2.*.r;......w |
| 59640 | 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b | hile.(y.>=.x).{...H....int.p[8][ |
| 59660 | 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c | 2].=.{{cx.+.x,.cy.+.y},.{cx.-.x, |
| 59680 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 | .cy.+.y},.{cx.+.x,.cy.-.y},...H. |
| 596a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 | ..................{cx.-.x,.cy.-. |
| 596c0 | 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 | y},.{cx.+.y,.cy.+.x},.{cx.-.y,.c |
| 596e0 | 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 | y.+.x},...7...................{c |
| 59700 | 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d | x.+.y,.cy.-.x},.{cx.-.y,.cy.-.x} |
| 59720 | 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b | };........for.(int.i.=.0;.i.<.8; |
| 59740 | 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 | .i++)...E......if.(p[i][0].>=.0. |
| 59760 | 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 | &&.p[i][0].<.w.&&.p[i][1].>=.0.& |
| 59780 | 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 | &.p[i][1].<.h)...&........px[p[i |
| 597a0 | 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 | ][1].*.w.+.p[i][0]].=.c;........ |
| 597c0 | 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 | if.(d.>.0).{..........d.+=.4.*.( |
| 597e0 | 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 | x.-.y).+.10;..........y--;...... |
| 59800 | 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 | ..}.else..........d.+=.4.*.x.+.6 |
| 59820 | 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | ;........x++;......}....}....... |
| 59840 | 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a | Pstatic.void.fill_tri(uint32_t.* |
| 59860 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 | px,.int.w,.int.h,.int.x0,.int.y0 |
| 59880 | 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 | ,.int.x1,.int.y1,...2........... |
| 598a0 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 | ..........int.x2,.int.y2,.uint32 |
| 598c0 | 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 | _t.c).{...B..int.min_y.=.y0.<.y1 |
| 598e0 | 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 | .?.(y0.<.y2.?.y0.:.y2).:.(y1.<.y |
| 59900 | 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 | 2.?.y1.:.y2);...B..int.max_y.=.y |
| 59920 | 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 | 0.>.y1.?.(y0.>.y2.?.y0.:.y2).:.( |
| 59940 | 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e | y1.>.y2.?.y1.:.y2);......if.(min |
| 59960 | 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 | _y.<.0)........min_y.=.0;......i |
| 59980 | 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 | f.(max_y.>=.h)........max_y.=.h. |
| 599a0 | 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 | -.1;...(..for.(int.y.=.min_y;.y. |
| 599c0 | 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 | <=.max_y;.y++).{........int.x_st |
| 599e0 | 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 | art.=.w,.x_end.=.0;...3....int.x |
| 59a00 | 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 | s[3].=.{x0,.x1,.x2},.ys[3].=.{y0 |
| 59a20 | 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | ,.y1,.y2};...!....for.(int.i.=.0 |
| 59a40 | 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d | ;.i.<.3;.i++).{..........int.j.= |
| 59a60 | 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 | .(i.+.1).%.3;...C......if.((ys[i |
| 59a80 | 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c | ].<=.y.&&.ys[j].>.y).||.(ys[j].< |
| 59aa0 | 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 | =.y.&&.ys[i].>.y)).{...H........ |
| 59ac0 | 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 | int.x.=.xs[i].+.(y.-.ys[i]).*.(x |
| 59ae0 | 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b | s[j].-.xs[i])./.(ys[j].-.ys[i]); |
| 59b00 | 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 00 00 00 16 | ............if.(x.<.x_start).... |
| 59b20 | 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 16 20 20 20 20 20 20 | ..........x_start.=.x;.......... |
| 59b40 | 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 20 20 20 20 20 78 5f | ..if.(x.>.x_end)..............x_ |
| 59b60 | 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 14 | end.=.x;..........}........}.... |
| 59b80 | 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 20 20 20 20 20 20 78 5f | ....if.(x_start.<.0)..........x_ |
| 59ba0 | 73 74 61 72 74 20 3d 20 30 3b 00 00 00 13 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 | start.=.0;........if.(x_end.>=.w |
| 59bc0 | 29 00 00 00 14 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2a 20 20 20 | )..........x_end.=.w.-.1;...*... |
| 59be0 | 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e | .for.(int.x.=.x_start;.x.<=.x_en |
| 59c00 | 64 3b 20 78 2b 2b 29 00 00 00 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d | d;.x++)..........px[y.*.w.+.x].= |
| 59c20 | 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f | .c;......}....}.......#static.vo |
| 59c40 | 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 | id.render(struct.app.*a).{.../.. |
| 59c60 | 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 | if.(!a->configured.||.a->w.<=.0. |
| 59c80 | 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e | ||.a->h.<=.0)........return;.... |
| 59ca0 | 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 | ..if.(!a->buf)........alloc_buf( |
| 59cc0 | 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c | a);......uint32_t.*px.=.a->pixel |
| 59ce0 | 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 | s;...$..memset(px,.0xFF,.a->w.*. |
| 59d00 | 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 | a->h.*.4);......time_t.tt.=.time |
| 59d20 | 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 | (NULL);......struct.tm.tmv;..... |
| 59d40 | 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e | .localtime_r(&tt,.&tmv);...#..in |
| 59d60 | 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 | t.cx.=.a->w./.2,.cy.=.a->h./.2;. |
| 59d80 | 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 | ../..int.r.=.(a->w.<.a->h.?.a->w |
| 59da0 | 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 | .:.a->h)./.2.-.10;......if.(r.<. |
| 59dc0 | 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 | 5)........r.=.5;......for.(int.i |
| 59de0 | 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 | .=.0;.i.<.60;.i++).{........doub |
| 59e00 | 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d | le.ang.=.i./.60.0.*.2.*.M_PI.-.M |
| 59e20 | 5f 50 49 5f 32 3b 00 00 00 24 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d | _PI_2;...$....int.len.=.(i.%.5.= |
| 59e40 | 3d 20 30 29 20 3f 20 31 35 20 3a 20 35 3b 00 00 00 4e 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 | =.0).?.15.:.5;...N....line(px,.a |
| 59e60 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 | ->w,.a->h,.cx.+.cos(ang).*.(r.-. |
| 59e80 | 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c | len),.cy.+.sin(ang).*.(r.-.len), |
| 59ea0 | 00 00 00 3b 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 72 2c 20 | ...;.........cx.+.cos(ang).*.r,. |
| 59ec0 | 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | cy.+.sin(ang).*.r,.0xFF000000);. |
| 59ee0 | 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 | .....}...4..double.sa.=.tmv.tm_s |
| 59f00 | 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | ec./.60.0.*.2.*.M_PI.-.M_PI_2;.. |
| 59f20 | 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d | .J..double.ma.=.(tmv.tm_min.+.tm |
| 59f40 | 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | v.tm_sec./.60.0)./.60.0.*.2.*.M_ |
| 59f60 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 | PI.-.M_PI_2;......double.ha.=... |
| 59f80 | 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d | L......((tmv.tm_hour.%.12).+.(tm |
| 59fa0 | 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d | v.tm_min./.60.0))./.12.0.*.2.*.M |
| 59fc0 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4c 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 | _PI.-.M_PI_2;...L..fill_tri(px,. |
| 59fe0 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 29 20 2a | a->w,.a->h,.cx.+.cos(ha.-.0.1).* |
| 5a000 | 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 29 20 2a 20 31 30 2c 00 00 00 | .10,.cy.+.sin(ha.-.0.1).*.10,... |
| 5a020 | 3c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 29 20 2a | <...........cx.+.cos(ha.+.0.1).* |
| 5a040 | 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 29 20 2a 20 31 30 2c 00 00 00 | .10,.cy.+.sin(ha.+.0.1).*.10,... |
| 5a060 | 47 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 | G...........cx.+.cos(ha).*.r.*.0 |
| 5a080 | 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 30 78 46 46 | .5,.cy.+.sin(ha).*.r.*.0.5,.0xFF |
| 5a0a0 | 30 30 30 30 30 30 29 3b 00 00 00 4c 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | 000000);...L..fill_tri(px,.a->w, |
| 5a0c0 | 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 30 36 29 20 2a 20 38 2c 20 | .a->h,.cx.+.cos(ma.-.0.06).*.8,. |
| 5a0e0 | 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 36 29 20 2a 20 38 2c 00 00 00 3c 20 20 20 20 | cy.+.sin(ma.-.0.06).*.8,...<.... |
| 5a100 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 36 29 20 2a 20 38 2c 20 | .......cx.+.cos(ma.+.0.06).*.8,. |
| 5a120 | 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 30 36 29 20 2a 20 38 2c 00 00 00 49 20 20 20 20 | cy.+.sin(ma.+.0.06).*.8,...I.... |
| 5a140 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 | .......cx.+.cos(ma).*.r.*.0.75,. |
| 5a160 | 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 46 30 30 30 | cy.+.sin(ma).*.r.*.0.75,.0xFF000 |
| 5a180 | 30 30 30 29 3b 00 00 00 50 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | 000);...P..line(px,.a->w,.a->h,. |
| 5a1a0 | 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c | cx,.cy,.cx.+.cos(sa).*.r.*.0.85, |
| 5a1c0 | 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 00 00 00 13 20 20 20 | .cy.+.sin(sa).*.r.*.0.85,....... |
| 5a1e0 | 20 20 20 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 | ....0xFFFF0000);..........for.(i |
| 5a200 | 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 34 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 | nt.ir.=.0;.ir.<.4;.ir++)...3.... |
| 5a220 | 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 | circle(px,.a->w,.a->h,.cx,.cy,.i |
| 5a240 | 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 30 20 20 63 69 72 63 6c 65 28 70 78 2c 20 | r,.0xFFFFFFFF);...0..circle(px,. |
| 5a260 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 35 2c 20 30 78 46 46 30 30 30 30 30 | a->w,.a->h,.cx,.cy,.5,.0xFF00000 |
| 5a280 | 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 | 0);.......)..wl_surface_attach(a |
| 5a2a0 | 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 | ->ws,.a->buf,.0,.0);...4..wl_sur |
| 5a2c0 | 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 | face_damage_buffer(a->ws,.0,.0,. |
| 5a2e0 | 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d | a->w,.a->h);......wl_surface_com |
| 5a300 | 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c | mit(a->ws);......a->redraw.=.fal |
| 5a320 | 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 | se;....}.......Gstatic.void.xt_c |
| 5a340 | 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | lose(void.*d,.struct.xdg_topleve |
| 5a360 | 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 | l.*xt).{.running.=.0;.}.......Js |
| 5a380 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 5a3a0 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 5a3c0 | 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.h,...(................... |
| 5a3e0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 | struct.wl_array.*s).{......struc |
| 5a400 | 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 | t.app.*a.=.d;...3..if.(w.>.0.&&. |
| 5a420 | 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 | h.>.0.&&.(w.!=.a->w.||.h.!=.a->h |
| 5a440 | 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e | )).{........a->w.=.w;........a-> |
| 5a460 | 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | h.=.h;........destroy_buf(a);... |
| 5a480 | 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 | .....a->redraw.=.true;......}... |
| 5a4a0 | 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 | .}.......Fstatic.void.xs_cfg(voi |
| 5a4c0 | 64 20 2a 64 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 | d.*d,.struct.xdg_surface.*xs,.ui |
| 5a4e0 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 | nt32_t.serial).{......struct.app |
| 5a500 | 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f | .*a.=.d;...(..xdg_surface_ack_co |
| 5a520 | 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e | nfigure(xs,.serial);......a->con |
| 5a540 | 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d | figured.=.true;......a->redraw.= |
| 5a560 | 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 | .true;....}.......Cstatic.void.r |
| 5a580 | 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | eg_global(void.*d,.struct.wl_reg |
| 5a5a0 | 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 | istry.*r,.uint32_t.id,...3...... |
| 5a5c0 | 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 72 20 2a 69 2c 20 | .................const.char.*i,. |
| 5a5e0 | 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | uint32_t.v).{......struct.app.*a |
| 5a600 | 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f | .=.d;..."..if.(!strcmp(i,."wl_co |
| 5a620 | 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f | mpositor"))...C....a->comp.=.wl_ |
| 5a640 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 | registry_bind(r,.id,.&wl_composi |
| 5a660 | 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 | tor_interface,.4);......else.if. |
| 5a680 | 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d | (!strcmp(i,."wl_shm"))...;....a- |
| 5a6a0 | 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 | >shm.=.wl_registry_bind(r,.id,.& |
| 5a6c0 | 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 | wl_shm_interface,.1);...'..else. |
| 5a6e0 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b | if.(!strcmp(i,."xdg_wm_base")).{ |
| 5a700 | 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ...?....a->wm.=.wl_registry_bind |
| 5a720 | 28 72 2c 20 69 64 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 | (r,.id,.&xdg_wm_base_interface,. |
| 5a740 | 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | 1);...C....static.const.struct.x |
| 5a760 | 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d | dg_wm_base_listener.l.=.{.ping.= |
| 5a780 | 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 | .wm_ping};...+....xdg_wm_base_ad |
| 5a7a0 | 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d | d_listener(a->wm,.&l,.a);......} |
| 5a7c0 | 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 | ....}........int.main(void).{... |
| 5a7e0 | 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 | ...struct.app.a.=.{0};......a.w. |
| 5a800 | 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e | =.400;......a.h.=.400;......sign |
| 5a820 | 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 | al(SIGINT,.on_sig);...!..a.d.=.w |
| 5a840 | 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 0b 20 20 69 66 | l_display_connect(NULL);......if |
| 5a860 | 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e | .(!a.d)........return.1;...'..a. |
| 5a880 | 72 65 67 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 61 2e | reg.=.wl_display_get_registry(a. |
| 5a8a0 | 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f | d);...G..static.const.struct.wl_ |
| 5a8c0 | 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 | registry_listener.rl.=.{.global. |
| 5a8e0 | 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | =.reg_global};...+..wl_registry_ |
| 5a900 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 | add_listener(a.reg,.&rl,.&a);... |
| 5a920 | 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 | ...wl_display_roundtrip(a.d);... |
| 5a940 | 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 | !..if.(!a.comp.||.!a.shm.||.!a.w |
| 5a960 | 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 | m)........return.1;......a.ws.=. |
| 5a980 | 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 65 28 61 2e 63 | wl_compositor_create_surface(a.c |
| 5a9a0 | 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 | omp);...1..a.xs.=.xdg_wm_base_ge |
| 5a9c0 | 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 | t_xdg_surface(a.wm,.a.ws);...G.. |
| 5a9e0 | 73 74 61 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 | static.const.struct.xdg_surface_ |
| 5aa00 | 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f | listener.xsl.=.{.configure.=.xs_ |
| 5aa20 | 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 | cfg};...+..xdg_surface_add_liste |
| 5aa40 | 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d | ner(a.xs,.&xsl,.&a);...(..a.xt.= |
| 5aa60 | 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b | .xdg_surface_get_toplevel(a.xs); |
| 5aa80 | 00 00 00 47 20 20 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 | ...G..static.const.struct.xdg_to |
| 5aaa0 | 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 | plevel_listener.xtl.=.{.configur |
| 5aac0 | 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.=.xt_cfg,...F................. |
| 5aae0 | 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 | ................................ |
| 5ab00 | 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 | ...close.=.xt_close};...,..xdg_t |
| 5ab20 | 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c | oplevel_add_listener(a.xt,.&xtl, |
| 5ab40 | 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c | .&a);...*..xdg_toplevel_set_titl |
| 5ab60 | 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 | e(a.xt,."wlclock");......wl_surf |
| 5ab80 | 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 | ace_commit(a.ws);......while.(!a |
| 5aba0 | 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | .configured)........wl_display_d |
| 5abc0 | 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 | ispatch(a.d);......render(&a);.. |
| 5abe0 | 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f | .9..int.tfd.=.timerfd_create(CLO |
| 5ac00 | 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 | CK_MONOTONIC,.TFD_CLOEXEC);...F. |
| 5ac20 | 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 | .timerfd_settime(tfd,.0,.&(struc |
| 5ac40 | 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e | t.itimerspec){{1,.0},.{1,.0}},.N |
| 5ac60 | 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 | ULL);......char.buffer[100];.... |
| 5ac80 | 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 | ..while.(running).{...-....while |
| 5aca0 | 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 | .(wl_display_prepare_read(a.d).! |
| 5acc0 | 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 | =.0)...'......wl_display_dispatc |
| 5ace0 | 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | h_pending(a.d);........wl_displa |
| 5ad00 | 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c | y_flush(a.d);...M....struct.poll |
| 5ad20 | 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 | fd.fds[2].=.{{wl_display_get_fd( |
| 5ad40 | 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 | a.d),.POLLIN},.{tfd,.POLLIN}};.. |
| 5ad60 | 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 | ......if.(poll(fds,.2,.-1).<.0). |
| 5ad80 | 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 | {..."......wl_display_cancel_rea |
| 5ada0 | 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 | d(a.d);..........continue;...... |
| 5adc0 | 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 | ..}........if.(fds[0].revents.&. |
| 5ade0 | 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 | POLLIN)..."......wl_display_read |
| 5ae00 | 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 | _events(a.d);........else..."... |
| 5ae20 | 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 | ...wl_display_cancel_read(a.d);. |
| 5ae40 | 00 00 25 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 | ..%....wl_display_dispatch_pendi |
| 5ae60 | 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e | ng(a.d);..."....if.(fds[1].reven |
| 5ae80 | 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 | ts.&.POLLIN).{..........uint64_t |
| 5aea0 | 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 | .t_exp;...'......read(tfd,.&t_ex |
| 5aec0 | 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 | p,.sizeof(t_exp));..........time |
| 5aee0 | 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 | _t.cli.=.time(NULL);...,......st |
| 5af00 | 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 | ruct.tm.*t_struct.=.localtime(&c |
| 5af20 | 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 | li);...I......strftime(buffer,.s |
| 5af40 | 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 | izeof(buffer),."%d-%m-%Y.%I:%M:% |
| 5af60 | 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 | S.%p",.t_struct);...%......print |
| 5af80 | 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 | f("\rTime.is.%s",.buffer);...... |
| 5afa0 | 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 | ....fflush(stdout);..........a.r |
| 5afc0 | 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 | edraw.=.true;........}........if |
| 5afe0 | 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b | .(a.redraw)..........render(&a); |
| 5b000 | 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 | ......}......printf("\n");...... |
| 5b020 | 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 | close(tfd);......destroy_buf(&a) |
| 5b040 | 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 | ;......wl_display_disconnect(a.d |
| 5b060 | 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 | );......return.0;....}5......... |
| 5b080 | 00 00 00 00 00 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 20 22 | ......+........................" |
| 5b0a0 | 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 93 00 00 00 95 00 00 00 00 00 00 | ..............5._............... |
| 5b0c0 | 00 00 00 00 00 94 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 | ................................ |
| 5b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 26 04 01 00 00 00 00 00 f5 | ....................i..&........ |
| 5b240 | 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 00 00 00 | ................................ |
| 5b260 | 00 00 00 00 00 00 00 35 81 35 81 5f d0 00 00 00 94 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 | .......5.5._.................... |
| 5b280 | 95 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 | ................................ |
| 5b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 29 04 01 00 00 00 00 00 f5 18 00 00 01 1c | ...............i..)............. |
| 5b400 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 01 1d 00 00 00 00 00 00 00 00 00 | ................}............... |
| 5b420 | 00 00 00 f5 18 00 00 01 1a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 20 20 77 6c 5f 64 69 | ...........................wl_di |
| 5b440 | 73 70 6c 61 79 5f f5 18 00 00 01 1b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ff 00 00 | splay_.......................... |
| 5b460 | 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 f5 18 00 00 | ..................wl_display.... |
| 5b480 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 5b4a0 | 00 00 00 22 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 | ..."..a.xs.=.xdg_wm_base_get_xdg |
| 5b4c0 | 5f 73 75 72 66 61 f5 18 00 00 00 ee 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 da 00 00 | _surfa.......................... |
| 5b4e0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 00 db 00 00 00 00 00 00 00 00 | ................................ |
| 5b500 | 00 00 00 00 f5 18 00 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 73 f5 18 00 00 00 | ..........................s..... |
| 5b520 | d1 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 bc 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 5b540 | 00 00 08 73 74 61 74 69 63 20 76 f5 18 00 00 00 bd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | ...static.v..................... |
| 5b560 | 00 00 b0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 7f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 | .....................fill_tri(px |
| 5b580 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 31 32 | ,.a->w,.a->h,.cx.+.cos(ma.-.0.12 |
| 5b5a0 | 29 20 2a 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 31 30 | ).*.10,.cy.+.sin(ma.-.0.12).*.10 |
| 5b5c0 | 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 31 30 2c 20 63 79 20 2b | ,.cx.+.cos(ma.+.0.12).*.10,.cy.+ |
| 5b5e0 | 20 73 69 6e 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 f5 18 00 00 00 b1 00 00 00 00 00 00 00 00 | .sin(ma.+.0.12).*............... |
| 5b600 | 00 00 00 00 f5 18 00 00 00 ac 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 64 6f 75 62 | ............................doub |
| 5b620 | 6c 65 20 73 61 20 3d 20 74 6d f5 18 00 00 00 ad 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | le.sa.=.tm...................... |
| 5b640 | 00 8a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 42 20 20 20 20 20 20 69 66 20 28 28 79 73 5b | .................B......if.((ys[ |
| 5b660 | 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 | i].<=.y.&&.ys[j].>.y).||.(ys[j]. |
| 5b680 | 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 f5 18 00 00 00 8b 00 00 00 00 00 00 | <=.y.&&.ys[i].>.y))............. |
| 5b6a0 | 00 00 00 00 00 00 f5 18 00 00 00 84 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 20 69 66 | ..............................if |
| 5b6c0 | 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d f5 18 00 00 00 85 00 | .(max_y.>=.h).max_y.=.h.-....... |
| 5b6e0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 75 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................u............... |
| 5b700 | 05 20 20 20 20 20 f5 18 00 00 00 76 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 5a 00 00 | ...........v.................Z.. |
| 5b720 | 00 00 00 00 00 00 00 00 00 01 00 00 00 06 20 20 69 6e 74 20 f5 18 00 00 00 5b 00 00 00 00 00 00 | ................int......[...... |
| 5b740 | 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 f5 18 00 00 | ................................ |
| 5b760 | 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 00 00 00 00 | ..............5................. |
| 5b780 | 00 00 00 00 00 00 5a 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 | ......Z......................... |
| 5b7a0 | 00 00 00 00 00 00 f5 18 00 00 00 00 5a 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 00 | ............Z................... |
| 5b7c0 | 05 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 5b7e0 | 00 00 75 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 1d 00 00 00 00 0b 00 00 00 00 | ..u............................. |
| 5b800 | 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 84 00 00 00 1d 00 00 00 | ................................ |
| 5b820 | 00 00 00 00 00 00 00 00 06 00 00 00 42 00 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ............B................... |
| 5b840 | 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 8a 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 22 00 | ..................B...........". |
| 5b860 | 00 00 10 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 | ................................ |
| 5b880 | 00 00 00 00 ac 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 7f 00 00 00 00 12 00 00 | ................................ |
| 5b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 b0 00 00 00 7f 00 | ................................ |
| 5b8c0 | 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 08 00 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b8e0 | 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 bc 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b900 | 14 00 00 00 01 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 5b920 | f5 18 00 00 00 00 d0 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 04 00 00 00 00 18 | ................................ |
| 5b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 da 00 00 00 | ................................ |
| 5b960 | 04 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 22 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 | ................"............... |
| 5b980 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 ed 00 00 00 22 00 00 00 00 00 00 00 00 00 | ......................"......... |
| 5b9a0 | 00 00 12 00 00 00 0e 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 | ................................ |
| 5b9c0 | 00 00 f5 18 00 00 00 00 ff 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 00 0d 00 00 00 | ................................ |
| 5b9e0 | 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 1a 01 | ................................ |
| 5ba00 | 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 22 00 00 00 00 00 00 00 00 | ......................."........ |
| 5ba20 | 00 00 00 00 00 00 1e 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 95 00 00 00 97 00 00 00 00 00 00 | ..............5._............... |
| 5ba40 | 00 00 00 00 00 96 00 00 01 1d 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 5ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 2a 04 01 00 00 00 2b 00 f5 | ....................i..*.....+.. |
| 5bbc0 | 18 00 00 00 6e 00 00 00 c7 00 00 01 1d 00 00 00 47 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 | ....n...........G...Sstatic.void |
| 5bbe0 | 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | .circle(uint32_t.*px,.int.w,.int |
| 5bc00 | 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 | .h,.int.cx,.int.cy,.int.r,.uint3 |
| 5bc20 | 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 | 2_t.c).{..."..int.x.=.0,.y.=.r,. |
| 5bc40 | 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 | d.=.3.-.2.*.r;......while.(y.>=. |
| 5bc60 | 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b | x).{...H....int.p[8][2].=.{{cx.+ |
| 5bc80 | 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | .x,.cy.+.y},.{cx.-.x,.cy.+.y},.{ |
| 5bca0 | 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 | cx.+.x,.cy.-.y},...H............ |
| 5bcc0 | 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 | .......{cx.-.x,.cy.-.y},.{cx.+.y |
| 5bce0 | 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 | ,.cy.+.x},.{cx.-.y,.cy.+.x},...7 |
| 5bd00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d | ...................{cx.+.y,.cy.- |
| 5bd20 | 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 | .x},.{cx.-.y,.cy.-.x}};........f |
| 5bd40 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 | or.(int.i.=.0;.i.<.8;.i++)...E.. |
| 5bd60 | 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 | ....if.(p[i][0].>=.0.&&.p[i][0]. |
| 5bd80 | 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c | <.w.&&.p[i][1].>=.0.&&.p[i][1].< |
| 5bda0 | 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 | .h)...&........px[p[i][1].*.w.+. |
| 5bdc0 | 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 | p[i][0]].=.c;........if.(d.>.0). |
| 5bde0 | 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 | {..........d.+=.4.*.(x.-.y).+.10 |
| 5be00 | 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 | ;..........y--;........}.else... |
| 5be20 | 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b | .......d.+=.4.*.x.+.6;........x+ |
| 5be40 | 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 | +;......}....}.......nstatic.voi |
| 5be60 | 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 | d.fill_tri(uint32_t.*px,.int.w,. |
| 5be80 | 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 | int.h,.int.x0,.int.y0,.int.x1,.i |
| 5bea0 | 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 | nt.y1,.int.x2,.int.y2,.uint32_t. |
| 5bec0 | 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 | c).{...B..int.min_y.=.y0.<.y1.?. |
| 5bee0 | 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f | (y0.<.y2.?.y0.:.y2).:.(y1.<.y2.? |
| 5bf00 | 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e | .y1.:.y2);...B..int.max_y.=.y0.> |
| 5bf20 | 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 | .y1.?.(y0.>.y2.?.y0.:.y2).:.(y1. |
| 5bf40 | 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 | >.y2.?.y1.:.y2);......if.(min_y. |
| 5bf60 | 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e | <.0).min_y.=.0;......if.(max_y.> |
| 5bf80 | 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e | =.h).max_y.=.h.-.1;...(..for.(in |
| 5bfa0 | 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 | t.y.=.min_y;.y.<=.max_y;.y++).{. |
| 5bfc0 | 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 | .......int.x_start.=.w,.x_end.=. |
| 5bfe0 | 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 | 0;...3....int.xs[3].=.{x0,.x1,.x |
| 5c000 | 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 | 2},.ys[3].=.{y0,.y1,.y2};...!... |
| 5c020 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 | .for.(int.i.=.0;.i.<.3;.i++).{.. |
| 5c040 | 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 | ........int.j.=.(i.+.1).%.3;...C |
| 5c060 | 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e | ......if.((ys[i].<=.y.&&.ys[j].> |
| 5c080 | 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 | .y).||.(ys[j].<=.y.&&.ys[i].>.y) |
| 5c0a0 | 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 | ).{...H........int.x.=.xs[i].+.( |
| 5c0c0 | 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 | y.-.ys[i]).*.(xs[j].-.xs[i])./.( |
| 5c0e0 | 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 | ys[j].-.ys[i]);...%........if.(x |
| 5c100 | 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 | .<.x_start).x_start.=.x;...!.... |
| 5c120 | 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 | ....if.(x.>.x_end).x_end.=.x;... |
| 5c140 | 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f 73 | .......}........}...!....if.(x_s |
| 5c160 | 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 66 | tart.<.0).x_start.=.0;..."....if |
| 5c180 | 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3d | .(x_end.>=.w).x_end.=.w.-.1;...= |
| 5c1a0 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 | ....for.(int.x.=.x_start;.x.<=.x |
| 5c1c0 | 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 | _end;.x++).px[y.*.w.+.x].=.c;... |
| 5c1e0 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e | ...}....}.......#static.void.ren |
| 5c200 | 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 | der(struct.app.*a).{.../..if.(!a |
| 5c220 | 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e | ->configured.||.a->w.<=.0.||.a-> |
| 5c240 | 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 | h.<=.0)........return;......if.( |
| 5c260 | 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 | !a->buf)........alloc_buf(a);... |
| 5c280 | 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 | ...uint32_t.*px.=.a->pixels;...$ |
| 5c2a0 | 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a | ..memset(px,.0xFF,.a->w.*.a->h.* |
| 5c2c0 | 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 | .4);......time_t.tt.=.time(NULL) |
| 5c2e0 | 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c | ;......struct.tm.tmv;......local |
| 5c300 | 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d | time_r(&tt,.&tmv);...#..int.cx.= |
| 5c320 | 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 | .a->w./.2,.cy.=.a->h./.2;.../..i |
| 5c340 | 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e | nt.r.=.(a->w.<.a->h.?.a->w.:.a-> |
| 5c360 | 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a | h)./.2.-.10;......if.(r.<.5).... |
| 5c380 | 20 20 20 20 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | ....r.=.5;......for.(int.i.=.0;. |
| 5c3a0 | 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 | i.<.60;.i++).{........double.ang |
| 5c3c0 | 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | .=.i./.60.0.*.2.*.M_PI.-.M_PI_2; |
| 5c3e0 | 00 00 00 24 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f | ...$....int.len.=.(i.%.5.==.0).? |
| 5c400 | 20 32 30 20 3a 20 38 3b 00 00 00 33 20 20 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 | .20.:.8;...3....for.(double.f.=. |
| 5c420 | 2d 30 2e 30 31 3b 20 66 20 3c 3d 20 30 2e 30 31 3b 20 66 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 | -0.01;.f.<=.0.01;.f.+=.0.005).{. |
| 5c440 | 00 00 58 20 20 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ..X......line(px,.a->w,.a->h,.cx |
| 5c460 | 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 66 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 63 79 20 | .+.cos(ang.+.f).*.(r.-.len),.cy. |
| 5c480 | 2b 20 73 69 6e 28 61 6e 67 20 2b 20 66 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 45 20 | +.sin(ang.+.f).*.(r.-.len),...E. |
| 5c4a0 | 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 66 29 20 2a 20 72 2c | ..........cx.+.cos(ang.+.f).*.r, |
| 5c4c0 | 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 66 29 20 2a 20 72 2c 20 30 78 46 46 30 30 30 30 | .cy.+.sin(ang.+.f).*.r,.0xFF0000 |
| 5c4e0 | 30 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 | 00);........}......}...4..double |
| 5c500 | 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | .sa.=.tmv.tm_sec./.60.0.*.2.*.M_ |
| 5c520 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 | PI.-.M_PI_2;...J..double.ma.=.(t |
| 5c540 | 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f | mv.tm_min.+.tmv.tm_sec./.60.0)./ |
| 5c560 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...T.. |
| 5c580 | 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 | double.ha.=.((tmv.tm_hour.%.12). |
| 5c5a0 | 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 | +.(tmv.tm_min./.60.0))./.12.0.*. |
| 5c5c0 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 bb 20 20 66 69 6c 6c 5f 74 72 69 | 2.*.M_PI.-.M_PI_2;......fill_tri |
| 5c5e0 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 | (px,.a->w,.a->h,.cx.+.cos(ha.-.0 |
| 5c600 | 2e 32 29 20 2a 20 31 32 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 32 29 20 2a 20 31 | .2).*.12,.cy.+.sin(ha.-.0.2).*.1 |
| 5c620 | 32 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 32 29 20 2a 20 31 32 2c 20 63 79 20 2b | 2,.cx.+.cos(ha.+.0.2).*.12,.cy.+ |
| 5c640 | 20 73 69 6e 28 68 61 20 2b 20 30 2e 32 29 20 2a 20 31 32 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 | .sin(ha.+.0.2).*.12,.cx.+.cos(ha |
| 5c660 | 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 | ).*.r.*.0.5,.cy.+.sin(ha).*.r.*. |
| 5c680 | 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 c1 20 20 66 69 6c 6c 5f 74 72 69 28 | 0.5,.0xFF000000);......fill_tri( |
| 5c6a0 | 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e | px,.a->w,.a->h,.cx.+.cos(ma.-.0. |
| 5c6c0 | 31 32 29 20 2a 20 31 30 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 | 12).*.10,.cy.+.sin(ma.-.0.12).*. |
| 5c6e0 | 31 30 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 31 30 2c 20 63 79 | 10,.cx.+.cos(ma.+.0.12).*.10,.cy |
| 5c700 | 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 31 30 2c 20 63 78 20 2b 20 63 6f 73 | .+.sin(ma.+.0.12).*.10,.cx.+.cos |
| 5c720 | 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 | (ma).*.r.*.0.75,.cy.+.sin(ma).*. |
| 5c740 | 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 33 20 20 66 6f 72 20 | r.*.0.75,.0xFF000000);...3..for. |
| 5c760 | 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d 30 2e 30 30 35 3b 20 66 20 3c 3d 20 30 2e 30 30 35 3b 20 | (double.f.=.-0.005;.f.<=.0.005;. |
| 5c780 | 66 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 00 00 67 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d | f.+=.0.005).{...g....line(px,.a- |
| 5c7a0 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 | >w,.a->h,.cx,.cy,.cx.+.cos(sa.+. |
| 5c7c0 | 66 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 66 29 20 | f).*.r.*.0.85,.cy.+.sin(sa.+.f). |
| 5c7e0 | 2a 20 72 20 2a 20 30 2e 38 35 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 | *.r.*.0.85,.0xFFFF0000);......}. |
| 5c800 | 00 00 50 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 38 3b 20 69 72 | ..P..for.(int.ir.=.0;.ir.<.8;.ir |
| 5c820 | 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 | ++).circle(px,.a->w,.a->h,.cx,.c |
| 5c840 | 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 00 00 6e 00 00 00 45 | y,.ir,.0xFFFFFFFF);5.......n...E |
| 5c860 | 00 00 00 46 00 00 00 20 00 00 00 57 00 00 00 03 00 00 00 cc 09 00 00 00 00 00 00 37 0b 00 00 00 | ...F.......W...............7.... |
| 5c880 | 00 00 00 d7 0b 00 00 00 00 00 00 35 81 5f d0 00 00 00 96 00 00 00 98 00 00 00 00 00 00 00 00 00 | ...........5._.................. |
| 5c8a0 | 00 00 97 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 00 00 00 | ................................ |
| 5c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5c9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ca00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 74 04 01 00 00 00 00 00 f5 18 00 00 | .................i..t........... |
| 5ca20 | 00 00 00 00 00 02 00 00 00 00 00 00 01 2e 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 | ..................#define._POSIX |
| 5ca40 | 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | _C_SOURCE.200809L...&#include."x |
| 5ca60 | 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 22 00 00 00 12 23 | dg-shell-client-protocol.h"....# |
| 5ca80 | 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d | include.<fcntl.h>....#include.<m |
| 5caa0 | 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 | ath.h>....#include.<poll.h>....# |
| 5cac0 | 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c | include.<signal.h>....#include.< |
| 5cae0 | 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 | stdbool.h>....#include.<stdint.h |
| 5cb00 | 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 |
| 5cb20 | 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 73 74 72 69 | ude.<stdlib.h>....#include.<stri |
| 5cb40 | 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 | ng.h>....#include.<sys/mman.h>.. |
| 5cb60 | 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 | ..#include.<sys/timerfd.h>....#i |
| 5cb80 | 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 | nclude.<time.h>....#include.<uni |
| 5cba0 | 73 74 64 2e 68 3e 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 | std.h>....#include.<wayland-clie |
| 5cbc0 | 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 | nt.h>........#ifndef.M_PI...##de |
| 5cbe0 | 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 | fine.M_PI.3.14159265358979323846 |
| 5cc00 | 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 | ....#endif....#ifndef.M_PI_2...% |
| 5cc20 | 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 | #define.M_PI_2.1.570796326794896 |
| 5cc40 | 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f | 61923....#endif.......)static.vo |
| 5cc60 | 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b | latile.sig_atomic_t.running.=.1; |
| 5cc80 | 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 | ....static.void.on_sig(int.s).{. |
| 5cca0 | 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 | .....(void)s;......running.=.0;. |
| 5ccc0 | 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 | ...}........struct.app.{......st |
| 5cce0 | 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 | ruct.wl_display.*d;......struct. |
| 5cd00 | 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c | wl_registry.*reg;......struct.wl |
| 5cd20 | 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 | _compositor.*comp;......struct.w |
| 5cd40 | 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 | l_shm.*shm;......struct.xdg_wm_b |
| 5cd60 | 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 | ase.*wm;......struct.wl_surface. |
| 5cd80 | 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 | *ws;......struct.xdg_surface.*xs |
| 5cda0 | 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 | ;......struct.xdg_toplevel.*xt;. |
| 5cdc0 | 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 | .....void.*pixels;......struct.w |
| 5cde0 | 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 | l_buffer.*buf;......int.w,.h;... |
| 5ce00 | 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 | ...int.bw,.bh;......bool.configu |
| 5ce20 | 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 | red;......bool.redraw;....};.... |
| 5ce40 | 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 | ...Jstatic.void.wm_ping(void.*da |
| 5ce60 | 74 61 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 | ta,.struct.xdg_wm_base.*wm,.uint |
| 5ce80 | 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f | 32_t.serial).{......xdg_wm_base_ |
| 5cea0 | 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 | pong(wm,.serial);....}.......$st |
| 5cec0 | 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 | atic.int.create_shm(size_t.size) |
| 5cee0 | 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b | .{...#..char.t[].=."/tmp/wlclock |
| 5cf00 | 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 | -XXXXXX";......int.fd.=.mkstemp( |
| 5cf20 | 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 | t);......if.(fd.<.0)........exit |
| 5cf40 | 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 | (1);......unlink(t);......if.(ft |
| 5cf60 | 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 | runcate(fd,.size).<.0)........ex |
| 5cf80 | 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 | it(1);......return.fd;....}..... |
| 5cfa0 | 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 | ..(static.void.destroy_buf(struc |
| 5cfc0 | 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 | t.app.*a).{......if.(!a->buf)... |
| 5cfe0 | 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 | .....return;...*..size_t.size.=. |
| 5d000 | 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 | (size_t)a->bw.*.a->bh.*.4;...... |
| 5d020 | 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 | wl_buffer_destroy(a->buf);...... |
| 5d040 | 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d | munmap(a->pixels,.size);......a- |
| 5d060 | 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 | >buf.=.NULL;......a->pixels.=.NU |
| 5d080 | 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f | LL;....}.......&static.void.allo |
| 5d0a0 | 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 | c_buf(struct.app.*a).{......dest |
| 5d0c0 | 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 | roy_buf(a);...(..size_t.size.=.( |
| 5d0e0 | 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 | size_t)a->w.*.a->h.*.4;......int |
| 5d100 | 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e | .fd.=.create_shm(size);...J..a-> |
| 5d120 | 70 69 78 65 6c 73 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 | pixels.=.mmap(NULL,.size,.PROT_R |
| 5d140 | 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 | EAD.|.PROT_WRITE,.MAP_SHARED,.fd |
| 5d160 | 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f | ,.0);......if.(a->pixels.==.MAP_ |
| 5d180 | 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 | FAILED)........exit(1);...B..str |
| 5d1a0 | 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 | uct.wl_shm_pool.*pool.=.wl_shm_c |
| 5d1c0 | 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 | reate_pool(a->shm,.fd,.size);... |
| 5d1e0 | 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 | C..a->buf.=.wl_shm_pool_create_b |
| 5d200 | 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 | uffer(pool,.0,.a->w,.a->h,.a->w. |
| 5d220 | 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.4,...=........................ |
| 5d240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 | .............WL_SHM_FORMAT_ARGB8 |
| 5d260 | 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 | 888);......wl_shm_pool_destroy(p |
| 5d280 | 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 | ool);......close(fd);......a->bw |
| 5d2a0 | 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d | .=.a->w;......a->bh.=.a->h;....} |
| 5d2c0 | 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f | .......Lstatic.void.line(uint32_ |
| 5d2e0 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 | t.*px,.int.w,.int.h,.int.x0,.int |
| 5d300 | 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 | .y0,.int.x1,.int.y1,............ |
| 5d320 | 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 | .........uint32_t.c).{.../..int. |
| 5d340 | 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 | dx.=.abs(x1.-.x0),.sx.=.x0.<.x1. |
| 5d360 | 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 | ?.1.:.-1;...0..int.dy.=.-abs(y1. |
| 5d380 | 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 | -.y0),.sy.=.y0.<.y1.?.1.:.-1;... |
| 5d3a0 | 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 | ...int.err.=.dx.+.dy;......while |
| 5d3c0 | 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 | .(1).{.../....if.(x0.>=.0.&&.x0. |
| 5d3e0 | 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 | <.w.&&.y0.>=.0.&&.y0.<.h)....... |
| 5d400 | 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 | ...px[y0.*.w.+.x0].=.c;........i |
| 5d420 | 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 | f.(x0.==.x1.&&.y0.==.y1)........ |
| 5d440 | 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 | ..break;........int.e2.=.2.*.err |
| 5d460 | 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 | ;........if.(e2.>=.dy).{........ |
| 5d480 | 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 | ..err.+=.dy;..........x0.+=.sx;. |
| 5d4a0 | 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 | .......}........if.(e2.<=.dx).{. |
| 5d4c0 | 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 | .........err.+=.dx;..........y0. |
| 5d4e0 | 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | +=.sy;........}......}....}..... |
| 5d500 | 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a | ..Estatic.void.circle(uint32_t.* |
| 5d520 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 | px,.int.w,.int.h,.int.cx,.int.cy |
| 5d540 | 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | ,.int.r,.......................u |
| 5d560 | 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d | int32_t.c).{..."..int.x.=.0,.y.= |
| 5d580 | 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 | .r,.d.=.3.-.2.*.r;......while.(y |
| 5d5a0 | 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b | .>=.x).{...H....int.p[8][2].=.{{ |
| 5d5c0 | 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 | cx.+.x,.cy.+.y},.{cx.-.x,.cy.+.y |
| 5d5e0 | 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 | },.{cx.+.x,.cy.-.y},...H........ |
| 5d600 | 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 | ...........{cx.-.x,.cy.-.y},.{cx |
| 5d620 | 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c | .+.y,.cy.+.x},.{cx.-.y,.cy.+.x}, |
| 5d640 | 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 | ...7...................{cx.+.y,. |
| 5d660 | 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 | cy.-.x},.{cx.-.y,.cy.-.x}};..... |
| 5d680 | 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 | ...for.(int.i.=.0;.i.<.8;.i++).. |
| 5d6a0 | 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d | .E......if.(p[i][0].>=.0.&&.p[i] |
| 5d6c0 | 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b | [0].<.w.&&.p[i][1].>=.0.&&.p[i][ |
| 5d6e0 | 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 | 1].<.h)...&........px[p[i][1].*. |
| 5d700 | 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e | w.+.p[i][0]].=.c;........if.(d.> |
| 5d720 | 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 | .0).{..........d.+=.4.*.(x.-.y). |
| 5d740 | 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 | +.10;..........y--;........}.els |
| 5d760 | 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 | e..........d.+=.4.*.x.+.6;...... |
| 5d780 | 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 | ..x++;......}....}.......Pstatic |
| 5d7a0 | 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 | .void.fill_tri(uint32_t.*px,.int |
| 5d7c0 | 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 | .w,.int.h,.int.x0,.int.y0,.int.x |
| 5d7e0 | 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 1,.int.y1,...2.................. |
| 5d800 | 20 20 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b | ...int.x2,.int.y2,.uint32_t.c).{ |
| 5d820 | 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 | ...B..int.min_y.=.y0.<.y1.?.(y0. |
| 5d840 | 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 | <.y2.?.y0.:.y2).:.(y1.<.y2.?.y1. |
| 5d860 | 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 | :.y2);...B..int.max_y.=.y0.>.y1. |
| 5d880 | 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 | ?.(y0.>.y2.?.y0.:.y2).:.(y1.>.y2 |
| 5d8a0 | 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 | .?.y1.:.y2);......if.(min_y.<.0) |
| 5d8c0 | 00 00 00 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f | ........min_y.=.0;......if.(max_ |
| 5d8e0 | 79 20 3e 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 | y.>=.h)........max_y.=.h.-.1;... |
| 5d900 | 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f | (..for.(int.y.=.min_y;.y.<=.max_ |
| 5d920 | 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 | y;.y++).{........int.x_start.=.w |
| 5d940 | 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 | ,.x_end.=.0;...3....int.xs[3].=. |
| 5d960 | 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 | {x0,.x1,.x2},.ys[3].=.{y0,.y1,.y |
| 5d980 | 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 | 2};...!....for.(int.i.=.0;.i.<.3 |
| 5d9a0 | 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 | ;.i++).{..........int.j.=.(i.+.1 |
| 5d9c0 | 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 | ).%.3;...C......if.((ys[i].<=.y. |
| 5d9e0 | 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 | &&.ys[j].>.y).||.(ys[j].<=.y.&&. |
| 5da00 | 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d | ys[i].>.y)).{...H........int.x.= |
| 5da20 | 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 | .xs[i].+.(y.-.ys[i]).*.(xs[j].-. |
| 5da40 | 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 | xs[i])./.(ys[j].-.ys[i]);....... |
| 5da60 | 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 | .....if.(x.<.x_start)........... |
| 5da80 | 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 | ...x_start.=.x;............if.(x |
| 5daa0 | 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 | .>.x_end)..............x_end.=.x |
| 5dac0 | 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 14 20 20 20 20 69 66 20 | ;..........}........}........if. |
| 5dae0 | 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d | (x_start.<.0)..........x_start.= |
| 5db00 | 20 30 3b 00 00 00 13 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 14 20 20 | .0;........if.(x_end.>=.w)...... |
| 5db20 | 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2a 20 20 20 20 66 6f 72 20 28 69 | ....x_end.=.w.-.1;...*....for.(i |
| 5db40 | 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 | nt.x.=.x_start;.x.<=.x_end;.x++) |
| 5db60 | 00 00 00 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 | ..........px[y.*.w.+.x].=.c;.... |
| 5db80 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 | ..}....}.......#static.void.rend |
| 5dba0 | 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d | er(struct.app.*a).{.../..if.(!a- |
| 5dbc0 | 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 | >configured.||.a->w.<=.0.||.a->h |
| 5dbe0 | 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 | .<=.0)........return;......if.(! |
| 5dc00 | 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b | a->buf)........alloc_buf(a);.... |
| 5dc20 | 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 | ..uint32_t.*px.=.a->pixels;...$. |
| 5dc40 | 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 | .memset(px,.0xFF,.a->w.*.a->h.*. |
| 5dc60 | 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b | 4);......time_t.tt.=.time(NULL); |
| 5dc80 | 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 | ......struct.tm.tmv;......localt |
| 5dca0 | 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 | ime_r(&tt,.&tmv);...#..int.cx.=. |
| 5dcc0 | 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e | a->w./.2,.cy.=.a->h./.2;.../..in |
| 5dce0 | 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 | t.r.=.(a->w.<.a->h.?.a->w.:.a->h |
| 5dd00 | 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 | )./.2.-.10;......if.(r.<.5)..... |
| 5dd20 | 20 20 20 72 20 3d 20 35 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | ...r.=.5;......for.(int.i.=.0;.i |
| 5dd40 | 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 | .<.60;.i++).{........double.ang. |
| 5dd60 | 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 | =.i./.60.0.*.2.*.M_PI.-.M_PI_2;. |
| 5dd80 | 00 00 24 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 | ..$....int.len.=.(i.%.5.==.0).?. |
| 5dda0 | 32 30 20 3a 20 38 3b 00 00 00 33 20 20 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d | 20.:.8;...3....for.(double.f.=.- |
| 5ddc0 | 30 2e 30 31 3b 20 66 20 3c 3d 20 30 2e 30 31 3b 20 66 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 00 | 0.01;.f.<=.0.01;.f.+=.0.005).{.. |
| 5dde0 | 00 39 20 20 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 | .9......line(px,.a->w,.a->h,.cx. |
| 5de00 | 2b 20 63 6f 73 28 61 6e 67 20 2b 20 66 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 40 20 | +.cos(ang.+.f).*.(r.-.len),...@. |
| 5de20 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 66 29 20 2a 20 28 72 | ..........cy.+.sin(ang.+.f).*.(r |
| 5de40 | 20 2d 20 6c 65 6e 29 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 66 29 20 2a 20 72 2c 00 | .-.len),.cx.+.cos(ang.+.f).*.r,. |
| 5de60 | 00 00 2e 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 66 29 20 | ..............cy.+.sin(ang.+.f). |
| 5de80 | 2a 20 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 | *.r,.0xFF000000);........}...... |
| 5dea0 | 7d 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 | }...4..double.sa.=.tmv.tm_sec./. |
| 5dec0 | 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 | 60.0.*.2.*.M_PI.-.M_PI_2;...J..d |
| 5dee0 | 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f | ouble.ma.=.(tmv.tm_min.+.tmv.tm_ |
| 5df00 | 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 | sec./.60.0)./.60.0.*.2.*.M_PI.-. |
| 5df20 | 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 20 | M_PI_2;......double.ha.=...L.... |
| 5df40 | 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f | ..((tmv.tm_hour.%.12).+.(tmv.tm_ |
| 5df60 | 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | min./.60.0))./.12.0.*.2.*.M_PI.- |
| 5df80 | 20 4d 5f 50 49 5f 32 3b 00 00 00 4c 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | .M_PI_2;...L..fill_tri(px,.a->w, |
| 5dfa0 | 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 32 29 20 2a 20 31 32 2c 20 | .a->h,.cx.+.cos(ha.-.0.2).*.12,. |
| 5dfc0 | 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 32 29 20 2a 20 31 32 2c 00 00 00 3c 20 20 20 20 | cy.+.sin(ha.-.0.2).*.12,...<.... |
| 5dfe0 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 32 29 20 2a 20 31 32 2c 20 | .......cx.+.cos(ha.+.0.2).*.12,. |
| 5e000 | 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 32 29 20 2a 20 31 32 2c 00 00 00 47 20 20 20 20 | cy.+.sin(ha.+.0.2).*.12,...G.... |
| 5e020 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 63 | .......cx.+.cos(ha).*.r.*.0.5,.c |
| 5e040 | 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 | y.+.sin(ha).*.r.*.0.5,.0xFF00000 |
| 5e060 | 30 29 3b 00 00 00 4e 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | 0);...N..fill_tri(px,.a->w,.a->h |
| 5e080 | 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 31 30 2c 20 63 79 20 2b | ,.cx.+.cos(ma.-.0.12).*.10,.cy.+ |
| 5e0a0 | 20 73 69 6e 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 31 30 2c 00 00 00 3e 20 20 20 20 20 20 20 | .sin(ma.-.0.12).*.10,...>....... |
| 5e0c0 | 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 31 30 2c 20 63 79 | ....cx.+.cos(ma.+.0.12).*.10,.cy |
| 5e0e0 | 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 31 30 2c 00 00 00 49 20 20 20 20 20 | .+.sin(ma.+.0.12).*.10,...I..... |
| 5e100 | 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 63 | ......cx.+.cos(ma).*.r.*.0.75,.c |
| 5e120 | 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 37 35 2c 20 30 78 46 46 30 30 30 30 | y.+.sin(ma).*.r.*.0.75,.0xFF0000 |
| 5e140 | 30 30 29 3b 00 00 00 33 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d 30 2e 30 30 35 | 00);...3..for.(double.f.=.-0.005 |
| 5e160 | 3b 20 66 20 3c 3d 20 30 2e 30 30 35 3b 20 66 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 00 00 3d 20 | ;.f.<=.0.005;.f.+=.0.005).{...=. |
| 5e180 | 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 | ...line(px,.a->w,.a->h,.cx,.cy,. |
| 5e1a0 | 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c 00 00 00 32 | cx.+.cos(sa.+.f).*.r.*.0.85,...2 |
| 5e1c0 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 | .........cy.+.sin(sa.+.f).*.r.*. |
| 5e1e0 | 30 2e 38 35 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 20 20 20 66 | 0.85,.0xFFFF0000);......}......f |
| 5e200 | 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 38 3b 20 69 72 2b 2b 29 00 00 00 | or.(int.ir.=.0;.ir.<.8;.ir++)... |
| 5e220 | 33 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 | 3....circle(px,.a->w,.a->h,.cx,. |
| 5e240 | 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 30 20 20 63 69 72 63 6c 65 | cy,.ir,.0xFFFFFFFF);...0..circle |
| 5e260 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 39 2c 20 30 78 46 46 | (px,.a->w,.a->h,.cx,.cy,.9,.0xFF |
| 5e280 | 30 30 30 30 30 30 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | 000000);...)..wl_surface_attach( |
| 5e2a0 | 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 | a->ws,.a->buf,.0,.0);...4..wl_su |
| 5e2c0 | 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c | rface_damage_buffer(a->ws,.0,.0, |
| 5e2e0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | .a->w,.a->h);......wl_surface_co |
| 5e300 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 | mmit(a->ws);......a->redraw.=.fa |
| 5e320 | 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | lse;....}.......Gstatic.void.xt_ |
| 5e340 | 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | close(void.*d,.struct.xdg_toplev |
| 5e360 | 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a | el.*xt).{.running.=.0;.}.......J |
| 5e380 | 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | static.void.xt_cfg(void.*d,.stru |
| 5e3a0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 | ct.xdg_toplevel.*xt,.int32_t.w,. |
| 5e3c0 | 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int32_t.h,...(.................. |
| 5e3e0 | 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 | .struct.wl_array.*s).{......stru |
| 5e400 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 | ct.app.*a.=.d;...3..if.(w.>.0.&& |
| 5e420 | 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e | .h.>.0.&&.(w.!=.a->w.||.h.!=.a-> |
| 5e440 | 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d | h)).{........a->w.=.w;........a- |
| 5e460 | 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 | >h.=.h;........destroy_buf(a);.. |
| 5e480 | 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 | ......a->redraw.=.true;......}.. |
| 5e4a0 | 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f | ..}.......Fstatic.void.xs_cfg(vo |
| 5e4c0 | 69 64 20 2a 64 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 | id.*d,.struct.xdg_surface.*xs,.u |
| 5e4e0 | 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 | int32_t.serial).{......struct.ap |
| 5e500 | 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 | p.*a.=.d;...(..xdg_surface_ack_c |
| 5e520 | 6f 6e 66 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f | onfigure(xs,.serial);......a->co |
| 5e540 | 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 | nfigured.=.true;......a->redraw. |
| 5e560 | 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 | =.true;....}.......Cstatic.void. |
| 5e580 | 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 | reg_global(void.*d,.struct.wl_re |
| 5e5a0 | 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 | gistry.*r,.uint32_t.id,...3..... |
| 5e5c0 | 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 72 20 2a 69 2c | ..................const.char.*i, |
| 5e5e0 | 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | .uint32_t.v).{......struct.app.* |
| 5e600 | 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 | a.=.d;..."..if.(!strcmp(i,."wl_c |
| 5e620 | 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c | ompositor"))...C....a->comp.=.wl |
| 5e640 | 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 | _registry_bind(r,.id,.&wl_compos |
| 5e660 | 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 | itor_interface,.4);......else.if |
| 5e680 | 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 | .(!strcmp(i,."wl_shm"))...;....a |
| 5e6a0 | 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 | ->shm.=.wl_registry_bind(r,.id,. |
| 5e6c0 | 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 | &wl_shm_interface,.1);...'..else |
| 5e6e0 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 | .if.(!strcmp(i,."xdg_wm_base")). |
| 5e700 | 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | {...?....a->wm.=.wl_registry_bin |
| 5e720 | 64 28 72 2c 20 69 64 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 | d(r,.id,.&xdg_wm_base_interface, |
| 5e740 | 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | .1);...C....static.const.struct. |
| 5e760 | 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 | xdg_wm_base_listener.l.=.{.ping. |
| 5e780 | 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 | =.wm_ping};...+....xdg_wm_base_a |
| 5e7a0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 | dd_listener(a->wm,.&l,.a);...... |
| 5e7c0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 | }....}........int.main(void).{.. |
| 5e7e0 | 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 | ....struct.app.a.=.{0};......a.w |
| 5e800 | 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 | .=.400;......a.h.=.400;......sig |
| 5e820 | 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 | nal(SIGINT,.on_sig);...!..a.d.=. |
| 5e840 | 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 00 0b 20 20 69 | wl_display_connect(NULL);......i |
| 5e860 | 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 | f.(!a.d)........return.1;...'..a |
| 5e880 | 2e 72 65 67 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 61 | .reg.=.wl_display_get_registry(a |
| 5e8a0 | 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .d);...G..static.const.struct.wl |
| 5e8c0 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c | _registry_listener.rl.=.{.global |
| 5e8e0 | 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 | .=.reg_global};...+..wl_registry |
| 5e900 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 | _add_listener(a.reg,.&rl,.&a);.. |
| 5e920 | 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 | ....wl_display_roundtrip(a.d);.. |
| 5e940 | 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e | .!..if.(!a.comp.||.!a.shm.||.!a. |
| 5e960 | 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d | wm)........return.1;......a.ws.= |
| 5e980 | 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 65 28 61 2e | .wl_compositor_create_surface(a. |
| 5e9a0 | 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 | comp);...1..a.xs.=.xdg_wm_base_g |
| 5e9c0 | 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 | et_xdg_surface(a.wm,.a.ws);...G. |
| 5e9e0 | 20 73 74 61 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 | .static.const.struct.xdg_surface |
| 5ea00 | 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 | _listener.xsl.=.{.configure.=.xs |
| 5ea20 | 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 | _cfg};...+..xdg_surface_add_list |
| 5ea40 | 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 | ener(a.xs,.&xsl,.&a);...(..a.xt. |
| 5ea60 | 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 6c 28 61 2e 78 73 29 | =.xdg_surface_get_toplevel(a.xs) |
| 5ea80 | 3b 00 00 00 47 20 20 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 | ;...G..static.const.struct.xdg_t |
| 5eaa0 | 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 | oplevel_listener.xtl.=.{.configu |
| 5eac0 | 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | re.=.xt_cfg,...F................ |
| 5eae0 | 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 | ................................ |
| 5eb00 | 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f | ....close.=.xt_close};...,..xdg_ |
| 5eb20 | 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c | toplevel_add_listener(a.xt,.&xtl |
| 5eb40 | 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 | ,.&a);...*..xdg_toplevel_set_tit |
| 5eb60 | 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 | le(a.xt,."wlclock");......wl_sur |
| 5eb80 | 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 | face_commit(a.ws);......while.(! |
| 5eba0 | 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | a.configured)........wl_display_ |
| 5ebc0 | 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 | dispatch(a.d);......render(&a);. |
| 5ebe0 | 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c | ..9..int.tfd.=.timerfd_create(CL |
| 5ec00 | 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 | OCK_MONOTONIC,.TFD_CLOEXEC);...F |
| 5ec20 | 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 | ..timerfd_settime(tfd,.0,.&(stru |
| 5ec40 | 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 | ct.itimerspec){{1,.0},.{1,.0}},. |
| 5ec60 | 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 | NULL);......char.buffer[100];... |
| 5ec80 | 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c | ...while.(running).{...-....whil |
| 5eca0 | 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 | e.(wl_display_prepare_read(a.d). |
| 5ecc0 | 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 | !=.0)...'......wl_display_dispat |
| 5ece0 | 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c | ch_pending(a.d);........wl_displ |
| 5ed00 | 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c | ay_flush(a.d);...M....struct.pol |
| 5ed20 | 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 | lfd.fds[2].=.{{wl_display_get_fd |
| 5ed40 | 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 | (a.d),.POLLIN},.{tfd,.POLLIN}};. |
| 5ed60 | 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 | .......if.(poll(fds,.2,.-1).<.0) |
| 5ed80 | 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 | .{..."......wl_display_cancel_re |
| 5eda0 | 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 | ad(a.d);..........continue;..... |
| 5edc0 | 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 | ...}........if.(fds[0].revents.& |
| 5ede0 | 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 | .POLLIN)..."......wl_display_rea |
| 5ee00 | 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 | d_events(a.d);........else...".. |
| 5ee20 | 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b | ....wl_display_cancel_read(a.d); |
| 5ee40 | 00 00 00 25 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 | ...%....wl_display_dispatch_pend |
| 5ee60 | 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 | ing(a.d);..."....if.(fds[1].reve |
| 5ee80 | 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f | nts.&.POLLIN).{..........uint64_ |
| 5eea0 | 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 | t.t_exp;...'......read(tfd,.&t_e |
| 5eec0 | 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d | xp,.sizeof(t_exp));..........tim |
| 5eee0 | 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 | e_t.cli.=.time(NULL);...,......s |
| 5ef00 | 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 | truct.tm.*t_struct.=.localtime(& |
| 5ef20 | 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 | cli);...I......strftime(buffer,. |
| 5ef40 | 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a | sizeof(buffer),."%d-%m-%Y.%I:%M: |
| 5ef60 | 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e | %S.%p",.t_struct);...%......prin |
| 5ef80 | 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 | tf("\rTime.is.%s",.buffer);..... |
| 5efa0 | 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e | .....fflush(stdout);..........a. |
| 5efc0 | 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 | redraw.=.true;........}........i |
| 5efe0 | 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 | f.(a.redraw)..........render(&a) |
| 5f000 | 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 | ;......}......printf("\n");..... |
| 5f020 | 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 | .close(tfd);......destroy_buf(&a |
| 5f040 | 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e | );......wl_display_disconnect(a. |
| 5f060 | 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 | d);......return.0;....}5........ |
| 5f080 | 00 00 00 00 00 00 00 2e 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bf | ................................ |
| 5f0a0 | 22 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 97 00 00 00 99 00 00 00 00 00 | "..............5._.............. |
| 5f0c0 | 00 00 00 00 00 00 98 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 | ................................ |
| 5f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 75 04 01 00 00 00 00 00 | .....................i..u....... |
| 5f240 | f5 18 00 00 01 2a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 01 2b 00 00 00 | .....*................}.....+... |
| 5f260 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 16 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 | ................................ |
| 5f280 | 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 f5 18 00 00 | .....wl_display_cancel_read(.... |
| 5f2a0 | 01 17 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 5f2c0 | 00 00 00 2b 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 | ...+..int.tfd.=.timerfd_create(C |
| 5f2e0 | 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c f5 18 00 00 01 08 00 00 00 00 00 00 00 00 00 00 00 | LOCK_MONOTONIC,................. |
| 5f300 | 00 f5 18 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 29 20 20 20 20 20 20 20 20 20 | ......................)......... |
| 5f320 | 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 | ................................ |
| 5f340 | f5 18 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 f5 00 00 00 00 00 00 00 00 | ................................ |
| 5f360 | 00 00 00 01 00 00 00 30 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .......0..static.const.struct.wl |
| 5f380 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 f5 18 00 00 00 f6 00 00 | _registry_listener.rl.=......... |
| 5f3a0 | 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a | ................................ |
| 5f3c0 | 20 20 20 20 61 2d 3e 73 68 6d f5 18 00 00 00 e5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | ....a->shm...................... |
| 5f3e0 | 00 d2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 00 d3 00 00 00 00 | ................................ |
| 5f400 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 bb 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 | ................................ |
| 5f420 | 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 f5 18 00 00 00 bc 00 00 00 00 00 00 00 00 00 00 00 00 f5 | for.(double.f................... |
| 5f440 | 18 00 00 00 b2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 b3 00 00 00 | ................................ |
| 5f460 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1e 20 | ................................ |
| 5f480 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 f5 18 00 | .for.(int.i.=.0;.i.<.60;.i++)... |
| 5f4a0 | 00 00 a7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f4c0 | 01 00 00 00 17 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 f5 18 00 00 | .........if.(x_end.>=.w).x_e.... |
| 5f4e0 | 00 93 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 5f500 | 00 00 00 2e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f | ....static.void.fill_tri(uint32_ |
| 5f520 | 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 f5 18 00 00 00 81 00 00 00 00 00 00 00 00 | t.*px,.int.w,.int............... |
| 5f540 | 00 00 00 00 f5 18 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 41 20 20 61 2d 3e 62 | .........P...............A..a->b |
| 5f560 | 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 | uf.=.wl_shm_pool_create_buffer(p |
| 5f580 | 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 f5 18 00 00 00 | ool,.0,.a->w,.a->h,.a->w.*...... |
| 5f5a0 | 51 00 00 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 | Q............................... |
| 5f5c0 | 00 00 00 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 | .....................5.......... |
| 5f5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............P...A.............. |
| 5f600 | 00 00 00 00 00 00 07 00 00 00 00 00 00 f5 18 00 00 00 00 50 00 00 00 41 00 00 00 00 00 00 00 00 | ...................P...A........ |
| 5f620 | 00 00 00 30 00 00 00 2e 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 | ...0............................ |
| 5f640 | 00 00 00 f5 18 00 00 00 00 80 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 17 00 00 | ................................ |
| 5f660 | 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 92 | ................................ |
| 5f680 | 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 1e 00 00 00 00 0f 00 00 00 00 00 00 00 | ................................ |
| 5f6a0 | 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 a6 00 00 00 1e 00 00 00 00 00 00 | ................................ |
| 5f6c0 | 00 00 00 00 00 0c 00 00 00 02 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 5f6e0 | 00 00 00 00 00 f5 18 00 00 00 00 b2 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 0f | ................................ |
| 5f700 | 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 5f720 | 00 bb 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 17 00 00 00 04 00 00 00 00 15 00 00 00 00 00 | ................................ |
| 5f740 | 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 00 04 00 00 00 00 | ................................ |
| 5f760 | 00 00 00 00 00 00 00 12 00 00 00 0a 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f780 | 02 00 00 00 00 00 00 f5 18 00 00 00 00 e4 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 11 00 00 | ................................ |
| 5f7a0 | 00 30 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 | .0.............................. |
| 5f7c0 | 00 00 00 f5 00 00 00 30 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 29 00 00 00 00 1c 00 00 00 | .......0...............)........ |
| 5f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 00 01 00 00 29 00 00 | .............................).. |
| 5f800 | 00 00 00 00 00 00 00 00 00 07 00 00 00 2b 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............+.................. |
| 5f820 | 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 07 01 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 0f | ...................+............ |
| 5f840 | 00 00 00 1d 00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 | ................................ |
| 5f860 | 18 00 00 00 00 16 01 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 01 00 00 00 00 21 00 | ..............................!. |
| 5f880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 98 00 00 00 | .....................5._........ |
| 5f8a0 | 9a 00 00 00 00 00 00 00 00 00 00 00 99 00 00 01 2b 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 | ................+............... |
| 5f8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5f9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5fa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 76 04 | ...........................i..v. |
| 5fa20 | 01 00 00 00 2d 00 f5 18 00 00 00 6e 00 00 00 d3 00 00 01 2b 00 00 00 54 00 00 00 53 73 74 61 74 | ....-......n.......+...T...Sstat |
| 5fa40 | 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 | ic.void.circle(uint32_t.*px,.int |
| 5fa60 | 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 | .w,.int.h,.int.cx,.int.cy,.int.r |
| 5fa80 | 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 | ,.uint32_t.c).{..."..int.x.=.0,. |
| 5faa0 | 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 | y.=.r,.d.=.3.-.2.*.r;......while |
| 5fac0 | 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d | .(y.>=.x).{...H....int.p[8][2].= |
| 5fae0 | 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 | .{{cx.+.x,.cy.+.y},.{cx.-.x,.cy. |
| 5fb00 | 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 | +.y},.{cx.+.x,.cy.-.y},...H..... |
| 5fb20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 | ..............{cx.-.x,.cy.-.y},. |
| 5fb40 | 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 | {cx.+.y,.cy.+.x},.{cx.-.y,.cy.+. |
| 5fb60 | 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 | x},...7...................{cx.+. |
| 5fb80 | 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 | y,.cy.-.x},.{cx.-.y,.cy.-.x}};.. |
| 5fba0 | 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b | ......for.(int.i.=.0;.i.<.8;.i++ |
| 5fbc0 | 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 | )...E......if.(p[i][0].>=.0.&&.p |
| 5fbe0 | 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b | [i][0].<.w.&&.p[i][1].>=.0.&&.p[ |
| 5fc00 | 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d | i][1].<.h)...&........px[p[i][1] |
| 5fc20 | 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 | .*.w.+.p[i][0]].=.c;........if.( |
| 5fc40 | 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 | d.>.0).{..........d.+=.4.*.(x.-. |
| 5fc60 | 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 | y).+.10;..........y--;........}. |
| 5fc80 | 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 | else..........d.+=.4.*.x.+.6;... |
| 5fca0 | 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 | .....x++;......}....}.......nsta |
| 5fcc0 | 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 | tic.void.fill_tri(uint32_t.*px,. |
| 5fce0 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e | int.w,.int.h,.int.x0,.int.y0,.in |
| 5fd00 | 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 | t.x1,.int.y1,.int.x2,.int.y2,.ui |
| 5fd20 | 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 | nt32_t.c).{...B..int.min_y.=.y0. |
| 5fd40 | 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 | <.y1.?.(y0.<.y2.?.y0.:.y2).:.(y1 |
| 5fd60 | 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 | .<.y2.?.y1.:.y2);...B..int.max_y |
| 5fd80 | 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 | .=.y0.>.y1.?.(y0.>.y2.?.y0.:.y2) |
| 5fda0 | 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 | .:.(y1.>.y2.?.y1.:.y2);......if. |
| 5fdc0 | 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 | (min_y.<.0).min_y.=.0;......if.( |
| 5fde0 | 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 | max_y.>=.h).max_y.=.h.-.1;...(.. |
| 5fe00 | 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 | for.(int.y.=.min_y;.y.<=.max_y;. |
| 5fe20 | 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 | y++).{........int.x_start.=.w,.x |
| 5fe40 | 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 | _end.=.0;...3....int.xs[3].=.{x0 |
| 5fe60 | 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b | ,.x1,.x2},.ys[3].=.{y0,.y1,.y2}; |
| 5fe80 | 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 | ...!....for.(int.i.=.0;.i.<.3;.i |
| 5fea0 | 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 | ++).{..........int.j.=.(i.+.1).% |
| 5fec0 | 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 | .3;...C......if.((ys[i].<=.y.&&. |
| 5fee0 | 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b | ys[j].>.y).||.(ys[j].<=.y.&&.ys[ |
| 5ff00 | 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 | i].>.y)).{...%........if.(ys[j]. |
| 5ff20 | 3d 3d 20 79 73 5b 69 5d 29 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 48 20 20 20 20 20 20 20 20 69 | ==.ys[i]).continue;...H........i |
| 5ff40 | 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 | nt.x.=.xs[i].+.(y.-.ys[i]).*.(xs |
| 5ff60 | 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 | [j].-.xs[i])./.(ys[j].-.ys[i]);. |
| 5ff80 | 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 | ..%........if.(x.<.x_start).x_st |
| 5ffa0 | 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e | art.=.x;...!........if.(x.>.x_en |
| 5ffc0 | 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 | d).x_end.=.x;..........}........ |
| 5ffe0 | 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 | }...!....if.(x_start.<.0).x_star |
| 60000 | 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f | t.=.0;..."....if.(x_end.>=.w).x_ |
| 60020 | 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d | end.=.w.-.1;...=....for.(int.x.= |
| 60040 | 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 | .x_start;.x.<=.x_end;.x++).px[y. |
| 60060 | 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | *.w.+.x].=.c;......}....}....... |
| 60080 | 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a | #static.void.render(struct.app.* |
| 600a0 | 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 | a).{.../..if.(!a->configured.||. |
| 600c0 | 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 | a->w.<=.0.||.a->h.<=.0)........r |
| 600e0 | 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 | eturn;......if.(!a->buf)........ |
| 60100 | 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 | alloc_buf(a);......uint32_t.*px. |
| 60120 | 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 | =.a->pixels;...$..memset(px,.0xF |
| 60140 | 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 | F,.a->w.*.a->h.*.4);......time_t |
| 60160 | 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d | .tt.=.time(NULL);......struct.tm |
| 60180 | 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 | .tmv;......localtime_r(&tt,.&tmv |
| 601a0 | 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 | );...#..int.cx.=.a->w./.2,.cy.=. |
| 601c0 | 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 | a->h./.2;.../..int.r.=.(a->w.<.a |
| 601e0 | 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 | ->h.?.a->w.:.a->h)./.2.-.10;.... |
| 60200 | 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 64 6f 75 | ..if.(r.<.5).r.=.5;..........dou |
| 60220 | 62 6c 65 20 74 68 69 63 6b 5f 74 69 63 6b 20 3d 20 72 20 2a 20 30 2e 30 32 3b 20 00 00 00 20 20 | ble.thick_tick.=.r.*.0.02;...... |
| 60240 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 | .for.(int.i.=.0;.i.<.60;.i++).{. |
| 60260 | 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 | .......double.ang.=.i./.60.0.*.2 |
| 60280 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e | .*.M_PI.-.M_PI_2;...1....int.len |
| 602a0 | 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 35 20 3a 20 72 20 2a | .=.(i.%.5.==.0).?.r.*.0.15.:.r.* |
| 602c0 | 20 30 2e 30 35 3b 00 00 00 3c 20 20 20 20 64 6f 75 62 6c 65 20 74 20 3d 20 28 69 20 25 20 35 20 | .0.05;...<....double.t.=.(i.%.5. |
| 602e0 | 3d 3d 20 30 29 20 3f 20 74 68 69 63 6b 5f 74 69 63 6b 20 3a 20 74 68 69 63 6b 5f 74 69 63 6b 20 | ==.0).?.thick_tick.:.thick_tick. |
| 60300 | 2a 20 30 2e 35 3b 00 00 00 1d 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | *.0.5;........fill_tri(px,.a->w, |
| 60320 | 20 61 2d 3e 68 2c 20 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | .a->h,....8.............cx.+.cos |
| 60340 | 28 61 6e 67 2d 30 2e 30 32 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d 30 2e 30 32 29 | (ang-0.02)*r,.cy.+.sin(ang-0.02) |
| 60360 | 2a 72 2c 00 00 00 38 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 | *r,...8.............cx.+.cos(ang |
| 60380 | 2b 30 2e 30 32 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 30 2e 30 32 29 2a 72 2c 00 | +0.02)*r,.cy.+.sin(ang+0.02)*r,. |
| 603a0 | 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 | ..G.............cx.+.cos(ang)*(r |
| 603c0 | 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 30 78 | -len),.cy.+.sin(ang)*(r-len),.0x |
| 603e0 | 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c | FF000000);......}.......4..doubl |
| 60400 | 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d | e.sa.=.tmv.tm_sec./.60.0.*.2.*.M |
| 60420 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 | _PI.-.M_PI_2;...J..double.ma.=.( |
| 60440 | 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 | tmv.tm_min.+.tmv.tm_sec./.60.0). |
| 60460 | 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 | /.60.0.*.2.*.M_PI.-.M_PI_2;...T. |
| 60480 | 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 | .double.ha.=.((tmv.tm_hour.%.12) |
| 604a0 | 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a | .+.(tmv.tm_min./.60.0))./.12.0.* |
| 604c0 | 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 4d 20 20 66 69 6c | .2.*.M_PI.-.M_PI_2;.......M..fil |
| 604e0 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 | l_tri(px,.a->w,.a->h,.cx.+.cos(h |
| 60500 | 61 2d 30 2e 32 29 2a 72 2a 30 2e 30 38 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 32 29 2a | a-0.2)*r*0.08,.cy.+.sin(ha-0.2)* |
| 60520 | 72 2a 30 2e 30 38 2c 20 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 | r*0.08,....=...........cx.+.cos( |
| 60540 | 68 61 2b 30 2e 32 29 2a 72 2a 30 2e 30 38 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 32 29 | ha+0.2)*r*0.08,.cy.+.sin(ha+0.2) |
| 60560 | 2a 72 2a 30 2e 30 38 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | *r*0.08,....?...........cx.+.cos |
| 60580 | 28 68 61 29 2a 72 2a 30 2e 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 2c 20 | (ha)*r*0.5,.cy.+.sin(ha)*r*0.5,. |
| 605a0 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 | 0xFF000000);...O..fill_tri(px,.a |
| 605c0 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 31 32 29 2a 72 2a 30 | ->w,.a->h,.cx.+.cos(ma-0.12)*r*0 |
| 605e0 | 2e 30 36 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 36 2c 20 00 | .06,.cy.+.sin(ma-0.12)*r*0.06,.. |
| 60600 | 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 31 32 29 2a | ..?...........cx.+.cos(ma+0.12)* |
| 60620 | 72 2a 30 2e 30 36 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 36 | r*0.06,.cy.+.sin(ma+0.12)*r*0.06 |
| 60640 | 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a | ,....?...........cx.+.cos(ma)*r* |
| 60660 | 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 | 0.8,.cy.+.sin(ma)*r*0.8,.0xFF000 |
| 60680 | 30 30 30 29 3b 00 00 00 00 00 00 00 33 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d | 000);.......3..for.(double.f.=.- |
| 606a0 | 30 2e 30 30 35 3b 20 66 20 3c 3d 20 30 2e 30 30 35 3b 20 66 20 2b 3d 20 30 2e 30 30 32 29 20 7b | 0.005;.f.<=.0.005;.f.+=.0.002).{ |
| 606c0 | 00 00 00 59 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c | ...Y....line(px,.a->w,.a->h,.cx, |
| 606e0 | 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2b 66 29 2a 72 2a 30 2e 39 2c 20 63 79 20 2b 20 | .cy,.cx.+.cos(sa+f)*r*0.9,.cy.+. |
| 60700 | 73 69 6e 28 73 61 2b 66 29 2a 72 2a 30 2e 39 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 | sin(sa+f)*r*0.9,.0xFFFF0000);... |
| 60720 | 03 20 20 7d 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e | ...}..........int.hub_r.=.r.*.0. |
| 60740 | 30 35 3b 00 00 00 1b 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 33 29 20 68 75 62 5f 72 20 3d 20 | 05;......if.(hub_r.<.3).hub_r.=. |
| 60760 | 33 3b 00 00 00 54 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 | 3;...T..for.(int.ir.=.0;.ir.<.hu |
| 60780 | 62 5f 72 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | b_r;.ir++).circle(px,.a->w,.a->h |
| 607a0 | 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 | ,.cx,.cy,.ir,.0xFFFFFFFF);5..... |
| 607c0 | 00 00 6e 00 00 00 45 00 00 00 53 00 00 00 24 00 00 00 63 00 00 00 03 00 00 00 cc 09 00 00 00 00 | ..n...E...S...$...c............. |
| 607e0 | 00 00 10 0c 00 00 00 00 00 00 f2 0c 00 00 00 00 00 00 35 81 5f d0 00 00 00 99 00 00 00 9b 00 00 | ..................5._........... |
| 60800 | 00 00 00 00 00 00 00 00 00 9a 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | ................................ |
| 60820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 608a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 608c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 608e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 60960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 ce 04 01 00 00 | ........................i....... |
| 60980 | 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 3b 00 00 00 1f 23 64 65 66 69 6e 65 | ....................;....#define |
| 609a0 | 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 | ._POSIX_C_SOURCE.200809L...&#inc |
| 609c0 | 6c 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 | lude."xdg-shell-client-protocol. |
| 609e0 | 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 | h"....#include.<fcntl.h>....#inc |
| 60a00 | 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e | lude.<math.h>....#include.<poll. |
| 60a20 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e | h>....#include.<signal.h>....#in |
| 60a40 | 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 | clude.<stdbool.h>....#include.<s |
| 60a60 | 74 64 69 6e 74 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 00 | tdint.h>....#include.<stdio.h>.. |
| 60a80 | 00 13 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 | ..#include.<stdlib.h>....#includ |
| 60aa0 | 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d | e.<string.h>....#include.<sys/mm |
| 60ac0 | 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 | an.h>....#include.<sys/timerfd.h |
| 60ae0 | 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 | >....#include.<time.h>....#inclu |
| 60b00 | 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 00 00 00 1b 23 69 6e 63 6c 75 64 65 20 3c 77 61 79 6c 61 | de.<unistd.h>....#include.<wayla |
| 60b20 | 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 | nd-client.h>........#ifndef.M_PI |
| 60b40 | 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 | ...##define.M_PI.3.1415926535897 |
| 60b60 | 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 | 9323846....#endif....#ifndef.M_P |
| 60b80 | 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 | I_2...%#define.M_PI_2.1.57079632 |
| 60ba0 | 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 | 679489661923....#endif.......)st |
| 60bc0 | 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 | atic.volatile.sig_atomic_t.runni |
| 60be0 | 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e | ng.=.1;....static.void.on_sig(in |
| 60c00 | 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e | t.s).{......(void)s;......runnin |
| 60c20 | 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 | g.=.0;....}........struct.app.{. |
| 60c40 | 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 | .....struct.wl_display.*d;...... |
| 60c60 | 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 | struct.wl_registry.*reg;......st |
| 60c80 | 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 | ruct.wl_compositor.*comp;......s |
| 60ca0 | 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | truct.wl_shm.*shm;......struct.x |
| 60cc0 | 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | dg_wm_base.*wm;......struct.wl_s |
| 60ce0 | 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 | urface.*ws;......struct.xdg_surf |
| 60d00 | 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | ace.*xs;......struct.xdg_topleve |
| 60d20 | 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 | l.*xt;......void.*pixels;......s |
| 60d40 | 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 | truct.wl_buffer.*buf;......int.w |
| 60d60 | 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 | ,.h;......int.bw,.bh;......bool. |
| 60d80 | 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 | configured;......bool.redraw;... |
| 60da0 | 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 | .};.......Jstatic.void.wm_ping(v |
| 60dc0 | 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 20 2a 77 | oid.*data,.struct.xdg_wm_base.*w |
| 60de0 | 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 | m,.uint32_t.serial).{......xdg_w |
| 60e00 | 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 | m_base_pong(wm,.serial);....}... |
| 60e20 | 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f | ....$static.int.create_shm(size_ |
| 60e40 | 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f | t.size).{...#..char.t[].=."/tmp/ |
| 60e60 | 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d | wlclock-XXXXXX";......int.fd.=.m |
| 60e80 | 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 | kstemp(t);......if.(fd.<.0)..... |
| 60ea0 | 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 | ...exit(1);......unlink(t);..... |
| 60ec0 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 | .if.(ftruncate(fd,.size).<.0)... |
| 60ee0 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 | .....exit(1);......return.fd;... |
| 60f00 | 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 | .}.......(static.void.destroy_bu |
| 60f20 | 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e | f(struct.app.*a).{......if.(!a-> |
| 60f40 | 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 | buf)........return;...*..size_t. |
| 60f60 | 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 | size.=.(size_t)a->bw.*.a->bh.*.4 |
| 60f80 | 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 | ;......wl_buffer_destroy(a->buf) |
| 60fa0 | 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 | ;......munmap(a->pixels,.size);. |
| 60fc0 | 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 | .....a->buf.=.NULL;......a->pixe |
| 60fe0 | 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f | ls.=.NULL;....}.......&static.vo |
| 61000 | 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | id.alloc_buf(struct.app.*a).{... |
| 61020 | 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 | ...destroy_buf(a);...(..size_t.s |
| 61040 | 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 | ize.=.(size_t)a->w.*.a->h.*.4;.. |
| 61060 | 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 | ....int.fd.=.create_shm(size);.. |
| 61080 | 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c | .J..a->pixels.=.mmap(NULL,.size, |
| 610a0 | 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 | .PROT_READ.|.PROT_WRITE,.MAP_SHA |
| 610c0 | 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 | RED,.fd,.0);......if.(a->pixels. |
| 610e0 | 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | ==.MAP_FAILED)........exit(1);.. |
| 61100 | 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 | .B..struct.wl_shm_pool.*pool.=.w |
| 61120 | 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 | l_shm_create_pool(a->shm,.fd,.si |
| 61140 | 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 | ze);...C..a->buf.=.wl_shm_pool_c |
| 61160 | 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | reate_buffer(pool,.0,.a->w,.a->h |
| 61180 | 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.a->w.*.4,...=................. |
| 611a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 | ....................WL_SHM_FORMA |
| 611c0 | 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 | T_ARGB8888);......wl_shm_pool_de |
| 611e0 | 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f | stroy(pool);......close(fd);.... |
| 61200 | 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e | ..a->bw.=.a->w;......a->bh.=.a-> |
| 61220 | 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 | h;....}.......Lstatic.void.line( |
| 61240 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 61260 | 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 | x0,.int.y0,.int.x1,.int.y1,..... |
| 61280 | 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 63 29 20 7b 00 00 00 | ................uint32_t.c).{... |
| 612a0 | 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 | /..int.dx.=.abs(x1.-.x0),.sx.=.x |
| 612c0 | 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d | 0.<.x1.?.1.:.-1;...0..int.dy.=.- |
| 612e0 | 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a | abs(y1.-.y0),.sy.=.y0.<.y1.?.1.: |
| 61300 | 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d | .-1;......int.err.=.dx.+.dy;.... |
| 61320 | 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 | ..while.(1).{.../....if.(x0.>=.0 |
| 61340 | 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 | .&&.x0.<.w.&&.y0.>=.0.&&.y0.<.h) |
| 61360 | 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 | ..........px[y0.*.w.+.x0].=.c;.. |
| 61380 | 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 | ......if.(x0.==.x1.&&.y0.==.y1). |
| 613a0 | 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 | .........break;........int.e2.=. |
| 613c0 | 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 | 2.*.err;........if.(e2.>=.dy).{. |
| 613e0 | 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 | .........err.+=.dy;..........x0. |
| 61400 | 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d | +=.sx;........}........if.(e2.<= |
| 61420 | 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 | .dx).{..........err.+=.dx;...... |
| 61440 | 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 | ....y0.+=.sy;........}......}... |
| 61460 | 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e | .}.......Estatic.void.circle(uin |
| 61480 | 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c | t32_t.*px,.int.w,.int.h,.int.cx, |
| 614a0 | 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .int.cy,.int.r,................. |
| 614c0 | 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d | ......uint32_t.c).{..."..int.x.= |
| 614e0 | 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 | .0,.y.=.r,.d.=.3.-.2.*.r;......w |
| 61500 | 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b | hile.(y.>=.x).{...H....int.p[8][ |
| 61520 | 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c | 2].=.{{cx.+.x,.cy.+.y},.{cx.-.x, |
| 61540 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 | .cy.+.y},.{cx.+.x,.cy.-.y},...H. |
| 61560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 | ..................{cx.-.x,.cy.-. |
| 61580 | 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 | y},.{cx.+.y,.cy.+.x},.{cx.-.y,.c |
| 615a0 | 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 | y.+.x},...7...................{c |
| 615c0 | 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d | x.+.y,.cy.-.x},.{cx.-.y,.cy.-.x} |
| 615e0 | 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b | };........for.(int.i.=.0;.i.<.8; |
| 61600 | 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 | .i++)...E......if.(p[i][0].>=.0. |
| 61620 | 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 | &&.p[i][0].<.w.&&.p[i][1].>=.0.& |
| 61640 | 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 | &.p[i][1].<.h)...&........px[p[i |
| 61660 | 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 | ][1].*.w.+.p[i][0]].=.c;........ |
| 61680 | 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 | if.(d.>.0).{..........d.+=.4.*.( |
| 616a0 | 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 | x.-.y).+.10;..........y--;...... |
| 616c0 | 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 | ..}.else..........d.+=.4.*.x.+.6 |
| 616e0 | 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | ;........x++;......}....}....... |
| 61700 | 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a | Pstatic.void.fill_tri(uint32_t.* |
| 61720 | 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 | px,.int.w,.int.h,.int.x0,.int.y0 |
| 61740 | 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 | ,.int.x1,.int.y1,...2........... |
| 61760 | 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 | ..........int.x2,.int.y2,.uint32 |
| 61780 | 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 | _t.c).{...B..int.min_y.=.y0.<.y1 |
| 617a0 | 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 | .?.(y0.<.y2.?.y0.:.y2).:.(y1.<.y |
| 617c0 | 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 | 2.?.y1.:.y2);...B..int.max_y.=.y |
| 617e0 | 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 | 0.>.y1.?.(y0.>.y2.?.y0.:.y2).:.( |
| 61800 | 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e | y1.>.y2.?.y1.:.y2);......if.(min |
| 61820 | 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 | _y.<.0)........min_y.=.0;......i |
| 61840 | 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 | f.(max_y.>=.h)........max_y.=.h. |
| 61860 | 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 | -.1;...(..for.(int.y.=.min_y;.y. |
| 61880 | 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 | <=.max_y;.y++).{........int.x_st |
| 618a0 | 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 | art.=.w,.x_end.=.0;...3....int.x |
| 618c0 | 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 | s[3].=.{x0,.x1,.x2},.ys[3].=.{y0 |
| 618e0 | 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | ,.y1,.y2};...!....for.(int.i.=.0 |
| 61900 | 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d | ;.i.<.3;.i++).{..........int.j.= |
| 61920 | 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 | .(i.+.1).%.3;...C......if.((ys[i |
| 61940 | 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c | ].<=.y.&&.ys[j].>.y).||.(ys[j].< |
| 61960 | 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 | =.y.&&.ys[i].>.y)).{............ |
| 61980 | 69 66 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 73 5b 69 5d 29 00 00 00 13 20 20 20 20 20 20 20 20 20 | if.(ys[j].==.ys[i])............. |
| 619a0 | 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 | .continue;...H........int.x.=.xs |
| 619c0 | 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b | [i].+.(y.-.ys[i]).*.(xs[j].-.xs[ |
| 619e0 | 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 | i])./.(ys[j].-.ys[i]);.......... |
| 61a00 | 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 | ..if.(x.<.x_start).............. |
| 61a20 | 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 | x_start.=.x;............if.(x.>. |
| 61a40 | 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 | x_end)..............x_end.=.x;.. |
| 61a60 | 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 14 20 20 20 20 69 66 20 28 78 5f | ........}........}........if.(x_ |
| 61a80 | 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b | start.<.0)..........x_start.=.0; |
| 61aa0 | 00 00 00 13 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 14 20 20 20 20 20 | ........if.(x_end.>=.w)......... |
| 61ac0 | 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2a 20 20 20 20 66 6f 72 20 28 69 6e 74 20 | .x_end.=.w.-.1;...*....for.(int. |
| 61ae0 | 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 | x.=.x_start;.x.<=.x_end;.x++)... |
| 61b00 | 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d | .......px[y.*.w.+.x].=.c;......} |
| 61b20 | 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 | ....}.......#static.void.render( |
| 61b40 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f | struct.app.*a).{.../..if.(!a->co |
| 61b60 | 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d | nfigured.||.a->w.<=.0.||.a->h.<= |
| 61b80 | 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e | .0)........return;......if.(!a-> |
| 61ba0 | 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 | buf)........alloc_buf(a);......u |
| 61bc0 | 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 | int32_t.*px.=.a->pixels;...$..me |
| 61be0 | 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b | mset(px,.0xFF,.a->w.*.a->h.*.4); |
| 61c00 | 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 | ......time_t.tt.=.time(NULL);... |
| 61c20 | 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 | ...struct.tm.tmv;......localtime |
| 61c40 | 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e | _r(&tt,.&tmv);...#..int.cx.=.a-> |
| 61c60 | 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 | w./.2,.cy.=.a->h./.2;.../..int.r |
| 61c80 | 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f | .=.(a->w.<.a->h.?.a->w.:.a->h)./ |
| 61ca0 | 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 | .2.-.10;......if.(r.<.5)........ |
| 61cc0 | 72 20 3d 20 35 3b 00 00 00 00 00 00 00 1f 20 20 64 6f 75 62 6c 65 20 74 68 69 63 6b 5f 74 69 63 | r.=.5;..........double.thick_tic |
| 61ce0 | 6b 20 3d 20 72 20 2a 20 30 2e 30 32 3b 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | k.=.r.*.0.02;......for.(int.i.=. |
| 61d00 | 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 | 0;.i.<.60;.i++).{........double. |
| 61d20 | 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | ang.=.i./.60.0.*.2.*.M_PI.-.M_PI |
| 61d40 | 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 | _2;...1....int.len.=.(i.%.5.==.0 |
| 61d60 | 29 20 3f 20 72 20 2a 20 30 2e 31 35 20 3a 20 72 20 2a 20 30 2e 30 35 3b 00 00 00 3c 20 20 20 20 | ).?.r.*.0.15.:.r.*.0.05;...<.... |
| 61d80 | 64 6f 75 62 6c 65 20 74 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 74 68 69 63 6b 5f | double.t.=.(i.%.5.==.0).?.thick_ |
| 61da0 | 74 69 63 6b 20 3a 20 74 68 69 63 6b 5f 74 69 63 6b 20 2a 20 30 2e 35 3b 00 00 00 50 20 20 20 20 | tick.:.thick_tick.*.0.5;...P.... |
| 61dc0 | 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f | fill_tri(px,.a->w,.a->h,.cx.+.co |
| 61de0 | 73 28 61 6e 67 20 2d 20 30 2e 30 32 29 20 2a 20 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 | s(ang.-.0.02).*.r,.cy.+.sin(ang. |
| 61e00 | 2d 20 30 2e 30 32 29 20 2a 20 72 2c 00 00 00 40 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 | -.0.02).*.r,...@.............cx. |
| 61e20 | 2b 20 63 6f 73 28 61 6e 67 20 2b 20 30 2e 30 32 29 20 2a 20 72 2c 20 63 79 20 2b 20 73 69 6e 28 | +.cos(ang.+.0.02).*.r,.cy.+.sin( |
| 61e40 | 61 6e 67 20 2b 20 30 2e 30 32 29 20 2a 20 72 2c 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 20 20 | ang.+.0.02).*.r,...O............ |
| 61e60 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 63 79 20 2b | .cx.+.cos(ang).*.(r.-.len),.cy.+ |
| 61e80 | 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 | .sin(ang).*.(r.-.len),.0xFF00000 |
| 61ea0 | 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 | 0);......}.......4..double.sa.=. |
| 61ec0 | 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d | tmv.tm_sec./.60.0.*.2.*.M_PI.-.M |
| 61ee0 | 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f | _PI_2;...J..double.ma.=.(tmv.tm_ |
| 61f00 | 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 | min.+.tmv.tm_sec./.60.0)./.60.0. |
| 61f20 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 | *.2.*.M_PI.-.M_PI_2;......double |
| 61f40 | 20 68 61 20 3d 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 | .ha.=...L......((tmv.tm_hour.%.1 |
| 61f60 | 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 | 2).+.(tmv.tm_min./.60.0))./.12.0 |
| 61f80 | 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 39 20 20 66 | .*.2.*.M_PI.-.M_PI_2;.......9..f |
| 61fa0 | 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 | ill_tri(px,.a->w,.a->h,.cx.+.cos |
| 61fc0 | 28 68 61 20 2d 20 30 2e 32 29 20 2a 20 72 20 2a 20 30 2e 30 38 2c 00 00 00 48 20 20 20 20 20 20 | (ha.-.0.2).*.r.*.0.08,...H...... |
| 61fe0 | 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 32 29 20 2a 20 72 20 2a 20 30 2e | .....cy.+.sin(ha.-.0.2).*.r.*.0. |
| 62000 | 30 38 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 32 29 20 2a 20 72 20 2a 20 30 2e 30 | 08,.cx.+.cos(ha.+.0.2).*.r.*.0.0 |
| 62020 | 38 2c 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 | 8,...A...........cy.+.sin(ha.+.0 |
| 62040 | 2e 32 29 20 2a 20 72 20 2a 20 30 2e 30 38 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 | .2).*.r.*.0.08,.cx.+.cos(ha).*.r |
| 62060 | 20 2a 20 30 2e 35 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 | .*.0.5,.../...........cy.+.sin(h |
| 62080 | 61 29 20 2a 20 72 20 2a 20 30 2e 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 3a 20 20 | a).*.r.*.0.5,.0xFF000000);...:.. |
| 620a0 | 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f | fill_tri(px,.a->w,.a->h,.cx.+.co |
| 620c0 | 73 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 36 2c 00 00 00 4a 20 20 20 20 | s(ma.-.0.12).*.r.*.0.06,...J.... |
| 620e0 | 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a | .......cy.+.sin(ma.-.0.12).*.r.* |
| 62100 | 20 30 2e 30 36 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a | .0.06,.cx.+.cos(ma.+.0.12).*.r.* |
| 62120 | 20 30 2e 30 36 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 | .0.06,...B...........cy.+.sin(ma |
| 62140 | 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 36 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | .+.0.12).*.r.*.0.06,.cx.+.cos(ma |
| 62160 | 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 | ).*.r.*.0.8,.../...........cy.+. |
| 62180 | 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | sin(ma).*.r.*.0.8,.0xFF000000);. |
| 621a0 | 00 00 00 00 00 00 33 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d 30 2e 30 30 35 3b | ......3..for.(double.f.=.-0.005; |
| 621c0 | 20 66 20 3c 3d 20 30 2e 30 30 35 3b 20 66 20 2b 3d 20 30 2e 30 30 32 29 20 7b 00 00 00 3c 20 20 | .f.<=.0.005;.f.+=.0.002).{...<.. |
| 621e0 | 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 | ..line(px,.a->w,.a->h,.cx,.cy,.c |
| 62200 | 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 31 20 20 | x.+.cos(sa.+.f).*.r.*.0.9,...1.. |
| 62220 | 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e | .......cy.+.sin(sa.+.f).*.r.*.0. |
| 62240 | 39 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 17 20 20 | 9,.0xFFFF0000);......}.......... |
| 62260 | 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 35 3b 00 00 00 10 20 20 69 66 20 28 68 | int.hub_r.=.r.*.0.05;......if.(h |
| 62280 | 75 62 5f 72 20 3c 20 33 29 00 00 00 0e 20 20 20 20 68 75 62 5f 72 20 3d 20 33 3b 00 00 00 24 20 | ub_r.<.3)........hub_r.=.3;...$. |
| 622a0 | 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 3b 20 69 72 | .for.(int.ir.=.0;.ir.<.hub_r;.ir |
| 622c0 | 2b 2b 29 00 00 00 33 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ++)...3....circle(px,.a->w,.a->h |
| 622e0 | 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 38 20 20 | ,.cx,.cy,.ir,.0xFFFFFFFF);...8.. |
| 62300 | 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 | circle(px,.a->w,.a->h,.cx,.cy,.h |
| 62320 | 75 62 5f 72 20 2b 20 31 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 | ub_r.+.1,.0xFF000000);.......).. |
| 62340 | 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c | wl_surface_attach(a->ws,.a->buf, |
| 62360 | 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 | .0,.0);...4..wl_surface_damage_b |
| 62380 | 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 | uffer(a->ws,.0,.0,.a->w,.a->h);. |
| 623a0 | 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 | .....wl_surface_commit(a->ws);.. |
| 623c0 | 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 | ....a->redraw.=.false;....}..... |
| 623e0 | 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c | ..Gstatic.void.xt_close(void.*d, |
| 62400 | 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e | .struct.xdg_toplevel.*xt).{.runn |
| 62420 | 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 | ing.=.0;.}.......Jstatic.void.xt |
| 62440 | 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 | _cfg(void.*d,.struct.xdg_topleve |
| 62460 | 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 | l.*xt,.int32_t.w,.int32_t.h,...( |
| 62480 | 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 77 6c 5f 61 72 72 | ...................struct.wl_arr |
| 624a0 | 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b | ay.*s).{......struct.app.*a.=.d; |
| 624c0 | 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 | ...3..if.(w.>.0.&&.h.>.0.&&.(w.! |
| 624e0 | 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 | =.a->w.||.h.!=.a->h)).{........a |
| 62500 | 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 | ->w.=.w;........a->h.=.h;....... |
| 62520 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 | .destroy_buf(a);........a->redra |
| 62540 | 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 | w.=.true;......}....}.......Fsta |
| 62560 | 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | tic.void.xs_cfg(void.*d,.struct. |
| 62580 | 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c | xdg_surface.*xs,.uint32_t.serial |
| 625a0 | 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 | ).{......struct.app.*a.=.d;...(. |
| 625c0 | 20 78 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 | .xdg_surface_ack_configure(xs,.s |
| 625e0 | 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 | erial);......a->configured.=.tru |
| 62600 | 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 | e;......a->redraw.=.true;....}.. |
| 62620 | 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 | .....Cstatic.void.reg_global(voi |
| 62640 | 64 20 2a 64 2c 20 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 | d.*d,.struct.wl_registry.*r,.uin |
| 62660 | 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t32_t.id,...3................... |
| 62680 | 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b | ....const.char.*i,.uint32_t.v).{ |
| 626a0 | 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 | ......struct.app.*a.=.d;..."..if |
| 626c0 | 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 | .(!strcmp(i,."wl_compositor")).. |
| 626e0 | 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | .C....a->comp.=.wl_registry_bind |
| 62700 | 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 | (r,.id,.&wl_compositor_interface |
| 62720 | 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 | ,.4);......else.if.(!strcmp(i,." |
| 62740 | 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 | wl_shm"))...;....a->shm.=.wl_reg |
| 62760 | 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 | istry_bind(r,.id,.&wl_shm_interf |
| 62780 | 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 | ace,.1);...'..else.if.(!strcmp(i |
| 627a0 | 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d | ,."xdg_wm_base")).{...?....a->wm |
| 627c0 | 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f | .=.wl_registry_bind(r,.id,.&xdg_ |
| 627e0 | 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 73 74 | wm_base_interface,.1);...C....st |
| 62800 | 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 73 65 5f 6c 69 | atic.const.struct.xdg_wm_base_li |
| 62820 | 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 | stener.l.=.{.ping.=.wm_ping};... |
| 62840 | 2b 20 20 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 61 2d | +....xdg_wm_base_add_listener(a- |
| 62860 | 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 | >wm,.&l,.a);......}....}........ |
| 62880 | 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 | int.main(void).{......struct.app |
| 628a0 | 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 | .a.=.{0};......a.w.=.400;......a |
| 628c0 | 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e | .h.=.400;......signal(SIGINT,.on |
| 628e0 | 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e | _sig);...!..a.d.=.wl_display_con |
| 62900 | 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 | nect(NULL);......if.(!a.d)...... |
| 62920 | 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 | ..return.1;...'..a.reg.=.wl_disp |
| 62940 | 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 | lay_get_registry(a.d);...G..stat |
| 62960 | 69 63 20 63 6f 6e 73 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 | ic.const.struct.wl_registry_list |
| 62980 | 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d | ener.rl.=.{.global.=.reg_global} |
| 629a0 | 3b 00 00 00 2b 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 | ;...+..wl_registry_add_listener( |
| 629c0 | 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 | a.reg,.&rl,.&a);......wl_display |
| 629e0 | 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d | _roundtrip(a.d);...!..if.(!a.com |
| 62a00 | 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 | p.||.!a.shm.||.!a.wm)........ret |
| 62a20 | 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | urn.1;......a.ws.=.wl_compositor |
| 62a40 | 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e | _create_surface(a.comp);...1..a. |
| 62a60 | 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 | xs.=.xdg_wm_base_get_xdg_surface |
| 62a80 | 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 | (a.wm,.a.ws);...G..static.const. |
| 62aa0 | 73 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 73 6c 20 | struct.xdg_surface_listener.xsl. |
| 62ac0 | 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 | =.{.configure.=.xs_cfg};...+..xd |
| 62ae0 | 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 | g_surface_add_listener(a.xs,.&xs |
| 62b00 | 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f | l,.&a);...(..a.xt.=.xdg_surface_ |
| 62b20 | 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 | get_toplevel(a.xs);...G..static. |
| 62b40 | 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 6e | const.struct.xdg_toplevel_listen |
| 62b60 | 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 | er.xtl.=.{.configure.=.xt_cfg,.. |
| 62b80 | 00 46 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 | .F.............................. |
| 62ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 | ......................close.=.xt |
| 62bc0 | 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c | _close};...,..xdg_toplevel_add_l |
| 62be0 | 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 | istener(a.xt,.&xtl,.&a);...*..xd |
| 62c00 | 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c | g_toplevel_set_title(a.xt,."wlcl |
| 62c20 | 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e | ock");......wl_surface_commit(a. |
| 62c40 | 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 | ws);......while.(!a.configured). |
| 62c60 | 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b | .......wl_display_dispatch(a.d); |
| 62c80 | 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d | ......render(&a);...9..int.tfd.= |
| 62ca0 | 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c | .timerfd_create(CLOCK_MONOTONIC, |
| 62cc0 | 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 | .TFD_CLOEXEC);...F..timerfd_sett |
| 62ce0 | 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 | ime(tfd,.0,.&(struct.itimerspec) |
| 62d00 | 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 | {{1,.0},.{1,.0}},.NULL);......ch |
| 62d20 | 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e | ar.buffer[100];......while.(runn |
| 62d40 | 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f | ing).{...-....while.(wl_display_ |
| 62d60 | 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 | prepare_read(a.d).!=.0)...'..... |
| 62d80 | 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 61 2e 64 | .wl_display_dispatch_pending(a.d |
| 62da0 | 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b | );........wl_display_flush(a.d); |
| 62dc0 | 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b | ...M....struct.pollfd.fds[2].=.{ |
| 62de0 | 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d | {wl_display_get_fd(a.d),.POLLIN} |
| 62e00 | 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c | ,.{tfd,.POLLIN}};........if.(pol |
| 62e20 | 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c | l(fds,.2,.-1).<.0).{..."......wl |
| 62e40 | 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 | _display_cancel_read(a.d);...... |
| 62e60 | 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 | ....continue;........}........if |
| 62e80 | 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 | .(fds[0].revents.&.POLLIN)...".. |
| 62ea0 | 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b | ....wl_display_read_events(a.d); |
| 62ec0 | 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | ........else..."......wl_display |
| 62ee0 | 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 | _cancel_read(a.d);...%....wl_dis |
| 62f00 | 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 | play_dispatch_pending(a.d);...". |
| 62f20 | 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 | ...if.(fds[1].revents.&.POLLIN). |
| 62f40 | 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 | {..........uint64_t.t_exp;...'.. |
| 62f60 | 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 | ....read(tfd,.&t_exp,.sizeof(t_e |
| 62f80 | 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 | xp));..........time_t.cli.=.time |
| 62fa0 | 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 | (NULL);...,......struct.tm.*t_st |
| 62fc0 | 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 | ruct.=.localtime(&cli);...I..... |
| 62fe0 | 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 | .strftime(buffer,.sizeof(buffer) |
| 63000 | 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 | ,."%d-%m-%Y.%I:%M:%S.%p",.t_stru |
| 63020 | 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 | ct);...%......printf("\rTime.is. |
| 63040 | 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 | %s",.buffer);..........fflush(st |
| 63060 | 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b | dout);..........a.redraw.=.true; |
| 63080 | 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 | ........}........if.(a.redraw).. |
| 630a0 | 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 | ........render(&a);......}...... |
| 630c0 | 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 | printf("\n");......close(tfd);.. |
| 630e0 | 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 | ....destroy_buf(&a);......wl_dis |
| 63100 | 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 | play_disconnect(a.d);......retur |
| 63120 | 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 3b 01 00 00 00 00 00 | n.0;....}5...............;...... |
| 63140 | 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e3 23 00 00 00 00 00 00 01 00 00 00 00 00 00 | ..................#............. |
| 63160 | 00 35 81 5f d0 00 00 00 9a 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 9b 00 00 00 01 00 00 00 | .5._............................ |
| 63180 | 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 631a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 631c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 631e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 632a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 632c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 632e0 | 00 00 00 00 00 00 00 69 9d a8 ce 04 01 00 00 00 00 00 f5 18 00 00 01 2b 00 00 00 00 00 00 00 00 | .......i...............+........ |
| 63300 | 00 00 00 01 00 00 00 01 7d f5 18 00 00 01 2c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 | ........}.....,................. |
| 63320 | 29 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | )..................wl_display_di |
| 63340 | 73 63 f5 18 00 00 01 2a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 1e 00 00 00 00 00 00 | sc.....*........................ |
| 63360 | 00 00 00 00 00 01 00 00 00 0d 20 20 20 20 20 20 73 74 72 66 74 69 6d f5 18 00 00 01 1f 00 00 00 | ................strftim......... |
| 63380 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 08 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 | ................................ |
| 633a0 | 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 f5 18 00 00 01 09 00 00 00 00 00 00 00 00 00 00 | .int.tfd.=.timer................ |
| 633c0 | 00 00 f5 18 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 20 20 20 20 | ................................ |
| 633e0 | 20 20 20 20 20 20 20 f5 18 00 00 01 02 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e4 00 | ................................ |
| 63400 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | .................else.if.(!strcm |
| 63420 | f5 18 00 00 00 e5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 df 00 00 00 00 00 00 00 00 | ................................ |
| 63440 | 00 00 00 01 00 00 00 05 73 74 61 74 69 f5 18 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ........stati................... |
| 63460 | 18 00 00 00 bb 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 19 20 20 69 66 20 28 73 5f 74 68 69 | .......................if.(s_thi |
| 63480 | 63 6b 20 3c 20 31 2e 30 29 20 73 5f 74 68 f5 18 00 00 00 bc 00 00 00 00 00 00 00 00 00 00 00 00 | ck.<.1.0).s_th.................. |
| 634a0 | f5 18 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 66 f5 18 00 00 00 b7 00 | ........................f....... |
| 634c0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b1 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 634e0 | 2b 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 | +..double.ha.=.((tmv.tm_hour.%.1 |
| 63500 | 32 29 20 2b 20 28 74 6d 76 2e 74 6d f5 18 00 00 00 b2 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 | 2).+.(tmv.tm.................... |
| 63520 | 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 17 20 20 20 20 69 66 20 28 78 5f 65 6e | ........................if.(x_en |
| 63540 | 64 20 3e 3d 20 77 29 20 78 5f 65 f5 18 00 00 00 93 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | d.>=.w).x_e..................... |
| 63560 | 00 00 84 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 20 20 69 66 20 28 6d 61 78 5f 79 20 3e | .....................if.(max_y.> |
| 63580 | 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d f5 18 00 00 00 85 00 00 00 00 00 00 00 00 00 00 | =.h).max_y.=.h.-................ |
| 635a0 | 00 00 f5 18 00 00 00 75 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 05 20 20 20 20 20 f5 18 00 | .......u........................ |
| 635c0 | 00 00 76 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 5a 00 00 00 00 00 00 00 00 00 00 00 | ..v.................Z........... |
| 635e0 | 01 00 00 00 06 20 20 69 6e 74 20 f5 18 00 00 00 5b 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | .......int......[............... |
| 63600 | 00 00 33 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 73 74 61 74 69 63 20 69 6e 74 20 63 72 | ..3................static.int.cr |
| 63620 | f5 18 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | .....4.......................... |
| 63640 | 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 81 f5 18 00 00 | ..........................5..... |
| 63660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 00 0d 00 00 00 00 00 00 00 00 00 | ..................3............. |
| 63680 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 33 00 00 00 0d 00 00 00 | ........................3....... |
| 636a0 | 00 00 00 00 00 00 00 00 27 00 00 00 06 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........'....................... |
| 636c0 | 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 5a 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 1b 00 | ..............Z................. |
| 636e0 | 00 00 05 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 | ................................ |
| 63700 | 00 00 00 00 75 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 1d 00 00 00 00 0b 00 00 | ....u........................... |
| 63720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 84 00 00 00 1d 00 | ................................ |
| 63740 | 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 17 00 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63760 | 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 92 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63780 | 1f 00 00 00 2b 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 | ....+........................... |
| 637a0 | f5 18 00 00 00 00 b1 00 00 00 2b 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 03 00 00 00 00 13 | ..........+..................... |
| 637c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 b6 00 00 00 | ................................ |
| 637e0 | 03 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 19 00 00 00 00 14 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63800 | 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 bb 00 00 00 19 00 00 00 00 00 00 00 00 00 | ................................ |
| 63820 | 00 00 24 00 00 00 05 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 | ..$............................. |
| 63840 | 00 00 f5 18 00 00 00 00 df 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 11 00 00 00 | ................................ |
| 63860 | 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 e4 00 | ................................ |
| 63880 | 00 00 11 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 0f 00 00 00 00 1a 00 00 00 00 00 00 00 00 | ................................ |
| 638a0 | 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 01 01 00 00 0f 00 00 00 00 00 00 00 | ................................ |
| 638c0 | 00 00 00 00 07 00 00 00 11 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 638e0 | 00 00 00 00 f5 18 00 00 00 00 08 01 00 00 11 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 0d 00 | ................................ |
| 63900 | 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 63920 | 1e 01 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 11 00 00 00 00 22 00 00 00 00 00 00 | ........................."...... |
| 63940 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 29 01 00 00 11 00 00 00 00 00 | ......................)......... |
| 63960 | 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a 00 | ...............#................ |
| 63980 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 9b 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 9c 00 00 | ......5._....................... |
| 639a0 | 01 2c 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 | .,.............................. |
| 639c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 639e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 63b00 | 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a8 cf 04 01 00 00 00 2f 00 f5 18 00 00 00 6e 00 00 00 | ............i......../......n... |
| 63b20 | d6 00 00 01 2c 00 00 00 55 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 | ....,...U...Sstatic.void.circle( |
| 63b40 | 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 | uint32_t.*px,.int.w,.int.h,.int. |
| 63b60 | 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b | cx,.int.cy,.int.r,.uint32_t.c).{ |
| 63b80 | 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 | ..."..int.x.=.0,.y.=.r,.d.=.3.-. |
| 63ba0 | 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 | 2.*.r;......while.(y.>=.x).{...H |
| 63bc0 | 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b | ....int.p[8][2].=.{{cx.+.x,.cy.+ |
| 63be0 | 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 | .y},.{cx.-.x,.cy.+.y},.{cx.+.x,. |
| 63c00 | 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b | cy.-.y},...H...................{ |
| 63c20 | 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 | cx.-.x,.cy.-.y},.{cx.+.y,.cy.+.x |
| 63c40 | 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 | },.{cx.-.y,.cy.+.x},...7........ |
| 63c60 | 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 | ...........{cx.+.y,.cy.-.x},.{cx |
| 63c80 | 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 | .-.y,.cy.-.x}};........for.(int. |
| 63ca0 | 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 | i.=.0;.i.<.8;.i++)...E......if.( |
| 63cc0 | 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 | p[i][0].>=.0.&&.p[i][0].<.w.&&.p |
| 63ce0 | 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 | [i][1].>=.0.&&.p[i][1].<.h)...&. |
| 63d00 | 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d | .......px[p[i][1].*.w.+.p[i][0]] |
| 63d20 | 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 | .=.c;........if.(d.>.0).{....... |
| 63d40 | 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 | ...d.+=.4.*.(x.-.y).+.10;....... |
| 63d60 | 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 | ...y--;........}.else..........d |
| 63d80 | 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 | .+=.4.*.x.+.6;........x++;...... |
| 63da0 | 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 | }....}.......nstatic.void.fill_t |
| 63dc0 | 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | ri(uint32_t.*px,.int.w,.int.h,.i |
| 63de0 | 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 | nt.x0,.int.y0,.int.x1,.int.y1,.i |
| 63e00 | 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 | nt.x2,.int.y2,.uint32_t.c).{...B |
| 63e20 | 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 | ..int.min_y.=.y0.<.y1.?.(y0.<.y2 |
| 63e40 | 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 | .?.y0.:.y2).:.(y1.<.y2.?.y1.:.y2 |
| 63e60 | 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 | );...B..int.max_y.=.y0.>.y1.?.(y |
| 63e80 | 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 | 0.>.y2.?.y0.:.y2).:.(y1.>.y2.?.y |
| 63ea0 | 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e | 1.:.y2);......if.(min_y.<.0).min |
| 63ec0 | 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 | _y.=.0;......if.(max_y.>=.h).max |
| 63ee0 | 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 | _y.=.h.-.1;...(..for.(int.y.=.mi |
| 63f00 | 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 | n_y;.y.<=.max_y;.y++).{........i |
| 63f20 | 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 | nt.x_start.=.w,.x_end.=.0;...3.. |
| 63f40 | 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 | ..int.xs[3].=.{x0,.x1,.x2},.ys[3 |
| 63f60 | 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e | ].=.{y0,.y1,.y2};...!....for.(in |
| 63f80 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 | t.i.=.0;.i.<.3;.i++).{.......... |
| 63fa0 | 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 | int.j.=.(i.+.1).%.3;...C......if |
| 63fc0 | 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 | .((ys[i].<=.y.&&.ys[j].>.y).||.( |
| 63fe0 | 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 25 20 | ys[j].<=.y.&&.ys[i].>.y)).{...%. |
| 64000 | 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 73 5b 69 5d 29 20 63 6f 6e 74 69 | .......if.(ys[j].==.ys[i]).conti |
| 64020 | 6e 75 65 3b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 | nue;...H........int.x.=.xs[i].+. |
| 64040 | 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 | (y.-.ys[i]).*.(xs[j].-.xs[i])./. |
| 64060 | 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 | (ys[j].-.ys[i]);...%........if.( |
| 64080 | 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 | x.<.x_start).x_start.=.x;...!... |
| 640a0 | 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 | .....if.(x.>.x_end).x_end.=.x;.. |
| 640c0 | 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f | ........}........}...!....if.(x_ |
| 640e0 | 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 | start.<.0).x_start.=.0;..."....i |
| 64100 | 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 | f.(x_end.>=.w).x_end.=.w.-.1;... |
| 64120 | 3d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 | =....for.(int.x.=.x_start;.x.<=. |
| 64140 | 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 | x_end;.x++).px[y.*.w.+.x].=.c;.. |
| 64160 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | ....}....}.......#static.void.re |
| 64180 | 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 | nder(struct.app.*a).{.../..if.(! |
| 641a0 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d | a->configured.||.a->w.<=.0.||.a- |
| 641c0 | 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 | >h.<=.0)........return;......if. |
| 641e0 | 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 | (!a->buf)........alloc_buf(a);.. |
| 64200 | 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 | ....uint32_t.*px.=.a->pixels;... |
| 64220 | 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 | $..memset(px,.0xFF,.a->w.*.a->h. |
| 64240 | 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c | *.4);......time_t.tt.=.time(NULL |
| 64260 | 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 | );......struct.tm.tmv;......loca |
| 64280 | 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 | ltime_r(&tt,.&tmv);...#..int.cx. |
| 642a0 | 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 | =.a->w./.2,.cy.=.a->h./.2;.../.. |
| 642c0 | 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d | int.r.=.(a->w.<.a->h.?.a->w.:.a- |
| 642e0 | 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 | >h)./.2.-.10;......if.(r.<.5).r. |
| 64300 | 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | =.5;..........for.(int.i.=.0;.i. |
| 64320 | 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d | <.60;.i++).{........double.ang.= |
| 64340 | 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | .i./.60.0.*.2.*.M_PI.-.M_PI_2;.. |
| 64360 | 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 | .1....int.len.=.(i.%.5.==.0).?.r |
| 64380 | 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c | .*.0.12.:.r.*.0.04;...0....doubl |
| 643a0 | 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 35 20 3a | e.t_ang.=.(i.%.5.==.0).?.0.015.: |
| 643c0 | 20 30 2e 30 30 38 3b 00 00 00 1d 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 | .0.008;........fill_tri(px,.a->w |
| 643e0 | 2c 20 61 2d 3e 68 2c 20 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f | ,.a->h,....:.............cx.+.co |
| 64400 | 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d 74 5f 61 | s(ang-t_ang)*r,.cy.+.sin(ang-t_a |
| 64420 | 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 | ng)*r,...:.............cx.+.cos( |
| 64440 | 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 74 5f 61 6e 67 | ang+t_ang)*r,.cy.+.sin(ang+t_ang |
| 64460 | 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e | )*r,...G.............cx.+.cos(an |
| 64480 | 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 6c 65 6e | g)*(r-len),.cy.+.sin(ang)*(r-len |
| 644a0 | 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 | ),.0xFF000000);......}.......4.. |
| 644c0 | 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 | double.sa.=.tmv.tm_sec./.60.0.*. |
| 644e0 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d | 2.*.M_PI.-.M_PI_2;...J..double.m |
| 64500 | 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 | a.=.(tmv.tm_min.+.tmv.tm_sec./.6 |
| 64520 | 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | 0.0)./.60.0.*.2.*.M_PI.-.M_PI_2; |
| 64540 | 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 | ...T..double.ha.=.((tmv.tm_hour. |
| 64560 | 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 | %.12).+.(tmv.tm_min./.60.0))./.1 |
| 64580 | 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 4f | 2.0.*.2.*.M_PI.-.M_PI_2;.......O |
| 645a0 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 645c0 | 63 6f 73 28 68 61 2d 30 2e 31 35 29 2a 72 2a 30 2e 30 36 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 | cos(ha-0.15)*r*0.06,.cy.+.sin(ha |
| 645e0 | 2d 30 2e 31 35 29 2a 72 2a 30 2e 30 36 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 | -0.15)*r*0.06,....?...........cx |
| 64600 | 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 35 29 2a 72 2a 30 2e 30 36 2c 20 63 79 20 2b 20 73 69 6e | .+.cos(ha+0.15)*r*0.06,.cy.+.sin |
| 64620 | 28 68 61 2b 30 2e 31 35 29 2a 72 2a 30 2e 30 36 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 20 20 | (ha+0.15)*r*0.06,....A.......... |
| 64640 | 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 | .cx.+.cos(ha)*r*0.55,.cy.+.sin(h |
| 64660 | 61 29 2a 72 2a 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4d 20 20 66 69 6c | a)*r*0.55,.0xFF000000);...M..fil |
| 64680 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d | l_tri(px,.a->w,.a->h,.cx.+.cos(m |
| 646a0 | 61 2d 30 2e 31 29 2a 72 2a 30 2e 30 34 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 31 29 2a | a-0.1)*r*0.04,.cy.+.sin(ma-0.1)* |
| 646c0 | 72 2a 30 2e 30 34 2c 20 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 | r*0.04,....=...........cx.+.cos( |
| 646e0 | 6d 61 2b 30 2e 31 29 2a 72 2a 30 2e 30 34 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 31 29 | ma+0.1)*r*0.04,.cy.+.sin(ma+0.1) |
| 64700 | 2a 72 2a 30 2e 30 34 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | *r*0.04,....?...........cx.+.cos |
| 64720 | 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 | (ma)*r*0.8,.cy.+.sin(ma)*r*0.8,. |
| 64740 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 1c 20 20 64 6f 75 62 6c 65 20 73 5f 74 | 0xFF000000);..........double.s_t |
| 64760 | 68 69 63 6b 20 3d 20 72 20 2a 20 30 2e 30 31 3b 00 00 00 23 20 20 69 66 20 28 73 5f 74 68 69 63 | hick.=.r.*.0.01;...#..if.(s_thic |
| 64780 | 6b 20 3c 20 31 2e 30 29 20 73 5f 74 68 69 63 6b 20 3d 20 31 2e 30 3b 00 00 00 31 20 20 66 6f 72 | k.<.1.0).s_thick.=.1.0;...1..for |
| 647a0 | 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 2d 30 2e 30 31 3b 20 66 20 3c 3d 20 30 2e 30 31 3b 20 66 | .(double.f.=.-0.01;.f.<=.0.01;.f |
| 647c0 | 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 00 00 5b 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e | .+=.0.005).{...[....line(px,.a-> |
| 647e0 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2b 66 29 2a | w,.a->h,.cx,.cy,.cx.+.cos(sa+f)* |
| 64800 | 72 2a 30 2e 38 35 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2b 66 29 2a 72 2a 30 2e 38 35 2c 20 30 | r*0.85,.cy.+.sin(sa+f)*r*0.85,.0 |
| 64820 | 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 | xFFFF0000);......}..........int. |
| 64840 | 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 1b 20 20 69 66 20 28 68 75 62 5f 72 | hub_r.=.r.*.0.04;......if.(hub_r |
| 64860 | 20 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 69 6e 74 20 69 | .<.4).hub_r.=.4;...X..for.(int.i |
| 64880 | 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 | r.=.0;.ir.<.hub_r.-.2;.ir++).cir |
| 648a0 | 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 | cle(px,.a->w,.a->h,.cx,.cy,.ir,. |
| 648c0 | 30 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 00 00 6e 00 00 00 45 00 00 00 54 00 00 00 | 0xFFFFFFFF);5.......n...E...T... |
| 648e0 | 28 00 00 00 66 00 00 00 03 00 00 00 cc 09 00 00 00 00 00 00 2e 0c 00 00 00 00 00 00 22 0d 00 00 | (...f......................."... |
| 64900 | 00 00 00 00 35 81 5f d0 00 00 00 9c 00 00 00 9e 00 00 00 00 00 00 00 00 00 00 00 9d 00 00 00 01 | ....5._......................... |
| 64920 | 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 | ................................ |
| 64940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 649a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 649c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 649e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 64a80 | 00 00 00 00 00 00 00 00 00 00 69 9d a9 10 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 | ..........i..................... |
| 64aa0 | 00 00 00 00 00 01 3e 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 | ......>....#define._POSIX_C_SOUR |
| 64ac0 | 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c | CE.200809L...&#include."xdg-shel |
| 64ae0 | 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 | l-client-protocol.h"....#include |
| 64b00 | 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 | .<fcntl.h>....#include.<math.h>. |
| 64b20 | 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | ...#include.<poll.h>....#include |
| 64b40 | 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c | .<signal.h>....#include.<stdbool |
| 64b60 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 | .h>....#include.<stdint.h>....#i |
| 64b80 | 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 75 64 65 20 3c 73 74 | nclude.<stdio.h>....#include.<st |
| 64ba0 | 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 3e 00 00 | dlib.h>....#include.<string.h>.. |
| 64bc0 | 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c | ..#include.<sys/mman.h>....#incl |
| 64be0 | 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 | ude.<sys/timerfd.h>....#include. |
| 64c00 | 3c 74 69 6d 65 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 | <time.h>....#include.<unistd.h>. |
| 64c20 | 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 00 | ...#include.<wayland-client.h>.. |
| 64c40 | 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f | ......#ifndef.M_PI...##define.M_ |
| 64c60 | 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e | PI.3.14159265358979323846....#en |
| 64c80 | 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 | dif....#ifndef.M_PI_2...%#define |
| 64ca0 | 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 | .M_PI_2.1.57079632679489661923.. |
| 64cc0 | 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 | ..#endif.......)static.volatile. |
| 64ce0 | 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 | sig_atomic_t.running.=.1;....sta |
| 64d00 | 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 | tic.void.on_sig(int.s).{......(v |
| 64d20 | 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 | oid)s;......running.=.0;....}... |
| 64d40 | 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c | .....struct.app.{......struct.wl |
| 64d60 | 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | _display.*d;......struct.wl_regi |
| 64d80 | 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 | stry.*reg;......struct.wl_compos |
| 64da0 | 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a | itor.*comp;......struct.wl_shm.* |
| 64dc0 | 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | shm;......struct.xdg_wm_base.*wm |
| 64de0 | 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 | ;......struct.wl_surface.*ws;... |
| 64e00 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 | ...struct.xdg_surface.*xs;...... |
| 64e20 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f | struct.xdg_toplevel.*xt;......vo |
| 64e40 | 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | id.*pixels;......struct.wl_buffe |
| 64e60 | 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 | r.*buf;......int.w,.h;......int. |
| 64e80 | 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 | bw,.bh;......bool.configured;... |
| 64ea0 | 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 | ...bool.redraw;....};.......Jsta |
| 64ec0 | 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | tic.void.wm_ping(void.*data,.str |
| 64ee0 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 | uct.xdg_wm_base.*wm,.uint32_t.se |
| 64f00 | 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d | rial).{......xdg_wm_base_pong(wm |
| 64f20 | 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e | ,.serial);....}.......$static.in |
| 64f40 | 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 | t.create_shm(size_t.size).{...#. |
| 64f60 | 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 | .char.t[].=."/tmp/wlclock-XXXXXX |
| 64f80 | 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d | ";......int.fd.=.mkstemp(t);.... |
| 64fa0 | 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | ..if.(fd.<.0)........exit(1);... |
| 64fc0 | 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 | ...unlink(t);......if.(ftruncate |
| 64fe0 | 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | (fd,.size).<.0)........exit(1);. |
| 65000 | 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 | .....return.fd;....}.......(stat |
| 65020 | 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a | ic.void.destroy_buf(struct.app.* |
| 65040 | 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 | a).{......if.(!a->buf)........re |
| 65060 | 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 | turn;...*..size_t.size.=.(size_t |
| 65080 | 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 | )a->bw.*.a->bh.*.4;......wl_buff |
| 650a0 | 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 | er_destroy(a->buf);......munmap( |
| 650c0 | 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 | a->pixels,.size);......a->buf.=. |
| 650e0 | 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 | NULL;......a->pixels.=.NULL;.... |
| 65100 | 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 | }.......&static.void.alloc_buf(s |
| 65120 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 | truct.app.*a).{......destroy_buf |
| 65140 | 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 | (a);...(..size_t.size.=.(size_t) |
| 65160 | 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 | a->w.*.a->h.*.4;......int.fd.=.c |
| 65180 | 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 | reate_shm(size);...J..a->pixels. |
| 651a0 | 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 20 7c 20 50 | =.mmap(NULL,.size,.PROT_READ.|.P |
| 651c0 | 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 | ROT_WRITE,.MAP_SHARED,.fd,.0);.. |
| 651e0 | 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 | ....if.(a->pixels.==.MAP_FAILED) |
| 65200 | 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f | ........exit(1);...B..struct.wl_ |
| 65220 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| 65240 | 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 | ool(a->shm,.fd,.size);...C..a->b |
| 65260 | 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 | uf.=.wl_shm_pool_create_buffer(p |
| 65280 | 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 | ool,.0,.a->w,.a->h,.a->w.*.4,... |
| 652a0 | 3d 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 | =............................... |
| 652c0 | 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 | ......WL_SHM_FORMAT_ARGB8888);.. |
| 652e0 | 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 | ....wl_shm_pool_destroy(pool);.. |
| 65300 | 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 | ....close(fd);......a->bw.=.a->w |
| 65320 | 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ;......a->bh.=.a->h;....}....... |
| 65340 | 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 | Lstatic.void.line(uint32_t.*px,. |
| 65360 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e | int.w,.int.h,.int.x0,.int.y0,.in |
| 65380 | 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.x1,.int.y1,................... |
| 653a0 | 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 | ..uint32_t.c).{.../..int.dx.=.ab |
| 653c0 | 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d | s(x1.-.x0),.sx.=.x0.<.x1.?.1.:.- |
| 653e0 | 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 | 1;...0..int.dy.=.-abs(y1.-.y0),. |
| 65400 | 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 | sy.=.y0.<.y1.?.1.:.-1;......int. |
| 65420 | 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 | err.=.dx.+.dy;......while.(1).{. |
| 65440 | 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 | ../....if.(x0.>=.0.&&.x0.<.w.&&. |
| 65460 | 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 | y0.>=.0.&&.y0.<.h)..........px[y |
| 65480 | 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d | 0.*.w.+.x0].=.c;........if.(x0.= |
| 654a0 | 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | =.x1.&&.y0.==.y1)..........break |
| 654c0 | 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 | ;........int.e2.=.2.*.err;...... |
| 654e0 | 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b | ..if.(e2.>=.dy).{..........err.+ |
| 65500 | 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 | =.dy;..........x0.+=.sx;........ |
| 65520 | 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 | }........if.(e2.<=.dx).{........ |
| 65540 | 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 | ..err.+=.dx;..........y0.+=.sy;. |
| 65560 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 | .......}......}....}.......Estat |
| 65580 | 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 | ic.void.circle(uint32_t.*px,.int |
| 655a0 | 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 | .w,.int.h,.int.cx,.int.cy,.int.r |
| 655c0 | 2c 00 00 00 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 32 5f 74 | ,.......................uint32_t |
| 655e0 | 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d | .c).{..."..int.x.=.0,.y.=.r,.d.= |
| 65600 | 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 | .3.-.2.*.r;......while.(y.>=.x). |
| 65620 | 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c | {...H....int.p[8][2].=.{{cx.+.x, |
| 65640 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 | .cy.+.y},.{cx.-.x,.cy.+.y},.{cx. |
| 65660 | 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | +.x,.cy.-.y},...H............... |
| 65680 | 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 | ....{cx.-.x,.cy.-.y},.{cx.+.y,.c |
| 656a0 | 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 | y.+.x},.{cx.-.y,.cy.+.x},...7... |
| 656c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d | ................{cx.+.y,.cy.-.x} |
| 656e0 | 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 | ,.{cx.-.y,.cy.-.x}};........for. |
| 65700 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 | (int.i.=.0;.i.<.8;.i++)...E..... |
| 65720 | 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 | .if.(p[i][0].>=.0.&&.p[i][0].<.w |
| 65740 | 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 | .&&.p[i][1].>=.0.&&.p[i][1].<.h) |
| 65760 | 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 | ...&........px[p[i][1].*.w.+.p[i |
| 65780 | 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 | ][0]].=.c;........if.(d.>.0).{.. |
| 657a0 | 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 | ........d.+=.4.*.(x.-.y).+.10;.. |
| 657c0 | 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 | ........y--;........}.else...... |
| 657e0 | 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 | ....d.+=.4.*.x.+.6;........x++;. |
| 65800 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 | .....}....}.......Pstatic.void.f |
| 65820 | 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | ill_tri(uint32_t.*px,.int.w,.int |
| 65840 | 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 | .h,.int.x0,.int.y0,.int.x1,.int. |
| 65860 | 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | y1,...2.....................int. |
| 65880 | 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 | x2,.int.y2,.uint32_t.c).{...B..i |
| 658a0 | 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 | nt.min_y.=.y0.<.y1.?.(y0.<.y2.?. |
| 658c0 | 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 | y0.:.y2).:.(y1.<.y2.?.y1.:.y2);. |
| 658e0 | 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e | ..B..int.max_y.=.y0.>.y1.?.(y0.> |
| 65900 | 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a | .y2.?.y0.:.y2).:.(y1.>.y2.?.y1.: |
| 65920 | 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 | .y2);......if.(min_y.<.0)....... |
| 65940 | 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 | .min_y.=.0;......if.(max_y.>=.h) |
| 65960 | 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 | ........max_y.=.h.-.1;...(..for. |
| 65980 | 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 | (int.y.=.min_y;.y.<=.max_y;.y++) |
| 659a0 | 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 | .{........int.x_start.=.w,.x_end |
| 659c0 | 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 | .=.0;...3....int.xs[3].=.{x0,.x1 |
| 659e0 | 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 | ,.x2},.ys[3].=.{y0,.y1,.y2};...! |
| 65a00 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 | ....for.(int.i.=.0;.i.<.3;.i++). |
| 65a20 | 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 | {..........int.j.=.(i.+.1).%.3;. |
| 65a40 | 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a | ..C......if.((ys[i].<=.y.&&.ys[j |
| 65a60 | 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e | ].>.y).||.(ys[j].<=.y.&&.ys[i].> |
| 65a80 | 20 79 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 | .y)).{............if.(ys[j].==.y |
| 65aa0 | 73 5b 69 5d 29 00 00 00 13 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 48 | s[i])..............continue;...H |
| 65ac0 | 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b | ........int.x.=.xs[i].+.(y.-.ys[ |
| 65ae0 | 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d | i]).*.(xs[j].-.xs[i])./.(ys[j].- |
| 65b00 | 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 | .ys[i]);............if.(x.<.x_st |
| 65b20 | 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 | art)..............x_start.=.x;.. |
| 65b40 | 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 | ..........if.(x.>.x_end)........ |
| 65b60 | 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 | ......x_end.=.x;..........}..... |
| 65b80 | 20 20 20 7d 00 00 00 14 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 | ...}........if.(x_start.<.0).... |
| 65ba0 | 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 13 20 20 20 20 69 66 20 28 78 5f | ......x_start.=.0;........if.(x_ |
| 65bc0 | 65 6e 64 20 3e 3d 20 77 29 00 00 00 14 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 | end.>=.w)..........x_end.=.w.-.1 |
| 65be0 | 3b 00 00 00 2a 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 | ;...*....for.(int.x.=.x_start;.x |
| 65c00 | 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 | .<=.x_end;.x++)..........px[y.*. |
| 65c20 | 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 | w.+.x].=.c;......}....}.......#s |
| 65c40 | 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 | tatic.void.render(struct.app.*a) |
| 65c60 | 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d | .{.../..if.(!a->configured.||.a- |
| 65c80 | 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 | >w.<=.0.||.a->h.<=.0)........ret |
| 65ca0 | 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c | urn;......if.(!a->buf)........al |
| 65cc0 | 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 | loc_buf(a);......uint32_t.*px.=. |
| 65ce0 | 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c | a->pixels;...$..memset(px,.0xFF, |
| 65d00 | 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 | .a->w.*.a->h.*.4);......time_t.t |
| 65d20 | 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 | t.=.time(NULL);......struct.tm.t |
| 65d40 | 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b | mv;......localtime_r(&tt,.&tmv); |
| 65d60 | 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d | ...#..int.cx.=.a->w./.2,.cy.=.a- |
| 65d80 | 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e | >h./.2;.../..int.r.=.(a->w.<.a-> |
| 65da0 | 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 | h.?.a->w.:.a->h)./.2.-.10;...... |
| 65dc0 | 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 | if.(r.<.5)........r.=.5;........ |
| 65de0 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b | ..for.(int.i.=.0;.i.<.60;.i++).{ |
| 65e00 | 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 | ........double.ang.=.i./.60.0.*. |
| 65e20 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 | 2.*.M_PI.-.M_PI_2;...1....int.le |
| 65e40 | 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 | n.=.(i.%.5.==.0).?.r.*.0.12.:.r. |
| 65e60 | 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 | *.0.04;...0....double.t_ang.=.(i |
| 65e80 | 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 35 20 3a 20 30 2e 30 30 38 3b 00 00 00 37 20 | .%.5.==.0).?.0.015.:.0.008;...7. |
| 65ea0 | 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | ...fill_tri(px,.a->w,.a->h,.cx.+ |
| 65ec0 | 20 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 | .cos(ang.-.t_ang).*.r,...B...... |
| 65ee0 | 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 | .......cy.+.sin(ang.-.t_ang).*.r |
| 65f00 | 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 | ,.cx.+.cos(ang.+.t_ang).*.r,...B |
| 65f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e | .............cy.+.sin(ang.+.t_an |
| 65f40 | 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e | g).*.r,.cx.+.cos(ang).*.(r.-.len |
| 65f60 | 29 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 | ),...4.............cy.+.sin(ang) |
| 65f80 | 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 | .*.(r.-.len),.0xFF000000);...... |
| 65fa0 | 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 | }.......4..double.sa.=.tmv.tm_se |
| 65fc0 | 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 | c./.60.0.*.2.*.M_PI.-.M_PI_2;... |
| 65fe0 | 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 | J..double.ma.=.(tmv.tm_min.+.tmv |
| 66000 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .tm_sec./.60.0)./.60.0.*.2.*.M_P |
| 66020 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c | I.-.M_PI_2;......double.ha.=...L |
| 66040 | 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 | ......((tmv.tm_hour.%.12).+.(tmv |
| 66060 | 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f | .tm_min./.60.0))./.12.0.*.2.*.M_ |
| 66080 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 | PI.-.M_PI_2;.......:..fill_tri(p |
| 660a0 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 | x,.a->w,.a->h,.cx.+.cos(ha.-.0.1 |
| 660c0 | 35 29 20 2a 20 72 20 2a 20 30 2e 30 36 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | 5).*.r.*.0.06,...J...........cy. |
| 660e0 | 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 35 29 20 2a 20 72 20 2a 20 30 2e 30 36 2c 20 63 78 20 | +.sin(ha.-.0.15).*.r.*.0.06,.cx. |
| 66100 | 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 35 29 20 2a 20 72 20 2a 20 30 2e 30 36 2c 00 00 00 43 | +.cos(ha.+.0.15).*.r.*.0.06,...C |
| 66120 | 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 35 29 20 2a | ...........cy.+.sin(ha.+.0.15).* |
| 66140 | 20 72 20 2a 20 30 2e 30 36 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e | .r.*.0.06,.cx.+.cos(ha).*.r.*.0. |
| 66160 | 35 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a | 55,...0...........cy.+.sin(ha).* |
| 66180 | 20 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 39 20 20 66 69 6c | .r.*.0.55,.0xFF000000);...9..fil |
| 661a0 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d | l_tri(px,.a->w,.a->h,.cx.+.cos(m |
| 661c0 | 61 20 2d 20 30 2e 31 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 00 00 00 48 20 20 20 20 20 20 20 20 | a.-.0.1).*.r.*.0.04,...H........ |
| 661e0 | 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 31 29 20 2a 20 72 20 2a 20 30 2e 30 34 | ...cy.+.sin(ma.-.0.1).*.r.*.0.04 |
| 66200 | 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 31 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c | ,.cx.+.cos(ma.+.0.1).*.r.*.0.04, |
| 66220 | 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 31 | ...A...........cy.+.sin(ma.+.0.1 |
| 66240 | 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a | ).*.r.*.0.04,.cx.+.cos(ma).*.r.* |
| 66260 | 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 | .0.8,.../...........cy.+.sin(ma) |
| 66280 | 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 1c | .*.r.*.0.8,.0xFF000000);........ |
| 662a0 | 20 20 64 6f 75 62 6c 65 20 73 5f 74 68 69 63 6b 20 3d 20 72 20 2a 20 30 2e 30 31 3b 00 00 00 14 | ..double.s_thick.=.r.*.0.01;.... |
| 662c0 | 20 20 69 66 20 28 73 5f 74 68 69 63 6b 20 3c 20 31 2e 30 29 00 00 00 12 20 20 20 20 73 5f 74 68 | ..if.(s_thick.<.1.0)........s_th |
| 662e0 | 69 63 6b 20 3d 20 31 2e 30 3b 00 00 00 31 20 20 66 6f 72 20 28 64 6f 75 62 6c 65 20 66 20 3d 20 | ick.=.1.0;...1..for.(double.f.=. |
| 66300 | 2d 30 2e 30 31 3b 20 66 20 3c 3d 20 30 2e 30 31 3b 20 66 20 2b 3d 20 30 2e 30 30 35 29 20 7b 00 | -0.01;.f.<=.0.01;.f.+=.0.005).{. |
| 66320 | 00 00 3d 20 20 20 20 6c 69 6e 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 | ..=....line(px,.a->w,.a->h,.cx,. |
| 66340 | 63 79 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 66 29 20 2a 20 72 20 2a 20 30 2e 38 35 2c | cy,.cx.+.cos(sa.+.f).*.r.*.0.85, |
| 66360 | 00 00 00 32 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 66 29 20 2a 20 | ...2.........cy.+.sin(sa.+.f).*. |
| 66380 | 72 20 2a 20 30 2e 38 35 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 | r.*.0.85,.0xFFFF0000);......}... |
| 663a0 | 00 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 10 | .......int.hub_r.=.r.*.0.04;.... |
| 663c0 | 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 75 62 5f 72 20 3d 20 | ..if.(hub_r.<.4)........hub_r.=. |
| 663e0 | 34 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 | 4;...(..for.(int.ir.=.0;.ir.<.hu |
| 66400 | 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c | b_r.-.2;.ir++)...3....circle(px, |
| 66420 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 | .a->w,.a->h,.cx,.cy,.ir,.0xFFFFF |
| 66440 | 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | FFF);...4..circle(px,.a->w,.a->h |
| 66460 | 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 | ,.cx,.cy,.hub_r,.0xFF000000);... |
| 66480 | 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 | ....)..wl_surface_attach(a->ws,. |
| 664a0 | 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 | a->buf,.0,.0);...4..wl_surface_d |
| 664c0 | 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 | amage_buffer(a->ws,.0,.0,.a->w,. |
| 664e0 | 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d | a->h);......wl_surface_commit(a- |
| 66500 | 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 | >ws);......a->redraw.=.false;... |
| 66520 | 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 | .}.......Gstatic.void.xt_close(v |
| 66540 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 | oid.*d,.struct.xdg_toplevel.*xt) |
| 66560 | 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 | .{.running.=.0;.}.......Jstatic. |
| 66580 | 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f | void.xt_cfg(void.*d,.struct.xdg_ |
| 665a0 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 | toplevel.*xt,.int32_t.w,.int32_t |
| 665c0 | 20 68 2c 00 00 00 28 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 | .h,...(...................struct |
| 665e0 | 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 | .wl_array.*s).{......struct.app. |
| 66600 | 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 | *a.=.d;...3..if.(w.>.0.&&.h.>.0. |
| 66620 | 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 | &&.(w.!=.a->w.||.h.!=.a->h)).{.. |
| 66640 | 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b | ......a->w.=.w;........a->h.=.h; |
| 66660 | 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 | ........destroy_buf(a);........a |
| 66680 | 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 | ->redraw.=.true;......}....}.... |
| 666a0 | 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 | ...Fstatic.void.xs_cfg(void.*d,. |
| 666c0 | 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 6e 74 33 32 5f 74 | struct.xdg_surface.*xs,.uint32_t |
| 666e0 | 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | .serial).{......struct.app.*a.=. |
| 66700 | 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 | d;...(..xdg_surface_ack_configur |
| 66720 | 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 | e(xs,.serial);......a->configure |
| 66740 | 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b | d.=.true;......a->redraw.=.true; |
| 66760 | 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f | ....}.......Cstatic.void.reg_glo |
| 66780 | 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 | bal(void.*d,.struct.wl_registry. |
| 667a0 | 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 | *r,.uint32_t.id,...3............ |
| 667c0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 | ...........const.char.*i,.uint32 |
| 667e0 | 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 | _t.v).{......struct.app.*a.=.d;. |
| 66800 | 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 | .."..if.(!strcmp(i,."wl_composit |
| 66820 | 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 | or"))...C....a->comp.=.wl_regist |
| 66840 | 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e | ry_bind(r,.id,.&wl_compositor_in |
| 66860 | 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 | terface,.4);......else.if.(!strc |
| 66880 | 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d | mp(i,."wl_shm"))...;....a->shm.= |
| 668a0 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d | .wl_registry_bind(r,.id,.&wl_shm |
| 668c0 | 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 | _interface,.1);...'..else.if.(!s |
| 668e0 | 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 | trcmp(i,."xdg_wm_base")).{...?.. |
| 66900 | 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 | ..a->wm.=.wl_registry_bind(r,.id |
| 66920 | 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 00 00 | ,.&xdg_wm_base_interface,.1);... |
| 66940 | 43 20 20 20 20 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 | C....static.const.struct.xdg_wm_ |
| 66960 | 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 | base_listener.l.=.{.ping.=.wm_pi |
| 66980 | 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 | ng};...+....xdg_wm_base_add_list |
| 669a0 | 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | ener(a->wm,.&l,.a);......}....}. |
| 669c0 | 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 | .......int.main(void).{......str |
| 669e0 | 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b | uct.app.a.=.{0};......a.w.=.400; |
| 66a00 | 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 | ......a.h.=.400;......signal(SIG |
| 66a20 | 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 | INT,.on_sig);...!..a.d.=.wl_disp |
| 66a40 | 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 | lay_connect(NULL);......if.(!a.d |
| 66a60 | 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 | )........return.1;...'..a.reg.=. |
| 66a80 | 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 | wl_display_get_registry(a.d);... |
| 66aa0 | 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 | G..static.const.struct.wl_regist |
| 66ac0 | 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f | ry_listener.rl.=.{.global.=.reg_ |
| 66ae0 | 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 | global};...+..wl_registry_add_li |
| 66b00 | 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f | stener(a.reg,.&rl,.&a);......wl_ |
| 66b20 | 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 | display_roundtrip(a.d);...!..if. |
| 66b40 | 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d | (!a.comp.||.!a.shm.||.!a.wm).... |
| 66b60 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d | ....return.1;......a.ws.=.wl_com |
| 66b80 | 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 | positor_create_surface(a.comp);. |
| 66ba0 | 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f | ..1..a.xs.=.xdg_wm_base_get_xdg_ |
| 66bc0 | 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 | surface(a.wm,.a.ws);...G..static |
| 66be0 | 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 74 65 6e | .const.struct.xdg_surface_listen |
| 66c00 | 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 | er.xsl.=.{.configure.=.xs_cfg};. |
| 66c20 | 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | ..+..xdg_surface_add_listener(a. |
| 66c40 | 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 | xs,.&xsl,.&a);...(..a.xt.=.xdg_s |
| 66c60 | 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 | urface_get_toplevel(a.xs);...G.. |
| 66c80 | 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 65 6c | static.const.struct.xdg_toplevel |
| 66ca0 | 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 | _listener.xtl.=.{.configure.=.xt |
| 66cc0 | 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | _cfg,...F....................... |
| 66ce0 | 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 2e 63 6c 6f | .............................clo |
| 66d00 | 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 | se.=.xt_close};...,..xdg_topleve |
| 66d20 | 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 | l_add_listener(a.xt,.&xtl,.&a);. |
| 66d40 | 00 00 2a 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 61 2e 78 74 | ..*..xdg_toplevel_set_title(a.xt |
| 66d60 | 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | ,."wlclock");......wl_surface_co |
| 66d80 | 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 | mmit(a.ws);......while.(!a.confi |
| 66da0 | 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 | gured)........wl_display_dispatc |
| 66dc0 | 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e | h(a.d);......render(&a);...9..in |
| 66de0 | 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e | t.tfd.=.timerfd_create(CLOCK_MON |
| 66e00 | 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 | OTONIC,.TFD_CLOEXEC);...F..timer |
| 66e20 | 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d | fd_settime(tfd,.0,.&(struct.itim |
| 66e40 | 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 | erspec){{1,.0},.{1,.0}},.NULL);. |
| 66e60 | 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c | .....char.buffer[100];......whil |
| 66e80 | 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 | e.(running).{...-....while.(wl_d |
| 66ea0 | 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 | isplay_prepare_read(a.d).!=.0).. |
| 66ec0 | 00 27 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 | .'......wl_display_dispatch_pend |
| 66ee0 | 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 | ing(a.d);........wl_display_flus |
| 66f00 | 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 | h(a.d);...M....struct.pollfd.fds |
| 66f20 | 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 | [2].=.{{wl_display_get_fd(a.d),. |
| 66f40 | 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 | POLLIN},.{tfd,.POLLIN}};........ |
| 66f60 | 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 | if.(poll(fds,.2,.-1).<.0).{...". |
| 66f80 | 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 | .....wl_display_cancel_read(a.d) |
| 66fa0 | 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ;..........continue;........}... |
| 66fc0 | 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e | .....if.(fds[0].revents.&.POLLIN |
| 66fe0 | 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 | )..."......wl_display_read_event |
| 67000 | 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f | s(a.d);........else..."......wl_ |
| 67020 | 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 | display_cancel_read(a.d);...%... |
| 67040 | 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 61 2e 64 | .wl_display_dispatch_pending(a.d |
| 67060 | 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 | );..."....if.(fds[1].revents.&.P |
| 67080 | 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 | OLLIN).{..........uint64_t.t_exp |
| 670a0 | 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a | ;...'......read(tfd,.&t_exp,.siz |
| 670c0 | 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 | eof(t_exp));..........time_t.cli |
| 670e0 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 | .=.time(NULL);...,......struct.t |
| 67100 | 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 | m.*t_struct.=.localtime(&cli);.. |
| 67120 | 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 | .I......strftime(buffer,.sizeof( |
| 67140 | 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c | buffer),."%d-%m-%Y.%I:%M:%S.%p", |
| 67160 | 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 | .t_struct);...%......printf("\rT |
| 67180 | 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 | ime.is.%s",.buffer);..........ff |
| 671a0 | 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 | lush(stdout);..........a.redraw. |
| 671c0 | 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 | =.true;........}........if.(a.re |
| 671e0 | 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 | draw)..........render(&a);...... |
| 67200 | 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 65 28 | }......printf("\n");......close( |
| 67220 | 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 | tfd);......destroy_buf(&a);..... |
| 67240 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b | .wl_display_disconnect(a.d);.... |
| 67260 | 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 | ..return.0;....}5............... |
| 67280 | 3e 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 24 00 00 00 00 00 00 | >........................$...... |
| 672a0 | 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 9d 00 00 00 9f 00 00 00 00 00 00 00 00 00 00 00 9e | ........5._..................... |
| 672c0 | 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 00 | ................................ |
| 672e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 673a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 673c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 673e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 11 04 01 00 00 00 00 00 f5 18 00 00 01 29 00 | ..............i...............). |
| 67440 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 01 2a 00 00 00 00 00 00 00 00 00 00 | ...............}.....*.......... |
| 67460 | 00 00 f5 18 00 00 01 27 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 77 6c 5f 64 69 73 | .......'..................wl_dis |
| 67480 | 70 6c 61 79 5f 64 f5 18 00 00 01 28 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 0c 00 00 | play_d.....(.................... |
| 674a0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 f5 18 00 00 | ..................wl_display.... |
| 674c0 | 01 0d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 674e0 | 00 00 00 11 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 f5 18 00 00 00 9e 00 00 00 00 00 | ......memset(px,.0xFF........... |
| 67500 | 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 f5 18 00 | ................................ |
| 67520 | 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 00 00 00 | ...............5................ |
| 67540 | 00 00 00 00 00 00 00 9d 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff | ................................ |
| 67560 | 0f 00 00 00 00 00 00 f5 18 00 00 00 00 9d 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 6f 00 00 | .............................o.. |
| 67580 | 00 0e 00 00 00 ff 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 | ................................ |
| 675a0 | 00 00 00 0c 01 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 1b 00 00 00 0e 00 00 00 ff 1f 00 00 00 | ................................ |
| 675c0 | 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 00 00 00 f5 18 00 00 00 00 27 01 00 00 0e 00 00 | .........................'...... |
| 675e0 | 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..................#............. |
| 67600 | 00 1d 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 9e 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 | .........5._.................... |
| 67620 | 9f 00 00 01 2a 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 | ....*........................... |
| 67640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 676a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 676c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 676e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 67780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 12 04 01 00 00 00 32 00 f5 18 00 00 00 6e | ...............i........2......n |
| 677a0 | 00 00 00 d3 00 00 01 2a 00 00 00 53 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 | .......*...S...Sstatic.void.circ |
| 677c0 | 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | le(uint32_t.*px,.int.w,.int.h,.i |
| 677e0 | 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 | nt.cx,.int.cy,.int.r,.uint32_t.c |
| 67800 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 67820 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 67840 | 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 | ..H....int.p[8][2].=.{{cx.+.x,.c |
| 67860 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 | y.+.y},.{cx.-.x,.cy.+.y},.{cx.+. |
| 67880 | 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x,.cy.-.y},...H................. |
| 678a0 | 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | ..{cx.-.x,.cy.-.y},.{cx.+.y,.cy. |
| 678c0 | 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 | +.x},.{cx.-.y,.cy.+.x},...7..... |
| 678e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 | ..............{cx.+.y,.cy.-.x},. |
| 67900 | 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 | {cx.-.y,.cy.-.x}};........for.(i |
| 67920 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 | nt.i.=.0;.i.<.8;.i++)...E......i |
| 67940 | 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 | f.(p[i][0].>=.0.&&.p[i][0].<.w.& |
| 67960 | 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 | &.p[i][1].>=.0.&&.p[i][1].<.h).. |
| 67980 | 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b | .&........px[p[i][1].*.w.+.p[i][ |
| 679a0 | 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c | 0]].=.c;........if.(d.>.0).{.... |
| 679c0 | 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a | ......d.+=.4.*.(x.-.y).+.10;.... |
| 679e0 | 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 | ......y--;........}.else........ |
| 67a00 | 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 | ..d.+=.4.*.x.+.6;........x++;... |
| 67a20 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c | ...}....}.......nstatic.void.fil |
| 67a40 | 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | l_tri(uint32_t.*px,.int.w,.int.h |
| 67a60 | 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 | ,.int.x0,.int.y0,.int.x1,.int.y1 |
| 67a80 | 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 | ,.int.x2,.int.y2,.uint32_t.c).{. |
| 67aa0 | 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c | ..B..int.min_y.=.y0.<.y1.?.(y0.< |
| 67ac0 | 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a | .y2.?.y0.:.y2).:.(y1.<.y2.?.y1.: |
| 67ae0 | 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f | .y2);...B..int.max_y.=.y0.>.y1.? |
| 67b00 | 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 | .(y0.>.y2.?.y0.:.y2).:.(y1.>.y2. |
| 67b20 | 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 | ?.y1.:.y2);......if.(min_y.<.0). |
| 67b40 | 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 | min_y.=.0;......if.(max_y.>=.h). |
| 67b60 | 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d | max_y.=.h.-.1;...(..for.(int.y.= |
| 67b80 | 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 | .min_y;.y.<=.max_y;.y++).{...... |
| 67ba0 | 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 | ..int.x_start.=.w,.x_end.=.0;... |
| 67bc0 | 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 | 3....int.xs[3].=.{x0,.x1,.x2},.y |
| 67be0 | 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 | s[3].=.{y0,.y1,.y2};...!....for. |
| 67c00 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 | (int.i.=.0;.i.<.3;.i++).{....... |
| 67c20 | 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 | ...int.j.=.(i.+.1).%.3;...C..... |
| 67c40 | 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c | .if.((ys[i].<=.y.&&.ys[j].>.y).| |
| 67c60 | 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 | |.(ys[j].<=.y.&&.ys[i].>.y)).{.. |
| 67c80 | 00 25 20 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 73 5b 69 5d 29 20 63 6f | .%........if.(ys[j].==.ys[i]).co |
| 67ca0 | 6e 74 69 6e 75 65 3b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d | ntinue;...H........int.x.=.xs[i] |
| 67cc0 | 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 | .+.(y.-.ys[i]).*.(xs[j].-.xs[i]) |
| 67ce0 | 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 | ./.(ys[j].-.ys[i]);...%........i |
| 67d00 | 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 | f.(x.<.x_start).x_start.=.x;...! |
| 67d20 | 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 | ........if.(x.>.x_end).x_end.=.x |
| 67d40 | 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 | ;..........}........}...!....if. |
| 67d60 | 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 | (x_start.<.0).x_start.=.0;...".. |
| 67d80 | 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b | ..if.(x_end.>=.w).x_end.=.w.-.1; |
| 67da0 | 00 00 00 3d 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 | ...=....for.(int.x.=.x_start;.x. |
| 67dc0 | 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 | <=.x_end;.x++).px[y.*.w.+.x].=.c |
| 67de0 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 | ;......}....}.......#static.void |
| 67e00 | 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 | .render(struct.app.*a).{.../..if |
| 67e20 | 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c | .(!a->configured.||.a->w.<=.0.|| |
| 67e40 | 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 | .a->h.<=.0)........return;...... |
| 67e60 | 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 | if.(!a->buf)........alloc_buf(a) |
| 67e80 | 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b | ;......uint32_t.*px.=.a->pixels; |
| 67ea0 | 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d | ...$..memset(px,.0xFF,.a->w.*.a- |
| 67ec0 | 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e | >h.*.4);......time_t.tt.=.time(N |
| 67ee0 | 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c | ULL);......struct.tm.tmv;......l |
| 67f00 | 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 | ocaltime_r(&tt,.&tmv);...#..int. |
| 67f20 | 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 | cx.=.a->w./.2,.cy.=.a->h./.2;... |
| 67f40 | 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a | /..int.r.=.(a->w.<.a->h.?.a->w.: |
| 67f60 | 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 | .a->h)./.2.-.10;......if.(r.<.5) |
| 67f80 | 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | .r.=.5;..........for.(int.i.=.0; |
| 67fa0 | 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e | .i.<.60;.i++).{........double.an |
| 67fc0 | 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | g.=.i./.60.0.*.2.*.M_PI.-.M_PI_2 |
| 67fe0 | 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 | ;...1....int.len.=.(i.%.5.==.0). |
| 68000 | 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f | ?.r.*.0.12.:.r.*.0.04;...0....do |
| 68020 | 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 | uble.t_ang.=.(i.%.5.==.0).?.0.01 |
| 68040 | 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 1d 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 | 2.:.0.005;........fill_tri(px,.a |
| 68060 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | ->w,.a->h,....:.............cx.+ |
| 68080 | 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d | .cos(ang-t_ang)*r,.cy.+.sin(ang- |
| 680a0 | 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 | t_ang)*r,...:.............cx.+.c |
| 680c0 | 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 74 5f | os(ang+t_ang)*r,.cy.+.sin(ang+t_ |
| 680e0 | 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | ang)*r,...G.............cx.+.cos |
| 68100 | 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d | (ang)*(r-len),.cy.+.sin(ang)*(r- |
| 68120 | 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 | len),.0xFF000000);......}....... |
| 68140 | 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 | 4..double.sa.=.tmv.tm_sec./.60.0 |
| 68160 | 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c | .*.2.*.M_PI.-.M_PI_2;...J..doubl |
| 68180 | 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 | e.ma.=.(tmv.tm_min.+.tmv.tm_sec. |
| 681a0 | 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | /.60.0)./.60.0.*.2.*.M_PI.-.M_PI |
| 681c0 | 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f | _2;...T..double.ha.=.((tmv.tm_ho |
| 681e0 | 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 | ur.%.12).+.(tmv.tm_min./.60.0)). |
| 68200 | 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 | /.12.0.*.2.*.M_PI.-.M_PI_2;..... |
| 68220 | 00 00 4f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ..O..fill_tri(px,.a->w,.a->h,.cx |
| 68240 | 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 73 69 6e | .+.cos(ha-0.12)*r*0.05,.cy.+.sin |
| 68260 | 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 | (ha-0.12)*r*0.05,....?.......... |
| 68280 | 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 | .cx.+.cos(ha+0.12)*r*0.05,.cy.+. |
| 682a0 | 73 69 6e 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 | sin(ha+0.12)*r*0.05,....A....... |
| 682c0 | 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 63 79 20 2b 20 73 69 | ....cx.+.cos(ha)*r*0.55,.cy.+.si |
| 682e0 | 6e 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 51 20 20 | n(ha)*r*0.55,.0xFF000000);...Q.. |
| 68300 | 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f | fill_tri(px,.a->w,.a->h,.cx.+.co |
| 68320 | 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d | s(ma-0.08)*r*0.035,.cy.+.sin(ma- |
| 68340 | 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 | 0.08)*r*0.035,....A...........cx |
| 68360 | 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 | .+.cos(ma+0.08)*r*0.035,.cy.+.si |
| 68380 | 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 | n(ma+0.08)*r*0.035,....?........ |
| 683a0 | 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 | ...cx.+.cos(ma)*r*0.8,.cy.+.sin( |
| 683c0 | 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 4e 20 | ma)*r*0.8,.0xFF000000);.......N. |
| 683e0 | 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 | .fill_tri(px,.a->w,.a->h,.cx.+.c |
| 68400 | 6f 73 28 73 61 2d 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2d | os(sa-0.03)*r*0.02,.cy.+.sin(sa- |
| 68420 | 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | 0.03)*r*0.02,...>...........cx.+ |
| 68440 | 20 63 6f 73 28 73 61 2b 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 20 63 79 20 2b 20 73 69 6e 28 73 | .cos(sa+0.03)*r*0.02,.cy.+.sin(s |
| 68460 | 61 2b 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 | a+0.03)*r*0.02,...?...........cx |
| 68480 | 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 39 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 | .+.cos(sa)*r*0.9,.cy.+.sin(sa)*r |
| 684a0 | 2a 30 2e 39 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 | *0.9,.0xFFFF0000);..........int. |
| 684c0 | 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 1b 20 20 69 66 20 28 68 75 62 5f 72 | hub_r.=.r.*.0.04;......if.(hub_r |
| 684e0 | 20 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 69 6e 74 20 69 | .<.4).hub_r.=.4;...X..for.(int.i |
| 68500 | 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 | r.=.0;.ir.<.hub_r.-.2;.ir++).cir |
| 68520 | 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 | cle(px,.a->w,.a->h,.cx,.cy,.ir,. |
| 68540 | 30 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 00 00 6e 00 00 00 45 00 00 00 52 00 00 00 | 0xFFFFFFFF);5.......n...E...R... |
| 68560 | 28 00 00 00 63 00 00 00 03 00 00 00 cc 09 00 00 00 00 00 00 31 0c 00 00 00 00 00 00 37 0d 00 00 | (...c...............1.......7... |
| 68580 | 00 00 00 00 35 81 5f d0 00 00 00 9f 00 00 00 a1 00 00 00 00 00 00 00 00 00 00 00 a0 00 00 00 01 | ....5._......................... |
| 685a0 | 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 | ................................ |
| 685c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 685e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 686a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 686c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 686e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 68700 | 00 00 00 00 00 00 00 00 00 00 69 9d a9 45 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 | ..........i..E.................. |
| 68720 | 00 00 00 00 00 01 3b 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 | ......;....#define._POSIX_C_SOUR |
| 68740 | 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c | CE.200809L...&#include."xdg-shel |
| 68760 | 6c 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 | l-client-protocol.h"....#include |
| 68780 | 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 | .<fcntl.h>....#include.<math.h>. |
| 687a0 | 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 | ...#include.<poll.h>....#include |
| 687c0 | 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c | .<signal.h>....#include.<stdbool |
| 687e0 | 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 | .h>....#include.<stdint.h>....#i |
| 68800 | 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 75 64 65 20 3c 73 74 | nclude.<stdio.h>....#include.<st |
| 68820 | 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 3e 00 00 | dlib.h>....#include.<string.h>.. |
| 68840 | 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c | ..#include.<sys/mman.h>....#incl |
| 68860 | 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 | ude.<sys/timerfd.h>....#include. |
| 68880 | 3c 74 69 6d 65 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 | <time.h>....#include.<unistd.h>. |
| 688a0 | 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 00 | ...#include.<wayland-client.h>.. |
| 688c0 | 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f | ......#ifndef.M_PI...##define.M_ |
| 688e0 | 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e | PI.3.14159265358979323846....#en |
| 68900 | 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 | dif....#ifndef.M_PI_2...%#define |
| 68920 | 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 | .M_PI_2.1.57079632679489661923.. |
| 68940 | 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 | ..#endif.......)static.volatile. |
| 68960 | 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 | sig_atomic_t.running.=.1;....sta |
| 68980 | 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 | tic.void.on_sig(int.s).{......(v |
| 689a0 | 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 | oid)s;......running.=.0;....}... |
| 689c0 | 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c | .....struct.app.{......struct.wl |
| 689e0 | 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | _display.*d;......struct.wl_regi |
| 68a00 | 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 | stry.*reg;......struct.wl_compos |
| 68a20 | 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a | itor.*comp;......struct.wl_shm.* |
| 68a40 | 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d | shm;......struct.xdg_wm_base.*wm |
| 68a60 | 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 | ;......struct.wl_surface.*ws;... |
| 68a80 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 | ...struct.xdg_surface.*xs;...... |
| 68aa0 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f | struct.xdg_toplevel.*xt;......vo |
| 68ac0 | 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 | id.*pixels;......struct.wl_buffe |
| 68ae0 | 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 | r.*buf;......int.w,.h;......int. |
| 68b00 | 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 | bw,.bh;......bool.configured;... |
| 68b20 | 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 | ...bool.redraw;....};.......Jsta |
| 68b40 | 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 | tic.void.wm_ping(void.*data,.str |
| 68b60 | 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 | uct.xdg_wm_base.*wm,.uint32_t.se |
| 68b80 | 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d | rial).{......xdg_wm_base_pong(wm |
| 68ba0 | 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e | ,.serial);....}.......$static.in |
| 68bc0 | 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 | t.create_shm(size_t.size).{...#. |
| 68be0 | 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 | .char.t[].=."/tmp/wlclock-XXXXXX |
| 68c00 | 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d | ";......int.fd.=.mkstemp(t);.... |
| 68c20 | 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 | ..if.(fd.<.0)........exit(1);... |
| 68c40 | 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 | ...unlink(t);......if.(ftruncate |
| 68c60 | 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 | (fd,.size).<.0)........exit(1);. |
| 68c80 | 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 | .....return.fd;....}.......(stat |
| 68ca0 | 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a | ic.void.destroy_buf(struct.app.* |
| 68cc0 | 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 | a).{......if.(!a->buf)........re |
| 68ce0 | 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 | turn;...*..size_t.size.=.(size_t |
| 68d00 | 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 | )a->bw.*.a->bh.*.4;......wl_buff |
| 68d20 | 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 | er_destroy(a->buf);......munmap( |
| 68d40 | 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 | a->pixels,.size);......a->buf.=. |
| 68d60 | 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 | NULL;......a->pixels.=.NULL;.... |
| 68d80 | 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 | }.......&static.void.alloc_buf(s |
| 68da0 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 | truct.app.*a).{......destroy_buf |
| 68dc0 | 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 | (a);...(..size_t.size.=.(size_t) |
| 68de0 | 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 | a->w.*.a->h.*.4;......int.fd.=.c |
| 68e00 | 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 | reate_shm(size);...J..a->pixels. |
| 68e20 | 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 20 7c 20 50 | =.mmap(NULL,.size,.PROT_READ.|.P |
| 68e40 | 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 | ROT_WRITE,.MAP_SHARED,.fd,.0);.. |
| 68e60 | 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 | ....if.(a->pixels.==.MAP_FAILED) |
| 68e80 | 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f | ........exit(1);...B..struct.wl_ |
| 68ea0 | 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 | shm_pool.*pool.=.wl_shm_create_p |
| 68ec0 | 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 | ool(a->shm,.fd,.size);...C..a->b |
| 68ee0 | 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 | uf.=.wl_shm_pool_create_buffer(p |
| 68f00 | 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 | ool,.0,.a->w,.a->h,.a->w.*.4,... |
| 68f20 | 3d 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 | =............................... |
| 68f40 | 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 | ......WL_SHM_FORMAT_ARGB8888);.. |
| 68f60 | 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 | ....wl_shm_pool_destroy(pool);.. |
| 68f80 | 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 | ....close(fd);......a->bw.=.a->w |
| 68fa0 | 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 | ;......a->bh.=.a->h;....}....... |
| 68fc0 | 4c 73 74 61 74 69 63 20 76 6f 69 64 20 6c 69 6e 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 | Lstatic.void.line(uint32_t.*px,. |
| 68fe0 | 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e | int.w,.int.h,.int.x0,.int.y0,.in |
| 69000 | 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 1e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.x1,.int.y1,................... |
| 69020 | 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 2f 20 20 69 6e 74 20 64 78 20 3d 20 61 62 | ..uint32_t.c).{.../..int.dx.=.ab |
| 69040 | 73 28 78 31 20 2d 20 78 30 29 2c 20 73 78 20 3d 20 78 30 20 3c 20 78 31 20 3f 20 31 20 3a 20 2d | s(x1.-.x0),.sx.=.x0.<.x1.?.1.:.- |
| 69060 | 31 3b 00 00 00 30 20 20 69 6e 74 20 64 79 20 3d 20 2d 61 62 73 28 79 31 20 2d 20 79 30 29 2c 20 | 1;...0..int.dy.=.-abs(y1.-.y0),. |
| 69080 | 73 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 31 20 3a 20 2d 31 3b 00 00 00 14 20 20 69 6e 74 20 | sy.=.y0.<.y1.?.1.:.-1;......int. |
| 690a0 | 65 72 72 20 3d 20 64 78 20 2b 20 64 79 3b 00 00 00 0d 20 20 77 68 69 6c 65 20 28 31 29 20 7b 00 | err.=.dx.+.dy;......while.(1).{. |
| 690c0 | 00 00 2f 20 20 20 20 69 66 20 28 78 30 20 3e 3d 20 30 20 26 26 20 78 30 20 3c 20 77 20 26 26 20 | ../....if.(x0.>=.0.&&.x0.<.w.&&. |
| 690e0 | 79 30 20 3e 3d 20 30 20 26 26 20 79 30 20 3c 20 68 29 00 00 00 1a 20 20 20 20 20 20 70 78 5b 79 | y0.>=.0.&&.y0.<.h)..........px[y |
| 69100 | 30 20 2a 20 77 20 2b 20 78 30 5d 20 3d 20 63 3b 00 00 00 1d 20 20 20 20 69 66 20 28 78 30 20 3d | 0.*.w.+.x0].=.c;........if.(x0.= |
| 69120 | 3d 20 78 31 20 26 26 20 79 30 20 3d 3d 20 79 31 29 00 00 00 0c 20 20 20 20 20 20 62 72 65 61 6b | =.x1.&&.y0.==.y1)..........break |
| 69140 | 3b 00 00 00 15 20 20 20 20 69 6e 74 20 65 32 20 3d 20 32 20 2a 20 65 72 72 3b 00 00 00 13 20 20 | ;........int.e2.=.2.*.err;...... |
| 69160 | 20 20 69 66 20 28 65 32 20 3e 3d 20 64 79 29 20 7b 00 00 00 10 20 20 20 20 20 20 65 72 72 20 2b | ..if.(e2.>=.dy).{..........err.+ |
| 69180 | 3d 20 64 79 3b 00 00 00 0f 20 20 20 20 20 20 78 30 20 2b 3d 20 73 78 3b 00 00 00 05 20 20 20 20 | =.dy;..........x0.+=.sx;........ |
| 691a0 | 7d 00 00 00 13 20 20 20 20 69 66 20 28 65 32 20 3c 3d 20 64 78 29 20 7b 00 00 00 10 20 20 20 20 | }........if.(e2.<=.dx).{........ |
| 691c0 | 20 20 65 72 72 20 2b 3d 20 64 78 3b 00 00 00 0f 20 20 20 20 20 20 79 30 20 2b 3d 20 73 79 3b 00 | ..err.+=.dx;..........y0.+=.sy;. |
| 691e0 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 | .......}......}....}.......Estat |
| 69200 | 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 | ic.void.circle(uint32_t.*px,.int |
| 69220 | 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 | .w,.int.h,.int.cx,.int.cy,.int.r |
| 69240 | 2c 00 00 00 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 32 5f 74 | ,.......................uint32_t |
| 69260 | 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d | .c).{..."..int.x.=.0,.y.=.r,.d.= |
| 69280 | 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 | .3.-.2.*.r;......while.(y.>=.x). |
| 692a0 | 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c | {...H....int.p[8][2].=.{{cx.+.x, |
| 692c0 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 | .cy.+.y},.{cx.-.x,.cy.+.y},.{cx. |
| 692e0 | 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | +.x,.cy.-.y},...H............... |
| 69300 | 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 | ....{cx.-.x,.cy.-.y},.{cx.+.y,.c |
| 69320 | 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 | y.+.x},.{cx.-.y,.cy.+.x},...7... |
| 69340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d | ................{cx.+.y,.cy.-.x} |
| 69360 | 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 | ,.{cx.-.y,.cy.-.x}};........for. |
| 69380 | 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 | (int.i.=.0;.i.<.8;.i++)...E..... |
| 693a0 | 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 | .if.(p[i][0].>=.0.&&.p[i][0].<.w |
| 693c0 | 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 | .&&.p[i][1].>=.0.&&.p[i][1].<.h) |
| 693e0 | 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 | ...&........px[p[i][1].*.w.+.p[i |
| 69400 | 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 | ][0]].=.c;........if.(d.>.0).{.. |
| 69420 | 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 | ........d.+=.4.*.(x.-.y).+.10;.. |
| 69440 | 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 | ........y--;........}.else...... |
| 69460 | 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 | ....d.+=.4.*.x.+.6;........x++;. |
| 69480 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 | .....}....}.......Pstatic.void.f |
| 694a0 | 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 | ill_tri(uint32_t.*px,.int.w,.int |
| 694c0 | 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 | .h,.int.x0,.int.y0,.int.x1,.int. |
| 694e0 | 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 | y1,...2.....................int. |
| 69500 | 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 | x2,.int.y2,.uint32_t.c).{...B..i |
| 69520 | 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 | nt.min_y.=.y0.<.y1.?.(y0.<.y2.?. |
| 69540 | 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 | y0.:.y2).:.(y1.<.y2.?.y1.:.y2);. |
| 69560 | 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e | ..B..int.max_y.=.y0.>.y1.?.(y0.> |
| 69580 | 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a | .y2.?.y0.:.y2).:.(y1.>.y2.?.y1.: |
| 695a0 | 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 | .y2);......if.(min_y.<.0)....... |
| 695c0 | 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 | .min_y.=.0;......if.(max_y.>=.h) |
| 695e0 | 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 | ........max_y.=.h.-.1;...(..for. |
| 69600 | 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 | (int.y.=.min_y;.y.<=.max_y;.y++) |
| 69620 | 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 | .{........int.x_start.=.w,.x_end |
| 69640 | 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 | .=.0;...3....int.xs[3].=.{x0,.x1 |
| 69660 | 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 21 | ,.x2},.ys[3].=.{y0,.y1,.y2};...! |
| 69680 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 | ....for.(int.i.=.0;.i.<.3;.i++). |
| 696a0 | 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 | {..........int.j.=.(i.+.1).%.3;. |
| 696c0 | 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a | ..C......if.((ys[i].<=.y.&&.ys[j |
| 696e0 | 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e | ].>.y).||.(ys[j].<=.y.&&.ys[i].> |
| 69700 | 20 79 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 | .y)).{............if.(ys[j].==.y |
| 69720 | 73 5b 69 5d 29 00 00 00 13 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 48 | s[i])..............continue;...H |
| 69740 | 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b | ........int.x.=.xs[i].+.(y.-.ys[ |
| 69760 | 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d | i]).*.(xs[j].-.xs[i])./.(ys[j].- |
| 69780 | 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 | .ys[i]);............if.(x.<.x_st |
| 697a0 | 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 | art)..............x_start.=.x;.. |
| 697c0 | 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 | ..........if.(x.>.x_end)........ |
| 697e0 | 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 | ......x_end.=.x;..........}..... |
| 69800 | 20 20 20 7d 00 00 00 14 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 12 | ...}........if.(x_start.<.0).... |
| 69820 | 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 13 20 20 20 20 69 66 20 28 78 5f | ......x_start.=.0;........if.(x_ |
| 69840 | 65 6e 64 20 3e 3d 20 77 29 00 00 00 14 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 | end.>=.w)..........x_end.=.w.-.1 |
| 69860 | 3b 00 00 00 2a 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 | ;...*....for.(int.x.=.x_start;.x |
| 69880 | 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 18 20 20 20 20 20 20 70 78 5b 79 20 2a 20 | .<=.x_end;.x++)..........px[y.*. |
| 698a0 | 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 | w.+.x].=.c;......}....}.......#s |
| 698c0 | 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 | tatic.void.render(struct.app.*a) |
| 698e0 | 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d | .{.../..if.(!a->configured.||.a- |
| 69900 | 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 | >w.<=.0.||.a->h.<=.0)........ret |
| 69920 | 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c | urn;......if.(!a->buf)........al |
| 69940 | 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 | loc_buf(a);......uint32_t.*px.=. |
| 69960 | 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c | a->pixels;...$..memset(px,.0xFF, |
| 69980 | 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 | .a->w.*.a->h.*.4);......time_t.t |
| 699a0 | 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 | t.=.time(NULL);......struct.tm.t |
| 699c0 | 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b | mv;......localtime_r(&tt,.&tmv); |
| 699e0 | 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d | ...#..int.cx.=.a->w./.2,.cy.=.a- |
| 69a00 | 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e | >h./.2;.../..int.r.=.(a->w.<.a-> |
| 69a20 | 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 | h.?.a->w.:.a->h)./.2.-.10;...... |
| 69a40 | 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 | if.(r.<.5)........r.=.5;........ |
| 69a60 | 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b | ..for.(int.i.=.0;.i.<.60;.i++).{ |
| 69a80 | 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 | ........double.ang.=.i./.60.0.*. |
| 69aa0 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 | 2.*.M_PI.-.M_PI_2;...1....int.le |
| 69ac0 | 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 | n.=.(i.%.5.==.0).?.r.*.0.12.:.r. |
| 69ae0 | 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 | *.0.04;...0....double.t_ang.=.(i |
| 69b00 | 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 | .%.5.==.0).?.0.012.:.0.005;...7. |
| 69b20 | 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | ...fill_tri(px,.a->w,.a->h,.cx.+ |
| 69b40 | 20 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 | .cos(ang.-.t_ang).*.r,...B...... |
| 69b60 | 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 | .......cy.+.sin(ang.-.t_ang).*.r |
| 69b80 | 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 | ,.cx.+.cos(ang.+.t_ang).*.r,...B |
| 69ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e | .............cy.+.sin(ang.+.t_an |
| 69bc0 | 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e | g).*.r,.cx.+.cos(ang).*.(r.-.len |
| 69be0 | 29 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 | ),...4.............cy.+.sin(ang) |
| 69c00 | 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 | .*.(r.-.len),.0xFF000000);...... |
| 69c20 | 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 | }.......4..double.sa.=.tmv.tm_se |
| 69c40 | 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 | c./.60.0.*.2.*.M_PI.-.M_PI_2;... |
| 69c60 | 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 | J..double.ma.=.(tmv.tm_min.+.tmv |
| 69c80 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | .tm_sec./.60.0)./.60.0.*.2.*.M_P |
| 69ca0 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c | I.-.M_PI_2;......double.ha.=...L |
| 69cc0 | 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 | ......((tmv.tm_hour.%.12).+.(tmv |
| 69ce0 | 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f | .tm_min./.60.0))./.12.0.*.2.*.M_ |
| 69d00 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 | PI.-.M_PI_2;.......:..fill_tri(p |
| 69d20 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 | x,.a->w,.a->h,.cx.+.cos(ha.-.0.1 |
| 69d40 | 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | 2).*.r.*.0.05,...J...........cy. |
| 69d60 | 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 | +.sin(ha.-.0.12).*.r.*.0.05,.cx. |
| 69d80 | 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 43 | +.cos(ha.+.0.12).*.r.*.0.05,...C |
| 69da0 | 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 32 29 20 2a | ...........cy.+.sin(ha.+.0.12).* |
| 69dc0 | 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e | .r.*.0.05,.cx.+.cos(ha).*.r.*.0. |
| 69de0 | 35 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a | 55,...0...........cy.+.sin(ha).* |
| 69e00 | 20 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 3b 20 20 66 69 6c | .r.*.0.55,.0xFF000000);...;..fil |
| 69e20 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d | l_tri(px,.a->w,.a->h,.cx.+.cos(m |
| 69e40 | 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 00 4c 20 20 20 20 20 20 | a.-.0.08).*.r.*.0.035,...L...... |
| 69e60 | 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 | .....cy.+.sin(ma.-.0.08).*.r.*.0 |
| 69e80 | 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 | .035,.cx.+.cos(ma.+.0.08).*.r.*. |
| 69ea0 | 30 2e 30 33 35 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 | 0.035,...C...........cy.+.sin(ma |
| 69ec0 | 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d | .+.0.08).*.r.*.0.035,.cx.+.cos(m |
| 69ee0 | 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b | a).*.r.*.0.8,.../...........cy.+ |
| 69f00 | 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b | .sin(ma).*.r.*.0.8,.0xFF000000); |
| 69f20 | 00 00 00 00 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e | .......:..fill_tri(px,.a->w,.a-> |
| 69f40 | 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2d 20 30 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 | h,.cx.+.cos(sa.-.0.03).*.r.*.0.0 |
| 69f60 | 32 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 | 2,...J...........cy.+.sin(sa.-.0 |
| 69f80 | 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 32 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 30 | .03).*.r.*.0.02,.cx.+.cos(sa.+.0 |
| 69fa0 | 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 32 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 63 | .03).*.r.*.0.02,...B...........c |
| 69fc0 | 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 30 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 32 2c 20 63 | y.+.sin(sa.+.0.03).*.r.*.0.02,.c |
| 69fe0 | 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 00 00 00 2f 20 20 20 20 20 20 | x.+.cos(sa).*.r.*.0.9,.../...... |
| 6a000 | 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 39 2c 20 30 78 46 | .....cy.+.sin(sa).*.r.*.0.9,.0xF |
| 6a020 | 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 | FFF0000);..........int.hub_r.=.r |
| 6a040 | 20 2a 20 30 2e 30 34 3b 00 00 00 10 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e | .*.0.04;......if.(hub_r.<.4).... |
| 6a060 | 20 20 20 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 | ....hub_r.=.4;...(..for.(int.ir. |
| 6a080 | 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 | =.0;.ir.<.hub_r.-.2;.ir++)...3.. |
| 6a0a0 | 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c | ..circle(px,.a->w,.a->h,.cx,.cy, |
| 6a0c0 | 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 | .ir,.0xFFFFFFFF);...4..circle(px |
| 6a0e0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 | ,.a->w,.a->h,.cx,.cy,.hub_r,.0xF |
| 6a100 | 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 | F000000);.......)..wl_surface_at |
| 6a120 | 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 | tach(a->ws,.a->buf,.0,.0);...4.. |
| 6a140 | 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 | wl_surface_damage_buffer(a->ws,. |
| 6a160 | 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | 0,.0,.a->w,.a->h);......wl_surfa |
| 6a180 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 | ce_commit(a->ws);......a->redraw |
| 6a1a0 | 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 | .=.false;....}.......Gstatic.voi |
| 6a1c0 | 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 | d.xt_close(void.*d,.struct.xdg_t |
| 6a1e0 | 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 | oplevel.*xt).{.running.=.0;.}... |
| 6a200 | 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c | ....Jstatic.void.xt_cfg(void.*d, |
| 6a220 | 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f | .struct.xdg_toplevel.*xt,.int32_ |
| 6a240 | 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.w,.int32_t.h,...(............. |
| 6a260 | 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 | ......struct.wl_array.*s).{..... |
| 6a280 | 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e | .struct.app.*a.=.d;...3..if.(w.> |
| 6a2a0 | 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 | .0.&&.h.>.0.&&.(w.!=.a->w.||.h.! |
| 6a2c0 | 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 | =.a->h)).{........a->w.=.w;..... |
| 6a2e0 | 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 | ...a->h.=.h;........destroy_buf( |
| 6a300 | 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 | a);........a->redraw.=.true;.... |
| 6a320 | 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 | ..}....}.......Fstatic.void.xs_c |
| 6a340 | 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a | fg(void.*d,.struct.xdg_surface.* |
| 6a360 | 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 14 20 20 73 74 72 75 | xs,.uint32_t.serial).{......stru |
| 6a380 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f | ct.app.*a.=.d;...(..xdg_surface_ |
| 6a3a0 | 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 17 20 20 | ack_configure(xs,.serial);...... |
| 6a3c0 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 | a->configured.=.true;......a->re |
| 6a3e0 | 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 | draw.=.true;....}.......Cstatic. |
| 6a400 | 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | void.reg_global(void.*d,.struct. |
| 6a420 | 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 69 64 2c 00 00 00 33 | wl_registry.*r,.uint32_t.id,...3 |
| 6a440 | 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 |
| 6a460 | 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 | r.*i,.uint32_t.v).{......struct. |
| 6a480 | 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 | app.*a.=.d;..."..if.(!strcmp(i,. |
| 6a4a0 | 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 | "wl_compositor"))...C....a->comp |
| 6a4c0 | 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 | .=.wl_registry_bind(r,.id,.&wl_c |
| 6a4e0 | 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 20 20 20 65 6c | ompositor_interface,.4);......el |
| 6a500 | 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b | se.if.(!strcmp(i,."wl_shm"))...; |
| 6a520 | 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ....a->shm.=.wl_registry_bind(r, |
| 6a540 | 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 | .id,.&wl_shm_interface,.1);...'. |
| 6a560 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 | .else.if.(!strcmp(i,."xdg_wm_bas |
| 6a580 | 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | e")).{...?....a->wm.=.wl_registr |
| 6a5a0 | 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | y_bind(r,.id,.&xdg_wm_base_inter |
| 6a5c0 | 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | face,.1);...C....static.const.st |
| 6a5e0 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e | ruct.xdg_wm_base_listener.l.=.{. |
| 6a600 | 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 | ping.=.wm_ping};...+....xdg_wm_b |
| 6a620 | 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 | ase_add_listener(a->wm,.&l,.a);. |
| 6a640 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 | .....}....}........int.main(void |
| 6a660 | 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c | ).{......struct.app.a.=.{0};.... |
| 6a680 | 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 | ..a.w.=.400;......a.h.=.400;.... |
| 6a6a0 | 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 | ..signal(SIGINT,.on_sig);...!..a |
| 6a6c0 | 2e 64 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 | .d.=.wl_display_connect(NULL);.. |
| 6a6e0 | 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 | ....if.(!a.d)........return.1;.. |
| 6a700 | 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 | .'..a.reg.=.wl_display_get_regis |
| 6a720 | 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | try(a.d);...G..static.const.stru |
| 6a740 | 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 6c 20 3d 20 7b 2e 67 | ct.wl_registry_listener.rl.=.{.g |
| 6a760 | 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 | lobal.=.reg_global};...+..wl_reg |
| 6a780 | 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 | istry_add_listener(a.reg,.&rl,.& |
| 6a7a0 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 6a7c0 | 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c | d);...!..if.(!a.comp.||.!a.shm.| |
| 6a7e0 | 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 | |.!a.wm)........return.1;......a |
| 6a800 | 2e 77 73 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 | .ws.=.wl_compositor_create_surfa |
| 6a820 | 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 | ce(a.comp);...1..a.xs.=.xdg_wm_b |
| 6a840 | 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b | ase_get_xdg_surface(a.wm,.a.ws); |
| 6a860 | 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | ...G..static.const.struct.xdg_su |
| 6a880 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 | rface_listener.xsl.=.{.configure |
| 6a8a0 | 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 | .=.xs_cfg};...+..xdg_surface_add |
| 6a8c0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 | _listener(a.xs,.&xsl,.&a);...(.. |
| 6a8e0 | 61 2e 78 74 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 6c 28 | a.xt.=.xdg_surface_get_toplevel( |
| 6a900 | 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | a.xs);...G..static.const.struct. |
| 6a920 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f | xdg_toplevel_listener.xtl.=.{.co |
| 6a940 | 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 | nfigure.=.xt_cfg,...F........... |
| 6a960 | 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 | ................................ |
| 6a980 | 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 | .........close.=.xt_close};...,. |
| 6a9a0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c | .xdg_toplevel_add_listener(a.xt, |
| 6a9c0 | 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | .&xtl,.&a);...*..xdg_toplevel_se |
| 6a9e0 | 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 | t_title(a.xt,."wlclock");......w |
| 6aa00 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 | l_surface_commit(a.ws);......whi |
| 6aa20 | 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 | le.(!a.configured)........wl_dis |
| 6aa40 | 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 | play_dispatch(a.d);......render( |
| 6aa60 | 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 | &a);...9..int.tfd.=.timerfd_crea |
| 6aa80 | 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 | te(CLOCK_MONOTONIC,.TFD_CLOEXEC) |
| 6aaa0 | 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 | ;...F..timerfd_settime(tfd,.0,.& |
| 6aac0 | 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 | (struct.itimerspec){{1,.0},.{1,. |
| 6aae0 | 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 | 0}},.NULL);......char.buffer[100 |
| 6ab00 | 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 | ];......while.(running).{...-... |
| 6ab20 | 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 61 64 28 | .while.(wl_display_prepare_read( |
| 6ab40 | 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | a.d).!=.0)...'......wl_display_d |
| 6ab60 | 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f | ispatch_pending(a.d);........wl_ |
| 6ab80 | 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 | display_flush(a.d);...M....struc |
| 6aba0 | 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 | t.pollfd.fds[2].=.{{wl_display_g |
| 6abc0 | 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 | et_fd(a.d),.POLLIN},.{tfd,.POLLI |
| 6abe0 | 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 | N}};........if.(poll(fds,.2,.-1) |
| 6ac00 | 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 | .<.0).{..."......wl_display_canc |
| 6ac20 | 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b | el_read(a.d);..........continue; |
| 6ac40 | 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 | ........}........if.(fds[0].reve |
| 6ac60 | 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | nts.&.POLLIN)..."......wl_displa |
| 6ac80 | 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 | y_read_events(a.d);........else. |
| 6aca0 | 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 | .."......wl_display_cancel_read( |
| 6acc0 | 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | a.d);...%....wl_display_dispatch |
| 6ace0 | 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d | _pending(a.d);..."....if.(fds[1] |
| 6ad00 | 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 | .revents.&.POLLIN).{..........ui |
| 6ad20 | 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c | nt64_t.t_exp;...'......read(tfd, |
| 6ad40 | 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 | .&t_exp,.sizeof(t_exp));........ |
| 6ad60 | 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 | ..time_t.cli.=.time(NULL);...,.. |
| 6ad80 | 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 | ....struct.tm.*t_struct.=.localt |
| 6ada0 | 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 | ime(&cli);...I......strftime(buf |
| 6adc0 | 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 | fer,.sizeof(buffer),."%d-%m-%Y.% |
| 6ade0 | 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 | I:%M:%S.%p",.t_struct);...%..... |
| 6ae00 | 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b | .printf("\rTime.is.%s",.buffer); |
| 6ae20 | 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 | ..........fflush(stdout);....... |
| 6ae40 | 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 | ...a.redraw.=.true;........}.... |
| 6ae60 | 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 | ....if.(a.redraw)..........rende |
| 6ae80 | 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b | r(&a);......}......printf("\n"); |
| 6aea0 | 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 | ......close(tfd);......destroy_b |
| 6aec0 | 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 | uf(&a);......wl_display_disconne |
| 6aee0 | 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 | ct(a.d);......return.0;....}5... |
| 6af00 | 00 00 00 00 00 00 00 00 00 00 00 00 3b 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 | ............;................... |
| 6af20 | 00 00 00 00 24 24 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 a0 00 00 00 a2 | ....$$..............5._......... |
| 6af40 | 00 00 00 00 00 00 00 00 00 00 00 a1 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 | ................................ |
| 6af60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6af80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6afa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6afe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 45 04 01 | ..........................i..E.. |
| 6b0c0 | 00 00 00 00 00 f5 18 00 00 01 10 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 | ...........................}.... |
| 6b0e0 | 01 11 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 01 07 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 6b100 | 00 00 00 04 20 20 20 20 f5 18 00 00 01 08 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 f7 | ................................ |
| 6b120 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 13 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 | ....................while.(wl_di |
| 6b140 | 73 70 6c f5 18 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 eb 00 00 00 00 00 | spl............................. |
| 6b160 | 00 00 00 00 00 00 01 00 00 00 17 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f | .............a.xt.=.xdg_surface_ |
| 6b180 | 67 65 f5 18 00 00 00 ec 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 de 00 00 00 00 00 00 | ge.............................. |
| 6b1a0 | 00 00 00 00 00 01 00 00 00 11 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 f5 18 00 00 00 | ............a.d.=.wl_displa..... |
| 6b1c0 | df 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ce 00 00 00 00 00 00 00 00 00 00 00 01 00 | ................................ |
| 6b1e0 | 00 00 0f 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 f5 18 00 00 00 cf 00 00 00 00 00 00 00 00 | .....if.(!strcmp(i.............. |
| 6b200 | 00 00 00 00 f5 18 00 00 00 a5 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 3d 20 20 20 20 20 20 | .........................=...... |
| 6b220 | 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 | .....cx.+.cos(ma)*r*0.8,.cy.+.si |
| 6b240 | 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 f5 18 00 00 00 a6 00 00 00 | n(ma)*r*0.8,.0xFF000000......... |
| 6b260 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 87 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0b 20 | ................................ |
| 6b280 | 20 6d 65 6d 73 65 74 28 70 78 f5 18 00 00 00 88 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | .memset(px...................... |
| 6b2a0 | 00 5e 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1e 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 | .^....................for.(int.i |
| 6b2c0 | 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b f5 18 00 00 00 5f 00 00 00 00 00 00 00 00 00 00 | .=.0;.i.<.8;.i++....._.......... |
| 6b2e0 | 00 00 f5 18 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0d 73 74 61 74 69 63 20 69 | .......3................static.i |
| 6b300 | 6e 74 20 63 72 f5 18 00 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 | nt.cr.....4..................... |
| 6b320 | 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 |
| 6b340 | 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 00 0d 00 00 00 00 | .......................3........ |
| 6b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 33 00 00 | .............................3.. |
| 6b380 | 00 0d 00 00 00 00 00 00 00 00 00 00 00 2b 00 00 00 1e 00 00 00 00 04 00 00 00 00 00 00 00 00 00 | .............+.................. |
| 6b3a0 | 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 5e 00 00 00 1e 00 00 00 00 00 00 00 00 | ...................^............ |
| 6b3c0 | 00 00 00 29 00 00 00 0b 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 | ...)............................ |
| 6b3e0 | 00 00 00 f5 18 00 00 00 00 87 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00 3d 00 00 | .............................=.. |
| 6b400 | 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 a5 | ................................ |
| 6b420 | 00 00 00 3d 00 00 00 00 00 00 00 00 00 00 00 29 00 00 00 0f 00 00 00 00 13 00 00 00 00 00 00 00 | ...=...........)................ |
| 6b440 | 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 ce 00 00 00 0f 00 00 00 00 00 00 | ................................ |
| 6b460 | 00 00 00 00 00 10 00 00 00 11 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 | ................................ |
| 6b480 | 00 00 00 00 00 f5 18 00 00 00 00 de 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 17 | ................................ |
| 6b4a0 | 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 6b4c0 | 00 eb 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 13 00 00 00 00 1c 00 00 00 00 00 | ................................ |
| 6b4e0 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 f7 00 00 00 13 00 00 00 00 | ................................ |
| 6b500 | 00 00 00 00 00 00 00 10 00 00 00 04 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b520 | 02 00 00 00 00 00 00 f5 18 00 00 00 00 07 01 00 00 04 00 00 00 00 00 00 00 00 00 00 00 09 00 00 | ................................ |
| 6b540 | 00 01 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8d 00 00 00 00 00 00 00 35 81 5f | .............................5._ |
| 6b560 | d0 00 00 00 a1 00 00 00 a3 00 00 00 00 00 00 00 00 00 00 00 a2 00 00 01 11 00 00 00 00 00 00 00 | ................................ |
| 6b580 | 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 00 00 00 00 00 00 00 | ................................ |
| 6b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6b6e0 | 00 00 00 69 9d a9 46 04 01 00 00 00 34 00 f5 18 00 00 00 58 00 00 00 c1 00 00 01 11 00 00 00 57 | ...i..F.....4......X...........W |
| 6b700 | 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 | ...Sstatic.void.circle(uint32_t. |
| 6b720 | 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 | *px,.int.w,.int.h,.int.cx,.int.c |
| 6b740 | 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 | y,.int.r,.uint32_t.c).{..."..int |
| 6b760 | 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 | .x.=.0,.y.=.r,.d.=.3.-.2.*.r;... |
| 6b780 | 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 | ...while.(y.>=.x).{...H....int.p |
| 6b7a0 | 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 | [8][2].=.{{cx.+.x,.cy.+.y},.{cx. |
| 6b7c0 | 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 | -.x,.cy.+.y},.{cx.+.x,.cy.-.y},. |
| 6b7e0 | 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 | ..H...................{cx.-.x,.c |
| 6b800 | 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 | y.-.y},.{cx.+.y,.cy.+.x},.{cx.-. |
| 6b820 | 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | y,.cy.+.x},...7................. |
| 6b840 | 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 | ..{cx.+.y,.cy.-.x},.{cx.-.y,.cy. |
| 6b860 | 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | -.x}};........for.(int.i.=.0;.i. |
| 6b880 | 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e | <.8;.i++)...E......if.(p[i][0].> |
| 6b8a0 | 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d | =.0.&&.p[i][0].<.w.&&.p[i][1].>= |
| 6b8c0 | 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 | .0.&&.p[i][1].<.h)...&........px |
| 6b8e0 | 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 | [p[i][1].*.w.+.p[i][0]].=.c;.... |
| 6b900 | 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 | ....if.(d.>.0).{..........d.+=.4 |
| 6b920 | 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 | .*.(x.-.y).+.10;..........y--;.. |
| 6b940 | 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 | ......}.else..........d.+=.4.*.x |
| 6b960 | 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | .+.6;........x++;......}....}... |
| 6b980 | 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 | ....nstatic.void.fill_tri(uint32 |
| 6b9a0 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e | _t.*px,.int.w,.int.h,.int.x0,.in |
| 6b9c0 | 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e | t.y0,.int.x1,.int.y1,.int.x2,.in |
| 6b9e0 | 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e | t.y2,.uint32_t.c).{...B..int.min |
| 6ba00 | 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 | _y.=.y0.<.y1.?.(y0.<.y2.?.y0.:.y |
| 6ba20 | 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 | 2).:.(y1.<.y2.?.y1.:.y2);...B..i |
| 6ba40 | 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 | nt.max_y.=.y0.>.y1.?.(y0.>.y2.?. |
| 6ba60 | 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 | y0.:.y2).:.(y1.>.y2.?.y1.:.y2);. |
| 6ba80 | 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 | .....if.(min_y.<.0).min_y.=.0;.. |
| 6baa0 | 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 | ....if.(max_y.>=.h).max_y.=.h.-. |
| 6bac0 | 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d | 1;...(..for.(int.y.=.min_y;.y.<= |
| 6bae0 | 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 | .max_y;.y++).{........int.x_star |
| 6bb00 | 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b | t.=.w,.x_end.=.0;...3....int.xs[ |
| 6bb20 | 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 | 3].=.{x0,.x1,.x2},.ys[3].=.{y0,. |
| 6bb40 | 79 31 2c 20 79 32 7d 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 | y1,.y2};...!....for.(int.i.=.0;. |
| 6bb60 | 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 | i.<.3;.i++).{..........int.j.=.( |
| 6bb80 | 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 | i.+.1).%.3;...C......if.((ys[i]. |
| 6bba0 | 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 | <=.y.&&.ys[j].>.y).||.(ys[j].<=. |
| 6bbc0 | 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 | y.&&.ys[i].>.y)).{...%........if |
| 6bbe0 | 20 28 79 73 5b 6a 5d 20 3d 3d 20 79 73 5b 69 5d 29 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 48 20 | .(ys[j].==.ys[i]).continue;...H. |
| 6bc00 | 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 | .......int.x.=.xs[i].+.(y.-.ys[i |
| 6bc20 | 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 | ]).*.(xs[j].-.xs[i])./.(ys[j].-. |
| 6bc40 | 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 | ys[i]);...%........if.(x.<.x_sta |
| 6bc60 | 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 20 20 20 20 69 66 20 28 | rt).x_start.=.x;...!........if.( |
| 6bc80 | 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d | x.>.x_end).x_end.=.x;..........} |
| 6bca0 | 00 00 00 05 20 20 20 20 7d 00 00 00 21 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 | ........}...!....if.(x_start.<.0 |
| 6bcc0 | 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 22 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 | ).x_start.=.0;..."....if.(x_end. |
| 6bce0 | 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3d 20 20 20 20 66 6f 72 20 | >=.w).x_end.=.w.-.1;...=....for. |
| 6bd00 | 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b | (int.x.=.x_start;.x.<=.x_end;.x+ |
| 6bd20 | 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 | +).px[y.*.w.+.x].=.c;......}.... |
| 6bd40 | 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 | }.......#static.void.render(stru |
| 6bd60 | 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 | ct.app.*a).{.../..if.(!a->config |
| 6bd80 | 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 | ured.||.a->w.<=.0.||.a->h.<=.0). |
| 6bda0 | 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 | .......return;......if.(!a->buf) |
| 6bdc0 | 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 | ........alloc_buf(a);......uint3 |
| 6bde0 | 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 | 2_t.*px.=.a->pixels;...$..memset |
| 6be00 | 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 | (px,.0xFF,.a->w.*.a->h.*.4);.... |
| 6be20 | 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 | ..time_t.tt.=.time(NULL);......s |
| 6be40 | 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 | truct.tm.tmv;......localtime_r(& |
| 6be60 | 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 | tt,.&tmv);...#..int.cx.=.a->w./. |
| 6be80 | 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 | 2,.cy.=.a->h./.2;.../..int.r.=.( |
| 6bea0 | 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d | a->w.<.a->h.?.a->w.:.a->h)./.2.- |
| 6bec0 | 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 | .10;......if.(r.<.5).r.=.5;..... |
| 6bee0 | 00 00 0a 20 20 2f 2f 20 54 69 63 6b 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | .....//.Ticks......for.(int.i.=. |
| 6bf00 | 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 | 0;.i.<.60;.i++).{........double. |
| 6bf20 | 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | ang.=.i./.60.0.*.2.*.M_PI.-.M_PI |
| 6bf40 | 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 | _2;...1....int.len.=.(i.%.5.==.0 |
| 6bf60 | 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 | ).?.r.*.0.12.:.r.*.0.04;...0.... |
| 6bf80 | 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e | double.t_ang.=.(i.%.5.==.0).?.0. |
| 6bfa0 | 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 1d 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c | 012.:.0.005;........fill_tri(px, |
| 6bfc0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 | .a->w,.a->h,....:.............cx |
| 6bfe0 | 20 2b 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e | .+.cos(ang-t_ang)*r,.cy.+.sin(an |
| 6c000 | 67 2d 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | g-t_ang)*r,...:.............cx.+ |
| 6c020 | 20 63 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b | .cos(ang+t_ang)*r,.cy.+.sin(ang+ |
| 6c040 | 74 5f 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 | t_ang)*r,...G.............cx.+.c |
| 6c060 | 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 | os(ang)*(r-len),.cy.+.sin(ang)*( |
| 6c080 | 72 2d 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 | r-len),.0xFF000000);......}..... |
| 6c0a0 | 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 | ..4..double.sa.=.tmv.tm_sec./.60 |
| 6c0c0 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 | .0.*.2.*.M_PI.-.M_PI_2;...J..dou |
| 6c0e0 | 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 | ble.ma.=.(tmv.tm_min.+.tmv.tm_se |
| 6c100 | 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f | c./.60.0)./.60.0.*.2.*.M_PI.-.M_ |
| 6c120 | 50 49 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f | PI_2;...T..double.ha.=.((tmv.tm_ |
| 6c140 | 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 | hour.%.12).+.(tmv.tm_min./.60.0) |
| 6c160 | 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 | )./.12.0.*.2.*.M_PI.-.M_PI_2;... |
| 6c180 | 00 00 00 00 0e 20 20 2f 2f 20 48 6f 75 72 20 48 61 6e 64 00 00 00 4f 20 20 66 69 6c 6c 5f 74 72 | .......//.Hour.Hand...O..fill_tr |
| 6c1a0 | 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e | i(px,.a->w,.a->h,.cx.+.cos(ha-0. |
| 6c1c0 | 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a | 12)*r*0.05,.cy.+.sin(ha-0.12)*r* |
| 6c1e0 | 30 2e 30 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 | 0.05,....?...........cx.+.cos(ha |
| 6c200 | 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 | +0.12)*r*0.05,.cy.+.sin(ha+0.12) |
| 6c220 | 2a 72 2a 30 2e 30 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | *r*0.05,....A...........cx.+.cos |
| 6c240 | 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 | (ha)*r*0.55,.cy.+.sin(ha)*r*0.55 |
| 6c260 | 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 10 20 20 2f 2f 20 4d 69 6e 75 74 65 20 48 61 | ,.0xFF000000);......//.Minute.Ha |
| 6c280 | 6e 64 00 00 00 51 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | nd...Q..fill_tri(px,.a->w,.a->h, |
| 6c2a0 | 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b | .cx.+.cos(ma-0.08)*r*0.035,.cy.+ |
| 6c2c0 | 20 73 69 6e 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 41 20 20 20 20 20 | .sin(ma-0.08)*r*0.035,....A..... |
| 6c2e0 | 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c | ......cx.+.cos(ma+0.08)*r*0.035, |
| 6c300 | 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 3f | .cy.+.sin(ma+0.08)*r*0.035,....? |
| 6c320 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 | ...........cx.+.cos(ma)*r*0.8,.c |
| 6c340 | 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | y.+.sin(ma)*r*0.8,.0xFF000000);. |
| 6c360 | 00 00 24 20 20 2f 2f 20 53 65 63 6f 6e 64 20 48 61 6e 64 20 28 53 68 6f 72 74 65 72 2c 20 62 61 | ..$..//.Second.Hand.(Shorter,.ba |
| 6c380 | 6c 61 6e 63 65 64 29 00 00 00 4e 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 | lanced)...N..fill_tri(px,.a->w,. |
| 6c3a0 | 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 20 | a->h,.cx.+.cos(sa-0.03)*r*0.02,. |
| 6c3c0 | 63 79 20 2b 20 73 69 6e 28 73 61 2d 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 00 00 00 3e 20 20 20 | cy.+.sin(sa-0.03)*r*0.02,...>... |
| 6c3e0 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 2b 30 2e 30 33 29 2a 72 2a 30 2e 30 32 | ........cx.+.cos(sa+0.03)*r*0.02 |
| 6c400 | 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2b 30 2e 30 33 29 2a 72 2a 30 2e 30 32 2c 00 00 00 3f 20 | ,.cy.+.sin(sa+0.03)*r*0.02,...?. |
| 6c420 | 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 38 2c 20 63 79 | ..........cx.+.cos(sa)*r*0.8,.cy |
| 6c440 | 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 | .+.sin(sa)*r*0.8,.0xFFFF0000);.. |
| 6c460 | 00 00 00 00 00 0f 20 20 2f 2f 20 43 65 6e 74 65 72 20 48 75 62 00 00 00 17 20 20 69 6e 74 20 68 | ........//.Center.Hub......int.h |
| 6c480 | 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 1b 20 20 69 66 20 28 68 75 62 5f 72 20 | ub_r.=.r.*.0.04;......if.(hub_r. |
| 6c4a0 | 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 69 6e 74 20 69 72 | <.4).hub_r.=.4;...X..for.(int.ir |
| 6c4c0 | 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 | .=.0;.ir.<.hub_r.-.2;.ir++).circ |
| 6c4e0 | 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 | le(px,.a->w,.a->h,.cx,.cy,.ir,.0 |
| 6c500 | 78 46 46 46 46 46 46 46 46 29 3b 35 81 f5 18 00 00 00 00 58 00 00 00 45 00 00 00 56 00 00 00 28 | xFFFFFFFF);5.......X...E...V...( |
| 6c520 | 00 00 00 67 00 00 00 03 00 00 00 d3 07 00 00 00 00 00 00 90 0c 00 00 00 00 00 00 96 0d 00 00 00 | ...g............................ |
| 6c540 | 00 00 00 35 81 5f d0 00 00 00 a2 00 00 00 a4 00 00 00 00 00 00 00 00 00 00 00 a3 00 00 00 01 00 | ...5._.......................... |
| 6c560 | 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 00 | ................................ |
| 6c580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6c6c0 | 00 00 00 00 00 00 00 00 00 69 9d a9 98 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 | .........i...................... |
| 6c6e0 | 00 00 00 00 01 22 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 | ....."....#define._POSIX_C_SOURC |
| 6c700 | 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c | E.200809L...&#include."xdg-shell |
| 6c720 | 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | -client-protocol.h"....#include. |
| 6c740 | 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 | <fcntl.h>....#include.<math.h>.. |
| 6c760 | 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | ..#include.<poll.h>....#include. |
| 6c780 | 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e | <signal.h>....#include.<stdbool. |
| 6c7a0 | 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e | h>....#include.<stdint.h>....#in |
| 6c7c0 | 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 | clude.<stdio.h>....#include.<std |
| 6c7e0 | 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 3e 00 00 00 | lib.h>....#include.<string.h>... |
| 6c800 | 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 | .#include.<sys/mman.h>....#inclu |
| 6c820 | 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c | de.<sys/timerfd.h>....#include.< |
| 6c840 | 74 69 6d 65 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 | time.h>....#include.<unistd.h>.. |
| 6c860 | 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 00 00 | ..#include.<wayland-client.h>... |
| 6c880 | 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 | .....#ifndef.M_PI...##define.M_P |
| 6c8a0 | 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 | I.3.14159265358979323846....#end |
| 6c8c0 | 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 | if....#ifndef.M_PI_2...%#define. |
| 6c8e0 | 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 | M_PI_2.1.57079632679489661923... |
| 6c900 | 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 | .#endif.......)static.volatile.s |
| 6c920 | 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 | ig_atomic_t.running.=.1;....stat |
| 6c940 | 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f | ic.void.on_sig(int.s).{......(vo |
| 6c960 | 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 | id)s;......running.=.0;....}.... |
| 6c980 | 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f | ....struct.app.{......struct.wl_ |
| 6c9a0 | 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 | display.*d;......struct.wl_regis |
| 6c9c0 | 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 | try.*reg;......struct.wl_composi |
| 6c9e0 | 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 | tor.*comp;......struct.wl_shm.*s |
| 6ca00 | 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b | hm;......struct.xdg_wm_base.*wm; |
| 6ca20 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 | ......struct.wl_surface.*ws;.... |
| 6ca40 | 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 | ..struct.xdg_surface.*xs;......s |
| 6ca60 | 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 | truct.xdg_toplevel.*xt;......voi |
| 6ca80 | 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 | d.*pixels;......struct.wl_buffer |
| 6caa0 | 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 | .*buf;......int.w,.h;......int.b |
| 6cac0 | 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e | w,.bh;......bool.configured;.... |
| 6cae0 | 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 | ..bool.redraw;....};.......Jstat |
| 6cb00 | 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 | ic.void.wm_ping(void.*data,.stru |
| 6cb20 | 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 | ct.xdg_wm_base.*wm,.uint32_t.ser |
| 6cb40 | 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c | ial).{......xdg_wm_base_pong(wm, |
| 6cb60 | 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 | .serial);....}.......$static.int |
| 6cb80 | 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 | .create_shm(size_t.size).{...#.. |
| 6cba0 | 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 | char.t[].=."/tmp/wlclock-XXXXXX" |
| 6cbc0 | 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 | ;......int.fd.=.mkstemp(t);..... |
| 6cbe0 | 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c | .if.(fd.<.0)........exit(1);.... |
| 6cc00 | 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 | ..unlink(t);......if.(ftruncate( |
| 6cc20 | 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 | fd,.size).<.0)........exit(1);.. |
| 6cc40 | 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 | ....return.fd;....}.......(stati |
| 6cc60 | 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 | c.void.destroy_buf(struct.app.*a |
| 6cc80 | 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 | ).{......if.(!a->buf)........ret |
| 6cca0 | 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 | urn;...*..size_t.size.=.(size_t) |
| 6ccc0 | 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 | a->bw.*.a->bh.*.4;......wl_buffe |
| 6cce0 | 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 | r_destroy(a->buf);......munmap(a |
| 6cd00 | 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e | ->pixels,.size);......a->buf.=.N |
| 6cd20 | 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d | ULL;......a->pixels.=.NULL;....} |
| 6cd40 | 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 | .......&static.void.alloc_buf(st |
| 6cd60 | 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 | ruct.app.*a).{......destroy_buf( |
| 6cd80 | 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 | a);...(..size_t.size.=.(size_t)a |
| 6cda0 | 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 | ->w.*.a->h.*.4;......int.fd.=.cr |
| 6cdc0 | 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d | eate_shm(size);...J..a->pixels.= |
| 6cde0 | 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 20 7c 20 50 52 | .mmap(NULL,.size,.PROT_READ.|.PR |
| 6ce00 | 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 | OT_WRITE,.MAP_SHARED,.fd,.0);... |
| 6ce20 | 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 | ...if.(a->pixels.==.MAP_FAILED). |
| 6ce40 | 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | .......exit(1);...B..struct.wl_s |
| 6ce60 | 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f | hm_pool.*pool.=.wl_shm_create_po |
| 6ce80 | 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 | ol(a->shm,.fd,.size);...C..a->bu |
| 6cea0 | 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f | f.=.wl_shm_pool_create_buffer(po |
| 6cec0 | 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d | ol,.0,.a->w,.a->h,.a->w.*.4,...= |
| 6cee0 | 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 | ................................ |
| 6cf00 | 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 | .....WL_SHM_FORMAT_ARGB8888);... |
| 6cf20 | 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 | ...wl_shm_pool_destroy(pool);... |
| 6cf40 | 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b | ...close(fd);......a->bw.=.a->w; |
| 6cf60 | 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 | ......a->bh.=.a->h;....}.......E |
| 6cf80 | 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c | static.void.circle(uint32_t.*px, |
| 6cfa0 | 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 | .int.w,.int.h,.int.cx,.int.cy,.i |
| 6cfc0 | 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 | nt.r,.......................uint |
| 6cfe0 | 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c | 32_t.c).{..."..int.x.=.0,.y.=.r, |
| 6d000 | 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d | .d.=.3.-.2.*.r;......while.(y.>= |
| 6d020 | 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 | .x).{...H....int.p[8][2].=.{{cx. |
| 6d040 | 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 | +.x,.cy.+.y},.{cx.-.x,.cy.+.y},. |
| 6d060 | 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 | {cx.+.x,.cy.-.y},...H........... |
| 6d080 | 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 | ........{cx.-.x,.cy.-.y},.{cx.+. |
| 6d0a0 | 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 | y,.cy.+.x},.{cx.-.y,.cy.+.x},... |
| 6d0c0 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | 7...................{cx.+.y,.cy. |
| 6d0e0 | 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 | -.x},.{cx.-.y,.cy.-.x}};........ |
| 6d100 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 | for.(int.i.=.0;.i.<.8;.i++)...E. |
| 6d120 | 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d | .....if.(p[i][0].>=.0.&&.p[i][0] |
| 6d140 | 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 | .<.w.&&.p[i][1].>=.0.&&.p[i][1]. |
| 6d160 | 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b | <.h)...&........px[p[i][1].*.w.+ |
| 6d180 | 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 | .p[i][0]].=.c;........if.(d.>.0) |
| 6d1a0 | 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 | .{..........d.+=.4.*.(x.-.y).+.1 |
| 6d1c0 | 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 | 0;..........y--;........}.else.. |
| 6d1e0 | 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 | ........d.+=.4.*.x.+.6;........x |
| 6d200 | 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f | ++;......}....}.......Pstatic.vo |
| 6d220 | 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c | id.fill_tri(uint32_t.*px,.int.w, |
| 6d240 | 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 | .int.h,.int.x0,.int.y0,.int.x1,. |
| 6d260 | 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int.y1,...2..................... |
| 6d280 | 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 | int.x2,.int.y2,.uint32_t.c).{... |
| 6d2a0 | 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 | B..int.min_y.=.y0.<.y1.?.(y0.<.y |
| 6d2c0 | 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 | 2.?.y0.:.y2).:.(y1.<.y2.?.y1.:.y |
| 6d2e0 | 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 | 2);...B..int.max_y.=.y0.>.y1.?.( |
| 6d300 | 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 | y0.>.y2.?.y0.:.y2).:.(y1.>.y2.?. |
| 6d320 | 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 | y1.:.y2);......if.(min_y.<.0)... |
| 6d340 | 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e | .....min_y.=.0;......if.(max_y.> |
| 6d360 | 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 | =.h)........max_y.=.h.-.1;...(.. |
| 6d380 | 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 | for.(int.y.=.min_y;.y.<=.max_y;. |
| 6d3a0 | 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 | y++).{........int.x_start.=.w,.x |
| 6d3c0 | 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 | _end.=.0;...3....int.xs[3].=.{x0 |
| 6d3e0 | 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b | ,.x1,.x2},.ys[3].=.{y0,.y1,.y2}; |
| 6d400 | 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 | ...!....for.(int.i.=.0;.i.<.3;.i |
| 6d420 | 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 | ++).{..........int.j.=.(i.+.1).% |
| 6d440 | 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 | .3;...C......if.((ys[i].<=.y.&&. |
| 6d460 | 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b | ys[j].>.y).||.(ys[j].<=.y.&&.ys[ |
| 6d480 | 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 1b 20 20 20 20 20 20 20 20 69 66 20 28 79 73 5b 6a 5d 20 | i].>.y)).{............if.(ys[j]. |
| 6d4a0 | 3d 3d 20 79 73 5b 69 5d 29 00 00 00 13 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b | ==.ys[i])..............continue; |
| 6d4c0 | 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d | ...H........int.x.=.xs[i].+.(y.- |
| 6d4e0 | 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b | .ys[i]).*.(xs[j].-.xs[i])./.(ys[ |
| 6d500 | 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 | j].-.ys[i]);............if.(x.<. |
| 6d520 | 78 5f 73 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 | x_start)..............x_start.=. |
| 6d540 | 78 3b 00 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 | x;............if.(x.>.x_end).... |
| 6d560 | 20 20 20 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 07 20 20 20 20 20 20 7d 00 | ..........x_end.=.x;..........}. |
| 6d580 | 00 00 05 20 20 20 20 7d 00 00 00 14 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 | .......}........if.(x_start.<.0) |
| 6d5a0 | 00 00 00 12 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 13 20 20 20 20 69 66 | ..........x_start.=.0;........if |
| 6d5c0 | 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 14 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 | .(x_end.>=.w)..........x_end.=.w |
| 6d5e0 | 20 2d 20 31 3b 00 00 00 2a 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 | .-.1;...*....for.(int.x.=.x_star |
| 6d600 | 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 18 20 20 20 20 20 20 70 78 5b | t;.x.<=.x_end;.x++)..........px[ |
| 6d620 | 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 | y.*.w.+.x].=.c;......}....}..... |
| 6d640 | 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 | ..#static.void.render(struct.app |
| 6d660 | 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c | .*a).{.../..if.(!a->configured.| |
| 6d680 | 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 | |.a->w.<=.0.||.a->h.<=.0)....... |
| 6d6a0 | 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 | .return;......if.(!a->buf)...... |
| 6d6c0 | 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 | ..alloc_buf(a);......uint32_t.*p |
| 6d6e0 | 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 | x.=.a->pixels;...$..memset(px,.0 |
| 6d700 | 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 | xFF,.a->w.*.a->h.*.4);......time |
| 6d720 | 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 | _t.tt.=.time(NULL);......struct. |
| 6d740 | 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 | tm.tmv;......localtime_r(&tt,.&t |
| 6d760 | 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 | mv);...#..int.cx.=.a->w./.2,.cy. |
| 6d780 | 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c | =.a->h./.2;.../..int.r.=.(a->w.< |
| 6d7a0 | 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 | .a->h.?.a->w.:.a->h)./.2.-.10;.. |
| 6d7c0 | 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 | ....if.(r.<.5)........r.=.5;.... |
| 6d7e0 | 00 00 00 0a 20 20 2f 2f 20 54 69 63 6b 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d | ......//.Ticks......for.(int.i.= |
| 6d800 | 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 | .0;.i.<.60;.i++).{........double |
| 6d820 | 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 | .ang.=.i./.60.0.*.2.*.M_PI.-.M_P |
| 6d840 | 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 | I_2;...1....int.len.=.(i.%.5.==. |
| 6d860 | 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 | 0).?.r.*.0.12.:.r.*.0.04;...0... |
| 6d880 | 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 | .double.t_ang.=.(i.%.5.==.0).?.0 |
| 6d8a0 | 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 | .012.:.0.005;...7....fill_tri(px |
| 6d8c0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 | ,.a->w,.a->h,.cx.+.cos(ang.-.t_a |
| 6d8e0 | 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 | ng).*.r,...B.............cy.+.si |
| 6d900 | 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 | n(ang.-.t_ang).*.r,.cx.+.cos(ang |
| 6d920 | 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | .+.t_ang).*.r,...B.............c |
| 6d940 | 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 | y.+.sin(ang.+.t_ang).*.r,.cx.+.c |
| 6d960 | 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 34 20 20 20 20 20 20 20 20 | os(ang).*.(r.-.len),...4........ |
| 6d980 | 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 | .....cy.+.sin(ang).*.(r.-.len),. |
| 6d9a0 | 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 | 0xFF000000);......}.......4..dou |
| 6d9c0 | 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a | ble.sa.=.tmv.tm_sec./.60.0.*.2.* |
| 6d9e0 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d | .M_PI.-.M_PI_2;...J..double.ma.= |
| 6da00 | 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 | .(tmv.tm_min.+.tmv.tm_sec./.60.0 |
| 6da20 | 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 | )./.60.0.*.2.*.M_PI.-.M_PI_2;... |
| 6da40 | 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d | ...double.ha.=...L......((tmv.tm |
| 6da60 | 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 | _hour.%.12).+.(tmv.tm_min./.60.0 |
| 6da80 | 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 | ))./.12.0.*.2.*.M_PI.-.M_PI_2;.. |
| 6daa0 | 00 00 00 00 00 0e 20 20 2f 2f 20 48 6f 75 72 20 48 61 6e 64 00 00 00 3a 20 20 66 69 6c 6c 5f 74 | ........//.Hour.Hand...:..fill_t |
| 6dac0 | 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d | ri(px,.a->w,.a->h,.cx.+.cos(ha.- |
| 6dae0 | 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 | .0.12).*.r.*.0.05,...J.......... |
| 6db00 | 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c | .cy.+.sin(ha.-.0.12).*.r.*.0.05, |
| 6db20 | 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c | .cx.+.cos(ha.+.0.12).*.r.*.0.05, |
| 6db40 | 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 | ...C...........cy.+.sin(ha.+.0.1 |
| 6db60 | 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 | 2).*.r.*.0.05,.cx.+.cos(ha).*.r. |
| 6db80 | 2a 20 30 2e 35 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 | *.0.55,...0...........cy.+.sin(h |
| 6dba0 | 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 10 20 | a).*.r.*.0.55,.0xFF000000);..... |
| 6dbc0 | 20 2f 2f 20 4d 69 6e 75 74 65 20 48 61 6e 64 00 00 00 3b 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 | .//.Minute.Hand...;..fill_tri(px |
| 6dbe0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 30 38 | ,.a->w,.a->h,.cx.+.cos(ma.-.0.08 |
| 6dc00 | 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | ).*.r.*.0.035,...L...........cy. |
| 6dc20 | 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 | +.sin(ma.-.0.08).*.r.*.0.035,.cx |
| 6dc40 | 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 | .+.cos(ma.+.0.08).*.r.*.0.035,.. |
| 6dc60 | 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 30 38 29 | .C...........cy.+.sin(ma.+.0.08) |
| 6dc80 | 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a | .*.r.*.0.035,.cx.+.cos(ma).*.r.* |
| 6dca0 | 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 | .0.8,.../...........cy.+.sin(ma) |
| 6dcc0 | 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 24 20 20 2f 2f | .*.r.*.0.8,.0xFF000000);...$..// |
| 6dce0 | 20 53 65 63 6f 6e 64 20 48 61 6e 64 20 28 53 68 6f 72 74 65 72 2c 20 62 61 6c 61 6e 63 65 64 29 | .Second.Hand.(Shorter,.balanced) |
| 6dd00 | 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | ...:..fill_tri(px,.a->w,.a->h,.c |
| 6dd20 | 78 20 2b 20 63 6f 73 28 73 61 20 2d 20 30 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 32 2c 00 00 | x.+.cos(sa.-.0.03).*.r.*.0.02,.. |
| 6dd40 | 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 2e 30 33 29 | .J...........cy.+.sin(sa.-.0.03) |
| 6dd60 | 20 2a 20 72 20 2a 20 30 2e 30 32 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 30 2e 30 33 29 | .*.r.*.0.02,.cx.+.cos(sa.+.0.03) |
| 6dd80 | 20 2a 20 72 20 2a 20 30 2e 30 32 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 | .*.r.*.0.02,...B...........cy.+. |
| 6dda0 | 73 69 6e 28 73 61 20 2b 20 30 2e 30 33 29 20 2a 20 72 20 2a 20 30 2e 30 32 2c 20 63 78 20 2b 20 | sin(sa.+.0.03).*.r.*.0.02,.cx.+. |
| 6ddc0 | 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 | cos(sa).*.r.*.0.8,.../.......... |
| 6dde0 | 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 46 46 30 | .cy.+.sin(sa).*.r.*.0.8,.0xFFFF0 |
| 6de00 | 30 30 30 29 3b 00 00 00 00 00 00 00 0f 20 20 2f 2f 20 43 65 6e 74 65 72 20 48 75 62 00 00 00 17 | 000);..........//.Center.Hub.... |
| 6de20 | 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 10 20 20 69 66 20 | ..int.hub_r.=.r.*.0.04;......if. |
| 6de40 | 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 | (hub_r.<.4)........hub_r.=.4;... |
| 6de60 | 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d | (..for.(int.ir.=.0;.ir.<.hub_r.- |
| 6de80 | 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 | .2;.ir++)...3....circle(px,.a->w |
| 6dea0 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b | ,.a->h,.cx,.cy,.ir,.0xFFFFFFFF); |
| 6dec0 | 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c | ...4..circle(px,.a->w,.a->h,.cx, |
| 6dee0 | 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 | .cy,.hub_r,.0xFF000000);.......) |
| 6df00 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 | ..wl_surface_attach(a->ws,.a->bu |
| 6df20 | 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 | f,.0,.0);...4..wl_surface_damage |
| 6df40 | 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 | _buffer(a->ws,.0,.0,.a->w,.a->h) |
| 6df60 | 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | ;......wl_surface_commit(a->ws); |
| 6df80 | 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 | ......a->redraw.=.false;....}... |
| 6dfa0 | 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a | ....Gstatic.void.xt_close(void.* |
| 6dfc0 | 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 | d,.struct.xdg_toplevel.*xt).{.ru |
| 6dfe0 | 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 | nning.=.0;.}.......Jstatic.void. |
| 6e000 | 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | xt_cfg(void.*d,.struct.xdg_tople |
| 6e020 | 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 | vel.*xt,.int32_t.w,.int32_t.h,.. |
| 6e040 | 00 28 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 77 6c 5f 61 | .(...................struct.wl_a |
| 6e060 | 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 | rray.*s).{......struct.app.*a.=. |
| 6e080 | 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 | d;...3..if.(w.>.0.&&.h.>.0.&&.(w |
| 6e0a0 | 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 | .!=.a->w.||.h.!=.a->h)).{....... |
| 6e0c0 | 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 | .a->w.=.w;........a->h.=.h;..... |
| 6e0e0 | 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 | ...destroy_buf(a);........a->red |
| 6e100 | 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 46 73 | raw.=.true;......}....}.......Fs |
| 6e120 | 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xs_cfg(void.*d,.struc |
| 6e140 | 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 | t.xdg_surface.*xs,.uint32_t.seri |
| 6e160 | 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 | al).{......struct.app.*a.=.d;... |
| 6e180 | 28 20 20 78 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 | (..xdg_surface_ack_configure(xs, |
| 6e1a0 | 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 | .serial);......a->configured.=.t |
| 6e1c0 | 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d | rue;......a->redraw.=.true;....} |
| 6e1e0 | 00 00 00 00 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 | .......Cstatic.void.reg_global(v |
| 6e200 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 | oid.*d,.struct.wl_registry.*r,.u |
| 6e220 | 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int32_t.id,...3................. |
| 6e240 | 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 | ......const.char.*i,.uint32_t.v) |
| 6e260 | 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 | .{......struct.app.*a.=.d;...".. |
| 6e280 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 | if.(!strcmp(i,."wl_compositor")) |
| 6e2a0 | 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | ...C....a->comp.=.wl_registry_bi |
| 6e2c0 | 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 | nd(r,.id,.&wl_compositor_interfa |
| 6e2e0 | 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c | ce,.4);......else.if.(!strcmp(i, |
| 6e300 | 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 | ."wl_shm"))...;....a->shm.=.wl_r |
| 6e320 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 | egistry_bind(r,.id,.&wl_shm_inte |
| 6e340 | 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 | rface,.1);...'..else.if.(!strcmp |
| 6e360 | 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e | (i,."xdg_wm_base")).{...?....a-> |
| 6e380 | 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 | wm.=.wl_registry_bind(r,.id,.&xd |
| 6e3a0 | 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 43 20 20 20 20 | g_wm_base_interface,.1);...C.... |
| 6e3c0 | 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 73 65 5f | static.const.struct.xdg_wm_base_ |
| 6e3e0 | 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 | listener.l.=.{.ping.=.wm_ping};. |
| 6e400 | 00 00 2b 20 20 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 | ..+....xdg_wm_base_add_listener( |
| 6e420 | 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | a->wm,.&l,.a);......}....}...... |
| 6e440 | 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 | ..int.main(void).{......struct.a |
| 6e460 | 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 | pp.a.=.{0};......a.w.=.400;..... |
| 6e480 | 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 | .a.h.=.400;......signal(SIGINT,. |
| 6e4a0 | 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | on_sig);...!..a.d.=.wl_display_c |
| 6e4c0 | 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d | onnect(NULL);......if.(!a.d).... |
| 6e4e0 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 | ....return.1;...'..a.reg.=.wl_di |
| 6e500 | 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 | splay_get_registry(a.d);...G..st |
| 6e520 | 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 | atic.const.struct.wl_registry_li |
| 6e540 | 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 | stener.rl.=.{.global.=.reg_globa |
| 6e560 | 6c 7d 3b 00 00 00 2b 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 | l};...+..wl_registry_add_listene |
| 6e580 | 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c | r(a.reg,.&rl,.&a);......wl_displ |
| 6e5a0 | 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 | ay_roundtrip(a.d);...!..if.(!a.c |
| 6e5c0 | 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 | omp.||.!a.shm.||.!a.wm)........r |
| 6e5e0 | 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | eturn.1;......a.ws.=.wl_composit |
| 6e600 | 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 | or_create_surface(a.comp);...1.. |
| 6e620 | 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | a.xs.=.xdg_wm_base_get_xdg_surfa |
| 6e640 | 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | ce(a.wm,.a.ws);...G..static.cons |
| 6e660 | 74 20 73 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 73 | t.struct.xdg_surface_listener.xs |
| 6e680 | 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 | l.=.{.configure.=.xs_cfg};...+.. |
| 6e6a0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 | xdg_surface_add_listener(a.xs,.& |
| 6e6c0 | 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 | xsl,.&a);...(..a.xt.=.xdg_surfac |
| 6e6e0 | 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 | e_get_toplevel(a.xs);...G..stati |
| 6e700 | 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 65 6c 5f 6c 69 73 74 | c.const.struct.xdg_toplevel_list |
| 6e720 | 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c | ener.xtl.=.{.configure.=.xt_cfg, |
| 6e740 | 00 00 00 46 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 | ...F............................ |
| 6e760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 | ........................close.=. |
| 6e780 | 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 | xt_close};...,..xdg_toplevel_add |
| 6e7a0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 | _listener(a.xt,.&xtl,.&a);...*.. |
| 6e7c0 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c | xdg_toplevel_set_title(a.xt,."wl |
| 6e7e0 | 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | clock");......wl_surface_commit( |
| 6e800 | 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 | a.ws);......while.(!a.configured |
| 6e820 | 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 | )........wl_display_dispatch(a.d |
| 6e840 | 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 | );......render(&a);...9..int.tfd |
| 6e860 | 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 | .=.timerfd_create(CLOCK_MONOTONI |
| 6e880 | 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 | C,.TFD_CLOEXEC);...F..timerfd_se |
| 6e8a0 | 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 | ttime(tfd,.0,.&(struct.itimerspe |
| 6e8c0 | 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 | c){{1,.0},.{1,.0}},.NULL);...... |
| 6e8e0 | 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 | while.(running).{...-....while.( |
| 6e900 | 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 | wl_display_prepare_read(a.d).!=. |
| 6e920 | 30 29 00 00 00 27 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 | 0)...'......wl_display_dispatch_ |
| 6e940 | 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | pending(a.d);........wl_display_ |
| 6e960 | 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 | flush(a.d);...M....struct.pollfd |
| 6e980 | 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e | .fds[2].=.{{wl_display_get_fd(a. |
| 6e9a0 | 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f | d),.POLLIN},.{tfd,.POLLIN}};.... |
| 6e9c0 | 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 | ....if.(poll(fds,.2,.-1).<.0).{. |
| 6e9e0 | 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 | .."......wl_display_cancel_read( |
| 6ea00 | 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 | a.d);..........continue;........ |
| 6ea20 | 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f | }........if.(fds[0].revents.&.PO |
| 6ea40 | 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 | LLIN)..."......wl_display_read_e |
| 6ea60 | 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 | vents(a.d);........else..."..... |
| 6ea80 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 | .wl_display_cancel_read(a.d);... |
| 6eaa0 | 25 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 |
| 6eac0 | 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 | (a.d);..."....if.(fds[1].revents |
| 6eae0 | 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 | .&.POLLIN).{..........uint64_t.t |
| 6eb00 | 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c | _exp;...'......read(tfd,.&t_exp, |
| 6eb20 | 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 | .sizeof(t_exp));..........a.redr |
| 6eb40 | 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 | aw.=.true;........}........if.(a |
| 6eb60 | 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 | .redraw)..........render(&a);... |
| 6eb80 | 03 20 20 7d 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 | ...}......close(tfd);......destr |
| 6eba0 | 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 | oy_buf(&a);......wl_display_disc |
| 6ebc0 | 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d | onnect(a.d);......return.0;....} |
| 6ebe0 | 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 22 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | 5..............."............... |
| 6ec00 | 00 00 00 00 00 00 00 00 94 21 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 a3 | .........!..............5._..... |
| 6ec20 | 00 00 00 a5 00 00 00 00 00 00 00 00 00 00 00 a4 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 6ec40 | 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 | ................................ |
| 6ec60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ec80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6eca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ecc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ece0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ed00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ed20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ed40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ed60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ed80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d | ..............................i. |
| 6eda0 | a9 98 04 01 00 00 00 00 00 f5 18 00 00 00 f2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d | ...............................} |
| 6edc0 | f5 18 00 00 00 f3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e4 00 00 00 00 00 00 00 00 | ................................ |
| 6ede0 | 00 00 00 01 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 | .......5....while.(wl_display_pr |
| 6ee00 | 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 69 73 70 f5 18 00 | epare_read(a.d).!=.0).wl_disp... |
| 6ee20 | 00 00 e5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d5 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6ee40 | 01 00 00 00 03 20 20 69 f5 18 00 00 00 d6 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b3 | .......i........................ |
| 6ee60 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 73 f5 18 00 00 00 b4 00 00 00 00 00 00 00 00 00 | ................s............... |
| 6ee80 | 00 00 00 f5 18 00 00 00 8f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 20 20 20 | ................................ |
| 6eea0 | 20 20 20 20 20 20 63 78 f5 18 00 00 00 90 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 | ......cx........................ |
| 6eec0 | 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 | ................................ |
| 6eee0 | 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 8f 00 00 00 0f 00 | ..5............................. |
| 6ef00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 6ef20 | 8f 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 01 00 00 00 00 10 00 00 00 00 00 00 | ................$............... |
| 6ef40 | 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 f5 18 00 00 00 00 b3 00 00 00 01 00 00 00 00 00 | ................................ |
| 6ef60 | 00 00 00 00 00 00 22 00 00 00 03 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 | ......"......................... |
| 6ef80 | 00 00 00 00 00 00 f5 18 00 00 00 00 d5 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 | ................................ |
| 6efa0 | 35 00 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 | 5............................... |
| 6efc0 | 00 00 e4 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 01 00 00 00 00 1e 00 00 00 00 | ......5......................... |
| 6efe0 | 00 00 00 00 00 00 00 00 00 00 35 02 00 00 00 00 00 00 35 81 5f d0 00 00 00 a4 00 00 00 a6 00 00 | ..........5.......5._........... |
| 6f000 | 00 00 00 00 00 00 00 00 00 a5 00 00 00 f3 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 | ................................ |
| 6f020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 6f160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 99 04 01 00 00 | ........................i....... |
| 6f180 | 00 36 00 f5 18 00 00 00 36 00 00 01 23 00 00 00 f3 00 00 00 bb 00 00 00 16 20 20 69 66 20 28 66 | .6......6...#..............if.(f |
| 6f1a0 | 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 | d.<.0).exit(1);......unlink(t);. |
| 6f1c0 | 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 | ..'..if.(ftruncate(fd,.size).<.0 |
| 6f1e0 | 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 | ).exit(1);......return.fd;....}. |
| 6f200 | 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 | ......(static.void.destroy_buf(s |
| 6f220 | 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 75 66 | truct.app.*a).{......if.(!a->buf |
| 6f240 | 29 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 | ).return;...*..size_t.size.=.(si |
| 6f260 | 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f | ze_t)a->bw.*.a->bh.*.4;......wl_ |
| 6f280 | 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e | buffer_destroy(a->buf);......mun |
| 6f2a0 | 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 | map(a->pixels,.size);......a->bu |
| 6f2c0 | 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b | f.=.NULL;......a->pixels.=.NULL; |
| 6f2e0 | 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 | ....}.......&static.void.alloc_b |
| 6f300 | 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 | uf(struct.app.*a).{......destroy |
| 6f320 | 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a | _buf(a);...(..size_t.size.=.(siz |
| 6f340 | 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 | e_t)a->w.*.a->h.*.4;......int.fd |
| 6f360 | 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 | .=.create_shm(size);...J..a->pix |
| 6f380 | 65 6c 73 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 | els.=.mmap(NULL,.size,.PROT_READ |
| 6f3a0 | 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 | .|.PROT_WRITE,.MAP_SHARED,.fd,.0 |
| 6f3c0 | 29 3b 00 00 00 27 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 | );...'..if.(a->pixels.==.MAP_FAI |
| 6f3e0 | 4c 45 44 29 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d | LED).exit(1);...B..struct.wl_shm |
| 6f400 | 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c | _pool.*pool.=.wl_shm_create_pool |
| 6f420 | 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 | (a->shm,.fd,.size);...\..a->buf. |
| 6f440 | 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c | =.wl_shm_pool_create_buffer(pool |
| 6f460 | 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 | ,.0,.a->w,.a->h,.a->w.*.4,.WL_SH |
| 6f480 | 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f | M_FORMAT_ARGB8888);......wl_shm_ |
| 6f4a0 | 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 | pool_destroy(pool);......close(f |
| 6f4c0 | 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 | d);......a->bw.=.a->w;......a->b |
| 6f4e0 | 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 | h.=.a->h;....}.......Sstatic.voi |
| 6f500 | 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e | d.circle(uint32_t.*px,.int.w,.in |
| 6f520 | 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 | t.h,.int.cx,.int.cy,.int.r,.uint |
| 6f540 | 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c | 32_t.c).{..."..int.x.=.0,.y.=.r, |
| 6f560 | 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d | .d.=.3.-.2.*.r;......while.(y.>= |
| 6f580 | 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 | .x).{...H....int.p[8][2].=.{{cx. |
| 6f5a0 | 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 | +.x,.cy.+.y},.{cx.-.x,.cy.+.y},. |
| 6f5c0 | 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 | {cx.+.x,.cy.-.y},...H........... |
| 6f5e0 | 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 | ........{cx.-.x,.cy.-.y},.{cx.+. |
| 6f600 | 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 | y,.cy.+.x},.{cx.-.y,.cy.+.x},... |
| 6f620 | 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | 7...................{cx.+.y,.cy. |
| 6f640 | 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 | -.x},.{cx.-.y,.cy.-.x}};........ |
| 6f660 | 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 | for.(int.i.=.0;.i.<.8;.i++)...E. |
| 6f680 | 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d | .....if.(p[i][0].>=.0.&&.p[i][0] |
| 6f6a0 | 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 | .<.w.&&.p[i][1].>=.0.&&.p[i][1]. |
| 6f6c0 | 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b | <.h)...&........px[p[i][1].*.w.+ |
| 6f6e0 | 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 | .p[i][0]].=.c;...C....if.(d.>.0) |
| 6f700 | 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d | .{.d.+=.4.*.(x.-.y).+.10;.y--;.} |
| 6f720 | 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b | .else.d.+=.4.*.x.+.6;........x++ |
| 6f740 | 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 | ;......}....}.......nstatic.void |
| 6f760 | 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 | .fill_tri(uint32_t.*px,.int.w,.i |
| 6f780 | 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e | nt.h,.int.x0,.int.y0,.int.x1,.in |
| 6f7a0 | 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 | t.y1,.int.x2,.int.y2,.uint32_t.c |
| 6f7c0 | 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 | ).{...B..int.min_y.=.y0.<.y1.?.( |
| 6f7e0 | 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 | y0.<.y2.?.y0.:.y2).:.(y1.<.y2.?. |
| 6f800 | 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 | y1.:.y2);...B..int.max_y.=.y0.>. |
| 6f820 | 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e | y1.?.(y0.>.y2.?.y0.:.y2).:.(y1.> |
| 6f840 | 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 1b 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c | .y2.?.y1.:.y2);......if.(min_y.< |
| 6f860 | 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 00 00 00 20 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d | .0).min_y.=.0;......if.(max_y.>= |
| 6f880 | 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 | .h).max_y.=.h.-.1;...(..for.(int |
| 6f8a0 | 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 | .y.=.min_y;.y.<=.max_y;.y++).{.. |
| 6f8c0 | 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 | ......int.x_start.=.w,.x_end.=.0 |
| 6f8e0 | 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 | ;...3....int.xs[3].=.{x0,.x1,.x2 |
| 6f900 | 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 17 20 20 20 20 | },.ys[3].=.{y0,.y1,.y2};........ |
| 6f920 | 62 6f 6f 6c 20 66 6f 75 6e 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 | bool.found.=.false;...!....for.( |
| 6f940 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 | int.i.=.0;.i.<.3;.i++).{........ |
| 6f960 | 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 | ..int.j.=.(i.+.1).%.3;...C...... |
| 6f980 | 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c | if.((ys[i].<=.y.&&.ys[j].>.y).|| |
| 6f9a0 | 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 | .(ys[j].<=.y.&&.ys[i].>.y)).{... |
| 6f9c0 | 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 | H........int.x.=.xs[i].+.(y.-.ys |
| 6f9e0 | 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 | [i]).*.(xs[j].-.xs[i])./.(ys[j]. |
| 6fa00 | 2d 20 79 73 5b 69 5d 29 3b 00 00 00 25 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 | -.ys[i]);...%........if.(x.<.x_s |
| 6fa20 | 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 21 20 20 20 20 20 20 20 20 69 66 | tart).x_start.=.x;...!........if |
| 6fa40 | 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 15 20 20 20 20 20 | .(x.>.x_end).x_end.=.x;......... |
| 6fa60 | 20 20 20 66 6f 75 6e 64 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 | ...found.=.true;..........}..... |
| 6fa80 | 20 20 20 7d 00 00 00 10 20 20 20 20 69 66 20 28 66 6f 75 6e 64 29 20 7b 00 00 00 23 20 20 20 20 | ...}........if.(found).{...#.... |
| 6faa0 | 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 | ..if.(x_start.<.0).x_start.=.0;. |
| 6fac0 | 00 00 24 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d | ..$......if.(x_end.>=.w).x_end.= |
| 6fae0 | 20 77 20 2d 20 31 3b 00 00 00 3f 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f | .w.-.1;...?......for.(int.x.=.x_ |
| 6fb00 | 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 | start;.x.<=.x_end;.x++).px[y.*.w |
| 6fb20 | 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | .+.x].=.c;........}......}....}. |
| 6fb40 | 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 | ......#static.void.render(struct |
| 6fb60 | 20 61 70 70 20 2a 61 29 20 7b 00 00 00 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 | .app.*a).{...7..if.(!a->configur |
| 6fb80 | 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 | ed.||.a->w.<=.0.||.a->h.<=.0).re |
| 6fba0 | 74 75 72 6e 3b 00 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 5f 62 75 | turn;......if.(!a->buf).alloc_bu |
| 6fbc0 | 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 | f(a);......uint32_t.*px.=.a->pix |
| 6fbe0 | 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 | els;...$..memset(px,.0xFF,.a->w. |
| 6fc00 | 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 | *.a->h.*.4);......time_t.tt.=.ti |
| 6fc20 | 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 | me(NULL);......struct.tm.tmv;... |
| 6fc40 | 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 | ...localtime_r(&tt,.&tmv);...#.. |
| 6fc60 | 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 | int.cx.=.a->w./.2,.cy.=.a->h./.2 |
| 6fc80 | 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d | ;.../..int.r.=.(a->w.<.a->h.?.a- |
| 6fca0 | 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 | >w.:.a->h)./.2.-.10;......if.(r. |
| 6fcc0 | 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 0f 20 20 2f 2f 20 44 69 61 6c 20 54 69 63 | <.5).r.=.5;..........//.Dial.Tic |
| 6fce0 | 6b 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 | ks......for.(int.i.=.0;.i.<.60;. |
| 6fd00 | 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 | i++).{........double.ang.=.i./.6 |
| 6fd20 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 | 0.0.*.2.*.M_PI.-.M_PI_2;...1.... |
| 6fd40 | 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 | int.len.=.(i.%.5.==.0).?.r.*.0.1 |
| 6fd60 | 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e | 2.:.r.*.0.04;...0....double.t_an |
| 6fd80 | 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 | g.=.(i.%.5.==.0).?.0.012.:.0.005 |
| 6fda0 | 3b 00 00 00 1d 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ;........fill_tri(px,.a->w,.a->h |
| 6fdc0 | 2c 20 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2d | ,....:.............cx.+.cos(ang- |
| 6fde0 | 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c | t_ang)*r,.cy.+.sin(ang-t_ang)*r, |
| 6fe00 | 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2b 74 5f | ...:.............cx.+.cos(ang+t_ |
| 6fe20 | 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 00 00 | ang)*r,.cy.+.sin(ang+t_ang)*r,.. |
| 6fe40 | 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d | .G.............cx.+.cos(ang)*(r- |
| 6fe60 | 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 30 78 46 | len),.cy.+.sin(ang)*(r-len),.0xF |
| 6fe80 | 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 | F000000);......}.......4..double |
| 6fea0 | 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f | .sa.=.tmv.tm_sec./.60.0.*.2.*.M_ |
| 6fec0 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 | PI.-.M_PI_2;...J..double.ma.=.(t |
| 6fee0 | 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f | mv.tm_min.+.tmv.tm_sec./.60.0)./ |
| 6ff00 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...T.. |
| 6ff20 | 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 | double.ha.=.((tmv.tm_hour.%.12). |
| 6ff40 | 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 | +.(tmv.tm_min./.60.0))./.12.0.*. |
| 6ff60 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 0e 20 20 2f 2f 20 48 | 2.*.M_PI.-.M_PI_2;..........//.H |
| 6ff80 | 6f 75 72 20 48 61 6e 64 00 00 00 4f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | our.Hand...O..fill_tri(px,.a->w, |
| 6ffa0 | 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c | .a->h,.cx.+.cos(ha-0.12)*r*0.05, |
| 6ffc0 | 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 00 3f 20 | .cy.+.sin(ha-0.12)*r*0.05,....?. |
| 6ffe0 | 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e | ..........cx.+.cos(ha+0.12)*r*0. |
| 70000 | 30 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 | 05,.cy.+.sin(ha+0.12)*r*0.05,... |
| 70020 | 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 | .A...........cx.+.cos(ha)*r*0.55 |
| 70040 | 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 | ,.cy.+.sin(ha)*r*0.55,.0xFF00000 |
| 70060 | 30 29 3b 00 00 00 10 20 20 2f 2f 20 4d 69 6e 75 74 65 20 48 61 6e 64 00 00 00 51 20 20 66 69 6c | 0);......//.Minute.Hand...Q..fil |
| 70080 | 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d | l_tri(px,.a->w,.a->h,.cx.+.cos(m |
| 700a0 | 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 30 | a-0.08)*r*0.035,.cy.+.sin(ma-0.0 |
| 700c0 | 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 | 8)*r*0.035,....A...........cx.+. |
| 700e0 | 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d | cos(ma+0.08)*r*0.035,.cy.+.sin(m |
| 70100 | 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 | a+0.08)*r*0.035,....?........... |
| 70120 | 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 | cx.+.cos(ma)*r*0.8,.cy.+.sin(ma) |
| 70140 | 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 3b 20 20 2f 2f | *r*0.8,.0xFF000000);.......;..// |
| 70160 | 20 52 65 64 20 53 65 63 6f 6e 64 20 48 61 6e 64 20 2d 20 54 68 69 63 6b 65 6e 65 64 20 61 6e 64 | .Red.Second.Hand.-.Thickened.and |
| 70180 | 20 66 6f 72 63 65 64 20 74 6f 20 73 74 61 79 20 76 69 73 69 62 6c 65 00 00 00 3a 20 20 64 6f 75 | .forced.to.stay.visible...:..dou |
| 701a0 | 62 6c 65 20 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 20 3d 20 30 2e 30 36 3b 20 2f 2f 20 57 69 64 | ble.s_width_angle.=.0.06;.//.Wid |
| 701c0 | 65 72 20 61 6e 67 6c 65 20 66 6f 72 20 74 68 65 20 62 61 73 65 00 00 00 1b 20 20 66 69 6c 6c 5f | er.angle.for.the.base......fill_ |
| 701e0 | 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 00 00 00 50 20 20 20 20 20 20 20 20 | tri(px,.a->w,.a->h,....P........ |
| 70200 | 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 2a 72 2a | ...cx.+.cos(sa-s_width_angle)*r* |
| 70220 | 30 2e 30 33 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2d 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 | 0.03,.cy.+.sin(sa-s_width_angle) |
| 70240 | 2a 72 2a 30 2e 30 33 2c 00 00 00 50 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 | *r*0.03,...P...........cx.+.cos( |
| 70260 | 73 61 2b 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 2a 72 2a 30 2e 30 33 2c 20 63 79 20 2b 20 73 | sa+s_width_angle)*r*0.03,.cy.+.s |
| 70280 | 69 6e 28 73 61 2b 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 2a 72 2a 30 2e 30 33 2c 00 00 00 3f | in(sa+s_width_angle)*r*0.03,...? |
| 702a0 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 38 2c 20 63 | ...........cx.+.cos(sa)*r*0.8,.c |
| 702c0 | 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 | y.+.sin(sa)*r*0.8,.0xFFFF0000);. |
| 702e0 | 00 00 00 00 00 00 0f 20 20 2f 2f 20 43 65 6e 74 65 72 20 48 75 62 00 00 00 17 20 20 69 6e 74 20 | .........//.Center.Hub......int. |
| 70300 | 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 1b 20 20 69 66 20 28 68 75 62 5f 72 | hub_r.=.r.*.0.04;......if.(hub_r |
| 70320 | 20 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 69 6e 74 20 69 | .<.4).hub_r.=.4;...X..for.(int.i |
| 70340 | 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 | r.=.0;.ir.<.hub_r.-.2;.ir++).cir |
| 70360 | 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 | cle(px,.a->w,.a->h,.cx,.cy,.ir,. |
| 70380 | 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e | 0xFFFFFFFF);...4..circle(px,.a-> |
| 703a0 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 | w,.a->h,.cx,.cy,.hub_r,.0xFF0000 |
| 703c0 | 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | 00);.......)..wl_surface_attach( |
| 703e0 | 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 | a->ws,.a->buf,.0,.0);...4..wl_su |
| 70400 | 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c | rface_damage_buffer(a->ws,.0,.0, |
| 70420 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | .a->w,.a->h);......wl_surface_co |
| 70440 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 | mmit(a->ws);......a->redraw.=.fa |
| 70460 | 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | lse;....}.......Gstatic.void.xt_ |
| 70480 | 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | close(void.*d,.struct.xdg_toplev |
| 704a0 | 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 60 73 74 61 74 | el.*xt).{.running.=.0;.}...`stat |
| 704c0 | 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | ic.void.xt_cfg(void.*d,.struct.x |
| 704e0 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 | dg_toplevel.*xt,.int32_t.w,.int3 |
| 70500 | 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 | 2_t.h,.struct.wl_array.*s).{.... |
| 70520 | 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 | ..struct.app.*a.=.d;...3..if.(w. |
| 70540 | 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 | >.0.&&.h.>.0.&&.(w.!=.a->w.||.h. |
| 70560 | 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 17 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e | !=.a->h)).{........a->w.=.w;.a-> |
| 70580 | 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | h.=.h;........destroy_buf(a);... |
| 705a0 | 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 | .....a->redraw.=.true;......}... |
| 705c0 | 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 | .}...Fstatic.void.xs_cfg(void.*d |
| 705e0 | 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 6e 74 33 32 | ,.struct.xdg_surface.*xs,.uint32 |
| 70600 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | _t.serial).{......struct.app.*a. |
| 70620 | 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | =.d;...(..xdg_surface_ack_config |
| 70640 | 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 | ure(xs,.serial);......a->configu |
| 70660 | 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 | red.=.true;......a->redraw.=.tru |
| 70680 | 65 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 | e;....}...`static.void.reg_globa |
| 706a0 | 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | l(void.*d,.struct.wl_registry.*r |
| 706c0 | 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 | ,.uint32_t.id,.const.char.*i,.ui |
| 706e0 | 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d | nt32_t.v).{......struct.app.*a.= |
| 70700 | 20 64 3b 00 00 00 62 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 | .d;...b..if.(!strcmp(i,."wl_comp |
| 70720 | 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | ositor")).a->comp.=.wl_registry_ |
| 70740 | 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 | bind(r,.id,.&wl_compositor_inter |
| 70760 | 66 61 63 65 2c 20 34 29 3b 00 00 00 58 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | face,.4);...X..else.if.(!strcmp( |
| 70780 | 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 | i,."wl_shm")).a->shm.=.wl_regist |
| 707a0 | 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 | ry_bind(r,.id,.&wl_shm_interface |
| 707c0 | 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 | ,.1);...'..else.if.(!strcmp(i,." |
| 707e0 | 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 | xdg_wm_base")).{...?....a->wm.=. |
| 70800 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f | wl_registry_bind(r,.id,.&xdg_wm_ |
| 70820 | 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 73 74 61 74 69 | base_interface,.1);...C....stati |
| 70840 | 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 | c.const.struct.xdg_wm_base_liste |
| 70860 | 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 | ner.l.=.{.ping.=.wm_ping};...+.. |
| 70880 | 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 61 2d 3e 77 6d | ..xdg_wm_base_add_listener(a->wm |
| 708a0 | 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 | ,.&l,.a);......}....}........int |
| 708c0 | 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 | .main(void).{...+..struct.app.a. |
| 708e0 | 3d 20 7b 30 7d 3b 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 | =.{0};.a.w.=.400;.a.h.=.400;.... |
| 70900 | 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 | ..signal(SIGINT,.on_sig);...!..a |
| 70920 | 2e 64 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 | .d.=.wl_display_connect(NULL);.. |
| 70940 | 00 15 20 20 69 66 20 28 21 61 2e 64 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 | ....if.(!a.d).return.1;...'..a.r |
| 70960 | 65 67 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 61 2e 64 | eg.=.wl_display_get_registry(a.d |
| 70980 | 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 | );...G..static.const.struct.wl_r |
| 709a0 | 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d | egistry_listener.rl.=.{.global.= |
| 709c0 | 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 | .reg_global};...+..wl_registry_a |
| 709e0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c | dd_listener(a.reg,.&rl,.&a);.... |
| 70a00 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 2b | ..wl_display_roundtrip(a.d);...+ |
| 70a20 | 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d | ..if.(!a.comp.||.!a.shm.||.!a.wm |
| 70a40 | 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f | ).return.1;......a.ws.=.wl_compo |
| 70a60 | 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 | sitor_create_surface(a.comp);... |
| 70a80 | 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 | 1..a.xs.=.xdg_wm_base_get_xdg_su |
| 70aa0 | 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 | rface(a.wm,.a.ws);...G..static.c |
| 70ac0 | 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 74 65 6e 65 72 | onst.struct.xdg_surface_listener |
| 70ae0 | 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 | .xsl.=.{.configure.=.xs_cfg};... |
| 70b00 | 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 | +..xdg_surface_add_listener(a.xs |
| 70b20 | 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 | ,.&xsl,.&a);...(..a.xt.=.xdg_sur |
| 70b40 | 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 5b 20 20 73 74 | face_get_toplevel(a.xs);...[..st |
| 70b60 | 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 65 6c 5f 6c | atic.const.struct.xdg_toplevel_l |
| 70b80 | 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 | istener.xtl.=.{.configure.=.xt_c |
| 70ba0 | 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 | fg,..close.=.xt_close};...,..xdg |
| 70bc0 | 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 | _toplevel_add_listener(a.xt,.&xt |
| 70be0 | 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 | l,.&a);...*..xdg_toplevel_set_ti |
| 70c00 | 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 | tle(a.xt,."wlclock");......wl_su |
| 70c20 | 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 31 20 20 77 68 69 6c 65 20 28 | rface_commit(a.ws);...1..while.( |
| 70c40 | 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 | !a.configured).wl_display_dispat |
| 70c60 | 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 | ch(a.d);......render(&a);...9..i |
| 70c80 | 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f | nt.tfd.=.timerfd_create(CLOCK_MO |
| 70ca0 | 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 | NOTONIC,.TFD_CLOEXEC);...F..time |
| 70cc0 | 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 | rfd_settime(tfd,.0,.&(struct.iti |
| 70ce0 | 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b | merspec){{1,.0},.{1,.0}},.NULL); |
| 70d00 | 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 4f 20 20 20 20 77 | ......while.(running).{...O....w |
| 70d20 | 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 61 64 28 61 2e | hile.(wl_display_prepare_read(a. |
| 70d40 | 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e | d).!=.0).wl_display_dispatch_pen |
| 70d60 | 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 | ding(a.d);........wl_display_flu |
| 70d80 | 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 | sh(a.d);...M....struct.pollfd.fd |
| 70da0 | 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c | s[2].=.{{wl_display_get_fd(a.d), |
| 70dc0 | 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 48 20 20 20 | .POLLIN},.{tfd,.POLLIN}};...H... |
| 70de0 | 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 20 77 6c 5f | .if.(poll(fds,.2,.-1).<.0).{.wl_ |
| 70e00 | 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 20 63 6f 6e 74 69 6e | display_cancel_read(a.d);.contin |
| 70e20 | 75 65 3b 20 7d 00 00 00 5f 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 | ue;.}..._....if.(fds[0].revents. |
| 70e40 | 26 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 | &.POLLIN).wl_display_read_events |
| 70e60 | 28 61 2e 64 29 3b 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 | (a.d);.else.wl_display_cancel_re |
| 70e80 | 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | ad(a.d);...%....wl_display_dispa |
| 70ea0 | 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 | tch_pending(a.d);..."....if.(fds |
| 70ec0 | 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 37 20 20 20 20 20 | [1].revents.&.POLLIN).{...7..... |
| 70ee0 | 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 | .uint64_t.t_exp;.read(tfd,.&t_ex |
| 70f00 | 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 | p,.sizeof(t_exp));..........a.re |
| 70f20 | 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 | draw.=.true;........}........if. |
| 70f40 | 28 61 2e 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 | (a.redraw).render(&a);......}... |
| 70f60 | 3a 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 20 | :..close(tfd);.destroy_buf(&a);. |
| 70f80 | 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 35 81 f5 18 00 | wl_display_disconnect(a.d);5.... |
| 70fa0 | 00 00 00 36 00 00 00 0d 00 00 00 ba 00 00 00 1e 00 00 00 eb 00 00 00 01 00 00 00 60 04 00 00 00 | ...6.......................`.... |
| 70fc0 | 00 00 00 ab 1b 00 00 00 00 00 00 ae 1d 00 00 00 00 00 00 35 81 5f d0 00 00 00 a5 00 00 00 a7 00 | ...................5._.......... |
| 70fe0 | 00 00 00 00 00 00 00 00 00 00 a6 00 00 00 ed 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 | ................................ |
| 71000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 710a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 710c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 710e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 b2 04 01 00 | .........................i...... |
| 71160 | 00 00 00 00 f5 18 00 00 00 ed 00 00 00 ef 00 00 01 25 00 00 00 01 00 00 00 01 09 f5 18 00 00 00 | .................%.............. |
| 71180 | ed 00 00 00 ef 00 00 01 24 00 00 00 00 35 81 f5 18 00 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 | ........$....5.................. |
| 711a0 | 00 00 00 00 00 01 00 00 00 00 00 00 00 50 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .............P.................. |
| 711c0 | 00 00 00 00 00 f5 18 00 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 | ................................ |
| 711e0 | 00 00 00 50 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 35 81 5f d0 00 | ...P.......................5._.. |
| 71200 | 00 00 a6 00 00 00 a8 00 00 00 00 00 00 00 00 00 00 00 a7 00 00 00 01 00 00 00 05 00 00 00 00 ff | ................................ |
| 71220 | ff ff 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 | ................................ |
| 71240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 712a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 712c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 712e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 71380 | 00 69 9d a9 e0 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 25 00 00 | .i...........................%.. |
| 713a0 | 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 30 39 | ..#define._POSIX_C_SOURCE.200809 |
| 713c0 | 4c 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 65 6e 74 2d | L...&#include."xdg-shell-client- |
| 713e0 | 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 | protocol.h"....#include.<fcntl.h |
| 71400 | 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | >....#include.<math.h>....#inclu |
| 71420 | 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 6c 2e | de.<poll.h>....#include.<signal. |
| 71440 | 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 | h>....#include.<stdbool.h>....#i |
| 71460 | 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 73 | nclude.<stdint.h>....#include.<s |
| 71480 | 74 64 69 6f 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 00 00 | tdio.h>....#include.<stdlib.h>.. |
| 714a0 | 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 00 00 00 15 23 69 6e 63 6c 75 64 | ..#include.<string.h>....#includ |
| 714c0 | 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f | e.<sys/mman.h>....#include.<sys/ |
| 714e0 | 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 3e 00 | timerfd.h>....#include.<time.h>. |
| 71500 | 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 1b 23 69 6e 63 6c 75 | ...#include.<unistd.h>....#inclu |
| 71520 | 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 69 66 | de.<wayland-client.h>........#if |
| 71540 | 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 | ndef.M_PI...##define.M_PI.3.1415 |
| 71560 | 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 | 9265358979323846....#endif....#i |
| 71580 | 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 | fndef.M_PI_2...%#define.M_PI_2.1 |
| 715a0 | 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 | .57079632679489661923....#endif. |
| 715c0 | 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 | ......)static.volatile.sig_atomi |
| 715e0 | 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 | c_t.running.=.1;....static.void. |
| 71600 | 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 | on_sig(int.s).{......(void)s;... |
| 71620 | 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 | ...running.=.0;....}........stru |
| 71640 | 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 | ct.app.{......struct.wl_display. |
| 71660 | 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | *d;......struct.wl_registry.*reg |
| 71680 | 3b 00 00 00 1d 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 | ;......struct.wl_compositor.*com |
| 716a0 | 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 | p;......struct.wl_shm.*shm;..... |
| 716c0 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 | .struct.xdg_wm_base.*wm;......st |
| 716e0 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 | ruct.wl_surface.*ws;......struct |
| 71700 | 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 | .xdg_surface.*xs;......struct.xd |
| 71720 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c | g_toplevel.*xt;......void.*pixel |
| 71740 | 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 | s;......struct.wl_buffer.*buf;.. |
| 71760 | 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 | ....int.w,.h;......int.bw,.bh;.. |
| 71780 | 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 | ....bool.configured;......bool.r |
| 717a0 | 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 | edraw;....};.......Jstatic.void. |
| 717c0 | 77 6d 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 78 64 67 5f 77 | wm_ping(void.*data,.struct.xdg_w |
| 717e0 | 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 | m_base.*wm,.uint32_t.serial).{.. |
| 71800 | 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 | ....xdg_wm_base_pong(wm,.serial) |
| 71820 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f | ;....}.......$static.int.create_ |
| 71840 | 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d | shm(size_t.size).{...#..char.t[] |
| 71860 | 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 | .=."/tmp/wlclock-XXXXXX";......i |
| 71880 | 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 | nt.fd.=.mkstemp(t);......if.(fd. |
| 718a0 | 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b | <.0)........exit(1);......unlink |
| 718c0 | 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 | (t);......if.(ftruncate(fd,.size |
| 718e0 | 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 | ).<.0)........exit(1);......retu |
| 71900 | 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 | rn.fd;....}.......(static.void.d |
| 71920 | 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 | estroy_buf(struct.app.*a).{..... |
| 71940 | 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a | .if.(!a->buf)........return;...* |
| 71960 | 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 | ..size_t.size.=.(size_t)a->bw.*. |
| 71980 | 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f | a->bh.*.4;......wl_buffer_destro |
| 719a0 | 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 | y(a->buf);......munmap(a->pixels |
| 719c0 | 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 | ,.size);......a->buf.=.NULL;.... |
| 719e0 | 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 | ..a->pixels.=.NULL;....}.......& |
| 71a00 | 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 | static.void.alloc_buf(struct.app |
| 71a20 | 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 | .*a).{......destroy_buf(a);...(. |
| 71a40 | 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d | .size_t.size.=.(size_t)a->w.*.a- |
| 71a60 | 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d | >h.*.4;......int.fd.=.create_shm |
| 71a80 | 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 | (size);...J..a->pixels.=.mmap(NU |
| 71aa0 | 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 | LL,.size,.PROT_READ.|.PROT_WRITE |
| 71ac0 | 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 | ,.MAP_SHARED,.fd,.0);......if.(a |
| 71ae0 | 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 | ->pixels.==.MAP_FAILED)........e |
| 71b00 | 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 | xit(1);...B..struct.wl_shm_pool. |
| 71b20 | 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 | *pool.=.wl_shm_create_pool(a->sh |
| 71b40 | 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 | m,.fd,.size);...C..a->buf.=.wl_s |
| 71b60 | 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 | hm_pool_create_buffer(pool,.0,.a |
| 71b80 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 | ->w,.a->h,.a->w.*.4,...=........ |
| 71ba0 | 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 57 4c 5f | .............................WL_ |
| 71bc0 | 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 | SHM_FORMAT_ARGB8888);......wl_sh |
| 71be0 | 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 | m_pool_destroy(pool);......close |
| 71c00 | 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d | (fd);......a->bw.=.a->w;......a- |
| 71c20 | 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 | >bh.=.a->h;....}.......Estatic.v |
| 71c40 | 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 | oid.circle(uint32_t.*px,.int.w,. |
| 71c60 | 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 | int.h,.int.cx,.int.cy,.int.r,... |
| 71c80 | 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 32 5f 74 20 63 29 20 | ....................uint32_t.c). |
| 71ca0 | 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d | {..."..int.x.=.0,.y.=.r,.d.=.3.- |
| 71cc0 | 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 | .2.*.r;......while.(y.>=.x).{... |
| 71ce0 | 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 | H....int.p[8][2].=.{{cx.+.x,.cy. |
| 71d00 | 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c | +.y},.{cx.-.x,.cy.+.y},.{cx.+.x, |
| 71d20 | 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cy.-.y},...H................... |
| 71d40 | 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 | {cx.-.x,.cy.-.y},.{cx.+.y,.cy.+. |
| 71d60 | 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 | x},.{cx.-.y,.cy.+.x},...7....... |
| 71d80 | 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 | ............{cx.+.y,.cy.-.x},.{c |
| 71da0 | 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 | x.-.y,.cy.-.x}};........for.(int |
| 71dc0 | 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 | .i.=.0;.i.<.8;.i++)...E......if. |
| 71de0 | 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 | (p[i][0].>=.0.&&.p[i][0].<.w.&&. |
| 71e00 | 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 | p[i][1].>=.0.&&.p[i][1].<.h)...& |
| 71e20 | 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d | ........px[p[i][1].*.w.+.p[i][0] |
| 71e40 | 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 | ].=.c;........if.(d.>.0).{...... |
| 71e60 | 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 | ....d.+=.4.*.(x.-.y).+.10;...... |
| 71e80 | 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 | ....y--;........}.else.......... |
| 71ea0 | 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 | d.+=.4.*.x.+.6;........x++;..... |
| 71ec0 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f | .}....}.......Pstatic.void.fill_ |
| 71ee0 | 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | tri(uint32_t.*px,.int.w,.int.h,. |
| 71f00 | 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 | int.x0,.int.y0,.int.x1,.int.y1,. |
| 71f20 | 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 | ..2.....................int.x2,. |
| 71f40 | 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d | int.y2,.uint32_t.c).{...B..int.m |
| 71f60 | 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a | in_y.=.y0.<.y1.?.(y0.<.y2.?.y0.: |
| 71f80 | 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 | .y2).:.(y1.<.y2.?.y1.:.y2);...B. |
| 71fa0 | 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 | .int.max_y.=.y0.>.y1.?.(y0.>.y2. |
| 71fc0 | 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 | ?.y0.:.y2).:.(y1.>.y2.?.y1.:.y2) |
| 71fe0 | 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e | ;......if.(min_y.<.0)........min |
| 72000 | 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 | _y.=.0;......if.(max_y.>=.h).... |
| 72020 | 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 | ....max_y.=.h.-.1;...(..for.(int |
| 72040 | 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 | .y.=.min_y;.y.<=.max_y;.y++).{.. |
| 72060 | 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 | ......int.x_start.=.w,.x_end.=.0 |
| 72080 | 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 | ;...3....int.xs[3].=.{x0,.x1,.x2 |
| 720a0 | 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 17 20 20 20 20 | },.ys[3].=.{y0,.y1,.y2};........ |
| 720c0 | 62 6f 6f 6c 20 66 6f 75 6e 64 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 | bool.found.=.false;...!....for.( |
| 720e0 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 | int.i.=.0;.i.<.3;.i++).{........ |
| 72100 | 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 | ..int.j.=.(i.+.1).%.3;...C...... |
| 72120 | 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c | if.((ys[i].<=.y.&&.ys[j].>.y).|| |
| 72140 | 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 | .(ys[j].<=.y.&&.ys[i].>.y)).{... |
| 72160 | 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 | H........int.x.=.xs[i].+.(y.-.ys |
| 72180 | 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 | [i]).*.(xs[j].-.xs[i])./.(ys[j]. |
| 721a0 | 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 | -.ys[i]);............if.(x.<.x_s |
| 721c0 | 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 | tart)..............x_start.=.x;. |
| 721e0 | 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 | ...........if.(x.>.x_end)....... |
| 72200 | 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 15 20 20 20 20 20 20 20 20 66 6f 75 | .......x_end.=.x;............fou |
| 72220 | 6e 64 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 | nd.=.true;..........}........}.. |
| 72240 | 00 10 20 20 20 20 69 66 20 28 66 6f 75 6e 64 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 | ......if.(found).{..........if.( |
| 72260 | 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 14 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 | x_start.<.0)............x_start. |
| 72280 | 3d 20 30 3b 00 00 00 15 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 | =.0;..........if.(x_end.>=.w)... |
| 722a0 | 16 20 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2c 20 20 20 20 20 | .........x_end.=.w.-.1;...,..... |
| 722c0 | 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e | .for.(int.x.=.x_start;.x.<=.x_en |
| 722e0 | 64 3b 20 78 2b 2b 29 00 00 00 1a 20 20 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d | d;.x++)............px[y.*.w.+.x] |
| 72300 | 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | .=.c;........}......}....}...... |
| 72320 | 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 | .#static.void.render(struct.app. |
| 72340 | 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c | *a).{.../..if.(!a->configured.|| |
| 72360 | 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 | .a->w.<=.0.||.a->h.<=.0)........ |
| 72380 | 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 | return;......if.(!a->buf)....... |
| 723a0 | 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 | .alloc_buf(a);......uint32_t.*px |
| 723c0 | 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 | .=.a->pixels;...$..memset(px,.0x |
| 723e0 | 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f | FF,.a->w.*.a->h.*.4);......time_ |
| 72400 | 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 | t.tt.=.time(NULL);......struct.t |
| 72420 | 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d | m.tmv;......localtime_r(&tt,.&tm |
| 72440 | 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d | v);...#..int.cx.=.a->w./.2,.cy.= |
| 72460 | 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 | .a->h./.2;.../..int.r.=.(a->w.<. |
| 72480 | 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 | a->h.?.a->w.:.a->h)./.2.-.10;... |
| 724a0 | 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 | ...if.(r.<.5)........r.=.5;..... |
| 724c0 | 00 00 0f 20 20 2f 2f 20 44 69 61 6c 20 54 69 63 6b 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 | .....//.Dial.Ticks......for.(int |
| 724e0 | 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f | .i.=.0;.i.<.60;.i++).{........do |
| 72500 | 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | uble.ang.=.i./.60.0.*.2.*.M_PI.- |
| 72520 | 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 | .M_PI_2;...1....int.len.=.(i.%.5 |
| 72540 | 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 | .==.0).?.r.*.0.12.:.r.*.0.04;... |
| 72560 | 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 | 0....double.t_ang.=.(i.%.5.==.0) |
| 72580 | 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 20 20 20 66 69 6c 6c 5f 74 72 | .?.0.012.:.0.005;...7....fill_tr |
| 725a0 | 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2d | i(px,.a->w,.a->h,.cx.+.cos(ang.- |
| 725c0 | 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | .t_ang).*.r,...B.............cy. |
| 725e0 | 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 | +.sin(ang.-.t_ang).*.r,.cx.+.cos |
| 72600 | 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 | (ang.+.t_ang).*.r,...B.......... |
| 72620 | 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 78 | ...cy.+.sin(ang.+.t_ang).*.r,.cx |
| 72640 | 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 00 00 34 20 20 20 20 | .+.cos(ang).*.(r.-.len),...4.... |
| 72660 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 | .........cy.+.sin(ang).*.(r.-.le |
| 72680 | 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 | n),.0xFF000000);......}.......4. |
| 726a0 | 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a | .double.sa.=.tmv.tm_sec./.60.0.* |
| 726c0 | 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 | .2.*.M_PI.-.M_PI_2;...J..double. |
| 726e0 | 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 | ma.=.(tmv.tm_min.+.tmv.tm_sec./. |
| 72700 | 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 | 60.0)./.60.0.*.2.*.M_PI.-.M_PI_2 |
| 72720 | 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d | ;......double.ha.=...L......((tm |
| 72740 | 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 | v.tm_hour.%.12).+.(tmv.tm_min./. |
| 72760 | 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f | 60.0))./.12.0.*.2.*.M_PI.-.M_PI_ |
| 72780 | 32 3b 00 00 00 00 00 00 00 0e 20 20 2f 2f 20 48 6f 75 72 20 48 61 6e 64 00 00 00 3a 20 20 66 69 | 2;..........//.Hour.Hand...:..fi |
| 727a0 | 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 | ll_tri(px,.a->w,.a->h,.cx.+.cos( |
| 727c0 | 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 4a 20 20 20 20 20 20 | ha.-.0.12).*.r.*.0.05,...J...... |
| 727e0 | 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 | .....cy.+.sin(ha.-.0.12).*.r.*.0 |
| 72800 | 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 | .05,.cx.+.cos(ha.+.0.12).*.r.*.0 |
| 72820 | 2e 30 35 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b | .05,...C...........cy.+.sin(ha.+ |
| 72840 | 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 | .0.12).*.r.*.0.05,.cx.+.cos(ha). |
| 72860 | 2a 20 72 20 2a 20 30 2e 35 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 | *.r.*.0.55,...0...........cy.+.s |
| 72880 | 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | in(ha).*.r.*.0.55,.0xFF000000);. |
| 728a0 | 00 00 10 20 20 2f 2f 20 4d 69 6e 75 74 65 20 48 61 6e 64 00 00 00 3b 20 20 66 69 6c 6c 5f 74 72 | .....//.Minute.Hand...;..fill_tr |
| 728c0 | 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 | i(px,.a->w,.a->h,.cx.+.cos(ma.-. |
| 728e0 | 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 | 0.08).*.r.*.0.035,...L.......... |
| 72900 | 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 | .cy.+.sin(ma.-.0.08).*.r.*.0.035 |
| 72920 | 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 | ,.cx.+.cos(ma.+.0.08).*.r.*.0.03 |
| 72940 | 35 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 | 5,...C...........cy.+.sin(ma.+.0 |
| 72960 | 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a | .08).*.r.*.0.035,.cx.+.cos(ma).* |
| 72980 | 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e | .r.*.0.8,.../...........cy.+.sin |
| 729a0 | 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 00 | (ma).*.r.*.0.8,.0xFF000000);.... |
| 729c0 | 00 00 00 3b 20 20 2f 2f 20 52 65 64 20 53 65 63 6f 6e 64 20 48 61 6e 64 20 2d 20 54 68 69 63 6b | ...;..//.Red.Second.Hand.-.Thick |
| 729e0 | 65 6e 65 64 20 61 6e 64 20 66 6f 72 63 65 64 20 74 6f 20 73 74 61 79 20 76 69 73 69 62 6c 65 00 | ened.and.forced.to.stay.visible. |
| 72a00 | 00 00 3a 20 20 64 6f 75 62 6c 65 20 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 20 3d 20 30 2e 30 36 | ..:..double.s_width_angle.=.0.06 |
| 72a20 | 3b 20 2f 2f 20 57 69 64 65 72 20 61 6e 67 6c 65 20 66 6f 72 20 74 68 65 20 62 61 73 65 00 00 00 | ;.//.Wider.angle.for.the.base... |
| 72a40 | 43 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b | C..fill_tri(px,.a->w,.a->h,.cx.+ |
| 72a60 | 20 63 6f 73 28 73 61 20 2d 20 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 20 2a 20 72 20 2a 20 30 | .cos(sa.-.s_width_angle).*.r.*.0 |
| 72a80 | 2e 30 33 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d | .03,...3...........cy.+.sin(sa.- |
| 72aa0 | 20 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 20 2a 20 72 20 2a 20 30 2e 30 33 2c 00 00 00 33 20 | .s_width_angle).*.r.*.0.03,...3. |
| 72ac0 | 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 73 5f 77 69 64 74 68 5f | ..........cx.+.cos(sa.+.s_width_ |
| 72ae0 | 61 6e 67 6c 65 29 20 2a 20 72 20 2a 20 30 2e 30 33 2c 00 00 00 4b 20 20 20 20 20 20 20 20 20 20 | angle).*.r.*.0.03,...K.......... |
| 72b00 | 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 73 5f 77 69 64 74 68 5f 61 6e 67 6c 65 29 20 2a 20 | .cy.+.sin(sa.+.s_width_angle).*. |
| 72b20 | 72 20 2a 20 30 2e 30 33 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 | r.*.0.03,.cx.+.cos(sa).*.r.*.0.8 |
| 72b40 | 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 | ,.../...........cy.+.sin(sa).*.r |
| 72b60 | 20 2a 20 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 0f 20 20 2f 2f | .*.0.8,.0xFFFF0000);..........// |
| 72b80 | 20 43 65 6e 74 65 72 20 48 75 62 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a | .Center.Hub......int.hub_r.=.r.* |
| 72ba0 | 20 30 2e 30 34 3b 00 00 00 10 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 | .0.04;......if.(hub_r.<.4)...... |
| 72bc0 | 20 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 | ..hub_r.=.4;...(..for.(int.ir.=. |
| 72be0 | 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 | 0;.ir.<.hub_r.-.2;.ir++)...3.... |
| 72c00 | 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 | circle(px,.a->w,.a->h,.cx,.cy,.i |
| 72c20 | 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 | r,.0xFFFFFFFF);...4..circle(px,. |
| 72c40 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 | a->w,.a->h,.cx,.cy,.hub_r,.0xFF0 |
| 72c60 | 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 | 00000);.......)..wl_surface_atta |
| 72c80 | 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c | ch(a->ws,.a->buf,.0,.0);...4..wl |
| 72ca0 | 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c | _surface_damage_buffer(a->ws,.0, |
| 72cc0 | 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 | .0,.a->w,.a->h);......wl_surface |
| 72ce0 | 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d | _commit(a->ws);......a->redraw.= |
| 72d00 | 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 | .false;....}.......Gstatic.void. |
| 72d20 | 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 | xt_close(void.*d,.struct.xdg_top |
| 72d40 | 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 4a 73 | level.*xt).{.running.=.0;.}...Js |
| 72d60 | 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 | tatic.void.xt_cfg(void.*d,.struc |
| 72d80 | 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 | t.xdg_toplevel.*xt,.int32_t.w,.i |
| 72da0 | 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt32_t.h,...(................... |
| 72dc0 | 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 | struct.wl_array.*s).{......struc |
| 72de0 | 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 | t.app.*a.=.d;...3..if.(w.>.0.&&. |
| 72e00 | 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 | h.>.0.&&.(w.!=.a->w.||.h.!=.a->h |
| 72e20 | 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e | )).{........a->w.=.w;........a-> |
| 72e40 | 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | h.=.h;........destroy_buf(a);... |
| 72e60 | 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 | .....a->redraw.=.true;......}... |
| 72e80 | 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 | .}...Fstatic.void.xs_cfg(void.*d |
| 72ea0 | 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 6e 74 33 32 | ,.struct.xdg_surface.*xs,.uint32 |
| 72ec0 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 | _t.serial).{......struct.app.*a. |
| 72ee0 | 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 | =.d;...(..xdg_surface_ack_config |
| 72f00 | 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 | ure(xs,.serial);......a->configu |
| 72f20 | 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 | red.=.true;......a->redraw.=.tru |
| 72f40 | 65 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 | e;....}...Cstatic.void.reg_globa |
| 72f60 | 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | l(void.*d,.struct.wl_registry.*r |
| 72f80 | 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.uint32_t.id,...3.............. |
| 72fa0 | 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 | .........const.char.*i,.uint32_t |
| 72fc0 | 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 | .v).{......struct.app.*a.=.d;... |
| 72fe0 | 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | "..if.(!strcmp(i,."wl_compositor |
| 73000 | 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 | "))...C....a->comp.=.wl_registry |
| 73020 | 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 | _bind(r,.id,.&wl_compositor_inte |
| 73040 | 72 66 61 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 | rface,.4);......else.if.(!strcmp |
| 73060 | 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 | (i,."wl_shm"))...;....a->shm.=.w |
| 73080 | 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 | l_registry_bind(r,.id,.&wl_shm_i |
| 730a0 | 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 | nterface,.1);...'..else.if.(!str |
| 730c0 | 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 | cmp(i,."xdg_wm_base")).{...?.... |
| 730e0 | 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 | a->wm.=.wl_registry_bind(r,.id,. |
| 73100 | 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 00 00 43 20 | &xdg_wm_base_interface,.1);...C. |
| 73120 | 20 20 20 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 | ...static.const.struct.xdg_wm_ba |
| 73140 | 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 | se_listener.l.=.{.ping.=.wm_ping |
| 73160 | 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e | };...+....xdg_wm_base_add_listen |
| 73180 | 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | er(a->wm,.&l,.a);......}....}... |
| 731a0 | 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 03 09 3a 25 00 00 00 15 | .....int.main(void).{.....:%.... |
| 731c0 | 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d | ..struct.app.a.=.{0};......a.w.= |
| 731e0 | 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 | .400;......a.h.=.400;......signa |
| 73200 | 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c | l(SIGINT,.on_sig);...!..a.d.=.wl |
| 73220 | 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 0b 20 20 69 66 20 | _display_connect(NULL);......if. |
| 73240 | 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 | (!a.d)........return.1;...'..a.r |
| 73260 | 65 67 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 61 2e 64 | eg.=.wl_display_get_registry(a.d |
| 73280 | 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 | );...G..static.const.struct.wl_r |
| 732a0 | 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d | egistry_listener.rl.=.{.global.= |
| 732c0 | 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 | .reg_global};...+..wl_registry_a |
| 732e0 | 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c | dd_listener(a.reg,.&rl,.&a);.... |
| 73300 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 | ..wl_display_roundtrip(a.d);...! |
| 73320 | 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d | ..if.(!a.comp.||.!a.shm.||.!a.wm |
| 73340 | 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 | )........return.1;......a.ws.=.w |
| 73360 | 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 65 28 61 2e 63 6f | l_compositor_create_surface(a.co |
| 73380 | 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 | mp);...1..a.xs.=.xdg_wm_base_get |
| 733a0 | 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 | _xdg_surface(a.wm,.a.ws);...G..s |
| 733c0 | 74 61 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 | tatic.const.struct.xdg_surface_l |
| 733e0 | 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 | istener.xsl.=.{.configure.=.xs_c |
| 73400 | 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e | fg};...+..xdg_surface_add_listen |
| 73420 | 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 | er(a.xs,.&xsl,.&a);...(..a.xt.=. |
| 73440 | 78 64 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 | xdg_surface_get_toplevel(a.xs);. |
| 73460 | 00 00 47 20 20 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 | ..G..static.const.struct.xdg_top |
| 73480 | 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 | level_listener.xtl.=.{.configure |
| 734a0 | 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .=.xt_cfg,...F.................. |
| 734c0 | 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 | ................................ |
| 734e0 | 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f | ..close.=.xt_close};...,..xdg_to |
| 73500 | 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 | plevel_add_listener(a.xt,.&xtl,. |
| 73520 | 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 | &a);...*..xdg_toplevel_set_title |
| 73540 | 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 | (a.xt,."wlclock");......wl_surfa |
| 73560 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e | ce_commit(a.ws);......while.(!a. |
| 73580 | 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 | configured)........wl_display_di |
| 735a0 | 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 | spatch(a.d);......render(&a);... |
| 735c0 | 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 | 9..int.tfd.=.timerfd_create(CLOC |
| 735e0 | 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 | K_MONOTONIC,.TFD_CLOEXEC);...F.. |
| 73600 | 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 | timerfd_settime(tfd,.0,.&(struct |
| 73620 | 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 | .itimerspec){{1,.0},.{1,.0}},.NU |
| 73640 | 4c 4c 29 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 | LL);......while.(running).{...-. |
| 73660 | 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 61 | ...while.(wl_display_prepare_rea |
| 73680 | 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | d(a.d).!=.0)...'......wl_display |
| 736a0 | 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 | _dispatch_pending(a.d);........w |
| 736c0 | 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 | l_display_flush(a.d);...M....str |
| 736e0 | 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 | uct.pollfd.fds[2].=.{{wl_display |
| 73700 | 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c | _get_fd(a.d),.POLLIN},.{tfd,.POL |
| 73720 | 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d | LIN}};........if.(poll(fds,.2,.- |
| 73740 | 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 | 1).<.0).{..."......wl_display_ca |
| 73760 | 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 | ncel_read(a.d);..........continu |
| 73780 | 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 | e;........}........if.(fds[0].re |
| 737a0 | 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 | vents.&.POLLIN)..."......wl_disp |
| 737c0 | 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 | lay_read_events(a.d);........els |
| 737e0 | 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 | e..."......wl_display_cancel_rea |
| 73800 | 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 | d(a.d);...%....wl_display_dispat |
| 73820 | 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b | ch_pending(a.d);..."....if.(fds[ |
| 73840 | 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 | 1].revents.&.POLLIN).{.......... |
| 73860 | 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 | uint64_t.t_exp;...'......read(tf |
| 73880 | 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 16 20 20 | d,.&t_exp,.sizeof(t_exp));...... |
| 738a0 | 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 | ....a.redraw.=.true;........}... |
| 738c0 | 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 | .....if.(a.redraw)..........rend |
| 738e0 | 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 | er(&a);......}......close(tfd);. |
| 73900 | 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 | .....destroy_buf(&a);......wl_di |
| 73920 | 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 | splay_disconnect(a.d);......retu |
| 73940 | 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 25 01 00 00 00 00 | rn.0;....}5...............%..... |
| 73960 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3d 22 00 00 00 00 00 00 01 00 00 00 00 00 | ..................="............ |
| 73980 | 00 00 35 81 5f d0 00 00 00 a7 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 00 a8 00 00 00 01 00 00 | ..5._........................... |
| 739a0 | 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 00 00 00 00 00 00 00 | ................................ |
| 739c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 739e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73b00 | 00 00 00 00 00 00 00 00 69 9d a9 e1 04 01 00 00 00 00 00 f5 18 00 00 00 a4 00 00 00 00 00 00 00 | ........i....................... |
| 73b20 | 00 00 00 00 01 00 00 00 33 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b | ........3....a->w.=.w;.a->h.=.h; |
| 73b40 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d f5 18 00 00 | .destroy_buf(a);.a->redraw.=.... |
| 73b60 | 00 a5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 97 00 00 00 00 00 00 00 00 00 00 00 01 | ................................ |
| 73b80 | 00 00 00 47 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f | ...G..for.(int.ir.=.0;.ir.<.hub_ |
| 73ba0 | 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | r.-.2;.ir++).circle(px,.a->w,.a- |
| 73bc0 | 3e 68 2c 20 63 78 2c 20 63 79 2c f5 18 00 00 00 98 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | >h,.cx,.cy,..................... |
| 73be0 | 00 00 8f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 04 20 20 20 20 f5 18 00 00 00 90 00 00 00 | ................................ |
| 73c00 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 8b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 28 20 | ..............................(. |
| 73c20 | 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 | .fill_tri(px,.a->w,.a->h,.cx.+.c |
| 73c40 | 6f 73 28 68 61 2d 30 f5 18 00 00 00 8c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 81 00 | os(ha-0......................... |
| 73c60 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 82 00 00 00 00 00 00 00 00 00 | ................................ |
| 73c80 | 00 00 00 f5 18 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 39 20 20 20 20 20 20 66 | ........m...............9......f |
| 73ca0 | 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b | or.(int.x.=.x_start;.x.<=.x_end; |
| 73cc0 | 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 f5 18 00 00 00 6e 00 00 00 00 00 00 00 00 | .x++).px[y.*.w.+.x.....n........ |
| 73ce0 | 00 00 00 00 f5 18 00 00 00 61 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 | .........a...................... |
| 73d00 | 62 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 54 00 00 00 00 00 00 00 00 00 00 00 01 00 | b.................T............. |
| 73d20 | 00 00 3b 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 | ..;......if.(p[i][0].>=.0.&&.p[i |
| 73d40 | 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b f5 18 | ][0].<.w.&&.p[i][1].>=.0.&&.p[.. |
| 73d60 | 00 00 00 55 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 47 00 00 00 00 00 00 00 00 00 00 | ...U.................G.......... |
| 73d80 | 00 01 00 00 00 57 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 | .....W..a->buf.=.wl_shm_pool_cre |
| 73da0 | 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ate_buffer(pool,.0,.a->w,.a->h,. |
| 73dc0 | 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 f5 18 00 | a->w.*.4,.WL_SHM_FORMAT_ARGB8... |
| 73de0 | 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 | ..H............................. |
| 73e00 | 01 00 00 00 13 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 f5 18 00 00 00 2f 00 00 | .....static.int.create_s...../.. |
| 73e20 | 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 | ................................ |
| 73e40 | 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............. |
| 73e60 | 00 00 00 00 00 00 00 00 00 00 2e 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73e80 | 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 2e 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 73ea0 | 19 00 00 00 57 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 | ....W........................... |
| 73ec0 | f5 18 00 00 00 00 47 00 00 00 57 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 3b 00 00 00 00 07 | ......G...W...............;..... |
| 73ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 54 00 00 00 | ............................T... |
| 73f00 | 3b 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 | ;............................... |
| 73f20 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 61 00 00 00 01 00 00 00 00 00 00 00 00 00 | ..................a............. |
| 73f40 | 00 00 0c 00 00 00 39 00 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 | ......9......................... |
| 73f60 | 00 00 f5 18 00 00 00 00 6d 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 02 00 00 00 | ........m...9................... |
| 73f80 | 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 81 00 | ................................ |
| 73fa0 | 00 00 02 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 28 00 00 00 00 0f 00 00 00 00 00 00 00 00 | ..................(............. |
| 73fc0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 8b 00 00 00 28 00 00 00 00 00 00 00 | ........................(....... |
| 73fe0 | 00 00 00 00 04 00 00 00 04 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 74000 | 00 00 00 00 f5 18 00 00 00 00 8f 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 47 00 | ..............................G. |
| 74020 | 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 | ................................ |
| 74040 | 97 00 00 00 47 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 33 00 00 00 00 14 00 00 00 00 00 00 | ....G...............3........... |
| 74060 | 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 a4 00 00 00 33 00 00 00 00 00 | ..........................3..... |
| 74080 | 00 00 00 00 00 00 3d 00 00 00 01 00 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3b 0a | ......=.......................;. |
| 740a0 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 a8 00 00 00 aa 00 00 00 00 00 00 00 00 00 00 00 a9 00 00 | ......5._....................... |
| 740c0 | 00 e2 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 | ................................ |
| 740e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 741a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 741c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 741e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 74220 | 00 00 00 00 00 00 00 00 00 00 00 00 69 9d a9 e1 04 01 00 00 00 38 00 f5 18 00 00 00 19 00 00 01 | ............i........8.......... |
| 74240 | 23 00 00 00 e2 00 00 00 c7 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 | #...........3static.void.on_sig( |
| 74260 | 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d | int.s).{.(void)s;.running.=.0;.} |
| 74280 | 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 | ........struct.app.{......struct |
| 742a0 | 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 | .wl_display.*d;......struct.wl_r |
| 742c0 | 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d | egistry.*reg;......struct.wl_com |
| 742e0 | 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 | positor.*comp;......struct.wl_sh |
| 74300 | 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 | m.*shm;......struct.xdg_wm_base. |
| 74320 | 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b | *wm;......struct.wl_surface.*ws; |
| 74340 | 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 | ......struct.xdg_surface.*xs;... |
| 74360 | 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 | ...struct.xdg_toplevel.*xt;..... |
| 74380 | 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 | .void.*pixels;......struct.wl_bu |
| 743a0 | 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 | ffer.*buf;......int.w,.h;......i |
| 743c0 | 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b | nt.bw,.bh;......bool.configured; |
| 743e0 | 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 6a | ......bool.redraw;....};.......j |
| 74400 | 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 | static.void.wm_ping(void.*data,. |
| 74420 | 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 | struct.xdg_wm_base.*wm,.uint32_t |
| 74440 | 20 73 65 72 69 61 6c 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 | .serial).{.xdg_wm_base_pong(wm,. |
| 74460 | 73 65 72 69 61 6c 29 3b 20 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 | serial);.}.......$static.int.cre |
| 74480 | 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 | ate_shm(size_t.size).{...#..char |
| 744a0 | 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 | .t[].=."/tmp/wlclock-XXXXXX";... |
| 744c0 | 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 16 20 20 69 66 20 | ...int.fd.=.mkstemp(t);......if. |
| 744e0 | 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 | (fd.<.0).exit(1);......unlink(t) |
| 74500 | 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c | ;...'..if.(ftruncate(fd,.size).< |
| 74520 | 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 | .0).exit(1);......return.fd;.... |
| 74540 | 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 | }.......(static.void.destroy_buf |
| 74560 | 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 | (struct.app.*a).{......if.(!a->b |
| 74580 | 75 66 29 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 | uf).return;...*..size_t.size.=.( |
| 745a0 | 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 | size_t)a->bw.*.a->bh.*.4;......w |
| 745c0 | 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d | l_buffer_destroy(a->buf);......m |
| 745e0 | 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e | unmap(a->pixels,.size);......a-> |
| 74600 | 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c | buf.=.NULL;......a->pixels.=.NUL |
| 74620 | 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 | L;....}.......&static.void.alloc |
| 74640 | 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 | _buf(struct.app.*a).{......destr |
| 74660 | 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 | oy_buf(a);...(..size_t.size.=.(s |
| 74680 | 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 | ize_t)a->w.*.a->h.*.4;......int. |
| 746a0 | 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 | fd.=.create_shm(size);...J..a->p |
| 746c0 | 69 78 65 6c 73 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 | ixels.=.mmap(NULL,.size,.PROT_RE |
| 746e0 | 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c | AD.|.PROT_WRITE,.MAP_SHARED,.fd, |
| 74700 | 20 30 29 3b 00 00 00 27 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 | .0);...'..if.(a->pixels.==.MAP_F |
| 74720 | 41 49 4c 45 44 29 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 | AILED).exit(1);...B..struct.wl_s |
| 74740 | 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f | hm_pool.*pool.=.wl_shm_create_po |
| 74760 | 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 | ol(a->shm,.fd,.size);...\..a->bu |
| 74780 | 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f | f.=.wl_shm_pool_create_buffer(po |
| 747a0 | 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f | ol,.0,.a->w,.a->h,.a->w.*.4,.WL_ |
| 747c0 | 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 | SHM_FORMAT_ARGB8888);......wl_sh |
| 747e0 | 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 | m_pool_destroy(pool);......close |
| 74800 | 28 66 64 29 3b 00 00 00 1d 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 20 61 2d 3e 62 68 20 3d | (fd);......a->bw.=.a->w;.a->bh.= |
| 74820 | 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 | .a->h;....}.......Sstatic.void.c |
| 74840 | 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | ircle(uint32_t.*px,.int.w,.int.h |
| 74860 | 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f | ,.int.cx,.int.cy,.int.r,.uint32_ |
| 74880 | 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 | t.c).{..."..int.x.=.0,.y.=.r,.d. |
| 748a0 | 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 | =.3.-.2.*.r;......while.(y.>=.x) |
| 748c0 | 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 | .{...H....int.p[8][2].=.{{cx.+.x |
| 748e0 | 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 | ,.cy.+.y},.{cx.-.x,.cy.+.y},.{cx |
| 74900 | 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .+.x,.cy.-.y},...H.............. |
| 74920 | 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 | .....{cx.-.x,.cy.-.y},.{cx.+.y,. |
| 74940 | 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 | cy.+.x},.{cx.-.y,.cy.+.x},...7.. |
| 74960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 | .................{cx.+.y,.cy.-.x |
| 74980 | 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 | },.{cx.-.y,.cy.-.x}};........for |
| 749a0 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 | .(int.i.=.0;.i.<.8;.i++)...E.... |
| 749c0 | 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 | ..if.(p[i][0].>=.0.&&.p[i][0].<. |
| 749e0 | 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 | w.&&.p[i][1].>=.0.&&.p[i][1].<.h |
| 74a00 | 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b | )...&........px[p[i][1].*.w.+.p[ |
| 74a20 | 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 | i][0]].=.c;...C....if.(d.>.0).{. |
| 74a40 | 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c | d.+=.4.*.(x.-.y).+.10;.y--;.}.el |
| 74a60 | 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 | se.d.+=.4.*.x.+.6;........x++;.. |
| 74a80 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 | ....}....}.......nstatic.void.fi |
| 74aa0 | 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 | ll_tri(uint32_t.*px,.int.w,.int. |
| 74ac0 | 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 | h,.int.x0,.int.y0,.int.x1,.int.y |
| 74ae0 | 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b | 1,.int.x2,.int.y2,.uint32_t.c).{ |
| 74b00 | 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 | ...B..int.min_y.=.y0.<.y1.?.(y0. |
| 74b20 | 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 | <.y2.?.y0.:.y2).:.(y1.<.y2.?.y1. |
| 74b40 | 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 | :.y2);...B..int.max_y.=.y0.>.y1. |
| 74b60 | 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 | ?.(y0.>.y2.?.y0.:.y2).:.(y1.>.y2 |
| 74b80 | 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 3a 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 | .?.y1.:.y2);...:..if.(min_y.<.0) |
| 74ba0 | 20 6d 69 6e 5f 79 20 3d 20 30 3b 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f | .min_y.=.0;.if.(max_y.>=.h).max_ |
| 74bc0 | 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e | y.=.h.-.1;...(..for.(int.y.=.min |
| 74be0 | 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e | _y;.y.<=.max_y;.y++).{........in |
| 74c00 | 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 | t.x_start.=.w,.x_end.=.0;...3... |
| 74c20 | 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d | .int.xs[3].=.{x0,.x1,.x2},.ys[3] |
| 74c40 | 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 20 20 62 6f 6f 6c 20 68 69 74 | .=.{y0,.y1,.y2};........bool.hit |
| 74c60 | 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | .=.false;...!....for.(int.i.=.0; |
| 74c80 | 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 | .i.<.3;.i++).{..........int.j.=. |
| 74ca0 | 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d | (i.+.1).%.3;...C......if.((ys[i] |
| 74cc0 | 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d | .<=.y.&&.ys[j].>.y).||.(ys[j].<= |
| 74ce0 | 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 | .y.&&.ys[i].>.y)).{...H........i |
| 74d00 | 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 | nt.x.=.xs[i].+.(y.-.ys[i]).*.(xs |
| 74d20 | 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 | [j].-.xs[i])./.(ys[j].-.ys[i]);. |
| 74d40 | 00 00 3f 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 | ..?........if.(x.<.x_start).x_st |
| 74d60 | 61 72 74 20 3d 20 78 3b 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 | art.=.x;.if.(x.>.x_end).x_end.=. |
| 74d80 | 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 | x;............hit.=.true;....... |
| 74da0 | 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 | ...}........}........if.(hit).{. |
| 74dc0 | 00 00 42 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 | ..B......if.(x_start.<.0).x_star |
| 74de0 | 74 20 3d 20 30 3b 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 | t.=.0;.if.(x_end.>=.w).x_end.=.w |
| 74e00 | 20 2d 20 31 3b 00 00 00 3f 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 | .-.1;...?......for.(int.x.=.x_st |
| 74e20 | 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b | art;.x.<=.x_end;.x++).px[y.*.w.+ |
| 74e40 | 20 78 5d 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 | .x].=.c;........}......}....}... |
| 74e60 | 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 | ....#static.void.render(struct.a |
| 74e80 | 70 70 20 2a 61 29 20 7b 00 00 00 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | pp.*a).{...7..if.(!a->configured |
| 74ea0 | 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 | .||.a->w.<=.0.||.a->h.<=.0).retu |
| 74ec0 | 72 6e 3b 00 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 5f 62 75 66 28 | rn;......if.(!a->buf).alloc_buf( |
| 74ee0 | 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c | a);......uint32_t.*px.=.a->pixel |
| 74f00 | 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 | s;...$..memset(px,.0xFF,.a->w.*. |
| 74f20 | 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 | a->h.*.4);......time_t.tt.=.time |
| 74f40 | 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 | (NULL);......struct.tm.tmv;..... |
| 74f60 | 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e | .localtime_r(&tt,.&tmv);...#..in |
| 74f80 | 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 | t.cx.=.a->w./.2,.cy.=.a->h./.2;. |
| 74fa0 | 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 | ../..int.r.=.(a->w.<.a->h.?.a->w |
| 74fc0 | 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 | .:.a->h)./.2.-.10;......if.(r.<. |
| 74fe0 | 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 | 5).r.=.5;..........for.(int.i.=. |
| 75000 | 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 | 0;.i.<.60;.i++).{........double. |
| 75020 | 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | ang.=.i./.60.0.*.2.*.M_PI.-.M_PI |
| 75040 | 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 | _2;...1....int.len.=.(i.%.5.==.0 |
| 75060 | 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 | ).?.r.*.0.12.:.r.*.0.04;...0.... |
| 75080 | 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e | double.t_ang.=.(i.%.5.==.0).?.0. |
| 750a0 | 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 4a 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c | 012.:.0.005;...J....fill_tri(px, |
| 750c0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 | .a->w,.a->h,.cx.+.cos(ang-t_ang) |
| 750e0 | 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 | *r,.cy.+.sin(ang-t_ang)*r,...:.. |
| 75100 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 | ...........cx.+.cos(ang+t_ang)*r |
| 75120 | 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 | ,.cy.+.sin(ang+t_ang)*r,...G.... |
| 75140 | 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 | .........cx.+.cos(ang)*(r-len),. |
| 75160 | 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 | cy.+.sin(ang)*(r-len),.0xFF00000 |
| 75180 | 30 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 | 0);......}.......4..double.sa.=. |
| 751a0 | 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d | tmv.tm_sec./.60.0.*.2.*.M_PI.-.M |
| 751c0 | 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f | _PI_2;...J..double.ma.=.(tmv.tm_ |
| 751e0 | 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 | min.+.tmv.tm_sec./.60.0)./.60.0. |
| 75200 | 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 | *.2.*.M_PI.-.M_PI_2;...T..double |
| 75220 | 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 | .ha.=.((tmv.tm_hour.%.12).+.(tmv |
| 75240 | 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f | .tm_min./.60.0))./.12.0.*.2.*.M_ |
| 75260 | 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 4f 20 20 66 69 6c 6c 5f 74 72 69 28 70 | PI.-.M_PI_2;.......O..fill_tri(p |
| 75280 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 32 29 | x,.a->w,.a->h,.cx.+.cos(ha-0.12) |
| 752a0 | 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 | *r*0.05,.cy.+.sin(ha-0.12)*r*0.0 |
| 752c0 | 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e | 5,....?...........cx.+.cos(ha+0. |
| 752e0 | 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 2a 72 2a | 12)*r*0.05,.cy.+.sin(ha+0.12)*r* |
| 75300 | 30 2e 30 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 | 0.05,....A...........cx.+.cos(ha |
| 75320 | 29 2a 72 2a 30 2e 35 35 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 30 | )*r*0.55,.cy.+.sin(ha)*r*0.55,.0 |
| 75340 | 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 51 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d | xFF000000);...Q..fill_tri(px,.a- |
| 75360 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e | >w,.a->h,.cx.+.cos(ma-0.08)*r*0. |
| 75380 | 30 33 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 | 035,.cy.+.sin(ma-0.08)*r*0.035,. |
| 753a0 | 00 00 00 41 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 | ...A...........cx.+.cos(ma+0.08) |
| 753c0 | 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e | *r*0.035,.cy.+.sin(ma+0.08)*r*0. |
| 753e0 | 30 33 35 2c 20 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 | 035,....?...........cx.+.cos(ma) |
| 75400 | 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 | *r*0.8,.cy.+.sin(ma)*r*0.8,.0xFF |
| 75420 | 30 30 30 30 30 30 29 3b 00 00 00 39 20 20 2f 2f 20 52 65 64 20 68 61 6e 64 3a 20 42 61 6c 61 6e | 000000);...9..//.Red.hand:.Balan |
| 75440 | 63 65 64 20 74 68 69 63 6b 6e 65 73 73 20 74 6f 20 70 72 65 76 65 6e 74 20 64 69 73 61 70 70 65 | ced.thickness.to.prevent.disappe |
| 75460 | 61 72 69 6e 67 00 00 00 4e 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | aring...N..fill_tri(px,.a->w,.a- |
| 75480 | 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 20 63 79 | >h,.cx.+.cos(sa-0.05)*r*0.04,.cy |
| 754a0 | 20 2b 20 73 69 6e 28 73 61 2d 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 00 00 00 3e 20 20 20 20 20 | .+.sin(sa-0.05)*r*0.04,...>..... |
| 754c0 | 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 2b 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 20 | ......cx.+.cos(sa+0.05)*r*0.04,. |
| 754e0 | 63 79 20 2b 20 73 69 6e 28 73 61 2b 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 00 00 00 3f 20 20 20 | cy.+.sin(sa+0.05)*r*0.04,...?... |
| 75500 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b | ........cx.+.cos(sa)*r*0.8,.cy.+ |
| 75520 | 20 73 69 6e 28 73 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 | .sin(sa)*r*0.8,.0xFFFF0000);.... |
| 75540 | 00 00 00 31 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 20 69 66 20 28 | ...1..int.hub_r.=.r.*.0.04;.if.( |
| 75560 | 68 75 62 5f 72 20 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 | hub_r.<.4).hub_r.=.4;...X..for.( |
| 75580 | 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b | int.ir.=.0;.ir.<.hub_r.-.2;.ir++ |
| 755a0 | 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c | ).circle(px,.a->w,.a->h,.cx,.cy, |
| 755c0 | 20 69 72 2c 20 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 | .ir,.0xFFFFFFFF);...4..circle(px |
| 755e0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 | ,.a->w,.a->h,.cx,.cy,.hub_r,.0xF |
| 75600 | 46 30 30 30 30 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 | F000000);.......)..wl_surface_at |
| 75620 | 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 | tach(a->ws,.a->buf,.0,.0);...4.. |
| 75640 | 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 | wl_surface_damage_buffer(a->ws,. |
| 75660 | 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 | 0,.0,.a->w,.a->h);......wl_surfa |
| 75680 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 | ce_commit(a->ws);......a->redraw |
| 756a0 | 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 | .=.false;....}.......Gstatic.voi |
| 756c0 | 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 | d.xt_close(void.*d,.struct.xdg_t |
| 756e0 | 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 | oplevel.*xt).{.running.=.0;.}... |
| 75700 | 60 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 | `static.void.xt_cfg(void.*d,.str |
| 75720 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c | uct.xdg_toplevel.*xt,.int32_t.w, |
| 75740 | 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 | .int32_t.h,.struct.wl_array.*s). |
| 75760 | 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 | {......struct.app.*a.=.d;...3..i |
| 75780 | 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 | f.(w.>.0.&&.h.>.0.&&.(w.!=.a->w. |
| 757a0 | 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 39 20 20 20 20 61 2d 3e 77 20 3d 20 77 | ||.h.!=.a->h)).{...9....a->w.=.w |
| 757c0 | 3b 20 61 2d 3e 68 20 3d 20 68 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 | ;.a->h.=.h;.destroy_buf(a);.a->r |
| 757e0 | 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 | edraw.=.true;......}....}...Fsta |
| 75800 | 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | tic.void.xs_cfg(void.*d,.struct. |
| 75820 | 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c | xdg_surface.*xs,.uint32_t.serial |
| 75840 | 29 20 7b 00 00 00 3b 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 78 64 67 5f | ).{...;..struct.app.*a.=.d;.xdg_ |
| 75860 | 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 69 61 6c | surface_ack_configure(xs,.serial |
| 75880 | 29 3b 00 00 00 29 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 20 61 2d | );...)..a->configured.=.true;.a- |
| 758a0 | 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 76 | >redraw.=.true;....}...`static.v |
| 758c0 | 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 | oid.reg_global(void.*d,.struct.w |
| 758e0 | 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 | l_registry.*r,.uint32_t.id,.cons |
| 75900 | 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 | t.char.*i,.uint32_t.v).{......st |
| 75920 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 62 20 20 69 66 20 28 21 73 74 72 63 6d | ruct.app.*a.=.d;...b..if.(!strcm |
| 75940 | 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d | p(i,."wl_compositor")).a->comp.= |
| 75960 | 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d | .wl_registry_bind(r,.id,.&wl_com |
| 75980 | 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 58 20 20 65 6c 73 65 | positor_interface,.4);...X..else |
| 759a0 | 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 | .if.(!strcmp(i,."wl_shm")).a->sh |
| 759c0 | 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f | m.=.wl_registry_bind(r,.id,.&wl_ |
| 759e0 | 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 | shm_interface,.1);...'..else.if. |
| 75a00 | 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 | (!strcmp(i,."xdg_wm_base")).{... |
| 75a20 | 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ?....a->wm.=.wl_registry_bind(r, |
| 75a40 | 20 69 64 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 | .id,.&xdg_wm_base_interface,.1); |
| 75a60 | 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f | ...C....static.const.struct.xdg_ |
| 75a80 | 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d | wm_base_listener.l.=.{.ping.=.wm |
| 75aa0 | 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c | _ping};...+....xdg_wm_base_add_l |
| 75ac0 | 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 | istener(a->wm,.&l,.a);......}... |
| 75ae0 | 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 | .}........int.main(void).{...+.. |
| 75b00 | 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 | struct.app.a.=.{0};.a.w.=.400;.a |
| 75b20 | 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e | .h.=.400;......signal(SIGINT,.on |
| 75b40 | 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e | _sig);...!..a.d.=.wl_display_con |
| 75b60 | 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 15 20 20 69 66 20 28 21 61 2e 64 29 20 72 65 74 75 72 | nect(NULL);......if.(!a.d).retur |
| 75b80 | 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 | n.1;...'..a.reg.=.wl_display_get |
| 75ba0 | 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | _registry(a.d);...G..static.cons |
| 75bc0 | 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 6c | t.struct.wl_registry_listener.rl |
| 75be0 | 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 | .=.{.global.=.reg_global};...+.. |
| 75c00 | 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 61 2e 72 65 67 2c 20 | wl_registry_add_listener(a.reg,. |
| 75c20 | 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 | &rl,.&a);......wl_display_roundt |
| 75c40 | 72 69 70 28 61 2e 64 29 3b 00 00 00 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 | rip(a.d);...+..if.(!a.comp.||.!a |
| 75c60 | 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e | .shm.||.!a.wm).return.1;......a. |
| 75c80 | 77 73 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 | ws.=.wl_compositor_create_surfac |
| 75ca0 | 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 | e(a.comp);...1..a.xs.=.xdg_wm_ba |
| 75cc0 | 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 | se_get_xdg_surface(a.wm,.a.ws);. |
| 75ce0 | 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 | ..G..static.const.struct.xdg_sur |
| 75d00 | 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 | face_listener.xsl.=.{.configure. |
| 75d20 | 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f | =.xs_cfg};...+..xdg_surface_add_ |
| 75d40 | 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 | listener(a.xs,.&xsl,.&a);...(..a |
| 75d60 | 2e 78 74 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 6c 28 61 | .xt.=.xdg_surface_get_toplevel(a |
| 75d80 | 2e 78 73 29 3b 00 00 00 5b 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 | .xs);...[..static.const.struct.x |
| 75da0 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e | dg_toplevel_listener.xtl.=.{.con |
| 75dc0 | 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f | figure.=.xt_cfg,..close.=.xt_clo |
| 75de0 | 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 | se};...,..xdg_toplevel_add_liste |
| 75e00 | 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f | ner(a.xt,.&xtl,.&a);...*..xdg_to |
| 75e20 | 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 | plevel_set_title(a.xt,."wlclock" |
| 75e40 | 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b | );......wl_surface_commit(a.ws); |
| 75e60 | 00 00 00 31 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 | ...1..while.(!a.configured).wl_d |
| 75e80 | 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 | isplay_dispatch(a.d);......rende |
| 75ea0 | 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 | r(&a);...9..int.tfd.=.timerfd_cr |
| 75ec0 | 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 | eate(CLOCK_MONOTONIC,.TFD_CLOEXE |
| 75ee0 | 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c | C);...F..timerfd_settime(tfd,.0, |
| 75f00 | 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 | .&(struct.itimerspec){{1,.0},.{1 |
| 75f20 | 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 | ,.0}},.NULL);......char.buffer[1 |
| 75f40 | 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 4f 20 | 00];......while.(running).{...O. |
| 75f60 | 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 61 | ...while.(wl_display_prepare_rea |
| 75f80 | 64 28 61 2e 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | d(a.d).!=.0).wl_display_dispatch |
| 75fa0 | 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 | _pending(a.d);........wl_display |
| 75fc0 | 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 | _flush(a.d);...M....struct.pollf |
| 75fe0 | 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 | d.fds[2].=.{{wl_display_get_fd(a |
| 76000 | 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 | .d),.POLLIN},.{tfd,.POLLIN}};... |
| 76020 | 48 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b | H....if.(poll(fds,.2,.-1).<.0).{ |
| 76040 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 20 63 6f | .wl_display_cancel_read(a.d);.co |
| 76060 | 6e 74 69 6e 75 65 3b 20 7d 00 00 00 5f 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 | ntinue;.}..._....if.(fds[0].reve |
| 76080 | 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 | nts.&.POLLIN).wl_display_read_ev |
| 760a0 | 65 6e 74 73 28 61 2e 64 29 3b 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 | ents(a.d);.else.wl_display_cance |
| 760c0 | 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | l_read(a.d);...%....wl_display_d |
| 760e0 | 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 | ispatch_pending(a.d);..."....if. |
| 76100 | 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 37 20 | (fds[1].revents.&.POLLIN).{...7. |
| 76120 | 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 20 72 65 61 64 28 74 66 64 2c 20 26 | .....uint64_t.t_exp;.read(tfd,.& |
| 76140 | 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 | t_exp,.sizeof(t_exp));.......... |
| 76160 | 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 | time_t.cli.=.time(NULL);...,.... |
| 76180 | 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d | ..struct.tm.*t_struct.=.localtim |
| 761a0 | 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 | e(&cli);...I......strftime(buffe |
| 761c0 | 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a | r,.sizeof(buffer),."%d-%m-%Y.%I: |
| 761e0 | 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 35 20 20 20 20 20 20 70 | %M:%S.%p",.t_struct);...5......p |
| 76200 | 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 20 66 | rintf("\rTime.is.%s",.buffer);.f |
| 76220 | 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 | flush(stdout);..........a.redraw |
| 76240 | 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 61 2e 72 | .=.true;........}........if.(a.r |
| 76260 | 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 48 20 20 70 | edraw).render(&a);......}...H..p |
| 76280 | 72 69 6e 74 66 28 22 5c 6e 22 29 3b 20 63 6c 6f 73 65 28 74 66 64 29 3b 20 64 65 73 74 72 6f 79 | rintf("\n");.close(tfd);.destroy |
| 762a0 | 5f 62 75 66 28 26 61 29 3b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 | _buf(&a);.wl_display_disconnect( |
| 762c0 | 61 2e 64 29 3b 35 81 f5 18 00 00 00 00 19 00 00 00 1b 00 00 00 c6 00 00 00 2c 00 00 00 08 01 00 | a.d);5...................,...... |
| 762e0 | 00 01 00 00 00 22 02 00 00 00 00 00 00 ef 1d 00 00 00 00 00 00 2f 20 00 00 00 00 00 00 35 81 5f | .....".............../.......5._ |
| 76300 | d0 00 00 00 a9 00 00 00 ab 00 00 00 00 00 00 00 00 00 00 00 aa 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 76320 | 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 00 00 00 00 00 00 00 | ................................ |
| 76340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 763a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 763c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 763e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 76480 | 00 00 00 69 9d aa 28 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 24 | ...i..(........................$ |
| 764a0 | 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 | ....#define._POSIX_C_SOURCE.2008 |
| 764c0 | 30 39 4c 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 65 6e | 09L...&#include."xdg-shell-clien |
| 764e0 | 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c | t-protocol.h"....#include.<fcntl |
| 76500 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 | .h>....#include.<math.h>....#inc |
| 76520 | 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 | lude.<poll.h>....#include.<signa |
| 76540 | 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 | l.h>....#include.<stdbool.h>.... |
| 76560 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | #include.<stdint.h>....#include. |
| 76580 | 3c 73 74 64 69 6f 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 | <stdio.h>....#include.<stdlib.h> |
| 765a0 | 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 15 23 69 6e 63 6c | ....#include.<string.h>....#incl |
| 765c0 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 | ude.<sys/mman.h>....#include.<sy |
| 765e0 | 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 | s/timerfd.h>....#include.<time.h |
| 76600 | 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 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| 76620 | 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 | lude.<wayland-client.h>........# |
| 76640 | 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 | ifndef.M_PI...##define.M_PI.3.14 |
| 76660 | 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e | 159265358979323846....#endif.... |
| 76680 | 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 | #ifndef.M_PI_2...%#define.M_PI_2 |
| 766a0 | 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 | .1.57079632679489661923....#endi |
| 766c0 | 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f | f.......)static.volatile.sig_ato |
| 766e0 | 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 | mic_t.running.=.1;....static.voi |
| 76700 | 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 | d.on_sig(int.s).{......(void)s;. |
| 76720 | 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 | .....running.=.0;....}........st |
| 76740 | 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 | ruct.app.{......struct.wl_displa |
| 76760 | 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | y.*d;......struct.wl_registry.*r |
| 76780 | 65 67 3b 00 00 00 1d 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 | eg;......struct.wl_compositor.*c |
| 767a0 | 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 | omp;......struct.wl_shm.*shm;... |
| 767c0 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 | ...struct.xdg_wm_base.*wm;...... |
| 767e0 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 | struct.wl_surface.*ws;......stru |
| 76800 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 | ct.xdg_surface.*xs;......struct. |
| 76820 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 | xdg_toplevel.*xt;......void.*pix |
| 76840 | 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b | els;......struct.wl_buffer.*buf; |
| 76860 | 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b | ......int.w,.h;......int.bw,.bh; |
| 76880 | 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c | ......bool.configured;......bool |
| 768a0 | 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 | .redraw;....};.......Jstatic.voi |
| 768c0 | 64 20 77 6d 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 78 64 67 | d.wm_ping(void.*data,.struct.xdg |
| 768e0 | 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b | _wm_base.*wm,.uint32_t.serial).{ |
| 76900 | 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 | ......xdg_wm_base_pong(wm,.seria |
| 76920 | 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 | l);....}.......$static.int.creat |
| 76940 | 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 | e_shm(size_t.size).{...#..char.t |
| 76960 | 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 | [].=."/tmp/wlclock-XXXXXX";..... |
| 76980 | 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 | .int.fd.=.mkstemp(t);......if.(f |
| 769a0 | 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 | d.<.0)........exit(1);......unli |
| 769c0 | 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | nk(t);......if.(ftruncate(fd,.si |
| 769e0 | 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 | ze).<.0)........exit(1);......re |
| 76a00 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 | turn.fd;....}.......(static.void |
| 76a20 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | .destroy_buf(struct.app.*a).{... |
| 76a40 | 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ...if.(!a->buf)........return;.. |
| 76a60 | 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 | .*..size_t.size.=.(size_t)a->bw. |
| 76a80 | 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 | *.a->bh.*.4;......wl_buffer_dest |
| 76aa0 | 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 | roy(a->buf);......munmap(a->pixe |
| 76ac0 | 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 | ls,.size);......a->buf.=.NULL;.. |
| 76ae0 | 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 | ....a->pixels.=.NULL;....}...... |
| 76b00 | 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 | .&static.void.alloc_buf(struct.a |
| 76b20 | 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | pp.*a).{......destroy_buf(a);... |
| 76b40 | 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 | (..size_t.size.=.(size_t)a->w.*. |
| 76b60 | 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | a->h.*.4;......int.fd.=.create_s |
| 76b80 | 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 | hm(size);...J..a->pixels.=.mmap( |
| 76ba0 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 | NULL,.size,.PROT_READ.|.PROT_WRI |
| 76bc0 | 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 | TE,.MAP_SHARED,.fd,.0);......if. |
| 76be0 | 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 | (a->pixels.==.MAP_FAILED)....... |
| 76c00 | 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f | .exit(1);...B..struct.wl_shm_poo |
| 76c20 | 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e | l.*pool.=.wl_shm_create_pool(a-> |
| 76c40 | 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c | shm,.fd,.size);...C..a->buf.=.wl |
| 76c60 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 76c80 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 | .a->w,.a->h,.a->w.*.4,...=...... |
| 76ca0 | 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 57 | ...............................W |
| 76cc0 | 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);......wl_ |
| 76ce0 | 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f | shm_pool_destroy(pool);......clo |
| 76d00 | 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 | se(fd);......a->bw.=.a->w;...... |
| 76d20 | 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 | a->bh.=.a->h;....}.......Estatic |
| 76d40 | 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 | .void.circle(uint32_t.*px,.int.w |
| 76d60 | 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 | ,.int.h,.int.cx,.int.cy,.int.r,. |
| 76d80 | 00 00 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 32 5f 74 20 63 | ......................uint32_t.c |
| 76da0 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 76dc0 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 76de0 | 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 | ..H....int.p[8][2].=.{{cx.+.x,.c |
| 76e00 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 | y.+.y},.{cx.-.x,.cy.+.y},.{cx.+. |
| 76e20 | 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x,.cy.-.y},...H................. |
| 76e40 | 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | ..{cx.-.x,.cy.-.y},.{cx.+.y,.cy. |
| 76e60 | 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 | +.x},.{cx.-.y,.cy.+.x},...7..... |
| 76e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 | ..............{cx.+.y,.cy.-.x},. |
| 76ea0 | 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 | {cx.-.y,.cy.-.x}};........for.(i |
| 76ec0 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 | nt.i.=.0;.i.<.8;.i++)...E......i |
| 76ee0 | 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 | f.(p[i][0].>=.0.&&.p[i][0].<.w.& |
| 76f00 | 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 | &.p[i][1].>=.0.&&.p[i][1].<.h).. |
| 76f20 | 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b | .&........px[p[i][1].*.w.+.p[i][ |
| 76f40 | 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c | 0]].=.c;........if.(d.>.0).{.... |
| 76f60 | 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a | ......d.+=.4.*.(x.-.y).+.10;.... |
| 76f80 | 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 | ......y--;........}.else........ |
| 76fa0 | 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 | ..d.+=.4.*.x.+.6;........x++;... |
| 76fc0 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c | ...}....}.......Pstatic.void.fil |
| 76fe0 | 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | l_tri(uint32_t.*px,.int.w,.int.h |
| 77000 | 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 | ,.int.x0,.int.y0,.int.x1,.int.y1 |
| 77020 | 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 | ,...2.....................int.x2 |
| 77040 | 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 | ,.int.y2,.uint32_t.c).{...B..int |
| 77060 | 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 | .min_y.=.y0.<.y1.?.(y0.<.y2.?.y0 |
| 77080 | 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 | .:.y2).:.(y1.<.y2.?.y1.:.y2);... |
| 770a0 | 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 | B..int.max_y.=.y0.>.y1.?.(y0.>.y |
| 770c0 | 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 | 2.?.y0.:.y2).:.(y1.>.y2.?.y1.:.y |
| 770e0 | 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d | 2);......if.(min_y.<.0)........m |
| 77100 | 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 | in_y.=.0;......if.(max_y.>=.h).. |
| 77120 | 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 | ......max_y.=.h.-.1;...(..for.(i |
| 77140 | 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b | nt.y.=.min_y;.y.<=.max_y;.y++).{ |
| 77160 | 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d | ........int.x_start.=.w,.x_end.= |
| 77180 | 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 | .0;...3....int.xs[3].=.{x0,.x1,. |
| 771a0 | 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 | x2},.ys[3].=.{y0,.y1,.y2};...... |
| 771c0 | 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 | ..bool.hit.=.false;...!....for.( |
| 771e0 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 | int.i.=.0;.i.<.3;.i++).{........ |
| 77200 | 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 | ..int.j.=.(i.+.1).%.3;...C...... |
| 77220 | 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c | if.((ys[i].<=.y.&&.ys[j].>.y).|| |
| 77240 | 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 | .(ys[j].<=.y.&&.ys[i].>.y)).{... |
| 77260 | 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 | H........int.x.=.xs[i].+.(y.-.ys |
| 77280 | 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 | [i]).*.(xs[j].-.xs[i])./.(ys[j]. |
| 772a0 | 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 | -.ys[i]);............if.(x.<.x_s |
| 772c0 | 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 | tart)..............x_start.=.x;. |
| 772e0 | 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 | ...........if.(x.>.x_end)....... |
| 77300 | 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 | .......x_end.=.x;............hit |
| 77320 | 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e | .=.true;..........}........}.... |
| 77340 | 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 | ....if.(hit).{..........if.(x_st |
| 77360 | 61 72 74 20 3c 20 30 29 00 00 00 14 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b | art.<.0)............x_start.=.0; |
| 77380 | 00 00 00 15 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 16 20 20 20 | ..........if.(x_end.>=.w)....... |
| 773a0 | 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2c 20 20 20 20 20 20 66 6f 72 | .....x_end.=.w.-.1;...,......for |
| 773c0 | 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 | .(int.x.=.x_start;.x.<=.x_end;.x |
| 773e0 | 2b 2b 29 00 00 00 1a 20 20 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 | ++)............px[y.*.w.+.x].=.c |
| 77400 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 | ;........}......}....}.......#st |
| 77420 | 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 | atic.void.render(struct.app.*a). |
| 77440 | 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e | {.../..if.(!a->configured.||.a-> |
| 77460 | 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 | w.<=.0.||.a->h.<=.0)........retu |
| 77480 | 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c | rn;......if.(!a->buf)........all |
| 774a0 | 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 | oc_buf(a);......uint32_t.*px.=.a |
| 774c0 | 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 | ->pixels;...$..memset(px,.0xFF,. |
| 774e0 | 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 | a->w.*.a->h.*.4);......time_t.tt |
| 77500 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d | .=.time(NULL);......struct.tm.tm |
| 77520 | 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 | v;......localtime_r(&tt,.&tmv);. |
| 77540 | 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e | ..#..int.cx.=.a->w./.2,.cy.=.a-> |
| 77560 | 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 | h./.2;.../..int.r.=.(a->w.<.a->h |
| 77580 | 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 | .?.a->w.:.a->h)./.2.-.10;......i |
| 775a0 | 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 | f.(r.<.5)........r.=.5;......... |
| 775c0 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 | .for.(int.i.=.0;.i.<.60;.i++).{. |
| 775e0 | 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 | .......double.ang.=.i./.60.0.*.2 |
| 77600 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e | .*.M_PI.-.M_PI_2;...1....int.len |
| 77620 | 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a | .=.(i.%.5.==.0).?.r.*.0.12.:.r.* |
| 77640 | 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 | .0.04;...0....double.t_ang.=.(i. |
| 77660 | 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 20 | %.5.==.0).?.0.012.:.0.005;...7.. |
| 77680 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 776a0 | 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 | cos(ang.-.t_ang).*.r,...B....... |
| 776c0 | 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c | ......cy.+.sin(ang.-.t_ang).*.r, |
| 776e0 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 | .cx.+.cos(ang.+.t_ang).*.r,...B. |
| 77700 | 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e 67 | ............cy.+.sin(ang.+.t_ang |
| 77720 | 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 | ).*.r,.cx.+.cos(ang).*.(r.-.len) |
| 77740 | 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 | ,...4.............cy.+.sin(ang). |
| 77760 | 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d | *.(r.-.len),.0xFF000000);......} |
| 77780 | 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 | .......4..double.sa.=.tmv.tm_sec |
| 777a0 | 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a | ./.60.0.*.2.*.M_PI.-.M_PI_2;...J |
| 777c0 | 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e | ..double.ma.=.(tmv.tm_min.+.tmv. |
| 777e0 | 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | tm_sec./.60.0)./.60.0.*.2.*.M_PI |
| 77800 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 | .-.M_PI_2;......double.ha.=...L. |
| 77820 | 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e | .....((tmv.tm_hour.%.12).+.(tmv. |
| 77840 | 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | tm_min./.60.0))./.12.0.*.2.*.M_P |
| 77860 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 | I.-.M_PI_2;.......:..fill_tri(px |
| 77880 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 32 | ,.a->w,.a->h,.cx.+.cos(ha.-.0.12 |
| 778a0 | 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b | ).*.r.*.0.05,...J...........cy.+ |
| 778c0 | 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b | .sin(ha.-.0.12).*.r.*.0.05,.cx.+ |
| 778e0 | 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 43 20 | .cos(ha.+.0.12).*.r.*.0.05,...C. |
| 77900 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 | ..........cy.+.sin(ha.+.0.12).*. |
| 77920 | 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 | r.*.0.05,.cx.+.cos(ha).*.r.*.0.5 |
| 77940 | 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 | 5,...0...........cy.+.sin(ha).*. |
| 77960 | 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 3b 20 20 66 69 6c 6c | r.*.0.55,.0xFF000000);...;..fill |
| 77980 | 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | _tri(px,.a->w,.a->h,.cx.+.cos(ma |
| 779a0 | 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 00 4c 20 20 20 20 20 20 20 | .-.0.08).*.r.*.0.035,...L....... |
| 779c0 | 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e | ....cy.+.sin(ma.-.0.08).*.r.*.0. |
| 779e0 | 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 | 035,.cx.+.cos(ma.+.0.08).*.r.*.0 |
| 77a00 | 2e 30 33 35 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 | .035,...C...........cy.+.sin(ma. |
| 77a20 | 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | +.0.08).*.r.*.0.035,.cx.+.cos(ma |
| 77a40 | 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 | ).*.r.*.0.8,.../...........cy.+. |
| 77a60 | 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | sin(ma).*.r.*.0.8,.0xFF000000);. |
| 77a80 | 00 00 39 20 20 2f 2f 20 52 65 64 20 68 61 6e 64 3a 20 42 61 6c 61 6e 63 65 64 20 74 68 69 63 6b | ..9..//.Red.hand:.Balanced.thick |
| 77aa0 | 6e 65 73 73 20 74 6f 20 70 72 65 76 65 6e 74 20 64 69 73 61 70 70 65 61 72 69 6e 67 00 00 00 3a | ness.to.prevent.disappearing...: |
| 77ac0 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 77ae0 | 63 6f 73 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 00 00 00 4a 20 20 | cos(sa.-.0.05).*.r.*.0.04,...J.. |
| 77b00 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 | .........cy.+.sin(sa.-.0.05).*.r |
| 77b20 | 20 2a 20 30 2e 30 34 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 30 2e 30 35 29 20 2a 20 72 | .*.0.04,.cx.+.cos(sa.+.0.05).*.r |
| 77b40 | 20 2a 20 30 2e 30 34 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 | .*.0.04,...B...........cy.+.sin( |
| 77b60 | 73 61 20 2b 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 20 63 78 20 2b 20 63 6f 73 28 | sa.+.0.05).*.r.*.0.04,.cx.+.cos( |
| 77b80 | 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | sa).*.r.*.0.8,.../...........cy. |
| 77ba0 | 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 | +.sin(sa).*.r.*.0.8,.0xFFFF0000) |
| 77bc0 | 3b 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b | ;..........int.hub_r.=.r.*.0.04; |
| 77be0 | 00 00 00 10 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 75 62 5f | ......if.(hub_r.<.4)........hub_ |
| 77c00 | 72 20 3d 20 34 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 | r.=.4;...(..for.(int.ir.=.0;.ir. |
| 77c20 | 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 63 69 72 63 6c 65 | <.hub_r.-.2;.ir++)...3....circle |
| 77c40 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 | (px,.a->w,.a->h,.cx,.cy,.ir,.0xF |
| 77c60 | 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 | FFFFFFF);...4..circle(px,.a->w,. |
| 77c80 | 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 | a->h,.cx,.cy,.hub_r,.0xFF000000) |
| 77ca0 | 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e | ;.......)..wl_surface_attach(a-> |
| 77cc0 | 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 | ws,.a->buf,.0,.0);...4..wl_surfa |
| 77ce0 | 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d | ce_damage_buffer(a->ws,.0,.0,.a- |
| 77d00 | 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 | >w,.a->h);......wl_surface_commi |
| 77d20 | 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 | t(a->ws);......a->redraw.=.false |
| 77d40 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f | ;....}.......Gstatic.void.xt_clo |
| 77d60 | 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 | se(void.*d,.struct.xdg_toplevel. |
| 77d80 | 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 4a 73 74 61 74 69 63 20 | *xt).{.running.=.0;.}...Jstatic. |
| 77da0 | 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f | void.xt_cfg(void.*d,.struct.xdg_ |
| 77dc0 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 | toplevel.*xt,.int32_t.w,.int32_t |
| 77de0 | 20 68 2c 00 00 00 28 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 | .h,...(...................struct |
| 77e00 | 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 | .wl_array.*s).{......struct.app. |
| 77e20 | 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 | *a.=.d;...3..if.(w.>.0.&&.h.>.0. |
| 77e40 | 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 | &&.(w.!=.a->w.||.h.!=.a->h)).{.. |
| 77e60 | 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b | ......a->w.=.w;........a->h.=.h; |
| 77e80 | 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 | ........destroy_buf(a);........a |
| 77ea0 | 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 | ->redraw.=.true;......}....}...F |
| 77ec0 | 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | static.void.xs_cfg(void.*d,.stru |
| 77ee0 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 | ct.xdg_surface.*xs,.uint32_t.ser |
| 77f00 | 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | ial).{......struct.app.*a.=.d;.. |
| 77f20 | 00 28 20 20 78 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 | .(..xdg_surface_ack_configure(xs |
| 77f40 | 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 | ,.serial);......a->configured.=. |
| 77f60 | 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 | true;......a->redraw.=.true;.... |
| 77f80 | 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 | }...Cstatic.void.reg_global(void |
| 77fa0 | 20 2a 64 2c 20 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 | .*d,.struct.wl_registry.*r,.uint |
| 77fc0 | 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 32_t.id,...3.................... |
| 77fe0 | 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 | ...const.char.*i,.uint32_t.v).{. |
| 78000 | 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 | .....struct.app.*a.=.d;..."..if. |
| 78020 | 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 | (!strcmp(i,."wl_compositor"))... |
| 78040 | 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 | C....a->comp.=.wl_registry_bind( |
| 78060 | 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 65 2c | r,.id,.&wl_compositor_interface, |
| 78080 | 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 | .4);......else.if.(!strcmp(i,."w |
| 780a0 | 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 | l_shm"))...;....a->shm.=.wl_regi |
| 780c0 | 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | stry_bind(r,.id,.&wl_shm_interfa |
| 780e0 | 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c | ce,.1);...'..else.if.(!strcmp(i, |
| 78100 | 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 | ."xdg_wm_base")).{...?....a->wm. |
| 78120 | 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 | =.wl_registry_bind(r,.id,.&xdg_w |
| 78140 | 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 73 74 61 | m_base_interface,.1);...C....sta |
| 78160 | 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 73 65 5f 6c 69 73 | tic.const.struct.xdg_wm_base_lis |
| 78180 | 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b | tener.l.=.{.ping.=.wm_ping};...+ |
| 781a0 | 20 20 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 61 2d 3e | ....xdg_wm_base_add_listener(a-> |
| 781c0 | 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 | wm,.&l,.a);......}....}........i |
| 781e0 | 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 | nt.main(void).{......struct.app. |
| 78200 | 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e | a.=.{0};......a.w.=.400;......a. |
| 78220 | 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f | h.=.400;......signal(SIGINT,.on_ |
| 78240 | 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e | sig);...!..a.d.=.wl_display_conn |
| 78260 | 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 | ect(NULL);......if.(!a.d)....... |
| 78280 | 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c | .return.1;...'..a.reg.=.wl_displ |
| 782a0 | 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 | ay_get_registry(a.d);...G..stati |
| 782c0 | 63 20 63 6f 6e 73 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 | c.const.struct.wl_registry_liste |
| 782e0 | 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b | ner.rl.=.{.global.=.reg_global}; |
| 78300 | 00 00 00 2b 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 61 | ...+..wl_registry_add_listener(a |
| 78320 | 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | .reg,.&rl,.&a);......wl_display_ |
| 78340 | 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 | roundtrip(a.d);...!..if.(!a.comp |
| 78360 | 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 | .||.!a.shm.||.!a.wm)........retu |
| 78380 | 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f | rn.1;......a.ws.=.wl_compositor_ |
| 783a0 | 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 | create_surface(a.comp);...1..a.x |
| 783c0 | 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 | s.=.xdg_wm_base_get_xdg_surface( |
| 783e0 | 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | a.wm,.a.ws);...G..static.const.s |
| 78400 | 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 73 6c 20 3d | truct.xdg_surface_listener.xsl.= |
| 78420 | 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 | .{.configure.=.xs_cfg};...+..xdg |
| 78440 | 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c | _surface_add_listener(a.xs,.&xsl |
| 78460 | 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 | ,.&a);...(..a.xt.=.xdg_surface_g |
| 78480 | 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 | et_toplevel(a.xs);...G..static.c |
| 784a0 | 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 6e 65 | onst.struct.xdg_toplevel_listene |
| 784c0 | 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 | r.xtl.=.{.configure.=.xt_cfg,... |
| 784e0 | 46 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 | F............................... |
| 78500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f | .....................close.=.xt_ |
| 78520 | 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 | close};...,..xdg_toplevel_add_li |
| 78540 | 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 | stener(a.xt,.&xtl,.&a);...*..xdg |
| 78560 | 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f | _toplevel_set_title(a.xt,."wlclo |
| 78580 | 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 | ck");......wl_surface_commit(a.w |
| 785a0 | 73 29 3b 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 | s);......while.(!a.configured).. |
| 785c0 | 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 | ......wl_display_dispatch(a.d);. |
| 785e0 | 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 | .....render(&a);...9..int.tfd.=. |
| 78600 | 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 | timerfd_create(CLOCK_MONOTONIC,. |
| 78620 | 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 | TFD_CLOEXEC);...F..timerfd_setti |
| 78640 | 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b | me(tfd,.0,.&(struct.itimerspec){ |
| 78660 | 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 | {1,.0},.{1,.0}},.NULL);......cha |
| 78680 | 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | r.buffer[100];......while.(runni |
| 786a0 | 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 | ng).{...-....while.(wl_display_p |
| 786c0 | 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 | repare_read(a.d).!=.0)...'...... |
| 786e0 | 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 61 2e 64 29 | wl_display_dispatch_pending(a.d) |
| 78700 | 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 | ;........wl_display_flush(a.d);. |
| 78720 | 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b | ..M....struct.pollfd.fds[2].=.{{ |
| 78740 | 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c | wl_display_get_fd(a.d),.POLLIN}, |
| 78760 | 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c | .{tfd,.POLLIN}};........if.(poll |
| 78780 | 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f | (fds,.2,.-1).<.0).{..."......wl_ |
| 787a0 | 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 | display_cancel_read(a.d);....... |
| 787c0 | 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 | ...continue;........}........if. |
| 787e0 | 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 | (fds[0].revents.&.POLLIN)..."... |
| 78800 | 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 | ...wl_display_read_events(a.d);. |
| 78820 | 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | .......else..."......wl_display_ |
| 78840 | 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 | cancel_read(a.d);...%....wl_disp |
| 78860 | 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 | lay_dispatch_pending(a.d);...".. |
| 78880 | 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b | ..if.(fds[1].revents.&.POLLIN).{ |
| 788a0 | 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 | ..........uint64_t.t_exp;...'... |
| 788c0 | 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 | ...read(tfd,.&t_exp,.sizeof(t_ex |
| 788e0 | 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 | p));..........time_t.cli.=.time( |
| 78900 | 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 | NULL);...,......struct.tm.*t_str |
| 78920 | 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 | uct.=.localtime(&cli);...I...... |
| 78940 | 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c | strftime(buffer,.sizeof(buffer), |
| 78960 | 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 | ."%d-%m-%Y.%I:%M:%S.%p",.t_struc |
| 78980 | 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 | t);...%......printf("\rTime.is.% |
| 789a0 | 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 | s",.buffer);..........fflush(std |
| 789c0 | 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 | out);..........a.redraw.=.true;. |
| 789e0 | 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 | .......}........if.(a.redraw)... |
| 78a00 | 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 | .......render(&a);......}......p |
| 78a20 | 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 | rintf("\n");......close(tfd);... |
| 78a40 | 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 | ...destroy_buf(&a);......wl_disp |
| 78a60 | 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e | lay_disconnect(a.d);......return |
| 78a80 | 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 24 01 00 00 00 00 00 00 | .0;....}5...............$....... |
| 78aa0 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 22 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................|".............. |
| 78ac0 | 35 81 5f d0 00 00 00 aa 00 00 00 ac 00 00 00 00 00 00 00 00 00 00 00 ab 00 00 00 01 00 00 00 00 | 5._............................. |
| 78ae0 | 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78c40 | 00 00 00 00 00 00 69 9d aa 29 04 01 00 00 00 00 00 f5 18 00 00 00 e4 00 00 00 00 00 00 00 00 00 | ......i..)...................... |
| 78c60 | 00 00 01 00 00 00 01 7d f5 18 00 00 00 e5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 db | .......}........................ |
| 78c80 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 dc 00 00 00 00 00 00 00 00 00 | ................................ |
| 78ca0 | 00 00 00 f5 18 00 00 00 85 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 7d f5 18 00 00 | ...........................}.... |
| 78cc0 | 00 86 00 00 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 | ................................ |
| 78ce0 | 00 00 00 00 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 | ......................5......... |
| 78d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 85 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78d20 | 00 00 00 00 00 00 00 10 00 00 00 00 00 00 f5 18 00 00 00 00 85 00 00 00 03 00 00 00 00 00 00 00 | ................................ |
| 78d40 | 00 00 00 00 56 00 00 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 | ....V........................... |
| 78d60 | 00 00 00 00 f5 18 00 00 00 00 db 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 01 00 | ................................ |
| 78d80 | 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 01 00 00 00 00 00 00 35 81 5f d0 00 00 | ..................A.......5._... |
| 78da0 | 00 ab 00 00 00 ad 00 00 00 00 00 00 00 00 00 00 00 ac 00 00 00 e5 00 00 00 00 00 00 00 00 ff ff | ................................ |
| 78dc0 | ff 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 | ................................ |
| 78de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 78f20 | 69 9d aa 2a 04 01 00 00 00 39 00 f5 18 00 00 00 19 00 00 01 26 00 00 00 e5 00 00 00 ca 00 00 00 | i..*.....9..........&........... |
| 78f40 | 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f | 3static.void.on_sig(int.s).{.(vo |
| 78f60 | 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 | id)s;.running.=.0;.}........stru |
| 78f80 | 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 | ct.app.{......struct.wl_display. |
| 78fa0 | 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | *d;......struct.wl_registry.*reg |
| 78fc0 | 3b 00 00 00 1d 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 | ;......struct.wl_compositor.*com |
| 78fe0 | 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 | p;......struct.wl_shm.*shm;..... |
| 79000 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 | .struct.xdg_wm_base.*wm;......st |
| 79020 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 | ruct.wl_surface.*ws;......struct |
| 79040 | 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 | .xdg_surface.*xs;......struct.xd |
| 79060 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c | g_toplevel.*xt;......void.*pixel |
| 79080 | 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 | s;......struct.wl_buffer.*buf;.. |
| 790a0 | 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 | ....int.w,.h;......int.bw,.bh;.. |
| 790c0 | 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 | ....bool.configured;......bool.r |
| 790e0 | 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 6a 73 74 61 74 69 63 20 76 6f 69 64 20 | edraw;....};.......jstatic.void. |
| 79100 | 77 6d 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 78 64 67 5f 77 | wm_ping(void.*data,.struct.xdg_w |
| 79120 | 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 20 78 | m_base.*wm,.uint32_t.serial).{.x |
| 79140 | 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 20 7d 00 00 | dg_wm_base_pong(wm,.serial);.}.. |
| 79160 | 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 | .....$static.int.create_shm(size |
| 79180 | 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 | _t.size).{...#..char.t[].=."/tmp |
| 791a0 | 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 | /wlclock-XXXXXX";......int.fd.=. |
| 791c0 | 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 | mkstemp(t);......if.(fd.<.0).exi |
| 791e0 | 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 27 20 20 69 66 20 28 66 | t(1);......unlink(t);...'..if.(f |
| 79200 | 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b | truncate(fd,.size).<.0).exit(1); |
| 79220 | 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 | ......return.fd;....}.......(sta |
| 79240 | 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 | tic.void.destroy_buf(struct.app. |
| 79260 | 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 72 65 74 75 72 6e 3b 00 | *a).{......if.(!a->buf).return;. |
| 79280 | 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 | ..*..size_t.size.=.(size_t)a->bw |
| 792a0 | 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 | .*.a->bh.*.4;......wl_buffer_des |
| 792c0 | 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 | troy(a->buf);......munmap(a->pix |
| 792e0 | 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 | els,.size);......a->buf.=.NULL;. |
| 79300 | 00 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 | .....a->pixels.=.NULL;....}..... |
| 79320 | 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 | ..&static.void.alloc_buf(struct. |
| 79340 | 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 | app.*a).{......destroy_buf(a);.. |
| 79360 | 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a | .(..size_t.size.=.(size_t)a->w.* |
| 79380 | 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f | .a->h.*.4;......int.fd.=.create_ |
| 793a0 | 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 | shm(size);...J..a->pixels.=.mmap |
| 793c0 | 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 | (NULL,.size,.PROT_READ.|.PROT_WR |
| 793e0 | 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 27 20 20 69 66 | ITE,.MAP_SHARED,.fd,.0);...'..if |
| 79400 | 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 65 78 69 74 28 | .(a->pixels.==.MAP_FAILED).exit( |
| 79420 | 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f | 1);...B..struct.wl_shm_pool.*poo |
| 79440 | 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 | l.=.wl_shm_create_pool(a->shm,.f |
| 79460 | 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 | d,.size);...\..a->buf.=.wl_shm_p |
| 79480 | 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c | ool_create_buffer(pool,.0,.a->w, |
| 794a0 | 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 | .a->h,.a->w.*.4,.WL_SHM_FORMAT_A |
| 794c0 | 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 | RGB8888);......wl_shm_pool_destr |
| 794e0 | 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1d 20 20 61 | oy(pool);......close(fd);......a |
| 79500 | 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 | ->bw.=.a->w;.a->bh.=.a->h;....}. |
| 79520 | 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 | ......Sstatic.void.circle(uint32 |
| 79540 | 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e | _t.*px,.int.w,.int.h,.int.cx,.in |
| 79560 | 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | t.cy,.int.r,.uint32_t.c).{...".. |
| 79580 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 795a0 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e | ......while.(y.>=.x).{...H....in |
| 795c0 | 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | t.p[8][2].=.{{cx.+.x,.cy.+.y},.{ |
| 795e0 | 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | cx.-.x,.cy.+.y},.{cx.+.x,.cy.-.y |
| 79600 | 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 | },...H...................{cx.-.x |
| 79620 | 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 | ,.cy.-.y},.{cx.+.y,.cy.+.x},.{cx |
| 79640 | 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-.y,.cy.+.x},...7.............. |
| 79660 | 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 | .....{cx.+.y,.cy.-.x},.{cx.-.y,. |
| 79680 | 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | cy.-.x}};........for.(int.i.=.0; |
| 796a0 | 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 | .i.<.8;.i++)...E......if.(p[i][0 |
| 796c0 | 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d | ].>=.0.&&.p[i][0].<.w.&&.p[i][1] |
| 796e0 | 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 | .>=.0.&&.p[i][1].<.h)...&....... |
| 79700 | 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 | .px[p[i][1].*.w.+.p[i][0]].=.c;. |
| 79720 | 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 | ..C....if.(d.>.0).{.d.+=.4.*.(x. |
| 79740 | 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 | -.y).+.10;.y--;.}.else.d.+=.4.*. |
| 79760 | 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 | x.+.6;........x++;......}....}.. |
| 79780 | 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 | .....nstatic.void.fill_tri(uint3 |
| 797a0 | 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 | 2_t.*px,.int.w,.int.h,.int.x0,.i |
| 797c0 | 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 | nt.y0,.int.x1,.int.y1,.int.x2,.i |
| 797e0 | 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 | nt.y2,.uint32_t.c).{...B..int.mi |
| 79800 | 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 | n_y.=.y0.<.y1.?.(y0.<.y2.?.y0.:. |
| 79820 | 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 | y2).:.(y1.<.y2.?.y1.:.y2);...B.. |
| 79840 | 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f | int.max_y.=.y0.>.y1.?.(y0.>.y2.? |
| 79860 | 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b | .y0.:.y2).:.(y1.>.y2.?.y1.:.y2); |
| 79880 | 00 00 00 3a 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 20 | ...:..if.(min_y.<.0).min_y.=.0;. |
| 798a0 | 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 | if.(max_y.>=.h).max_y.=.h.-.1;.. |
| 798c0 | 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 | .(..for.(int.y.=.min_y;.y.<=.max |
| 798e0 | 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 | _y;.y++).{........int.x_start.=. |
| 79900 | 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d | w,.x_end.=.0;...3....int.xs[3].= |
| 79920 | 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 | .{x0,.x1,.x2},.ys[3].=.{y0,.y1,. |
| 79940 | 79 32 7d 3b 00 00 00 15 20 20 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 | y2};........bool.hit.=.false;... |
| 79960 | 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 | !....for.(int.i.=.0;.i.<.3;.i++) |
| 79980 | 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b | .{..........int.j.=.(i.+.1).%.3; |
| 799a0 | 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b | ...C......if.((ys[i].<=.y.&&.ys[ |
| 799c0 | 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 | j].>.y).||.(ys[j].<=.y.&&.ys[i]. |
| 799e0 | 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d | >.y)).{...H........int.x.=.xs[i] |
| 79a00 | 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 | .+.(y.-.ys[i]).*.(xs[j].-.xs[i]) |
| 79a20 | 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 69 | ./.(ys[j].-.ys[i]);...?........i |
| 79a40 | 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 20 69 66 20 | f.(x.<.x_start).x_start.=.x;.if. |
| 79a60 | 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 | (x.>.x_end).x_end.=.x;.......... |
| 79a80 | 20 20 68 69 74 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 | ..hit.=.true;..........}........ |
| 79aa0 | 7d 00 00 00 0e 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 42 20 20 20 20 20 20 69 66 20 | }........if.(hit).{...B......if. |
| 79ac0 | 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 20 69 66 20 28 78 | (x_start.<.0).x_start.=.0;.if.(x |
| 79ae0 | 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3f 20 20 20 | _end.>=.w).x_end.=.w.-.1;...?... |
| 79b00 | 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f | ...for.(int.x.=.x_start;.x.<=.x_ |
| 79b20 | 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 05 | end;.x++).px[y.*.w.+.x].=.c;.... |
| 79b40 | 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 | ....}......}....}.......#static. |
| 79b60 | 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 37 | void.render(struct.app.*a).{...7 |
| 79b80 | 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 | ..if.(!a->configured.||.a->w.<=. |
| 79ba0 | 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 1c 20 20 69 66 20 | 0.||.a->h.<=.0).return;......if. |
| 79bc0 | 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e | (!a->buf).alloc_buf(a);......uin |
| 79be0 | 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 | t32_t.*px.=.a->pixels;...$..mems |
| 79c00 | 65 74 28 70 78 2c 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 | et(px,.0xFF,.a->w.*.a->h.*.4);.. |
| 79c20 | 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 | ....time_t.tt.=.time(NULL);..... |
| 79c40 | 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 | .struct.tm.tmv;......localtime_r |
| 79c60 | 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 | (&tt,.&tmv);...#..int.cx.=.a->w. |
| 79c80 | 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d | /.2,.cy.=.a->h./.2;.../..int.r.= |
| 79ca0 | 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 | .(a->w.<.a->h.?.a->w.:.a->h)./.2 |
| 79cc0 | 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 | .-.10;......if.(r.<.5).r.=.5;... |
| 79ce0 | 00 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 | .......for.(int.i.=.0;.i.<.60;.i |
| 79d00 | 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 | ++).{........double.ang.=.i./.60 |
| 79d20 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 | .0.*.2.*.M_PI.-.M_PI_2;...1....i |
| 79d40 | 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 | nt.len.=.(i.%.5.==.0).?.r.*.0.12 |
| 79d60 | 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 | .:.r.*.0.04;...0....double.t_ang |
| 79d80 | 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b | .=.(i.%.5.==.0).?.0.012.:.0.005; |
| 79da0 | 00 00 00 4a 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | ...J....fill_tri(px,.a->w,.a->h, |
| 79dc0 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e | .cx.+.cos(ang-t_ang)*r,.cy.+.sin |
| 79de0 | 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | (ang-t_ang)*r,...:.............c |
| 79e00 | 78 20 2b 20 63 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 | x.+.cos(ang+t_ang)*r,.cy.+.sin(a |
| 79e20 | 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 | ng+t_ang)*r,...G.............cx. |
| 79e40 | 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 | +.cos(ang)*(r-len),.cy.+.sin(ang |
| 79e60 | 29 2a 28 72 2d 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d 00 00 | )*(r-len),.0xFF000000);......}.. |
| 79e80 | 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f | .....4..double.sa.=.tmv.tm_sec./ |
| 79ea0 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...J.. |
| 79ec0 | 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d | double.ma.=.(tmv.tm_min.+.tmv.tm |
| 79ee0 | 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | _sec./.60.0)./.60.0.*.2.*.M_PI.- |
| 79f00 | 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e | .M_PI_2;...T..double.ha.=.((tmv. |
| 79f20 | 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 | tm_hour.%.12).+.(tmv.tm_min./.60 |
| 79f40 | 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | .0))./.12.0.*.2.*.M_PI.-.M_PI_2; |
| 79f60 | 00 00 00 00 00 00 00 4f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e | .......O..fill_tri(px,.a->w,.a-> |
| 79f80 | 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 63 79 20 | h,.cx.+.cos(ha-0.12)*r*0.05,.cy. |
| 79fa0 | 2b 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 00 3f 20 20 20 20 20 | +.sin(ha-0.12)*r*0.05,....?..... |
| 79fc0 | 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 | ......cx.+.cos(ha+0.12)*r*0.05,. |
| 79fe0 | 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 2a 72 2a 30 2e 30 35 2c 20 00 00 00 41 20 20 | cy.+.sin(ha+0.12)*r*0.05,....A.. |
| 7a000 | 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 63 79 | .........cx.+.cos(ha)*r*0.55,.cy |
| 7a020 | 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | .+.sin(ha)*r*0.55,.0xFF000000);. |
| 7a040 | 00 00 51 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ..Q..fill_tri(px,.a->w,.a->h,.cx |
| 7a060 | 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 20 2b 20 73 69 | .+.cos(ma-0.08)*r*0.035,.cy.+.si |
| 7a080 | 6e 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 41 20 20 20 20 20 20 20 20 | n(ma-0.08)*r*0.035,....A........ |
| 7a0a0 | 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 63 79 | ...cx.+.cos(ma+0.08)*r*0.035,.cy |
| 7a0c0 | 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 30 2e 30 33 35 2c 20 00 00 00 3f 20 20 20 | .+.sin(ma+0.08)*r*0.035,....?... |
| 7a0e0 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b | ........cx.+.cos(ma)*r*0.8,.cy.+ |
| 7a100 | 20 73 69 6e 28 6d 61 29 2a 72 2a 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 4e | .sin(ma)*r*0.8,.0xFF000000);...N |
| 7a120 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 7a140 | 63 6f 73 28 73 61 2d 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 | cos(sa-0.05)*r*0.04,.cy.+.sin(sa |
| 7a160 | 2d 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 00 00 00 3e 20 20 20 20 20 20 20 20 20 20 20 63 78 20 | -0.05)*r*0.04,...>...........cx. |
| 7a180 | 2b 20 63 6f 73 28 73 61 2b 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 20 63 79 20 2b 20 73 69 6e 28 | +.cos(sa+0.05)*r*0.04,.cy.+.sin( |
| 7a1a0 | 73 61 2b 30 2e 30 35 29 2a 72 2a 30 2e 30 34 2c 00 00 00 3f 20 20 20 20 20 20 20 20 20 20 20 63 | sa+0.05)*r*0.04,...?...........c |
| 7a1c0 | 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 30 2e 38 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a | x.+.cos(sa)*r*0.8,.cy.+.sin(sa)* |
| 7a1e0 | 72 2a 30 2e 38 2c 20 30 78 46 46 46 46 30 30 30 30 29 3b 00 00 00 00 00 00 00 31 20 20 69 6e 74 | r*0.8,.0xFFFF0000);.......1..int |
| 7a200 | 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 | .hub_r.=.r.*.0.04;.if.(hub_r.<.4 |
| 7a220 | 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 58 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 | ).hub_r.=.4;...X..for.(int.ir.=. |
| 7a240 | 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 | 0;.ir.<.hub_r.-.2;.ir++).circle( |
| 7a260 | 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 30 78 46 46 | px,.a->w,.a->h,.cx,.cy,.ir,.0xFF |
| 7a280 | 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 | FFFFFF);...4..circle(px,.a->w,.a |
| 7a2a0 | 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b | ->h,.cx,.cy,.hub_r,.0xFF000000); |
| 7a2c0 | 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 | .......)..wl_surface_attach(a->w |
| 7a2e0 | 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 | s,.a->buf,.0,.0);...4..wl_surfac |
| 7a300 | 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e | e_damage_buffer(a->ws,.0,.0,.a-> |
| 7a320 | 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 | w,.a->h);......wl_surface_commit |
| 7a340 | 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b | (a->ws);......a->redraw.=.false; |
| 7a360 | 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 | ....}.......Gstatic.void.xt_clos |
| 7a380 | 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a | e(void.*d,.struct.xdg_toplevel.* |
| 7a3a0 | 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 60 73 74 61 74 69 63 20 76 | xt).{.running.=.0;.}...`static.v |
| 7a3c0 | 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 | oid.xt_cfg(void.*d,.struct.xdg_t |
| 7a3e0 | 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 | oplevel.*xt,.int32_t.w,.int32_t. |
| 7a400 | 68 2c 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 | h,.struct.wl_array.*s).{......st |
| 7a420 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 | ruct.app.*a.=.d;...3..if.(w.>.0. |
| 7a440 | 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 | &&.h.>.0.&&.(w.!=.a->w.||.h.!=.a |
| 7a460 | 2d 3e 68 29 29 20 7b 00 00 00 39 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 | ->h)).{...9....a->w.=.w;.a->h.=. |
| 7a480 | 68 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 | h;.destroy_buf(a);.a->redraw.=.t |
| 7a4a0 | 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 | rue;......}....}...Fstatic.void. |
| 7a4c0 | 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 | xs_cfg(void.*d,.struct.xdg_surfa |
| 7a4e0 | 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 3b 20 20 | ce.*xs,.uint32_t.serial).{...;.. |
| 7a500 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 | struct.app.*a.=.d;.xdg_surface_a |
| 7a520 | 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 29 20 20 61 | ck_configure(xs,.serial);...)..a |
| 7a540 | 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d | ->configured.=.true;.a->redraw.= |
| 7a560 | 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 | .true;....}...`static.void.reg_g |
| 7a580 | 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | lobal(void.*d,.struct.wl_registr |
| 7a5a0 | 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 | y.*r,.uint32_t.id,.const.char.*i |
| 7a5c0 | 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 | ,.uint32_t.v).{......struct.app. |
| 7a5e0 | 2a 61 20 3d 20 64 3b 00 00 00 62 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f | *a.=.d;...b..if.(!strcmp(i,."wl_ |
| 7a600 | 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 | compositor")).a->comp.=.wl_regis |
| 7a620 | 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 | try_bind(r,.id,.&wl_compositor_i |
| 7a640 | 6e 74 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 58 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 | nterface,.4);...X..else.if.(!str |
| 7a660 | 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 | cmp(i,."wl_shm")).a->shm.=.wl_re |
| 7a680 | 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 | gistry_bind(r,.id,.&wl_shm_inter |
| 7a6a0 | 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 | face,.1);...'..else.if.(!strcmp( |
| 7a6c0 | 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 | i,."xdg_wm_base")).{...?....a->w |
| 7a6e0 | 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 | m.=.wl_registry_bind(r,.id,.&xdg |
| 7a700 | 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 43 20 20 20 20 73 | _wm_base_interface,.1);...C....s |
| 7a720 | 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 73 65 5f 6c | tatic.const.struct.xdg_wm_base_l |
| 7a740 | 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 | istener.l.=.{.ping.=.wm_ping};.. |
| 7a760 | 00 2b 20 20 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 61 | .+....xdg_wm_base_add_listener(a |
| 7a780 | 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 | ->wm,.&l,.a);......}....}....... |
| 7a7a0 | 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 73 74 72 75 63 74 20 61 70 | .int.main(void).{...+..struct.ap |
| 7a7c0 | 70 20 61 20 3d 20 7b 30 7d 3b 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b | p.a.=.{0};.a.w.=.400;.a.h.=.400; |
| 7a7e0 | 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 | ......signal(SIGINT,.on_sig);... |
| 7a800 | 21 20 20 61 2e 64 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 | !..a.d.=.wl_display_connect(NULL |
| 7a820 | 29 3b 00 00 00 15 20 20 69 66 20 28 21 61 2e 64 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 | );......if.(!a.d).return.1;...'. |
| 7a840 | 20 61 2e 72 65 67 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 | .a.reg.=.wl_display_get_registry |
| 7a860 | 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | (a.d);...G..static.const.struct. |
| 7a880 | 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 | wl_registry_listener.rl.=.{.glob |
| 7a8a0 | 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 | al.=.reg_global};...+..wl_regist |
| 7a8c0 | 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b | ry_add_listener(a.reg,.&rl,.&a); |
| 7a8e0 | 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b | ......wl_display_roundtrip(a.d); |
| 7a900 | 00 00 00 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 | ...+..if.(!a.comp.||.!a.shm.||.! |
| 7a920 | 61 2e 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 | a.wm).return.1;......a.ws.=.wl_c |
| 7a940 | 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 61 2e 63 6f 6d 70 29 | ompositor_create_surface(a.comp) |
| 7a960 | 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 | ;...1..a.xs.=.xdg_wm_base_get_xd |
| 7a980 | 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 | g_surface(a.wm,.a.ws);...G..stat |
| 7a9a0 | 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 74 | ic.const.struct.xdg_surface_list |
| 7a9c0 | 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d | ener.xsl.=.{.configure.=.xs_cfg} |
| 7a9e0 | 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 | ;...+..xdg_surface_add_listener( |
| 7aa00 | 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 | a.xs,.&xsl,.&a);...(..a.xt.=.xdg |
| 7aa20 | 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 5b | _surface_get_toplevel(a.xs);...[ |
| 7aa40 | 20 20 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 |
| 7aa60 | 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 | el_listener.xtl.=.{.configure.=. |
| 7aa80 | 78 74 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 | xt_cfg,..close.=.xt_close};...,. |
| 7aaa0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c | .xdg_toplevel_add_listener(a.xt, |
| 7aac0 | 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | .&xtl,.&a);...*..xdg_toplevel_se |
| 7aae0 | 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 | t_title(a.xt,."wlclock");......w |
| 7ab00 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 02 20 20 00 00 00 | l_surface_commit(a.ws);......... |
| 7ab20 | 31 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 69 73 70 | 1..while.(!a.configured).wl_disp |
| 7ab40 | 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 02 20 20 00 00 00 36 20 20 70 72 | lay_dispatch(a.d);.........6..pr |
| 7ab60 | 69 6e 74 66 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c | intf("Wayland.surface.successful |
| 7ab80 | 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 00 00 00 02 20 20 00 00 00 0d 20 20 72 65 | ly.configured\n");............re |
| 7aba0 | 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 | nder(&a);...9..int.tfd.=.timerfd |
| 7abc0 | 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f | _create(CLOCK_MONOTONIC,.TFD_CLO |
| 7abe0 | 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c | EXEC);...F..timerfd_settime(tfd, |
| 7ac00 | 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c | .0,.&(struct.itimerspec){{1,.0}, |
| 7ac20 | 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 | .{1,.0}},.NULL);......char.buffe |
| 7ac40 | 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 | r[100];......while.(running).{.. |
| 7ac60 | 00 4f 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 | .O....while.(wl_display_prepare_ |
| 7ac80 | 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 | read(a.d).!=.0).wl_display_dispa |
| 7aca0 | 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 | tch_pending(a.d);........wl_disp |
| 7acc0 | 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f | lay_flush(a.d);...M....struct.po |
| 7ace0 | 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 | llfd.fds[2].=.{{wl_display_get_f |
| 7ad00 | 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b | d(a.d),.POLLIN},.{tfd,.POLLIN}}; |
| 7ad20 | 00 00 00 48 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 | ...H....if.(poll(fds,.2,.-1).<.0 |
| 7ad40 | 29 20 7b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b | ).{.wl_display_cancel_read(a.d); |
| 7ad60 | 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 00 00 00 5f 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 | .continue;.}..._....if.(fds[0].r |
| 7ad80 | 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 | events.&.POLLIN).wl_display_read |
| 7ada0 | 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 | _events(a.d);.else.wl_display_ca |
| 7adc0 | 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 | ncel_read(a.d);...%....wl_displa |
| 7ade0 | 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 | y_dispatch_pending(a.d);...".... |
| 7ae00 | 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 | if.(fds[1].revents.&.POLLIN).{.. |
| 7ae20 | 00 37 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 20 72 65 61 64 28 74 66 64 | .7......uint64_t.t_exp;.read(tfd |
| 7ae40 | 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 | ,.&t_exp,.sizeof(t_exp));....... |
| 7ae60 | 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 | ...time_t.cli.=.time(NULL);...,. |
| 7ae80 | 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c | .....struct.tm.*t_struct.=.local |
| 7aea0 | 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 | time(&cli);...I......strftime(bu |
| 7aec0 | 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 | ffer,.sizeof(buffer),."%d-%m-%Y. |
| 7aee0 | 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 35 20 20 20 20 | %I:%M:%S.%p",.t_struct);...5.... |
| 7af00 | 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 | ..printf("\rTime.is.%s",.buffer) |
| 7af20 | 3b 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 | ;.fflush(stdout);..........a.red |
| 7af40 | 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 | raw.=.true;........}........if.( |
| 7af60 | 61 2e 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 48 | a.redraw).render(&a);......}...H |
| 7af80 | 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 20 63 6c 6f 73 65 28 74 66 64 29 3b 20 64 65 73 74 | ..printf("\n");.close(tfd);.dest |
| 7afa0 | 72 6f 79 5f 62 75 66 28 26 61 29 3b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 | roy_buf(&a);.wl_display_disconne |
| 7afc0 | 63 74 28 61 2e 64 29 3b 35 81 f5 18 00 00 00 00 19 00 00 00 1b 00 00 00 c9 00 00 00 2c 00 00 00 | ct(a.d);5...................,... |
| 7afe0 | 0b 01 00 00 01 00 00 00 22 02 00 00 00 00 00 00 f5 1d 00 00 00 00 00 00 2f 20 00 00 00 00 00 00 | ........".............../....... |
| 7b000 | 35 81 5f d0 00 00 00 ac 00 00 00 ae 00 00 00 00 00 00 00 00 00 00 00 ad 00 00 01 01 00 00 00 05 | 5._............................. |
| 7b020 | 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 00 00 00 00 | ................................ |
| 7b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b180 | 00 00 00 00 00 00 69 9d aa 32 04 01 00 00 00 00 00 f5 18 00 00 01 00 00 00 01 02 00 00 01 27 00 | ......i..2....................'. |
| 7b1a0 | 00 00 01 00 00 00 36 20 20 70 72 69 6e 74 66 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 | ......6..printf("Wayland.surface |
| 7b1c0 | 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 35 81 f5 | .successfully.configured\n");5.. |
| 7b1e0 | 18 00 00 00 00 00 01 00 00 05 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0f 1e 00 | ................................ |
| 7b200 | 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 ad 00 00 00 | .....................5._........ |
| 7b220 | af 00 00 00 00 00 00 00 00 00 00 00 ae 00 00 01 01 00 00 00 02 00 00 00 00 ff ff ff ff 00 01 00 | ................................ |
| 7b240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d aa 33 04 | ...........................i..3. |
| 7b3a0 | 01 00 00 00 00 00 f5 18 00 00 01 00 00 00 01 02 00 00 01 27 00 00 00 01 00 00 00 33 20 20 70 72 | ...................'.......3..pr |
| 7b3c0 | 69 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 | i("Wayland.surface.successfully. |
| 7b3e0 | 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 35 81 f5 18 00 00 00 00 00 01 00 00 02 00 00 00 00 | configured\n");5................ |
| 7b400 | 00 00 00 03 00 00 00 00 00 00 00 04 00 00 00 0c 1e 00 00 00 00 00 00 03 00 00 00 00 00 00 00 04 | ................................ |
| 7b420 | 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 ae 00 00 00 b0 00 00 00 00 00 00 00 00 00 00 00 af 00 | .......5._...................... |
| 7b440 | 00 01 01 00 00 00 2f 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 | ....../......................... |
| 7b460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d aa 35 04 01 00 00 00 00 00 f5 18 00 00 01 00 00 00 | .............i..5............... |
| 7b5c0 | 01 02 00 00 01 27 00 00 00 01 00 00 00 34 20 20 70 75 74 73 28 22 57 61 79 6c 61 6e 64 20 73 75 | .....'.......4..puts("Wayland.su |
| 7b5e0 | 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 | rface.successfully.configured\n" |
| 7b600 | 29 3b 35 81 f5 18 00 00 00 00 00 01 00 00 2f 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | );5.........../................. |
| 7b620 | 00 00 39 1e 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 | ..9.......................5._... |
| 7b640 | 00 af 00 00 00 b1 00 00 00 00 00 00 00 00 00 00 00 b0 00 00 01 01 00 00 00 2f 00 00 00 00 ff ff | ........................./...... |
| 7b660 | ff 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 | ................................ |
| 7b680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b7c0 | 69 9d aa 36 04 01 00 00 00 3b 00 f5 18 00 00 01 00 00 00 01 02 00 00 01 27 00 00 00 01 00 00 00 | i..6.....;..............'....... |
| 7b7e0 | 33 20 20 70 75 74 73 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 | 3..puts("Wayland.surface.success |
| 7b800 | 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 6e 22 29 3b 35 81 f5 18 00 00 00 00 00 01 00 00 | fully.configuredn");5........... |
| 7b820 | 2f 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 39 1e 00 00 00 00 00 00 01 00 00 00 | /...................9........... |
| 7b840 | 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 b0 00 00 00 b2 00 00 00 00 00 00 00 00 | ............5._................. |
| 7b860 | 00 00 00 b1 00 00 01 01 00 00 00 08 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7b9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d aa 3e 04 01 00 00 00 3c 00 f5 18 00 | ..................i..>.....<.... |
| 7b9e0 | 00 01 00 00 00 01 02 00 00 01 27 00 00 00 01 00 00 00 32 20 20 70 75 74 73 28 22 57 61 79 6c 61 | ..........'.......2..puts("Wayla |
| 7ba00 | 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 | nd.surface.successfully.configur |
| 7ba20 | 65 64 22 29 3b 35 81 f5 18 00 00 00 00 00 01 00 00 08 00 00 00 00 00 00 00 01 00 00 00 00 00 00 | ed");5.......................... |
| 7ba40 | 00 01 00 00 00 12 1e 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f | .............................5._ |
| 7ba60 | d0 00 00 00 b1 00 00 00 b3 00 00 00 00 00 00 00 00 00 00 00 b2 00 00 00 01 00 00 00 00 00 00 00 | ................................ |
| 7ba80 | 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 00 00 00 00 00 00 00 | ................................ |
| 7baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7bbe0 | 00 00 00 69 9d aa fd 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 27 | ...i...........................' |
| 7bc00 | 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 38 | ....#define._POSIX_C_SOURCE.2008 |
| 7bc20 | 30 39 4c 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 65 6e | 09L...&#include."xdg-shell-clien |
| 7bc40 | 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c | t-protocol.h"....#include.<fcntl |
| 7bc60 | 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e 63 | .h>....#include.<math.h>....#inc |
| 7bc80 | 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e 61 | lude.<poll.h>....#include.<signa |
| 7bca0 | 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 13 | l.h>....#include.<stdbool.h>.... |
| 7bcc0 | 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 20 | #include.<stdint.h>....#include. |
| 7bce0 | 3c 73 74 64 69 6f 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 | <stdio.h>....#include.<stdlib.h> |
| 7bd00 | 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 15 23 69 6e 63 6c | ....#include.<string.h>....#incl |
| 7bd20 | 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 79 | ude.<sys/mman.h>....#include.<sy |
| 7bd40 | 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e 68 | s/timerfd.h>....#include.<time.h |
| 7bd60 | 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 1b 23 69 6e 63 | >....#include.<unistd.h>....#inc |
| 7bd80 | 6c 75 64 65 20 3c 77 61 79 6c 61 6e 64 2d 63 6c 69 65 6e 74 2e 68 3e 00 00 00 00 00 00 00 0c 23 | lude.<wayland-client.h>........# |
| 7bda0 | 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 | ifndef.M_PI...##define.M_PI.3.14 |
| 7bdc0 | 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e | 159265358979323846....#endif.... |
| 7bde0 | 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 | #ifndef.M_PI_2...%#define.M_PI_2 |
| 7be00 | 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 | .1.57079632679489661923....#endi |
| 7be20 | 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f | f.......)static.volatile.sig_ato |
| 7be40 | 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 | mic_t.running.=.1;....static.voi |
| 7be60 | 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 | d.on_sig(int.s).{......(void)s;. |
| 7be80 | 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 | .....running.=.0;....}........st |
| 7bea0 | 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 | ruct.app.{......struct.wl_displa |
| 7bec0 | 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 | y.*d;......struct.wl_registry.*r |
| 7bee0 | 65 67 3b 00 00 00 1d 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 | eg;......struct.wl_compositor.*c |
| 7bf00 | 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 | omp;......struct.wl_shm.*shm;... |
| 7bf20 | 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 | ...struct.xdg_wm_base.*wm;...... |
| 7bf40 | 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 | struct.wl_surface.*ws;......stru |
| 7bf60 | 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 | ct.xdg_surface.*xs;......struct. |
| 7bf80 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 | xdg_toplevel.*xt;......void.*pix |
| 7bfa0 | 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b | els;......struct.wl_buffer.*buf; |
| 7bfc0 | 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b | ......int.w,.h;......int.bw,.bh; |
| 7bfe0 | 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c | ......bool.configured;......bool |
| 7c000 | 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 | .redraw;....};.......Jstatic.voi |
| 7c020 | 64 20 77 6d 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 78 64 67 | d.wm_ping(void.*data,.struct.xdg |
| 7c040 | 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b | _wm_base.*wm,.uint32_t.serial).{ |
| 7c060 | 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 | ......xdg_wm_base_pong(wm,.seria |
| 7c080 | 6c 29 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 | l);....}.......$static.int.creat |
| 7c0a0 | 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 | e_shm(size_t.size).{...#..char.t |
| 7c0c0 | 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 | [].=."/tmp/wlclock-XXXXXX";..... |
| 7c0e0 | 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 | .int.fd.=.mkstemp(t);......if.(f |
| 7c100 | 64 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 | d.<.0)........exit(1);......unli |
| 7c120 | 6e 6b 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 | nk(t);......if.(ftruncate(fd,.si |
| 7c140 | 7a 65 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 | ze).<.0)........exit(1);......re |
| 7c160 | 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 | turn.fd;....}.......(static.void |
| 7c180 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | .destroy_buf(struct.app.*a).{... |
| 7c1a0 | 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 | ...if.(!a->buf)........return;.. |
| 7c1c0 | 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 | .*..size_t.size.=.(size_t)a->bw. |
| 7c1e0 | 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 | *.a->bh.*.4;......wl_buffer_dest |
| 7c200 | 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 | roy(a->buf);......munmap(a->pixe |
| 7c220 | 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 | ls,.size);......a->buf.=.NULL;.. |
| 7c240 | 00 13 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 | ....a->pixels.=.NULL;....}...... |
| 7c260 | 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 | .&static.void.alloc_buf(struct.a |
| 7c280 | 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 | pp.*a).{......destroy_buf(a);... |
| 7c2a0 | 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 | (..size_t.size.=.(size_t)a->w.*. |
| 7c2c0 | 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 | a->h.*.4;......int.fd.=.create_s |
| 7c2e0 | 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 | hm(size);...J..a->pixels.=.mmap( |
| 7c300 | 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 | NULL,.size,.PROT_READ.|.PROT_WRI |
| 7c320 | 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 | TE,.MAP_SHARED,.fd,.0);......if. |
| 7c340 | 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 | (a->pixels.==.MAP_FAILED)....... |
| 7c360 | 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f | .exit(1);...B..struct.wl_shm_poo |
| 7c380 | 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e | l.*pool.=.wl_shm_create_pool(a-> |
| 7c3a0 | 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c | shm,.fd,.size);...C..a->buf.=.wl |
| 7c3c0 | 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c | _shm_pool_create_buffer(pool,.0, |
| 7c3e0 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 | .a->w,.a->h,.a->w.*.4,...=...... |
| 7c400 | 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 57 | ...............................W |
| 7c420 | 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f | L_SHM_FORMAT_ARGB8888);......wl_ |
| 7c440 | 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f | shm_pool_destroy(pool);......clo |
| 7c460 | 73 65 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 | se(fd);......a->bw.=.a->w;...... |
| 7c480 | 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 | a->bh.=.a->h;....}.......Estatic |
| 7c4a0 | 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 | .void.circle(uint32_t.*px,.int.w |
| 7c4c0 | 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 | ,.int.h,.int.cx,.int.cy,.int.r,. |
| 7c4e0 | 00 00 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 32 5f 74 20 63 | ......................uint32_t.c |
| 7c500 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 7c520 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 7c540 | 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 | ..H....int.p[8][2].=.{{cx.+.x,.c |
| 7c560 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 | y.+.y},.{cx.-.x,.cy.+.y},.{cx.+. |
| 7c580 | 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x,.cy.-.y},...H................. |
| 7c5a0 | 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | ..{cx.-.x,.cy.-.y},.{cx.+.y,.cy. |
| 7c5c0 | 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 | +.x},.{cx.-.y,.cy.+.x},...7..... |
| 7c5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 | ..............{cx.+.y,.cy.-.x},. |
| 7c600 | 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 | {cx.-.y,.cy.-.x}};........for.(i |
| 7c620 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 | nt.i.=.0;.i.<.8;.i++)...E......i |
| 7c640 | 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 | f.(p[i][0].>=.0.&&.p[i][0].<.w.& |
| 7c660 | 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 | &.p[i][1].>=.0.&&.p[i][1].<.h).. |
| 7c680 | 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b | .&........px[p[i][1].*.w.+.p[i][ |
| 7c6a0 | 30 5d 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c | 0]].=.c;........if.(d.>.0).{.... |
| 7c6c0 | 20 20 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a | ......d.+=.4.*.(x.-.y).+.10;.... |
| 7c6e0 | 20 20 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 | ......y--;........}.else........ |
| 7c700 | 20 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 | ..d.+=.4.*.x.+.6;........x++;... |
| 7c720 | 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c | ...}....}.......Pstatic.void.fil |
| 7c740 | 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 | l_tri(uint32_t.*px,.int.w,.int.h |
| 7c760 | 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 | ,.int.x0,.int.y0,.int.x1,.int.y1 |
| 7c780 | 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 | ,...2.....................int.x2 |
| 7c7a0 | 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 | ,.int.y2,.uint32_t.c).{...B..int |
| 7c7c0 | 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 | .min_y.=.y0.<.y1.?.(y0.<.y2.?.y0 |
| 7c7e0 | 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 | .:.y2).:.(y1.<.y2.?.y1.:.y2);... |
| 7c800 | 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 | B..int.max_y.=.y0.>.y1.?.(y0.>.y |
| 7c820 | 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 | 2.?.y0.:.y2).:.(y1.>.y2.?.y1.:.y |
| 7c840 | 32 29 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d | 2);......if.(min_y.<.0)........m |
| 7c860 | 69 6e 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 | in_y.=.0;......if.(max_y.>=.h).. |
| 7c880 | 00 12 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 | ......max_y.=.h.-.1;...(..for.(i |
| 7c8a0 | 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b | nt.y.=.min_y;.y.<=.max_y;.y++).{ |
| 7c8c0 | 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d | ........int.x_start.=.w,.x_end.= |
| 7c8e0 | 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 | .0;...3....int.xs[3].=.{x0,.x1,. |
| 7c900 | 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 | x2},.ys[3].=.{y0,.y1,.y2};...... |
| 7c920 | 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 | ..bool.hit.=.false;...!....for.( |
| 7c940 | 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 | int.i.=.0;.i.<.3;.i++).{........ |
| 7c960 | 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 | ..int.j.=.(i.+.1).%.3;...C...... |
| 7c980 | 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c | if.((ys[i].<=.y.&&.ys[j].>.y).|| |
| 7c9a0 | 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 | .(ys[j].<=.y.&&.ys[i].>.y)).{... |
| 7c9c0 | 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 | H........int.x.=.xs[i].+.(y.-.ys |
| 7c9e0 | 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 | [i]).*.(xs[j].-.xs[i])./.(ys[j]. |
| 7ca00 | 2d 20 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 | -.ys[i]);............if.(x.<.x_s |
| 7ca20 | 74 61 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 | tart)..............x_start.=.x;. |
| 7ca40 | 00 00 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 | ...........if.(x.>.x_end)....... |
| 7ca60 | 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 | .......x_end.=.x;............hit |
| 7ca80 | 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e | .=.true;..........}........}.... |
| 7caa0 | 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 | ....if.(hit).{..........if.(x_st |
| 7cac0 | 61 72 74 20 3c 20 30 29 00 00 00 14 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b | art.<.0)............x_start.=.0; |
| 7cae0 | 00 00 00 15 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 16 20 20 20 | ..........if.(x_end.>=.w)....... |
| 7cb00 | 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2c 20 20 20 20 20 20 66 6f 72 | .....x_end.=.w.-.1;...,......for |
| 7cb20 | 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 | .(int.x.=.x_start;.x.<=.x_end;.x |
| 7cb40 | 2b 2b 29 00 00 00 1a 20 20 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 | ++)............px[y.*.w.+.x].=.c |
| 7cb60 | 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 | ;........}......}....}.......#st |
| 7cb80 | 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 | atic.void.render(struct.app.*a). |
| 7cba0 | 7b 00 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e | {.../..if.(!a->configured.||.a-> |
| 7cbc0 | 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 | w.<=.0.||.a->h.<=.0)........retu |
| 7cbe0 | 72 6e 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c | rn;......if.(!a->buf)........all |
| 7cc00 | 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 | oc_buf(a);......uint32_t.*px.=.a |
| 7cc20 | 2d 3e 70 69 78 65 6c 73 3b 00 00 00 24 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 30 78 46 46 2c 20 | ->pixels;...$..memset(px,.0xFF,. |
| 7cc40 | 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 | a->w.*.a->h.*.4);......time_t.tt |
| 7cc60 | 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d | .=.time(NULL);......struct.tm.tm |
| 7cc80 | 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 | v;......localtime_r(&tt,.&tmv);. |
| 7cca0 | 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e | ..#..int.cx.=.a->w./.2,.cy.=.a-> |
| 7ccc0 | 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 | h./.2;.../..int.r.=.(a->w.<.a->h |
| 7cce0 | 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 | .?.a->w.:.a->h)./.2.-.10;......i |
| 7cd00 | 66 20 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 | f.(r.<.5)........r.=.5;......... |
| 7cd20 | 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 | .for.(int.i.=.0;.i.<.60;.i++).{. |
| 7cd40 | 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 | .......double.ang.=.i./.60.0.*.2 |
| 7cd60 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e | .*.M_PI.-.M_PI_2;...1....int.len |
| 7cd80 | 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a | .=.(i.%.5.==.0).?.r.*.0.12.:.r.* |
| 7cda0 | 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 | .0.04;...0....double.t_ang.=.(i. |
| 7cdc0 | 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 20 | %.5.==.0).?.0.012.:.0.005;...7.. |
| 7cde0 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 7ce00 | 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 | cos(ang.-.t_ang).*.r,...B....... |
| 7ce20 | 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c | ......cy.+.sin(ang.-.t_ang).*.r, |
| 7ce40 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 | .cx.+.cos(ang.+.t_ang).*.r,...B. |
| 7ce60 | 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e 67 | ............cy.+.sin(ang.+.t_ang |
| 7ce80 | 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 | ).*.r,.cx.+.cos(ang).*.(r.-.len) |
| 7cea0 | 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 | ,...4.............cy.+.sin(ang). |
| 7cec0 | 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 03 20 20 7d | *.(r.-.len),.0xFF000000);......} |
| 7cee0 | 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 | .......4..double.sa.=.tmv.tm_sec |
| 7cf00 | 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a | ./.60.0.*.2.*.M_PI.-.M_PI_2;...J |
| 7cf20 | 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e | ..double.ma.=.(tmv.tm_min.+.tmv. |
| 7cf40 | 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 | tm_sec./.60.0)./.60.0.*.2.*.M_PI |
| 7cf60 | 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 | .-.M_PI_2;......double.ha.=...L. |
| 7cf80 | 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e | .....((tmv.tm_hour.%.12).+.(tmv. |
| 7cfa0 | 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 | tm_min./.60.0))./.12.0.*.2.*.M_P |
| 7cfc0 | 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 | I.-.M_PI_2;.......:..fill_tri(px |
| 7cfe0 | 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 32 | ,.a->w,.a->h,.cx.+.cos(ha.-.0.12 |
| 7d000 | 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b | ).*.r.*.0.05,...J...........cy.+ |
| 7d020 | 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b | .sin(ha.-.0.12).*.r.*.0.05,.cx.+ |
| 7d040 | 20 63 6f 73 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 30 2e 30 35 2c 00 00 00 43 20 | .cos(ha.+.0.12).*.r.*.0.05,...C. |
| 7d060 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 | ..........cy.+.sin(ha.+.0.12).*. |
| 7d080 | 72 20 2a 20 30 2e 30 35 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 30 2e 35 | r.*.0.05,.cx.+.cos(ha).*.r.*.0.5 |
| 7d0a0 | 35 2c 00 00 00 30 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 | 5,...0...........cy.+.sin(ha).*. |
| 7d0c0 | 72 20 2a 20 30 2e 35 35 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 00 00 3b 20 20 66 69 6c 6c | r.*.0.55,.0xFF000000);...;..fill |
| 7d0e0 | 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | _tri(px,.a->w,.a->h,.cx.+.cos(ma |
| 7d100 | 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 00 00 00 4c 20 20 20 20 20 20 20 | .-.0.08).*.r.*.0.035,...L....... |
| 7d120 | 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e | ....cy.+.sin(ma.-.0.08).*.r.*.0. |
| 7d140 | 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 | 035,.cx.+.cos(ma.+.0.08).*.r.*.0 |
| 7d160 | 2e 30 33 35 2c 00 00 00 43 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 | .035,...C...........cy.+.sin(ma. |
| 7d180 | 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 30 2e 30 33 35 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 | +.0.08).*.r.*.0.035,.cx.+.cos(ma |
| 7d1a0 | 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 | ).*.r.*.0.8,.../...........cy.+. |
| 7d1c0 | 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 30 30 30 30 30 30 29 3b 00 | sin(ma).*.r.*.0.8,.0xFF000000);. |
| 7d1e0 | 00 00 3a 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ..:..fill_tri(px,.a->w,.a->h,.cx |
| 7d200 | 20 2b 20 63 6f 73 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 00 00 00 | .+.cos(sa.-.0.05).*.r.*.0.04,... |
| 7d220 | 4a 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 2e 30 35 29 20 | J...........cy.+.sin(sa.-.0.05). |
| 7d240 | 2a 20 72 20 2a 20 30 2e 30 34 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 30 2e 30 35 29 20 | *.r.*.0.04,.cx.+.cos(sa.+.0.05). |
| 7d260 | 2a 20 72 20 2a 20 30 2e 30 34 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 | *.r.*.0.04,...B...........cy.+.s |
| 7d280 | 69 6e 28 73 61 20 2b 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 30 2e 30 34 2c 20 63 78 20 2b 20 63 | in(sa.+.0.05).*.r.*.0.04,.cx.+.c |
| 7d2a0 | 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 00 00 00 2f 20 20 20 20 20 20 20 20 20 20 20 | os(sa).*.r.*.0.8,.../........... |
| 7d2c0 | 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 30 2e 38 2c 20 30 78 46 46 46 46 30 30 | cy.+.sin(sa).*.r.*.0.8,.0xFFFF00 |
| 7d2e0 | 30 30 29 3b 00 00 00 00 00 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e | 00);..........int.hub_r.=.r.*.0. |
| 7d300 | 30 34 3b 00 00 00 10 20 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 | 04;......if.(hub_r.<.4)........h |
| 7d320 | 75 62 5f 72 20 3d 20 34 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 | ub_r.=.4;...(..for.(int.ir.=.0;. |
| 7d340 | 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 33 20 20 20 20 63 69 72 | ir.<.hub_r.-.2;.ir++)...3....cir |
| 7d360 | 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 | cle(px,.a->w,.a->h,.cx,.cy,.ir,. |
| 7d380 | 30 78 46 46 46 46 46 46 46 46 29 3b 00 00 00 34 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e | 0xFFFFFFFF);...4..circle(px,.a-> |
| 7d3a0 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 30 78 46 46 30 30 30 30 | w,.a->h,.cx,.cy,.hub_r,.0xFF0000 |
| 7d3c0 | 30 30 29 3b 00 00 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 | 00);.......)..wl_surface_attach( |
| 7d3e0 | 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 | a->ws,.a->buf,.0,.0);...4..wl_su |
| 7d400 | 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c | rface_damage_buffer(a->ws,.0,.0, |
| 7d420 | 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f | .a->w,.a->h);......wl_surface_co |
| 7d440 | 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 | mmit(a->ws);......a->redraw.=.fa |
| 7d460 | 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | lse;....}.......Gstatic.void.xt_ |
| 7d480 | 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 | close(void.*d,.struct.xdg_toplev |
| 7d4a0 | 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 4a 73 74 61 74 | el.*xt).{.running.=.0;.}...Jstat |
| 7d4c0 | 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 | ic.void.xt_cfg(void.*d,.struct.x |
| 7d4e0 | 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 | dg_toplevel.*xt,.int32_t.w,.int3 |
| 7d500 | 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 | 2_t.h,...(...................str |
| 7d520 | 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 | uct.wl_array.*s).{......struct.a |
| 7d540 | 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e | pp.*a.=.d;...3..if.(w.>.0.&&.h.> |
| 7d560 | 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 | .0.&&.(w.!=.a->w.||.h.!=.a->h)). |
| 7d580 | 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d | {........a->w.=.w;........a->h.= |
| 7d5a0 | 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 | .h;........destroy_buf(a);...... |
| 7d5c0 | 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | ..a->redraw.=.true;......}....}. |
| 7d5e0 | 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 | ..Fstatic.void.xs_cfg(void.*d,.s |
| 7d600 | 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 6e 74 33 32 5f 74 20 | truct.xdg_surface.*xs,.uint32_t. |
| 7d620 | 73 65 72 69 61 6c 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 | serial).{......struct.app.*a.=.d |
| 7d640 | 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 72 65 | ;...(..xdg_surface_ack_configure |
| 7d660 | 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 | (xs,.serial);......a->configured |
| 7d680 | 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 | .=.true;......a->redraw.=.true;. |
| 7d6a0 | 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 | ...}...Cstatic.void.reg_global(v |
| 7d6c0 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 | oid.*d,.struct.wl_registry.*r,.u |
| 7d6e0 | 69 6e 74 33 32 5f 74 20 69 64 2c 00 00 00 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | int32_t.id,...3................. |
| 7d700 | 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 | ......const.char.*i,.uint32_t.v) |
| 7d720 | 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 | .{......struct.app.*a.=.d;...".. |
| 7d740 | 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 | if.(!strcmp(i,."wl_compositor")) |
| 7d760 | 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 | ...C....a->comp.=.wl_registry_bi |
| 7d780 | 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 | nd(r,.id,.&wl_compositor_interfa |
| 7d7a0 | 63 65 2c 20 34 29 3b 00 00 00 20 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c | ce,.4);......else.if.(!strcmp(i, |
| 7d7c0 | 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 | ."wl_shm"))...;....a->shm.=.wl_r |
| 7d7e0 | 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 | egistry_bind(r,.id,.&wl_shm_inte |
| 7d800 | 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 | rface,.1);...'..else.if.(!strcmp |
| 7d820 | 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e | (i,."xdg_wm_base")).{...?....a-> |
| 7d840 | 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 | wm.=.wl_registry_bind(r,.id,.&xd |
| 7d860 | 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 43 20 20 20 20 | g_wm_base_interface,.1);...C.... |
| 7d880 | 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 73 65 5f | static.const.struct.xdg_wm_base_ |
| 7d8a0 | 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 | listener.l.=.{.ping.=.wm_ping};. |
| 7d8c0 | 00 00 2b 20 20 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 | ..+....xdg_wm_base_add_listener( |
| 7d8e0 | 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | a->wm,.&l,.a);......}....}...... |
| 7d900 | 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 | ..int.main(void).{......struct.a |
| 7d920 | 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 | pp.a.=.{0};......a.w.=.400;..... |
| 7d940 | 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 | .a.h.=.400;......signal(SIGINT,. |
| 7d960 | 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 | on_sig);...!..a.d.=.wl_display_c |
| 7d980 | 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d | onnect(NULL);......if.(!a.d).... |
| 7d9a0 | 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 | ....return.1;...'..a.reg.=.wl_di |
| 7d9c0 | 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 | splay_get_registry(a.d);...G..st |
| 7d9e0 | 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 6c 69 | atic.const.struct.wl_registry_li |
| 7da00 | 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 | stener.rl.=.{.global.=.reg_globa |
| 7da20 | 6c 7d 3b 00 00 00 2b 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 | l};...+..wl_registry_add_listene |
| 7da40 | 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c | r(a.reg,.&rl,.&a);......wl_displ |
| 7da60 | 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 | ay_roundtrip(a.d);...!..if.(!a.c |
| 7da80 | 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 | omp.||.!a.shm.||.!a.wm)........r |
| 7daa0 | 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | eturn.1;......a.ws.=.wl_composit |
| 7dac0 | 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 | or_create_surface(a.comp);...1.. |
| 7dae0 | 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | a.xs.=.xdg_wm_base_get_xdg_surfa |
| 7db00 | 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | ce(a.wm,.a.ws);...G..static.cons |
| 7db20 | 74 20 73 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 73 | t.struct.xdg_surface_listener.xs |
| 7db40 | 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 | l.=.{.configure.=.xs_cfg};...+.. |
| 7db60 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 | xdg_surface_add_listener(a.xs,.& |
| 7db80 | 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 | xsl,.&a);...(..a.xt.=.xdg_surfac |
| 7dba0 | 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 | e_get_toplevel(a.xs);...G..stati |
| 7dbc0 | 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 65 6c 5f 6c 69 73 74 | c.const.struct.xdg_toplevel_list |
| 7dbe0 | 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c | ener.xtl.=.{.configure.=.xt_cfg, |
| 7dc00 | 00 00 00 46 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 | ...F............................ |
| 7dc20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 | ........................close.=. |
| 7dc40 | 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 | xt_close};...,..xdg_toplevel_add |
| 7dc60 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 | _listener(a.xt,.&xtl,.&a);...*.. |
| 7dc80 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c | xdg_toplevel_set_title(a.xt,."wl |
| 7dca0 | 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 | clock");......wl_surface_commit( |
| 7dcc0 | 61 2e 77 73 29 3b 00 00 00 00 00 00 00 17 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 | a.ws);..........while.(!a.config |
| 7dce0 | 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 | ured)........wl_display_dispatch |
| 7dd00 | 28 61 2e 64 29 3b 00 00 00 00 00 00 00 32 20 20 70 75 74 73 28 22 77 61 79 6c 61 6e 64 20 73 75 | (a.d);.......2..puts("wayland.su |
| 7dd20 | 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 22 29 3b | rface.successfully.configured"); |
| 7dd40 | 00 00 00 00 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 | ..........render(&a);...9..int.t |
| 7dd60 | 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f | fd.=.timerfd_create(CLOCK_MONOTO |
| 7dd80 | 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f | NIC,.TFD_CLOEXEC);...F..timerfd_ |
| 7dda0 | 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | settime(tfd,.0,.&(struct.itimers |
| 7ddc0 | 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 | pec){{1,.0},.{1,.0}},.NULL);.... |
| 7dde0 | 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 | ..char.buffer[100];......while.( |
| 7de00 | 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 | running).{...-....while.(wl_disp |
| 7de20 | 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 00 00 00 27 20 | lay_prepare_read(a.d).!=.0)...'. |
| 7de40 | 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 67 | .....wl_display_dispatch_pending |
| 7de60 | 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 | (a.d);........wl_display_flush(a |
| 7de80 | 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d | .d);...M....struct.pollfd.fds[2] |
| 7dea0 | 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c | .=.{{wl_display_get_fd(a.d),.POL |
| 7dec0 | 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 | LIN},.{tfd,.POLLIN}};........if. |
| 7dee0 | 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 00 00 00 22 20 20 20 20 | (poll(fds,.2,.-1).<.0).{...".... |
| 7df00 | 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 | ..wl_display_cancel_read(a.d);.. |
| 7df20 | 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 20 20 20 | ........continue;........}...... |
| 7df40 | 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 | ..if.(fds[0].revents.&.POLLIN).. |
| 7df60 | 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 | ."......wl_display_read_events(a |
| 7df80 | 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 | .d);........else..."......wl_dis |
| 7dfa0 | 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c | play_cancel_read(a.d);...%....wl |
| 7dfc0 | 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 61 2e 64 29 3b 00 | _display_dispatch_pending(a.d);. |
| 7dfe0 | 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c | .."....if.(fds[1].revents.&.POLL |
| 7e000 | 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 | IN).{..........uint64_t.t_exp;.. |
| 7e020 | 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 | .'......read(tfd,.&t_exp,.sizeof |
| 7e040 | 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 | (t_exp));..........time_t.cli.=. |
| 7e060 | 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a | time(NULL);...,......struct.tm.* |
| 7e080 | 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 | t_struct.=.localtime(&cli);...I. |
| 7e0a0 | 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 | .....strftime(buffer,.sizeof(buf |
| 7e0c0 | 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f | fer),."%d-%m-%Y.%I:%M:%S.%p",.t_ |
| 7e0e0 | 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 | struct);...%......printf("\rTime |
| 7e100 | 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 15 20 20 20 20 20 20 66 66 6c 75 73 | .is.%s",.buffer);..........fflus |
| 7e120 | 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 | h(stdout);..........a.redraw.=.t |
| 7e140 | 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 | rue;........}........if.(a.redra |
| 7e160 | 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 | w)..........render(&a);......}.. |
| 7e180 | 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 | ....printf("\n");......close(tfd |
| 7e1a0 | 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 00 00 00 1d 20 20 77 6c | );......destroy_buf(&a);......wl |
| 7e1c0 | 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 | _display_disconnect(a.d);......r |
| 7e1e0 | 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 27 01 00 | eturn.0;....}5...............'.. |
| 7e200 | 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 22 00 00 00 00 00 00 01 00 00 | .....................x"......... |
| 7e220 | 00 00 00 00 00 35 81 5f d0 00 00 00 b2 00 00 00 b4 00 00 00 00 00 00 00 00 00 00 00 b3 00 00 00 | .....5._........................ |
| 7e240 | 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 00 00 00 00 | ................................ |
| 7e260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e3a0 | 00 00 00 00 00 00 00 00 00 00 00 69 9d aa fe 04 01 00 00 00 00 00 f5 18 00 00 00 f7 00 00 00 00 | ...........i.................... |
| 7e3c0 | 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 f8 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ............}................... |
| 7e3e0 | 18 00 00 00 f3 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 69 66 20 28 61 2e 72 | .........................if.(a.r |
| 7e400 | 65 64 72 61 f5 18 00 00 00 f4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e3 00 00 00 00 | edra............................ |
| 7e420 | 00 00 00 00 00 00 00 01 00 00 00 03 20 20 63 f5 18 00 00 00 e4 00 00 00 00 00 00 00 00 00 00 00 | ..............c................. |
| 7e440 | 00 f5 18 00 00 00 d3 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 77 6c 5f 64 69 73 70 | .........................wl_disp |
| 7e460 | 6c 61 79 5f 72 6f 75 6e f5 18 00 00 00 d4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 c4 | lay_roun........................ |
| 7e480 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1b 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 | ..................else.if.(!strc |
| 7e4a0 | 6d 70 28 69 2c 20 22 78 64 67 5f f5 18 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | mp(i,."xdg_..................... |
| 7e4c0 | 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 4d 73 74 61 74 69 63 20 76 6f 69 64 20 72 | ..................Mstatic.void.r |
| 7e4e0 | 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 | eg_global(void.*d,.struct.wl_reg |
| 7e500 | 69 73 74 72 79 20 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 | istry.*r,.uint32_t.id,.const.cha |
| 7e520 | f5 18 00 00 00 c1 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ba 00 00 00 00 00 00 00 00 | ................................ |
| 7e540 | 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 bb 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 | ................................ |
| 7e560 | 00 a8 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 | .............................cx. |
| 7e580 | 2b 20 63 6f 73 28 73 61 2b 30 2e 30 35 29 f5 18 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 00 00 | +.cos(sa+0.05).................. |
| 7e5a0 | f5 18 00 00 00 9b 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 48 20 20 64 6f 75 62 6c 65 20 6d | .....................H..double.m |
| 7e5c0 | 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 | a.=.(tmv.tm_min.+.tmv.tm_sec./.6 |
| 7e5e0 | 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f f5 18 | 0.0)./.60.0.*.2.*.M_PI.-.M_PI_.. |
| 7e600 | 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 91 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e620 | 00 01 00 00 00 03 20 20 66 f5 18 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | ........f....................... |
| 7e640 | 7d 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 36 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 | }...............6......for.(int. |
| 7e660 | 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 | x.=.x_start;.x.<=.x_end;.x++).px |
| 7e680 | 5b 79 20 2a 20 77 20 f5 18 00 00 00 7e 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 70 00 | [y.*.w......~.................p. |
| 7e6a0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1e 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d | ...................int.x_start.= |
| 7e6c0 | 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 f5 18 00 00 00 71 00 00 00 00 00 00 00 00 00 00 00 00 f5 | .w,.x_end.=.0.....q............. |
| 7e6e0 | 18 00 00 00 54 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 61 2d 3e 70 69 78 65 6c f5 | ....T..................a->pixel. |
| 7e700 | 18 00 00 00 55 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 29 00 00 00 00 00 00 00 00 00 | ....U.................)......... |
| 7e720 | 00 00 01 00 00 00 1e 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 | .......static.volatile.sig_atomi |
| 7e740 | 63 5f 74 20 72 f5 18 00 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 1e 00 00 00 | c_t.r.....*..................... |
| 7e760 | 00 00 00 00 00 00 00 00 01 00 00 00 27 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 4d 20 | ............'#define.HAND_LEN_M. |
| 7e780 | 20 20 20 30 2e 38 30 20 20 20 20 20 20 20 20 2f 2a 20 4d 69 f5 18 00 00 00 1f 00 00 00 00 00 00 | ...0.80......../*.Mi............ |
| 7e7a0 | 00 00 00 00 00 00 f5 18 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 11 23 64 65 66 | ............................#def |
| 7e7c0 | 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f 55 f5 18 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 f5 | ine.COLOR_HOU................... |
| 7e7e0 | 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 00 00 00 | ................................ |
| 7e800 | 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 00 00 14 | .......5........................ |
| 7e820 | 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 | ................................ |
| 7e840 | 18 00 00 00 00 14 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 27 00 00 00 00 02 00 | .........................'...... |
| 7e860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 1e 00 00 00 27 | ...............................' |
| 7e880 | 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 1e 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7e8a0 | 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 29 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 | .................).............. |
| 7e8c0 | 00 2b 00 00 00 0a 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 | .+.............................. |
| 7e8e0 | 00 f5 18 00 00 00 00 54 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 1c 00 00 00 1e 00 00 00 00 | .......T........................ |
| 7e900 | 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 70 00 00 | .............................p.. |
| 7e920 | 00 1e 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 36 00 00 00 00 0e 00 00 00 00 00 00 00 00 00 | .................6.............. |
| 7e940 | 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 7d 00 00 00 36 00 00 00 00 00 00 00 00 | ...................}...6........ |
| 7e960 | 00 00 00 14 00 00 00 03 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | ................................ |
| 7e980 | 00 00 00 f5 18 00 00 00 00 91 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 48 00 00 | .............................H.. |
| 7e9a0 | 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 9b | ................................ |
| 7e9c0 | 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 1c 00 00 00 00 14 00 00 00 00 00 00 00 | ...H............................ |
| 7e9e0 | 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 a8 00 00 00 1c 00 00 00 00 00 00 | ................................ |
| 7ea00 | 00 00 00 00 00 12 00 00 00 02 00 00 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 | ................................ |
| 7ea20 | 00 00 00 00 00 f5 18 00 00 00 00 ba 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 4d | ...............................M |
| 7ea40 | 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 7ea60 | 00 c0 00 00 00 4d 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1b 00 00 00 00 1b 00 00 00 00 00 | .....M.......................... |
| 7ea80 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 c4 00 00 00 1b 00 00 00 00 | ................................ |
| 7eaa0 | 00 00 00 00 00 00 00 0f 00 00 00 11 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7eac0 | 02 00 00 00 00 00 00 f5 18 00 00 00 00 d3 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 10 00 00 | ................................ |
| 7eae0 | 00 03 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 | ................................ |
| 7eb00 | 00 00 00 e3 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 0f 00 00 00 00 21 00 00 00 | ............................!... |
| 7eb20 | 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 f5 18 00 00 00 00 f3 00 00 00 0f 00 00 | ................................ |
| 7eb40 | 00 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..................$............. |
| 7eb60 | 00 69 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 b3 00 00 00 b5 00 00 00 00 00 00 00 00 00 00 00 | .i.......5._.................... |
| 7eb80 | b4 00 00 00 f8 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 | ................................ |
| 7eba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ebc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ebe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ec80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7eca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ecc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 7ece0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d aa ff 04 01 00 00 00 3e 00 f5 18 00 00 00 12 | ...............i........>....... |
| 7ed00 | 00 00 01 41 00 00 00 f8 00 00 00 e4 00 00 00 35 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 42 47 | ...A...........5#define.COLOR_BG |
| 7ed20 | 20 20 20 20 20 20 30 78 46 46 31 41 31 41 31 41 20 20 2f 2a 20 44 61 72 6b 20 43 68 61 72 63 6f | ......0xFF1A1A1A../*.Dark.Charco |
| 7ed40 | 61 6c 20 2a 2f 00 00 00 33 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 44 49 41 4c 20 20 20 20 30 | al.*/...3#define.COLOR_DIAL....0 |
| 7ed60 | 78 46 46 46 46 46 46 46 46 20 20 2f 2a 20 57 68 69 74 65 20 54 69 63 6b 73 20 2a 2f 00 00 00 31 | xFFFFFFFF../*.White.Ticks.*/...1 |
| 7ed80 | 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f 55 52 20 20 20 20 30 78 46 46 45 45 45 45 45 45 | #define.COLOR_HOUR....0xFFEEEEEE |
| 7eda0 | 20 20 2f 2a 20 4f 66 66 2d 77 68 69 74 65 20 2a 2f 00 00 00 32 23 64 65 66 69 6e 65 20 43 4f 4c | ../*.Off-white.*/...2#define.COL |
| 7edc0 | 4f 52 5f 4d 49 4e 20 20 20 20 20 30 78 46 46 43 43 43 43 43 43 20 20 2f 2a 20 4c 69 67 68 74 20 | OR_MIN.....0xFFCCCCCC../*.Light. |
| 7ede0 | 47 72 65 79 20 2a 2f 00 00 00 32 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 53 45 43 20 20 20 20 | Grey.*/...2#define.COLOR_SEC.... |
| 7ee00 | 20 30 78 46 46 46 46 30 30 30 30 20 20 2f 2a 20 42 72 69 67 68 74 20 52 65 64 20 2a 2f 00 00 00 | .0xFFFF0000../*.Bright.Red.*/... |
| 7ee20 | 34 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 55 42 20 20 20 20 20 30 78 46 46 34 34 34 34 34 | 4#define.COLOR_HUB.....0xFF44444 |
| 7ee40 | 34 20 20 2f 2a 20 48 75 62 20 43 61 70 20 47 72 65 79 20 2a 2f 00 00 00 00 00 00 00 42 23 64 65 | 4../*.Hub.Cap.Grey.*/.......B#de |
| 7ee60 | 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 20 20 30 2e 30 35 20 20 20 20 20 20 20 20 2f | fine.HAND_THICK_H..0.05......../ |
| 7ee80 | 2a 20 48 6f 75 72 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 | *.Hour.hand.thickness.factor.*/. |
| 7eea0 | 00 00 44 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 20 20 30 2e 30 33 35 20 20 | ..D#define.HAND_THICK_M..0.035.. |
| 7eec0 | 20 20 20 20 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 | ...../*.Minute.hand.thickness.fa |
| 7eee0 | 63 74 6f 72 20 2a 2f 00 00 00 44 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 20 | ctor.*/...D#define.HAND_THICK_S. |
| 7ef00 | 20 30 2e 30 34 20 20 20 20 20 20 20 20 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 74 68 69 63 | .0.04......../*.Second.hand.thic |
| 7ef20 | 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 00 00 00 00 4d 23 64 65 66 69 6e 65 20 48 | kness.factor.*/.......M#define.H |
| 7ef40 | 41 4e 44 5f 4c 45 4e 5f 48 20 20 20 20 30 2e 35 35 20 20 20 20 20 20 20 20 2f 2a 20 48 6f 75 72 | AND_LEN_H....0.55......../*.Hour |
| 7ef60 | 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 28 66 72 61 63 74 69 6f 6e 20 6f 66 20 72 61 64 69 75 73 | .hand.length.(fraction.of.radius |
| 7ef80 | 29 20 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 4d 20 20 20 20 30 2e | ).*/...:#define.HAND_LEN_M....0. |
| 7efa0 | 38 30 20 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 | 80......../*.Minute.hand.length. |
| 7efc0 | 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 53 20 20 20 20 30 2e 38 30 | */...:#define.HAND_LEN_S....0.80 |
| 7efe0 | 20 20 20 20 20 20 20 20 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f | ......../*.Second.hand.length.*/ |
| 7f000 | 00 00 00 1c 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f | ..../*.----------------------.*/ |
| 7f020 | 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 | ........#ifndef.M_PI...##define. |
| 7f040 | 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 | M_PI.3.14159265358979323846....# |
| 7f060 | 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 | endif....#ifndef.M_PI_2...%#defi |
| 7f080 | 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 | ne.M_PI_2.1.57079632679489661923 |
| 7f0a0 | 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c | ....#endif.......)static.volatil |
| 7f0c0 | 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 | e.sig_atomic_t.running.=.1;...3s |
| 7f0e0 | 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 | tatic.void.on_sig(int.s).{.(void |
| 7f100 | 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 | )s;.running.=.0;.}........struct |
| 7f120 | 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 | .app.{......struct.wl_display.*d |
| 7f140 | 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 | ;......struct.wl_registry.*reg;. |
| 7f160 | 00 00 1d 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 3b | .....struct.wl_compositor.*comp; |
| 7f180 | 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 | ......struct.wl_shm.*shm;......s |
| 7f1a0 | 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 | truct.xdg_wm_base.*wm;......stru |
| 7f1c0 | 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 | ct.wl_surface.*ws;......struct.x |
| 7f1e0 | 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f | dg_surface.*xs;......struct.xdg_ |
| 7f200 | 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b | toplevel.*xt;......void.*pixels; |
| 7f220 | 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b | ......struct.wl_buffer.*buf;.... |
| 7f240 | 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 | ..int.w,.h;......int.bw,.bh;.... |
| 7f260 | 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 | ..bool.configured;......bool.red |
| 7f280 | 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 6a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d | raw;....};.......jstatic.void.wm |
| 7f2a0 | 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 78 64 67 5f 77 6d 5f | _ping(void.*data,.struct.xdg_wm_ |
| 7f2c0 | 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 20 78 64 67 | base.*wm,.uint32_t.serial).{.xdg |
| 7f2e0 | 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 20 7d 00 00 00 00 | _wm_base_pong(wm,.serial);.}.... |
| 7f300 | 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 | ...$static.int.create_shm(size_t |
| 7f320 | 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 | .size).{...#..char.t[].=."/tmp/w |
| 7f340 | 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b | lclock-XXXXXX";......int.fd.=.mk |
| 7f360 | 73 74 65 6d 70 28 74 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 | stemp(t);......if.(fd.<.0).exit( |
| 7f380 | 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 | 1);......unlink(t);...'..if.(ftr |
| 7f3a0 | 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 | uncate(fd,.size).<.0).exit(1);.. |
| 7f3c0 | 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 | ....return.fd;....}.......(stati |
| 7f3e0 | 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 | c.void.destroy_buf(struct.app.*a |
| 7f400 | 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 72 65 74 75 72 6e 3b 00 00 00 | ).{......if.(!a->buf).return;... |
| 7f420 | 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a | *..size_t.size.=.(size_t)a->bw.* |
| 7f440 | 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 | .a->bh.*.4;......wl_buffer_destr |
| 7f460 | 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c | oy(a->buf);......munmap(a->pixel |
| 7f480 | 73 2c 20 73 69 7a 65 29 3b 00 00 00 22 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 20 61 2d | s,.size);..."..a->buf.=.NULL;.a- |
| 7f4a0 | 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 | >pixels.=.NULL;....}.......&stat |
| 7f4c0 | 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 | ic.void.alloc_buf(struct.app.*a) |
| 7f4e0 | 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a | .{......destroy_buf(a);...(..siz |
| 7f500 | 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a | e_t.size.=.(size_t)a->w.*.a->h.* |
| 7f520 | 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a | .4;......int.fd.=.create_shm(siz |
| 7f540 | 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 | e);...J..a->pixels.=.mmap(NULL,. |
| 7f560 | 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 | size,.PROT_READ.|.PROT_WRITE,.MA |
| 7f580 | 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 27 20 20 69 66 20 28 61 2d 3e 70 69 | P_SHARED,.fd,.0);...'..if.(a->pi |
| 7f5a0 | 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 65 78 69 74 28 31 29 3b 00 00 00 42 | xels.==.MAP_FAILED).exit(1);...B |
| 7f5c0 | 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f | ..struct.wl_shm_pool.*pool.=.wl_ |
| 7f5e0 | 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 | shm_create_pool(a->shm,.fd,.size |
| 7f600 | 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 | );...\..a->buf.=.wl_shm_pool_cre |
| 7f620 | 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ate_buffer(pool,.0,.a->w,.a->h,. |
| 7f640 | 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 | a->w.*.4,.WL_SHM_FORMAT_ARGB8888 |
| 7f660 | 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c | );......wl_shm_pool_destroy(pool |
| 7f680 | 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1d 20 20 61 2d 3e 62 77 20 3d 20 | );......close(fd);......a->bw.=. |
| 7f6a0 | 61 2d 3e 77 3b 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 | a->w;.a->bh.=.a->h;....}.......S |
| 7f6c0 | 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c | static.void.circle(uint32_t.*px, |
| 7f6e0 | 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 | .int.w,.int.h,.int.cx,.int.cy,.i |
| 7f700 | 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d | nt.r,.uint32_t.c).{..."..int.x.= |
| 7f720 | 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 | .0,.y.=.r,.d.=.3.-.2.*.r;......w |
| 7f740 | 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b | hile.(y.>=.x).{...H....int.p[8][ |
| 7f760 | 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c | 2].=.{{cx.+.x,.cy.+.y},.{cx.-.x, |
| 7f780 | 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 | .cy.+.y},.{cx.+.x,.cy.-.y},...H. |
| 7f7a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 | ..................{cx.-.x,.cy.-. |
| 7f7c0 | 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 | y},.{cx.+.y,.cy.+.x},.{cx.-.y,.c |
| 7f7e0 | 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 | y.+.x},...7...................{c |
| 7f800 | 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d | x.+.y,.cy.-.x},.{cx.-.y,.cy.-.x} |
| 7f820 | 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b | };........for.(int.i.=.0;.i.<.8; |
| 7f840 | 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 | .i++)...E......if.(p[i][0].>=.0. |
| 7f860 | 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 | &&.p[i][0].<.w.&&.p[i][1].>=.0.& |
| 7f880 | 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 | &.p[i][1].<.h)...&........px[p[i |
| 7f8a0 | 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 | ][1].*.w.+.p[i][0]].=.c;...C.... |
| 7f8c0 | 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 | if.(d.>.0).{.d.+=.4.*.(x.-.y).+. |
| 7f8e0 | 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 | 10;.y--;.}.else.d.+=.4.*.x.+.6;. |
| 7f900 | 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 | .......x++;......}....}.......ns |
| 7f920 | 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 | tatic.void.fill_tri(uint32_t.*px |
| 7f940 | 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 | ,.int.w,.int.h,.int.x0,.int.y0,. |
| 7f960 | 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 | int.x1,.int.y1,.int.x2,.int.y2,. |
| 7f980 | 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 | uint32_t.c).{...B..int.min_y.=.y |
| 7f9a0 | 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 | 0.<.y1.?.(y0.<.y2.?.y0.:.y2).:.( |
| 7f9c0 | 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 | y1.<.y2.?.y1.:.y2);...B..int.max |
| 7f9e0 | 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 | _y.=.y0.>.y1.?.(y0.>.y2.?.y0.:.y |
| 7fa00 | 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 3a 20 20 69 | 2).:.(y1.>.y2.?.y1.:.y2);...:..i |
| 7fa20 | 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b 20 69 66 20 28 6d 61 78 | f.(min_y.<.0).min_y.=.0;.if.(max |
| 7fa40 | 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 | _y.>=.h).max_y.=.h.-.1;...(..for |
| 7fa60 | 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b | .(int.y.=.min_y;.y.<=.max_y;.y++ |
| 7fa80 | 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e | ).{........int.x_start.=.w,.x_en |
| 7faa0 | 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 | d.=.0;...3....int.xs[3].=.{x0,.x |
| 7fac0 | 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 | 1,.x2},.ys[3].=.{y0,.y1,.y2};... |
| 7fae0 | 15 20 20 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f | .....bool.hit.=.false;...!....fo |
| 7fb00 | 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 | r.(int.i.=.0;.i.<.3;.i++).{..... |
| 7fb20 | 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 | .....int.j.=.(i.+.1).%.3;...C... |
| 7fb40 | 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 | ...if.((ys[i].<=.y.&&.ys[j].>.y) |
| 7fb60 | 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b | .||.(ys[j].<=.y.&&.ys[i].>.y)).{ |
| 7fb80 | 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d | ...H........int.x.=.xs[i].+.(y.- |
| 7fba0 | 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b | .ys[i]).*.(xs[j].-.xs[i])./.(ys[ |
| 7fbc0 | 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 | j].-.ys[i]);...?........if.(x.<. |
| 7fbe0 | 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 20 69 66 20 28 78 20 3e 20 78 5f | x_start).x_start.=.x;.if.(x.>.x_ |
| 7fc00 | 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 20 3d | end).x_end.=.x;............hit.= |
| 7fc20 | 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 | .true;..........}........}...... |
| 7fc40 | 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 42 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 | ..if.(hit).{...B......if.(x_star |
| 7fc60 | 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d | t.<.0).x_start.=.0;.if.(x_end.>= |
| 7fc80 | 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3f 20 20 20 20 20 20 66 6f 72 20 | .w).x_end.=.w.-.1;...?......for. |
| 7fca0 | 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b | (int.x.=.x_start;.x.<=.x_end;.x+ |
| 7fcc0 | 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 | +).px[y.*.w.+.x].=.c;........}.. |
| 7fce0 | 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 | ....}....}.......#static.void.re |
| 7fd00 | 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 37 20 20 69 66 20 28 21 | nder(struct.app.*a).{...7..if.(! |
| 7fd20 | 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d | a->configured.||.a->w.<=.0.||.a- |
| 7fd40 | 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 62 75 | >h.<=.0).return;......if.(!a->bu |
| 7fd60 | 66 29 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a | f).alloc_buf(a);......uint32_t.* |
| 7fd80 | 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 45 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 | px.=.a->pixels;...E..memset(px,. |
| 7fda0 | 28 43 4f 4c 4f 52 5f 42 47 20 3e 3e 20 31 36 29 20 26 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 | (COLOR_BG.>>.16).&.0xFF,.a->w.*. |
| 7fdc0 | 61 2d 3e 68 20 2a 20 34 29 3b 20 2f 2f 20 42 61 73 69 63 20 66 69 6c 6c 00 00 00 4b 20 20 66 6f | a->h.*.4);.//.Basic.fill...K..fo |
| 7fde0 | 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 61 2d 3e 77 2a 61 2d 3e 68 3b 20 69 2b 2b 29 20 70 78 5b | r(int.i=0;.i<a->w*a->h;.i++).px[ |
| 7fe00 | 69 5d 20 3d 20 43 4f 4c 4f 52 5f 42 47 3b 20 20 20 20 20 20 2f 2f 20 46 75 6c 6c 20 33 32 2d 62 | i].=.COLOR_BG;......//.Full.32-b |
| 7fe20 | 69 74 20 66 69 6c 6c 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d | it.fill..........time_t.tt.=.tim |
| 7fe40 | 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 | e(NULL);......struct.tm.tmv;.... |
| 7fe60 | 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 | ..localtime_r(&tt,.&tmv);...#..i |
| 7fe80 | 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b | nt.cx.=.a->w./.2,.cy.=.a->h./.2; |
| 7fea0 | 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e | .../..int.r.=.(a->w.<.a->h.?.a-> |
| 7fec0 | 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c | w.:.a->h)./.2.-.10;......if.(r.< |
| 7fee0 | 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 0f 20 20 2f 2f 20 44 69 61 6c 20 54 69 63 6b | .5).r.=.5;..........//.Dial.Tick |
| 7ff00 | 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 | s......for.(int.i.=.0;.i.<.60;.i |
| 7ff20 | 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 | ++).{........double.ang.=.i./.60 |
| 7ff40 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 | .0.*.2.*.M_PI.-.M_PI_2;...1....i |
| 7ff60 | 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 | nt.len.=.(i.%.5.==.0).?.r.*.0.12 |
| 7ff80 | 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 | .:.r.*.0.04;...0....double.t_ang |
| 7ffa0 | 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b | .=.(i.%.5.==.0).?.0.012.:.0.005; |
| 7ffc0 | 00 00 00 4a 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | ...J....fill_tri(px,.a->w,.a->h, |
| 7ffe0 | 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e | .cx.+.cos(ang-t_ang)*r,.cy.+.sin |
| 80000 | 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | (ang-t_ang)*r,...:.............c |
| 80020 | 78 20 2b 20 63 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 | x.+.cos(ang+t_ang)*r,.cy.+.sin(a |
| 80040 | 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 | ng+t_ang)*r,...G.............cx. |
| 80060 | 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 | +.cos(ang)*(r-len),.cy.+.sin(ang |
| 80080 | 29 2a 28 72 2d 6c 65 6e 29 2c 20 43 4f 4c 4f 52 5f 44 49 41 4c 29 3b 00 00 00 03 20 20 7d 00 00 | )*(r-len),.COLOR_DIAL);......}.. |
| 800a0 | 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f | .....4..double.sa.=.tmv.tm_sec./ |
| 800c0 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...J.. |
| 800e0 | 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d | double.ma.=.(tmv.tm_min.+.tmv.tm |
| 80100 | 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | _sec./.60.0)./.60.0.*.2.*.M_PI.- |
| 80120 | 20 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e | .M_PI_2;...T..double.ha.=.((tmv. |
| 80140 | 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 | tm_hour.%.12).+.(tmv.tm_min./.60 |
| 80160 | 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b | .0))./.12.0.*.2.*.M_PI.-.M_PI_2; |
| 80180 | 00 00 00 00 00 00 00 0e 20 20 2f 2f 20 48 6f 75 72 20 48 61 6e 64 00 00 00 5f 20 20 66 69 6c 6c | ..........//.Hour.Hand..._..fill |
| 801a0 | 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 | _tri(px,.a->w,.a->h,.cx.+.cos(ha |
| 801c0 | 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 | -0.12)*r*HAND_THICK_H,.cy.+.sin( |
| 801e0 | 68 61 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 00 00 00 4f 20 20 20 | ha-0.12)*r*HAND_THICK_H,....O... |
| 80200 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 32 29 2a 72 2a 48 41 4e 44 | ........cx.+.cos(ha+0.12)*r*HAND |
| 80220 | 5f 54 48 49 43 4b 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 2a 72 2a 48 41 | _THICK_H,.cy.+.sin(ha+0.12)*r*HA |
| 80240 | 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 | ND_THICK_H,....M...........cx.+. |
| 80260 | 63 6f 73 28 68 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 | cos(ha)*r*HAND_LEN_H,.cy.+.sin(h |
| 80280 | 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 43 4f 4c 4f 52 5f 48 4f 55 52 29 3b 00 00 00 | a)*r*HAND_LEN_H,.COLOR_HOUR);... |
| 802a0 | 10 20 20 2f 2f 20 4d 69 6e 75 74 65 20 48 61 6e 64 00 00 00 5f 20 20 66 69 6c 6c 5f 74 72 69 28 | ...//.Minute.Hand..._..fill_tri( |
| 802c0 | 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 | px,.a->w,.a->h,.cx.+.cos(ma-0.08 |
| 802e0 | 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e | )*r*HAND_THICK_M,.cy.+.sin(ma-0. |
| 80300 | 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 00 00 00 4f 20 20 20 20 20 20 20 20 | 08)*r*HAND_THICK_M,....O........ |
| 80320 | 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 | ...cx.+.cos(ma+0.08)*r*HAND_THIC |
| 80340 | 4b 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 | K_M,.cy.+.sin(ma+0.08)*r*HAND_TH |
| 80360 | 49 43 4b 5f 4d 2c 20 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d | ICK_M,....L...........cx.+.cos(m |
| 80380 | 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a | a)*r*HAND_LEN_M,.cy.+.sin(ma)*r* |
| 803a0 | 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 20 43 4f 4c 4f 52 5f 4d 49 4e 29 3b 00 00 00 10 20 20 2f 2f 20 | HAND_LEN_M,.COLOR_MIN);......//. |
| 803c0 | 53 65 63 6f 6e 64 20 48 61 6e 64 00 00 00 5e 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d | Second.Hand...^..fill_tri(px,.a- |
| 803e0 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 30 2e 30 35 29 2a 72 2a 48 41 | >w,.a->h,.cx.+.cos(sa-0.05)*r*HA |
| 80400 | 4e 44 5f 54 48 49 43 4b 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2d 30 2e 30 35 29 2a 72 2a | ND_THICK_S,.cy.+.sin(sa-0.05)*r* |
| 80420 | 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | HAND_THICK_S,...N...........cx.+ |
| 80440 | 20 63 6f 73 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 20 63 79 | .cos(sa+0.05)*r*HAND_THICK_S,.cy |
| 80460 | 20 2b 20 73 69 6e 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 | .+.sin(sa+0.05)*r*HAND_THICK_S,. |
| 80480 | 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 48 41 4e | ..L...........cx.+.cos(sa)*r*HAN |
| 804a0 | 44 5f 4c 45 4e 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e | D_LEN_S,.cy.+.sin(sa)*r*HAND_LEN |
| 804c0 | 5f 53 2c 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 00 00 00 00 31 20 20 69 6e 74 20 68 75 62 | _S,.COLOR_SEC);.......1..int.hub |
| 804e0 | 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 20 68 75 | _r.=.r.*.0.04;.if.(hub_r.<.4).hu |
| 80500 | 62 5f 72 20 3d 20 34 3b 00 00 00 56 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 | b_r.=.4;...V..for.(int.ir.=.0;.i |
| 80520 | 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 | r.<.hub_r.-.2;.ir++).circle(px,. |
| 80540 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 43 4f 4c 4f 52 5f 42 47 | a->w,.a->h,.cx,.cy,.ir,.COLOR_BG |
| 80560 | 29 3b 00 00 00 33 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 | );...3..circle(px,.a->w,.a->h,.c |
| 80580 | 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 00 00 00 00 | x,.cy,.hub_r,.COLOR_HUB);....... |
| 805a0 | 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 | )..wl_surface_attach(a->ws,.a->b |
| 805c0 | 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 | uf,.0,.0);...4..wl_surface_damag |
| 805e0 | 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | e_buffer(a->ws,.0,.0,.a->w,.a->h |
| 80600 | 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 | );......wl_surface_commit(a->ws) |
| 80620 | 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 | ;......a->redraw.=.false;....}.. |
| 80640 | 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 | .....Gstatic.void.xt_close(void. |
| 80660 | 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 | *d,.struct.xdg_toplevel.*xt).{.r |
| 80680 | 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | unning.=.0;.}...`static.void.xt_ |
| 806a0 | 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | cfg(void.*d,.struct.xdg_toplevel |
| 806c0 | 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 | .*xt,.int32_t.w,.int32_t.h,.stru |
| 806e0 | 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 | ct.wl_array.*s).{......struct.ap |
| 80700 | 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 | p.*a.=.d;...3..if.(w.>.0.&&.h.>. |
| 80720 | 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b | 0.&&.(w.!=.a->w.||.h.!=.a->h)).{ |
| 80740 | 00 00 00 39 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 20 64 65 73 74 | ...9....a->w.=.w;.a->h.=.h;.dest |
| 80760 | 72 6f 79 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 | roy_buf(a);.a->redraw.=.true;... |
| 80780 | 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 | ...}....}...Fstatic.void.xs_cfg( |
| 807a0 | 76 6f 69 64 20 2a 64 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 | void.*d,.struct.xdg_surface.*xs, |
| 807c0 | 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 3b 20 20 73 74 72 75 63 74 20 | .uint32_t.serial).{...;..struct. |
| 807e0 | 61 70 70 20 2a 61 20 3d 20 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 | app.*a.=.d;.xdg_surface_ack_conf |
| 80800 | 69 67 75 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 29 20 20 61 2d 3e 63 6f 6e 66 69 | igure(xs,.serial);...)..a->confi |
| 80820 | 67 75 72 65 64 20 3d 20 74 72 75 65 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 | gured.=.true;.a->redraw.=.true;. |
| 80840 | 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 | ...}...`static.void.reg_global(v |
| 80860 | 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 2c 20 75 | oid.*d,.struct.wl_registry.*r,.u |
| 80880 | 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 | int32_t.id,.const.char.*i,.uint3 |
| 808a0 | 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b | 2_t.v).{......struct.app.*a.=.d; |
| 808c0 | 00 00 00 62 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 | ...b..if.(!strcmp(i,."wl_composi |
| 808e0 | 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | tor")).a->comp.=.wl_registry_bin |
| 80900 | 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 65 72 66 61 63 | d(r,.id,.&wl_compositor_interfac |
| 80920 | 65 2c 20 34 29 3b 00 00 00 58 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 | e,.4);...X..else.if.(!strcmp(i,. |
| 80940 | 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f | "wl_shm")).a->shm.=.wl_registry_ |
| 80960 | 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 | bind(r,.id,.&wl_shm_interface,.1 |
| 80980 | 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 | );...'..else.if.(!strcmp(i,."xdg |
| 809a0 | 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f | _wm_base")).{...?....a->wm.=.wl_ |
| 809c0 | 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 | registry_bind(r,.id,.&xdg_wm_bas |
| 809e0 | 65 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 | e_interface,.1);...C....static.c |
| 80a00 | 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 | onst.struct.xdg_wm_base_listener |
| 80a20 | 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 | .l.=.{.ping.=.wm_ping};...+....x |
| 80a40 | 64 67 5f 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 | dg_wm_base_add_listener(a->wm,.& |
| 80a60 | 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 | l,.a);......}....}........int.ma |
| 80a80 | 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b | in(void).{...+..struct.app.a.=.{ |
| 80aa0 | 30 7d 3b 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 | 0};.a.w.=.400;.a.h.=.400;......s |
| 80ac0 | 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 | ignal(SIGINT,.on_sig);...!..a.d. |
| 80ae0 | 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 00 15 20 | =.wl_display_connect(NULL);..... |
| 80b00 | 20 69 66 20 28 21 61 2e 64 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 | .if.(!a.d).return.1;...'..a.reg. |
| 80b20 | 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 61 2e 64 29 3b 00 | =.wl_display_get_registry(a.d);. |
| 80b40 | 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 | ..G..static.const.struct.wl_regi |
| 80b60 | 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 | stry_listener.rl.=.{.global.=.re |
| 80b80 | 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f | g_global};...+..wl_registry_add_ |
| 80ba0 | 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 | listener(a.reg,.&rl,.&a);......w |
| 80bc0 | 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 2b 20 20 69 | l_display_roundtrip(a.d);...+..i |
| 80be0 | 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 20 72 | f.(!a.comp.||.!a.shm.||.!a.wm).r |
| 80c00 | 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 | eturn.1;......a.ws.=.wl_composit |
| 80c20 | 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 | or_create_surface(a.comp);...1.. |
| 80c40 | 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 | a.xs.=.xdg_wm_base_get_xdg_surfa |
| 80c60 | 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | ce(a.wm,.a.ws);...G..static.cons |
| 80c80 | 74 20 73 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 73 | t.struct.xdg_surface_listener.xs |
| 80ca0 | 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 | l.=.{.configure.=.xs_cfg};...+.. |
| 80cc0 | 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 | xdg_surface_add_listener(a.xs,.& |
| 80ce0 | 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 | xsl,.&a);...(..a.xt.=.xdg_surfac |
| 80d00 | 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 5b 20 20 73 74 61 74 69 | e_get_toplevel(a.xs);...[..stati |
| 80d20 | 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 65 6c 5f 6c 69 73 74 | c.const.struct.xdg_toplevel_list |
| 80d40 | 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c | ener.xtl.=.{.configure.=.xt_cfg, |
| 80d60 | 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f | ..close.=.xt_close};...,..xdg_to |
| 80d80 | 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 | plevel_add_listener(a.xt,.&xtl,. |
| 80da0 | 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f 74 69 74 6c 65 | &a);...*..xdg_toplevel_set_title |
| 80dc0 | 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 | (a.xt,."wlclock");......wl_surfa |
| 80de0 | 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 31 20 20 77 68 69 6c 65 20 28 21 61 2e | ce_commit(a.ws);...1..while.(!a. |
| 80e00 | 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 | configured).wl_display_dispatch( |
| 80e20 | 61 2e 64 29 3b 00 00 00 36 20 20 70 72 69 6e 74 66 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 | a.d);...6..printf("Wayland.surfa |
| 80e40 | 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 00 | ce.successfully.configured\n");. |
| 80e60 | 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 | .....render(&a);...9..int.tfd.=. |
| 80e80 | 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 | timerfd_create(CLOCK_MONOTONIC,. |
| 80ea0 | 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 | TFD_CLOEXEC);...F..timerfd_setti |
| 80ec0 | 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b | me(tfd,.0,.&(struct.itimerspec){ |
| 80ee0 | 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 | {1,.0},.{1,.0}},.NULL);......cha |
| 80f00 | 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 | r.buffer[100];......while.(runni |
| 80f20 | 6e 67 29 20 7b 00 00 00 4f 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 | ng).{...O....while.(wl_display_p |
| 80f40 | 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 69 73 70 6c 61 | repare_read(a.d).!=.0).wl_displa |
| 80f60 | 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 | y_dispatch_pending(a.d);........ |
| 80f80 | 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 | wl_display_flush(a.d);...M....st |
| 80fa0 | 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 | ruct.pollfd.fds[2].=.{{wl_displa |
| 80fc0 | 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f | y_get_fd(a.d),.POLLIN},.{tfd,.PO |
| 80fe0 | 4c 4c 49 4e 7d 7d 3b 00 00 00 48 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 | LLIN}};...H....if.(poll(fds,.2,. |
| 81000 | 2d 31 29 20 3c 20 30 29 20 7b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 | -1).<.0).{.wl_display_cancel_rea |
| 81020 | 64 28 61 2e 64 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 00 00 00 5f 20 20 20 20 69 66 20 28 66 | d(a.d);.continue;.}..._....if.(f |
| 81040 | 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c | ds[0].revents.&.POLLIN).wl_displ |
| 81060 | 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 20 65 6c 73 65 20 77 6c 5f 64 69 73 | ay_read_events(a.d);.else.wl_dis |
| 81080 | 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 20 20 20 77 6c | play_cancel_read(a.d);...%....wl |
| 810a0 | 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 61 2e 64 29 3b 00 | _display_dispatch_pending(a.d);. |
| 810c0 | 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c | .."....if.(fds[1].revents.&.POLL |
| 810e0 | 49 4e 29 20 7b 00 00 00 37 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 20 72 | IN).{...7......uint64_t.t_exp;.r |
| 81100 | 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b | ead(tfd,.&t_exp,.sizeof(t_exp)); |
| 81120 | 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c | ..........time_t.cli.=.time(NULL |
| 81140 | 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 | );...,......struct.tm.*t_struct. |
| 81160 | 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 | =.localtime(&cli);...I......strf |
| 81180 | 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 | time(buffer,.sizeof(buffer),."%d |
| 811a0 | 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 | -%m-%Y.%I:%M:%S.%p",.t_struct);. |
| 811c0 | 00 00 35 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 | ..5......printf("\rTime.is.%s",. |
| 811e0 | 62 75 66 66 65 72 29 3b 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 | buffer);.fflush(stdout);........ |
| 81200 | 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 1d 20 | ..a.redraw.=.true;........}..... |
| 81220 | 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 03 | ...if.(a.redraw).render(&a);.... |
| 81240 | 20 20 7d 00 00 00 48 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 20 63 6c 6f 73 65 28 74 66 64 | ..}...H..printf("\n");.close(tfd |
| 81260 | 29 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 | );.destroy_buf(&a);.wl_display_d |
| 81280 | 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 35 81 f5 18 00 00 00 00 12 00 00 00 11 00 00 00 e3 | isconnect(a.d);5................ |
| 812a0 | 00 00 00 2c 00 00 00 2d 01 00 00 01 00 00 00 96 01 00 00 00 00 00 00 a9 22 00 00 00 00 00 00 e8 | ...,...-................"....... |
| 812c0 | 24 00 00 00 00 00 00 35 81 5f d0 00 00 00 b4 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 b5 00 | $......5._...................... |
| 812e0 | 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 00 00 00 00 00 00 00 | ................................ |
| 81300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 813a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 813c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 813e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 81440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d ab 7e 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 | .............i..~............... |
| 81460 | 00 02 00 00 00 00 00 00 01 42 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 | .........B....#define._POSIX_C_S |
| 81480 | 4f 55 52 43 45 20 32 30 30 38 30 39 4c 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 | OURCE.200809L...&#include."xdg-s |
| 814a0 | 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 12 23 69 6e 63 6c | hell-client-protocol.h"....#incl |
| 814c0 | 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e | ude.<fcntl.h>....#include.<math. |
| 814e0 | 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c | h>....#include.<poll.h>....#incl |
| 81500 | 75 64 65 20 3c 73 69 67 6e 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 | ude.<signal.h>....#include.<stdb |
| 81520 | 6f 6f 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 | ool.h>....#include.<stdint.h>... |
| 81540 | 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 75 64 65 20 | .#include.<stdio.h>....#include. |
| 81560 | 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 |
| 81580 | 3e 00 00 00 15 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 | >....#include.<sys/mman.h>....#i |
| 815a0 | 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 | nclude.<sys/timerfd.h>....#inclu |
| 815c0 | 64 65 20 3c 74 69 6d 65 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e | de.<time.h>....#include.<unistd. |
| 815e0 | 68 3e 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 | h>....#include.<wayland-client.h |
| 81600 | 3e 00 00 00 00 00 00 00 1c 2f 2a 20 2d 2d 2d 20 54 48 45 4d 45 20 53 45 54 54 49 4e 47 53 20 2d | >......../*.---.THEME.SETTINGS.- |
| 81620 | 2d 2d 20 2a 2f 00 00 00 31 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 42 47 20 30 78 46 46 31 41 | --.*/...1#define.COLOR_BG.0xFF1A |
| 81640 | 31 41 31 41 20 20 20 2f 2a 20 44 61 72 6b 20 43 68 61 72 63 6f 61 6c 20 2a 2f 00 00 00 2f 23 64 | 1A1A.../*.Dark.Charcoal.*/.../#d |
| 81660 | 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 44 49 41 4c 20 30 78 46 46 46 46 46 46 46 46 20 2f 2a 20 57 | efine.COLOR_DIAL.0xFFFFFFFF./*.W |
| 81680 | 68 69 74 65 20 54 69 63 6b 73 20 2a 2f 00 00 00 2d 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 | hite.Ticks.*/...-#define.COLOR_H |
| 816a0 | 4f 55 52 20 30 78 46 46 45 45 45 45 45 45 20 2f 2a 20 4f 66 66 2d 77 68 69 74 65 20 2a 2f 00 00 | OUR.0xFFEEEEEE./*.Off-white.*/.. |
| 816c0 | 00 2e 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 4d 49 4e 20 30 78 46 46 43 43 43 43 43 43 20 20 | ..#define.COLOR_MIN.0xFFCCCCCC.. |
| 816e0 | 2f 2a 20 4c 69 67 68 74 20 47 72 65 79 20 2a 2f 00 00 00 2e 23 64 65 66 69 6e 65 20 43 4f 4c 4f | /*.Light.Grey.*/....#define.COLO |
| 81700 | 52 5f 53 45 43 20 30 78 46 46 46 46 30 30 30 30 20 20 2f 2a 20 42 72 69 67 68 74 20 52 65 64 20 | R_SEC.0xFFFF0000../*.Bright.Red. |
| 81720 | 2a 2f 00 00 00 30 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 55 42 20 30 78 46 46 34 34 34 34 | */...0#define.COLOR_HUB.0xFF4444 |
| 81740 | 34 34 20 20 2f 2a 20 48 75 62 20 43 61 70 20 47 72 65 79 20 2a 2f 00 00 00 00 00 00 00 3b 23 64 | 44../*.Hub.Cap.Grey.*/.......;#d |
| 81760 | 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 20 30 2e 30 35 20 20 2f 2a 20 48 6f 75 72 | efine.HAND_THICK_H.0.05../*.Hour |
| 81780 | 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 3d 23 64 65 | .hand.thickness.factor.*/...=#de |
| 817a0 | 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 20 30 2e 30 33 35 20 2f 2a 20 4d 69 6e 75 74 | fine.HAND_THICK_M.0.035./*.Minut |
| 817c0 | 65 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 3d 23 64 | e.hand.thickness.factor.*/...=#d |
| 817e0 | 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 20 30 2e 30 34 20 20 2f 2a 20 53 65 63 6f | efine.HAND_THICK_S.0.04../*.Seco |
| 81800 | 6e 64 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 00 00 | nd.hand.thickness.factor.*/..... |
| 81820 | 00 00 43 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 48 20 30 2e 35 35 20 2f 2a 20 48 6f | ..C#define.HAND_LEN_H.0.55./*.Ho |
| 81840 | 75 72 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 28 66 72 61 63 74 69 6f 6e 20 6f 66 20 72 61 64 69 | ur.hand.length.(fraction.of.radi |
| 81860 | 75 73 29 20 2a 2f 00 00 00 30 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 4d 20 30 2e 38 | us).*/...0#define.HAND_LEN_M.0.8 |
| 81880 | 30 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 30 23 64 | 0./*.Minute.hand.length.*/...0#d |
| 818a0 | 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 53 20 30 2e 38 30 20 2f 2a 20 53 65 63 6f 6e 64 20 | efine.HAND_LEN_S.0.80./*.Second. |
| 818c0 | 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 1c 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | hand.length.*/..../*.----------- |
| 818e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f | -----------.*/........#ifndef.M_ |
| 81900 | 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 | PI...##define.M_PI.3.14159265358 |
| 81920 | 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d | 979323846....#endif....#ifndef.M |
| 81940 | 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 | _PI_2...%#define.M_PI_2.1.570796 |
| 81960 | 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 | 32679489661923....#endif.......) |
| 81980 | 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e | static.volatile.sig_atomic_t.run |
| 819a0 | 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 | ning.=.1;....static.void.on_sig( |
| 819c0 | 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 0e 20 20 72 75 6e 6e | int.s).{......(void)s;......runn |
| 819e0 | 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 | ing.=.0;....}........struct.app. |
| 81a00 | 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a | {......struct.wl_display.*d;.... |
| 81a20 | 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 | ..struct.wl_registry.*reg;...... |
| 81a40 | 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 3b 00 00 00 15 20 | struct.wl_compositor.*comp;..... |
| 81a60 | 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 | .struct.wl_shm.*shm;......struct |
| 81a80 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c | .xdg_wm_base.*wm;......struct.wl |
| 81aa0 | 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | _surface.*ws;......struct.xdg_su |
| 81ac0 | 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 | rface.*xs;......struct.xdg_tople |
| 81ae0 | 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 | vel.*xt;......void.*pixels;..... |
| 81b00 | 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 | .struct.wl_buffer.*buf;......int |
| 81b20 | 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f | .w,.h;......int.bw,.bh;......boo |
| 81b40 | 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 | l.configured;......bool.redraw;. |
| 81b60 | 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 | ...};.......Jstatic.void.wm_ping |
| 81b80 | 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 20 | (void.*data,.struct.xdg_wm_base. |
| 81ba0 | 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 1f 20 20 78 64 67 | *wm,.uint32_t.serial).{......xdg |
| 81bc0 | 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 01 7d 00 | _wm_base_pong(wm,.serial);....}. |
| 81be0 | 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a | ......$static.int.create_shm(siz |
| 81c00 | 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d | e_t.size).{...#..char.t[].=."/tm |
| 81c20 | 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 20 66 64 20 3d | p/wlclock-XXXXXX";......int.fd.= |
| 81c40 | 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 3c 20 30 29 00 00 00 | .mkstemp(t);......if.(fd.<.0)... |
| 81c60 | 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 | .....exit(1);......unlink(t);... |
| 81c80 | 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 00 | ...if.(ftruncate(fd,.size).<.0). |
| 81ca0 | 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 | .......exit(1);......return.fd;. |
| 81cc0 | 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f | ...}.......(static.void.destroy_ |
| 81ce0 | 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 20 69 66 20 28 21 61 | buf(struct.app.*a).{......if.(!a |
| 81d00 | 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f | ->buf)........return;...*..size_ |
| 81d20 | 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a | t.size.=.(size_t)a->bw.*.a->bh.* |
| 81d40 | 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 | .4;......wl_buffer_destroy(a->bu |
| 81d60 | 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 | f);......munmap(a->pixels,.size) |
| 81d80 | 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 20 20 61 2d 3e 70 69 | ;......a->buf.=.NULL;......a->pi |
| 81da0 | 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 | xels.=.NULL;....}.......&static. |
| 81dc0 | 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 | void.alloc_buf(struct.app.*a).{. |
| 81de0 | 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 | .....destroy_buf(a);...(..size_t |
| 81e00 | 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b | .size.=.(size_t)a->w.*.a->h.*.4; |
| 81e20 | 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b | ......int.fd.=.create_shm(size); |
| 81e40 | 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 4c 4c 2c 20 73 69 7a | ...J..a->pixels.=.mmap(NULL,.siz |
| 81e60 | 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 | e,.PROT_READ.|.PROT_WRITE,.MAP_S |
| 81e80 | 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c | HARED,.fd,.0);......if.(a->pixel |
| 81ea0 | 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b | s.==.MAP_FAILED)........exit(1); |
| 81ec0 | 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d | ...B..struct.wl_shm_pool.*pool.= |
| 81ee0 | 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 | .wl_shm_create_pool(a->shm,.fd,. |
| 81f00 | 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c | size);...C..a->buf.=.wl_shm_pool |
| 81f20 | 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d | _create_buffer(pool,.0,.a->w,.a- |
| 81f40 | 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >h,.a->w.*.4,...=............... |
| 81f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 4c 5f 53 48 4d 5f 46 4f 52 | ......................WL_SHM_FOR |
| 81f80 | 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f | MAT_ARGB8888);......wl_shm_pool_ |
| 81fa0 | 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 | destroy(pool);......close(fd);.. |
| 81fc0 | 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d 3e 62 68 20 3d 20 61 | ....a->bw.=.a->w;......a->bh.=.a |
| 81fe0 | 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 | ->h;....}.......Estatic.void.cir |
| 82000 | 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | cle(uint32_t.*px,.int.w,.int.h,. |
| 82020 | 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 20 20 20 20 20 20 20 | int.cx,.int.cy,.int.r,.......... |
| 82040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 20 | .............uint32_t.c).{...".. |
| 82060 | 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 3b | int.x.=.0,.y.=.r,.d.=.3.-.2.*.r; |
| 82080 | 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 6e | ......while.(y.>=.x).{...H....in |
| 820a0 | 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b | t.p[8][2].=.{{cx.+.x,.cy.+.y},.{ |
| 820c0 | 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 79 | cx.-.x,.cy.+.y},.{cx.+.x,.cy.-.y |
| 820e0 | 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 78 | },...H...................{cx.-.x |
| 82100 | 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 78 | ,.cy.-.y},.{cx.+.y,.cy.+.x},.{cx |
| 82120 | 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-.y,.cy.+.x},...7.............. |
| 82140 | 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 | .....{cx.+.y,.cy.-.x},.{cx.-.y,. |
| 82160 | 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b | cy.-.x}};........for.(int.i.=.0; |
| 82180 | 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 | .i.<.8;.i++)...E......if.(p[i][0 |
| 821a0 | 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d | ].>=.0.&&.p[i][0].<.w.&&.p[i][1] |
| 821c0 | 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 20 | .>=.0.&&.p[i][1].<.h)...&....... |
| 821e0 | 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b 00 | .px[p[i][1].*.w.+.p[i][0]].=.c;. |
| 82200 | 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 20 20 20 20 64 20 2b | .......if.(d.>.0).{..........d.+ |
| 82220 | 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 20 20 20 20 79 2d 2d | =.4.*.(x.-.y).+.10;..........y-- |
| 82240 | 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 64 20 2b 3d 20 34 20 | ;........}.else..........d.+=.4. |
| 82260 | 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d | *.x.+.6;........x++;......}....} |
| 82280 | 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e | .......Pstatic.void.fill_tri(uin |
| 822a0 | 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c | t32_t.*px,.int.w,.int.h,.int.x0, |
| 822c0 | 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 00 00 32 20 20 20 20 | .int.y0,.int.x1,.int.y1,...2.... |
| 822e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c | .................int.x2,.int.y2, |
| 82300 | 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 | .uint32_t.c).{...B..int.min_y.=. |
| 82320 | 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 | y0.<.y1.?.(y0.<.y2.?.y0.:.y2).:. |
| 82340 | 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 | (y1.<.y2.?.y1.:.y2);...B..int.ma |
| 82360 | 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 | x_y.=.y0.>.y1.?.(y0.>.y2.?.y0.:. |
| 82380 | 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 10 20 20 | y2).:.(y1.>.y2.?.y1.:.y2);...... |
| 823a0 | 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e 5f 79 20 3d 20 30 3b | if.(min_y.<.0)........min_y.=.0; |
| 823c0 | 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 20 20 20 20 6d 61 78 | ......if.(max_y.>=.h)........max |
| 823e0 | 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 | _y.=.h.-.1;...(..for.(int.y.=.mi |
| 82400 | 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 | n_y;.y.<=.max_y;.y++).{........i |
| 82420 | 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 | nt.x_start.=.w,.x_end.=.0;...3.. |
| 82440 | 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 | ..int.xs[3].=.{x0,.x1,.x2},.ys[3 |
| 82460 | 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 20 20 62 6f 6f 6c 20 68 69 | ].=.{y0,.y1,.y2};........bool.hi |
| 82480 | 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | t.=.false;...!....for.(int.i.=.0 |
| 824a0 | 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d | ;.i.<.3;.i++).{..........int.j.= |
| 824c0 | 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 | .(i.+.1).%.3;...C......if.((ys[i |
| 824e0 | 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c | ].<=.y.&&.ys[j].>.y).||.(ys[j].< |
| 82500 | 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 | =.y.&&.ys[i].>.y)).{...H........ |
| 82520 | 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 | int.x.=.xs[i].+.(y.-.ys[i]).*.(x |
| 82540 | 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b | s[j].-.xs[i])./.(ys[j].-.ys[i]); |
| 82560 | 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 00 00 00 16 | ............if.(x.<.x_start).... |
| 82580 | 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 16 20 20 20 20 20 20 | ..........x_start.=.x;.......... |
| 825a0 | 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 20 20 20 20 20 78 5f | ..if.(x.>.x_end)..............x_ |
| 825c0 | 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 20 3d 20 74 72 75 65 3b 00 | end.=.x;............hit.=.true;. |
| 825e0 | 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 69 66 20 28 68 | .........}........}........if.(h |
| 82600 | 69 74 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 | it).{..........if.(x_start.<.0). |
| 82620 | 00 00 14 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 15 20 20 20 20 20 | ...........x_start.=.0;......... |
| 82640 | 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 16 20 20 20 20 20 20 20 20 78 5f 65 6e | .if.(x_end.>=.w)............x_en |
| 82660 | 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2c 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d | d.=.w.-.1;...,......for.(int.x.= |
| 82680 | 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 1a 20 20 | .x_start;.x.<=.x_end;.x++)...... |
| 826a0 | 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 05 20 20 20 20 | ......px[y.*.w.+.x].=.c;........ |
| 826c0 | 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 20 76 6f 69 64 | }......}....}.......#static.void |
| 826e0 | 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 2f 20 20 69 66 | .render(struct.app.*a).{.../..if |
| 82700 | 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c | .(!a->configured.||.a->w.<=.0.|| |
| 82720 | 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 0e 20 20 | .a->h.<=.0)........return;...... |
| 82740 | 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 | if.(!a->buf)........alloc_buf(a) |
| 82760 | 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b | ;......uint32_t.*px.=.a->pixels; |
| 82780 | 00 00 00 45 20 20 6d 65 6d 73 65 74 28 70 78 2c 20 28 43 4f 4c 4f 52 5f 42 47 20 3e 3e 20 31 36 | ...E..memset(px,.(COLOR_BG.>>.16 |
| 827a0 | 29 20 26 20 30 78 46 46 2c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 29 3b 20 2f 2f 20 42 | ).&.0xFF,.a->w.*.a->h.*.4);.//.B |
| 827c0 | 61 73 69 63 20 66 69 6c 6c 00 00 00 27 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 | asic.fill...'..for.(int.i.=.0;.i |
| 827e0 | 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 00 00 00 29 20 20 20 20 70 78 5b 69 | .<.a->w.*.a->h;.i++)...)....px[i |
| 82800 | 5d 20 3d 20 43 4f 4c 4f 52 5f 42 47 3b 20 2f 2f 20 46 75 6c 6c 20 33 32 2d 62 69 74 20 66 69 6c | ].=.COLOR_BG;.//.Full.32-bit.fil |
| 82820 | 6c 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c | l..........time_t.tt.=.time(NULL |
| 82840 | 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 | );......struct.tm.tmv;......loca |
| 82860 | 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 | ltime_r(&tt,.&tmv);...#..int.cx. |
| 82880 | 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 | =.a->w./.2,.cy.=.a->h./.2;.../.. |
| 828a0 | 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d | int.r.=.(a->w.<.a->h.?.a->w.:.a- |
| 828c0 | 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 28 72 20 3c 20 35 29 00 00 00 | >h)./.2.-.10;......if.(r.<.5)... |
| 828e0 | 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 0f 20 20 2f 2f 20 44 69 61 6c 20 54 69 63 | .....r.=.5;..........//.Dial.Tic |
| 82900 | 6b 73 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 | ks......for.(int.i.=.0;.i.<.60;. |
| 82920 | 69 2b 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 | i++).{........double.ang.=.i./.6 |
| 82940 | 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 | 0.0.*.2.*.M_PI.-.M_PI_2;...1.... |
| 82960 | 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 | int.len.=.(i.%.5.==.0).?.r.*.0.1 |
| 82980 | 32 20 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e | 2.:.r.*.0.04;...0....double.t_an |
| 829a0 | 67 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 | g.=.(i.%.5.==.0).?.0.012.:.0.005 |
| 829c0 | 3b 00 00 00 37 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ;...7....fill_tri(px,.a->w,.a->h |
| 829e0 | 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 | ,.cx.+.cos(ang.-.t_ang).*.r,...B |
| 82a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e | .............cy.+.sin(ang.-.t_an |
| 82a20 | 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 | g).*.r,.cx.+.cos(ang.+.t_ang).*. |
| 82a40 | 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 | r,...B.............cy.+.sin(ang. |
| 82a60 | 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 | +.t_ang).*.r,.cx.+.cos(ang).*.(r |
| 82a80 | 20 2d 20 6c 65 6e 29 2c 00 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 | .-.len),...4.............cy.+.si |
| 82aa0 | 6e 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 20 43 4f 4c 4f 52 5f 44 49 41 4c 29 3b | n(ang).*.(r.-.len),.COLOR_DIAL); |
| 82ac0 | 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 | ......}.......4..double.sa.=.tmv |
| 82ae0 | 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 | .tm_sec./.60.0.*.2.*.M_PI.-.M_PI |
| 82b00 | 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e | _2;...J..double.ma.=.(tmv.tm_min |
| 82b20 | 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 | .+.tmv.tm_sec./.60.0)./.60.0.*.2 |
| 82b40 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 | .*.M_PI.-.M_PI_2;......double.ha |
| 82b60 | 20 3d 00 00 00 4c 20 20 20 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 | .=...L......((tmv.tm_hour.%.12). |
| 82b80 | 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 | +.(tmv.tm_min./.60.0))./.12.0.*. |
| 82ba0 | 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 0e 20 20 2f 2f 20 48 | 2.*.M_PI.-.M_PI_2;..........//.H |
| 82bc0 | 6f 75 72 20 48 61 6e 64 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | our.Hand...B..fill_tri(px,.a->w, |
| 82be0 | 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a | .a->h,.cx.+.cos(ha.-.0.12).*.r.* |
| 82c00 | 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | .HAND_THICK_H,...2...........cy. |
| 82c20 | 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 | +.sin(ha.-.0.12).*.r.*.HAND_THIC |
| 82c40 | 4b 5f 48 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2b | K_H,...2...........cx.+.cos(ha.+ |
| 82c60 | 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 00 00 32 20 20 | .0.12).*.r.*.HAND_THICK_H,...2.. |
| 82c80 | 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 | .........cy.+.sin(ha.+.0.12).*.r |
| 82ca0 | 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 63 | .*.HAND_THICK_H,...H...........c |
| 82cc0 | 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 63 79 | x.+.cos(ha).*.r.*.HAND_LEN_H,.cy |
| 82ce0 | 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 48 2c 00 00 00 17 | .+.sin(ha).*.r.*.HAND_LEN_H,.... |
| 82d00 | 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f 48 4f 55 52 29 3b 00 00 00 10 20 20 2f 2f 20 | ...........COLOR_HOUR);......//. |
| 82d20 | 4d 69 6e 75 74 65 20 48 61 6e 64 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d | Minute.Hand...B..fill_tri(px,.a- |
| 82d40 | 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 | >w,.a->h,.cx.+.cos(ma.-.0.08).*. |
| 82d60 | 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 | r.*.HAND_THICK_M,...2........... |
| 82d80 | 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 | cy.+.sin(ma.-.0.08).*.r.*.HAND_T |
| 82da0 | 48 49 43 4b 5f 4d 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d | HICK_M,...2...........cx.+.cos(m |
| 82dc0 | 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 00 00 00 | a.+.0.08).*.r.*.HAND_THICK_M,... |
| 82de0 | 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 30 38 29 20 | 2...........cy.+.sin(ma.+.0.08). |
| 82e00 | 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 | *.r.*.HAND_THICK_M,...H......... |
| 82e20 | 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 4d 2c | ..cx.+.cos(ma).*.r.*.HAND_LEN_M, |
| 82e40 | 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 00 | .cy.+.sin(ma).*.r.*.HAND_LEN_M,. |
| 82e60 | 00 00 16 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f 4d 49 4e 29 3b 00 00 00 10 20 20 2f | ..............COLOR_MIN);....../ |
| 82e80 | 2f 20 53 65 63 6f 6e 64 20 48 61 6e 64 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 | /.Second.Hand...B..fill_tri(px,. |
| 82ea0 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2d 20 30 2e 30 35 29 20 | a->w,.a->h,.cx.+.cos(sa.-.0.05). |
| 82ec0 | 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 | *.r.*.HAND_THICK_S,...2......... |
| 82ee0 | 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 48 41 4e 44 | ..cy.+.sin(sa.-.0.05).*.r.*.HAND |
| 82f00 | 5f 54 48 49 43 4b 5f 53 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | _THICK_S,...2...........cx.+.cos |
| 82f20 | 28 73 61 20 2b 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 | (sa.+.0.05).*.r.*.HAND_THICK_S,. |
| 82f40 | 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 30 2e 30 35 | ..2...........cy.+.sin(sa.+.0.05 |
| 82f60 | 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 48 20 20 20 20 20 20 20 | ).*.r.*.HAND_THICK_S,...H....... |
| 82f80 | 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f | ....cx.+.cos(sa).*.r.*.HAND_LEN_ |
| 82fa0 | 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 53 | S,.cy.+.sin(sa).*.r.*.HAND_LEN_S |
| 82fc0 | 2c 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 00 00 | ,...............COLOR_SEC);..... |
| 82fe0 | 00 00 17 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 10 20 20 | .....int.hub_r.=.r.*.0.04;...... |
| 83000 | 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 75 62 5f 72 20 3d 20 34 3b | if.(hub_r.<.4)........hub_r.=.4; |
| 83020 | 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f | ...(..for.(int.ir.=.0;.ir.<.hub_ |
| 83040 | 72 20 2d 20 32 3b 20 69 72 2b 2b 29 00 00 00 31 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 | r.-.2;.ir++)...1....circle(px,.a |
| 83060 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 43 4f 4c 4f 52 5f 42 47 29 | ->w,.a->h,.cx,.cy,.ir,.COLOR_BG) |
| 83080 | 3b 00 00 00 33 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 | ;...3..circle(px,.a->w,.a->h,.cx |
| 830a0 | 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 00 00 00 00 29 | ,.cy,.hub_r,.COLOR_HUB);.......) |
| 830c0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 | ..wl_surface_attach(a->ws,.a->bu |
| 830e0 | 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 | f,.0,.0);...4..wl_surface_damage |
| 83100 | 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 | _buffer(a->ws,.0,.0,.a->w,.a->h) |
| 83120 | 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b | ;......wl_surface_commit(a->ws); |
| 83140 | 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 | ......a->redraw.=.false;....}... |
| 83160 | 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a | ....Gstatic.void.xt_close(void.* |
| 83180 | 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 | d,.struct.xdg_toplevel.*xt).{.ru |
| 831a0 | 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 | nning.=.0;.}...Jstatic.void.xt_c |
| 831c0 | 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 | fg(void.*d,.struct.xdg_toplevel. |
| 831e0 | 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 | *xt,.int32_t.w,.int32_t.h,...(.. |
| 83200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 | .................struct.wl_array |
| 83220 | 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 | .*s).{......struct.app.*a.=.d;.. |
| 83240 | 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 | .3..if.(w.>.0.&&.h.>.0.&&.(w.!=. |
| 83260 | 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e | a->w.||.h.!=.a->h)).{........a-> |
| 83280 | 77 20 3d 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 | w.=.w;........a->h.=.h;........d |
| 832a0 | 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 | estroy_buf(a);........a->redraw. |
| 832c0 | 3d 20 74 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f | =.true;......}....}...Fstatic.vo |
| 832e0 | 69 64 20 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | id.xs_cfg(void.*d,.struct.xdg_su |
| 83300 | 72 66 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 | rface.*xs,.uint32_t.serial).{... |
| 83320 | 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 | ...struct.app.*a.=.d;...(..xdg_s |
| 83340 | 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 69 61 6c 29 | urface_ack_configure(xs,.serial) |
| 83360 | 3b 00 00 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 | ;......a->configured.=.true;.... |
| 83380 | 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 | ..a->redraw.=.true;....}...Cstat |
| 833a0 | 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 | ic.void.reg_global(void.*d,.stru |
| 833c0 | 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 69 64 2c 00 | ct.wl_registry.*r,.uint32_t.id,. |
| 833e0 | 00 00 33 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 | ..3.......................const. |
| 83400 | 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 | char.*i,.uint32_t.v).{......stru |
| 83420 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 | ct.app.*a.=.d;..."..if.(!strcmp( |
| 83440 | 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 | i,."wl_compositor"))...C....a->c |
| 83460 | 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 | omp.=.wl_registry_bind(r,.id,.&w |
| 83480 | 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 20 20 | l_compositor_interface,.4);..... |
| 834a0 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 | .else.if.(!strcmp(i,."wl_shm")). |
| 834c0 | 00 00 3b 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 | ..;....a->shm.=.wl_registry_bind |
| 834e0 | 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 | (r,.id,.&wl_shm_interface,.1);.. |
| 83500 | 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f | .'..else.if.(!strcmp(i,."xdg_wm_ |
| 83520 | 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 | base")).{...?....a->wm.=.wl_regi |
| 83540 | 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e | stry_bind(r,.id,.&xdg_wm_base_in |
| 83560 | 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 | terface,.1);...C....static.const |
| 83580 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d | .struct.xdg_wm_base_listener.l.= |
| 835a0 | 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 | .{.ping.=.wm_ping};...+....xdg_w |
| 835c0 | 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 | m_base_add_listener(a->wm,.&l,.a |
| 835e0 | 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 | );......}....}........int.main(v |
| 83600 | 6f 69 64 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 | oid).{......struct.app.a.=.{0};. |
| 83620 | 00 00 0c 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 | .....a.w.=.400;......a.h.=.400;. |
| 83640 | 00 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 | .....signal(SIGINT,.on_sig);...! |
| 83660 | 20 20 61 2e 64 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 | ..a.d.=.wl_display_connect(NULL) |
| 83680 | 3b 00 00 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 | ;......if.(!a.d)........return.1 |
| 836a0 | 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 | ;...'..a.reg.=.wl_display_get_re |
| 836c0 | 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | gistry(a.d);...G..static.const.s |
| 836e0 | 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 6c 20 3d 20 | truct.wl_registry_listener.rl.=. |
| 83700 | 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f | {.global.=.reg_global};...+..wl_ |
| 83720 | 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c | registry_add_listener(a.reg,.&rl |
| 83740 | 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 | ,.&a);......wl_display_roundtrip |
| 83760 | 28 61 2e 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 | (a.d);...!..if.(!a.comp.||.!a.sh |
| 83780 | 6d 20 7c 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e | m.||.!a.wm)........return.1;.... |
| 837a0 | 20 20 61 2e 77 73 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 | ..a.ws.=.wl_compositor_create_su |
| 837c0 | 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 | rface(a.comp);...1..a.xs.=.xdg_w |
| 837e0 | 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 | m_base_get_xdg_surface(a.wm,.a.w |
| 83800 | 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 | s);...G..static.const.struct.xdg |
| 83820 | 5f 73 75 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 | _surface_listener.xsl.=.{.config |
| 83840 | 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f | ure.=.xs_cfg};...+..xdg_surface_ |
| 83860 | 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 | add_listener(a.xs,.&xsl,.&a);... |
| 83880 | 28 20 20 61 2e 78 74 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 | (..a.xt.=.xdg_surface_get_toplev |
| 838a0 | 65 6c 28 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | el(a.xs);...G..static.const.stru |
| 838c0 | 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b | ct.xdg_toplevel_listener.xtl.=.{ |
| 838e0 | 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 | .configure.=.xt_cfg,...F........ |
| 83900 | 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 | ................................ |
| 83920 | 20 20 20 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 | ............close.=.xt_close};.. |
| 83940 | 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | .,..xdg_toplevel_add_listener(a. |
| 83960 | 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c | xt,.&xtl,.&a);...*..xdg_toplevel |
| 83980 | 5f 73 65 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a | _set_title(a.xt,."wlclock");.... |
| 839a0 | 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 | ..wl_surface_commit(a.ws);...... |
| 839c0 | 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f | while.(!a.configured)........wl_ |
| 839e0 | 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 36 20 20 70 72 69 6e | display_dispatch(a.d);...6..prin |
| 83a00 | 74 66 28 22 57 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 | tf("Wayland.surface.successfully |
| 83a20 | 20 63 6f 6e 66 69 67 75 72 65 64 5c 6e 22 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 | .configured\n");......render(&a) |
| 83a40 | 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 | ;...9..int.tfd.=.timerfd_create( |
| 83a60 | 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 | CLOCK_MONOTONIC,.TFD_CLOEXEC);.. |
| 83a80 | 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 | .F..timerfd_settime(tfd,.0,.&(st |
| 83aa0 | 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d | ruct.itimerspec){{1,.0},.{1,.0}} |
| 83ac0 | 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 | ,.NULL);......char.buffer[100];. |
| 83ae0 | 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 68 | .....while.(running).{...-....wh |
| 83b00 | 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 61 64 28 61 2e 64 | ile.(wl_display_prepare_read(a.d |
| 83b20 | 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | ).!=.0)...'......wl_display_disp |
| 83b40 | 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 | atch_pending(a.d);........wl_dis |
| 83b60 | 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 | play_flush(a.d);...M....struct.p |
| 83b80 | 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f | ollfd.fds[2].=.{{wl_display_get_ |
| 83ba0 | 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d | fd(a.d),.POLLIN},.{tfd,.POLLIN}} |
| 83bc0 | 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 | ;........if.(poll(fds,.2,.-1).<. |
| 83be0 | 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f | 0).{..."......wl_display_cancel_ |
| 83c00 | 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 00 | read(a.d);..........continue;... |
| 83c20 | 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 | .....}........if.(fds[0].revents |
| 83c40 | 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 | .&.POLLIN)..."......wl_display_r |
| 83c60 | 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 22 | ead_events(a.d);........else..." |
| 83c80 | 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 | ......wl_display_cancel_read(a.d |
| 83ca0 | 29 3b 00 00 00 25 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 |
| 83cc0 | 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 | nding(a.d);..."....if.(fds[1].re |
| 83ce0 | 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 36 | vents.&.POLLIN).{..........uint6 |
| 83d00 | 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 74 | 4_t.t_exp;...'......read(tfd,.&t |
| 83d20 | 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 | _exp,.sizeof(t_exp));..........t |
| 83d40 | 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 | ime_t.cli.=.time(NULL);...,..... |
| 83d60 | 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 | .struct.tm.*t_struct.=.localtime |
| 83d80 | 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 | (&cli);...I......strftime(buffer |
| 83da0 | 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 | ,.sizeof(buffer),."%d-%m-%Y.%I:% |
| 83dc0 | 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 72 | M:%S.%p",.t_struct);...%......pr |
| 83de0 | 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 00 | intf("\rTime.is.%s",.buffer);... |
| 83e00 | 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 | .......fflush(stdout);.......... |
| 83e20 | 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 20 | a.redraw.=.true;........}....... |
| 83e40 | 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 26 | .if.(a.redraw)..........render(& |
| 83e60 | 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 00 | a);......}......printf("\n");... |
| 83e80 | 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 | ...close(tfd);......destroy_buf( |
| 83ea0 | 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 | &a);......wl_display_disconnect( |
| 83ec0 | 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 | a.d);......return.0;....}5...... |
| 83ee0 | 00 00 00 00 00 00 00 00 00 42 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........B...................... |
| 83f00 | 00 a9 26 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 b5 00 00 00 b7 00 00 00 | ..&..............5._............ |
| 83f20 | 00 00 00 00 00 00 00 00 b6 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 00 | ................................ |
| 83f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 9d ab 7e 04 01 00 00 00 | .......................i..~..... |
| 840a0 | 00 00 f5 18 00 00 00 f4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 f5 00 | ........................}....... |
| 840c0 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ec 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 840e0 | 46 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 | F......strftime(buffer,.sizeof(b |
| 84100 | 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 | uffer),."%d-%m-%Y.%I:%M:%S.%p",. |
| 84120 | 74 5f 73 74 72 75 63 f5 18 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d6 00 | t_struc......................... |
| 84140 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 78 64 67 5f 74 6f 70 6c f5 18 00 00 00 d7 00 | .................xdg_topl....... |
| 84160 | 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | ................................ |
| 84180 | 03 20 20 73 f5 18 00 00 00 d3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 c2 00 00 00 00 | ...s............................ |
| 841a0 | 00 00 00 00 00 00 00 01 00 00 00 0b 20 20 20 20 78 64 67 5f 77 6d 5f f5 18 00 00 00 c3 00 00 00 | ................xdg_wm_......... |
| 841c0 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b3 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 | ................................ |
| 841e0 | 20 69 66 20 28 77 20 3e 20 30 20 f5 18 00 00 00 b4 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 | .if.(w.>.0...................... |
| 84200 | 00 00 ab 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 33 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | ..................3..wl_surface_ |
| 84220 | 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c | damage_buffer(a->ws,.0,.0,.a->w, |
| 84240 | 20 61 2d 3e 68 29 f5 18 00 00 00 ac 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a6 00 00 | .a->h).......................... |
| 84260 | 00 00 00 00 00 00 00 00 00 01 00 00 00 1b 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 | ................int.hub_r.=.r.*. |
| 84280 | 30 2e 30 34 3b 20 69 66 20 f5 18 00 00 00 a7 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | 0.04;.if........................ |
| 842a0 | 95 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 35 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 | ................5.............cx |
| 842c0 | 20 2b 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e | .+.cos(ang)*(r-len),.cy.+.sin(an |
| 842e0 | 67 29 2a 28 72 2d f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 76 00 00 | g)*(r-.......................v.. |
| 84300 | 00 00 00 00 00 00 00 00 00 01 00 00 00 33 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 | .............3........int.x.=.xs |
| 84320 | 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b | [i].+.(y.-.ys[i]).*.(xs[j].-.xs[ |
| 84340 | 69 f5 18 00 00 00 77 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 00 00 00 | i.....w......................... |
| 84360 | 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 81 f5 18 00 | ...........................5.... |
| 84380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 00 00 00 33 00 00 00 00 00 00 00 00 | ...................v...3........ |
| 843a0 | 00 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 f5 18 00 00 00 00 76 00 00 00 33 00 00 | .........................v...3.. |
| 843c0 | 00 00 00 00 00 00 00 00 00 1f 00 00 00 35 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............5.................. |
| 843e0 | 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 95 00 00 00 35 00 00 00 00 00 00 00 00 00 00 00 11 | ...................5............ |
| 84400 | 00 00 00 1b 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 | ................................ |
| 84420 | 18 00 00 00 00 a6 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 33 00 00 00 00 17 00 | .........................3...... |
| 84440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 ab 00 00 00 33 | ...............................3 |
| 84460 | 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 0c 00 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84480 | 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 b3 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 844a0 | 00 0f 00 00 00 0b 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 | ................................ |
| 844c0 | 00 f5 18 00 00 00 00 c2 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 03 00 00 00 00 | ................................ |
| 844e0 | 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 | ................................ |
| 84500 | 00 03 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 0a 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 | ................................ |
| 84520 | 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 d6 00 00 00 0a 00 00 00 00 00 00 00 00 | ................................ |
| 84540 | 00 00 00 16 00 00 00 46 00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 | .......F........................ |
| 84560 | 00 00 00 f5 18 00 00 00 00 ec 00 00 00 46 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 | .............F.................. |
| 84580 | 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cf 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 | ..#......................5._.... |
| 845a0 | b6 00 00 00 b8 00 00 00 00 00 00 00 00 00 00 00 b7 00 00 00 f5 00 00 00 00 00 00 00 00 ff ff ff | ................................ |
| 845c0 | 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 | ................................ |
| 845e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 846a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 846c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 846e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 84700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 | ...............................i |
| 84720 | 9d ab 7f 04 01 00 00 00 41 00 f5 18 00 00 00 12 00 00 01 3e 00 00 00 f5 00 00 00 e1 00 00 00 35 | ........A..........>...........5 |
| 84740 | 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 42 47 20 20 20 20 20 20 30 78 46 46 31 41 31 41 31 41 | #define.COLOR_BG......0xFF1A1A1A |
| 84760 | 20 20 2f 2a 20 44 61 72 6b 20 43 68 61 72 63 6f 61 6c 20 2a 2f 00 00 00 33 23 64 65 66 69 6e 65 | ../*.Dark.Charcoal.*/...3#define |
| 84780 | 20 43 4f 4c 4f 52 5f 44 49 41 4c 20 20 20 20 30 78 46 46 46 46 46 46 46 46 20 20 2f 2a 20 57 68 | .COLOR_DIAL....0xFFFFFFFF../*.Wh |
| 847a0 | 69 74 65 20 54 69 63 6b 73 20 2a 2f 00 00 00 31 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f | ite.Ticks.*/...1#define.COLOR_HO |
| 847c0 | 55 52 20 20 20 20 30 78 46 46 45 45 45 45 45 45 20 20 2f 2a 20 4f 66 66 2d 77 68 69 74 65 20 2a | UR....0xFFEEEEEE../*.Off-white.* |
| 847e0 | 2f 00 00 00 32 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 4d 49 4e 20 20 20 20 20 30 78 46 46 43 | /...2#define.COLOR_MIN.....0xFFC |
| 84800 | 43 43 43 43 43 20 20 2f 2a 20 4c 69 67 68 74 20 47 72 65 79 20 2a 2f 00 00 00 32 23 64 65 66 69 | CCCCC../*.Light.Grey.*/...2#defi |
| 84820 | 6e 65 20 43 4f 4c 4f 52 5f 53 45 43 20 20 20 20 20 30 78 46 46 46 46 30 30 30 30 20 20 2f 2a 20 | ne.COLOR_SEC.....0xFFFF0000../*. |
| 84840 | 42 72 69 67 68 74 20 52 65 64 20 2a 2f 00 00 00 34 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 | Bright.Red.*/...4#define.COLOR_H |
| 84860 | 55 42 20 20 20 20 20 30 78 46 46 34 34 34 34 34 34 20 20 2f 2a 20 48 75 62 20 43 61 70 20 47 72 | UB.....0xFF444444../*.Hub.Cap.Gr |
| 84880 | 65 79 20 2a 2f 00 00 00 00 00 00 00 42 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f | ey.*/.......B#define.HAND_THICK_ |
| 848a0 | 48 20 20 30 2e 30 35 20 20 20 20 20 20 20 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 74 68 69 63 | H..0.05......../*.Hour.hand.thic |
| 848c0 | 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 44 23 64 65 66 69 6e 65 20 48 41 4e 44 5f | kness.factor.*/...D#define.HAND_ |
| 848e0 | 54 48 49 43 4b 5f 4d 20 20 30 2e 30 33 35 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e 75 74 65 20 68 | THICK_M..0.035......./*.Minute.h |
| 84900 | 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 44 23 64 65 66 69 | and.thickness.factor.*/...D#defi |
| 84920 | 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 20 20 30 2e 30 34 20 20 20 20 20 20 20 20 2f 2a 20 | ne.HAND_THICK_S..0.04......../*. |
| 84940 | 53 65 63 6f 6e 64 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 | Second.hand.thickness.factor.*/. |
| 84960 | 00 00 00 00 00 00 4d 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 48 20 20 20 20 30 2e 35 | ......M#define.HAND_LEN_H....0.5 |
| 84980 | 35 20 20 20 20 20 20 20 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 28 66 72 | 5......../*.Hour.hand.length.(fr |
| 849a0 | 61 63 74 69 6f 6e 20 6f 66 20 72 61 64 69 75 73 29 20 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 | action.of.radius).*/...:#define. |
| 849c0 | 48 41 4e 44 5f 4c 45 4e 5f 4d 20 20 20 20 30 2e 38 30 20 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e | HAND_LEN_M....0.80......../*.Min |
| 849e0 | 75 74 65 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 48 41 | ute.hand.length.*/...:#define.HA |
| 84a00 | 4e 44 5f 4c 45 4e 5f 53 20 20 20 20 30 2e 38 30 20 20 20 20 20 20 20 20 2f 2a 20 53 65 63 6f 6e | ND_LEN_S....0.80......../*.Secon |
| 84a20 | 64 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 1c 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d | d.hand.length.*/..../*.--------- |
| 84a40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 | -------------.*/........#ifndef. |
| 84a60 | 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 | M_PI...##define.M_PI.3.141592653 |
| 84a80 | 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 | 58979323846....#endif....#ifndef |
| 84aa0 | 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 | .M_PI_2...%#define.M_PI_2.1.5707 |
| 84ac0 | 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 | 9632679489661923....#endif...... |
| 84ae0 | 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 | .)static.volatile.sig_atomic_t.r |
| 84b00 | 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 | unning.=.1;...3static.void.on_si |
| 84b20 | 67 28 69 6e 74 20 73 29 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b | g(int.s).{.(void)s;.running.=.0; |
| 84b40 | 20 7d 00 00 00 00 00 00 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 | .}........struct.app.{......stru |
| 84b60 | 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c | ct.wl_display.*d;......struct.wl |
| 84b80 | 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 | _registry.*reg;......struct.wl_c |
| 84ba0 | 6f 6d 70 6f 73 69 74 6f 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f | ompositor.*comp;......struct.wl_ |
| 84bc0 | 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 | shm.*shm;......struct.xdg_wm_bas |
| 84be0 | 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 | e.*wm;......struct.wl_surface.*w |
| 84c00 | 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 | s;......struct.xdg_surface.*xs;. |
| 84c20 | 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 | .....struct.xdg_toplevel.*xt;... |
| 84c40 | 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f | ...void.*pixels;......struct.wl_ |
| 84c60 | 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 | buffer.*buf;......int.w,.h;..... |
| 84c80 | 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 | .int.bw,.bh;......bool.configure |
| 84ca0 | 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 | d;......bool.redraw;....};...... |
| 84cc0 | 00 6a 73 74 61 74 69 63 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 | .jstatic.void.wm_ping(void.*data |
| 84ce0 | 2c 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 | ,.struct.xdg_wm_base.*wm,.uint32 |
| 84d00 | 5f 74 20 73 65 72 69 61 6c 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d | _t.serial).{.xdg_wm_base_pong(wm |
| 84d20 | 2c 20 73 65 72 69 61 6c 29 3b 20 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 | ,.serial);.}.......$static.int.c |
| 84d40 | 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 | reate_shm(size_t.size).{...#..ch |
| 84d60 | 61 72 20 74 5b 5d 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 | ar.t[].=."/tmp/wlclock-XXXXXX";. |
| 84d80 | 00 00 16 20 20 69 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 16 20 20 69 | .....int.fd.=.mkstemp(t);......i |
| 84da0 | 66 20 28 66 64 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 | f.(fd.<.0).exit(1);......unlink( |
| 84dc0 | 74 29 3b 00 00 00 27 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 | t);...'..if.(ftruncate(fd,.size) |
| 84de0 | 20 3c 20 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 | .<.0).exit(1);......return.fd;.. |
| 84e00 | 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 | ..}.......(static.void.destroy_b |
| 84e20 | 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d | uf(struct.app.*a).{......if.(!a- |
| 84e40 | 3e 62 75 66 29 20 72 65 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d | >buf).return;...*..size_t.size.= |
| 84e60 | 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 | .(size_t)a->bw.*.a->bh.*.4;..... |
| 84e80 | 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 | .wl_buffer_destroy(a->buf);..... |
| 84ea0 | 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 22 20 20 61 | .munmap(a->pixels,.size);..."..a |
| 84ec0 | 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 | ->buf.=.NULL;.a->pixels.=.NULL;. |
| 84ee0 | 00 00 01 7d 00 00 00 00 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 | ...}.......&static.void.alloc_bu |
| 84f00 | 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f | f(struct.app.*a).{......destroy_ |
| 84f20 | 62 75 66 28 61 29 3b 00 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 | buf(a);...(..size_t.size.=.(size |
| 84f40 | 5f 74 29 61 2d 3e 77 20 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 | _t)a->w.*.a->h.*.4;......int.fd. |
| 84f60 | 3d 20 63 72 65 61 74 65 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 | =.create_shm(size);...J..a->pixe |
| 84f80 | 6c 73 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 20 | ls.=.mmap(NULL,.size,.PROT_READ. |
| 84fa0 | 7c 20 50 52 4f 54 5f 57 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 | |.PROT_WRITE,.MAP_SHARED,.fd,.0) |
| 84fc0 | 3b 00 00 00 27 20 20 69 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c | ;...'..if.(a->pixels.==.MAP_FAIL |
| 84fe0 | 45 44 29 20 65 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f | ED).exit(1);...B..struct.wl_shm_ |
| 85000 | 70 6f 6f 6c 20 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 | pool.*pool.=.wl_shm_create_pool( |
| 85020 | 61 2d 3e 73 68 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d | a->shm,.fd,.size);...\..a->buf.= |
| 85040 | 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c | .wl_shm_pool_create_buffer(pool, |
| 85060 | 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d | .0,.a->w,.a->h,.a->w.*.4,.WL_SHM |
| 85080 | 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 | _FORMAT_ARGB8888);......wl_shm_p |
| 850a0 | 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 | ool_destroy(pool);......close(fd |
| 850c0 | 29 3b 00 00 00 1d 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 20 61 2d 3e 62 68 20 3d 20 61 2d | );......a->bw.=.a->w;.a->bh.=.a- |
| 850e0 | 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 | >h;....}.......Sstatic.void.circ |
| 85100 | 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 | le(uint32_t.*px,.int.w,.int.h,.i |
| 85120 | 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 | nt.cx,.int.cy,.int.r,.uint32_t.c |
| 85140 | 29 20 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 | ).{..."..int.x.=.0,.y.=.r,.d.=.3 |
| 85160 | 20 2d 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 | .-.2.*.r;......while.(y.>=.x).{. |
| 85180 | 00 00 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 | ..H....int.p[8][2].=.{{cx.+.x,.c |
| 851a0 | 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 | y.+.y},.{cx.-.x,.cy.+.y},.{cx.+. |
| 851c0 | 78 2c 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x,.cy.-.y},...H................. |
| 851e0 | 20 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 | ..{cx.-.x,.cy.-.y},.{cx.+.y,.cy. |
| 85200 | 2b 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 | +.x},.{cx.-.y,.cy.+.x},...7..... |
| 85220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 | ..............{cx.+.y,.cy.-.x},. |
| 85240 | 7b 63 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 | {cx.-.y,.cy.-.x}};........for.(i |
| 85260 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 | nt.i.=.0;.i.<.8;.i++)...E......i |
| 85280 | 66 20 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 | f.(p[i][0].>=.0.&&.p[i][0].<.w.& |
| 852a0 | 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 | &.p[i][1].>=.0.&&.p[i][1].<.h).. |
| 852c0 | 00 26 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b | .&........px[p[i][1].*.w.+.p[i][ |
| 852e0 | 30 5d 5d 20 3d 20 63 3b 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b | 0]].=.c;...C....if.(d.>.0).{.d.+ |
| 85300 | 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 | =.4.*.(x.-.y).+.10;.y--;.}.else. |
| 85320 | 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 | d.+=.4.*.x.+.6;........x++;..... |
| 85340 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f | .}....}.......nstatic.void.fill_ |
| 85360 | 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | tri(uint32_t.*px,.int.w,.int.h,. |
| 85380 | 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 | int.x0,.int.y0,.int.x1,.int.y1,. |
| 853a0 | 69 6e 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 | int.x2,.int.y2,.uint32_t.c).{... |
| 853c0 | 42 20 20 69 6e 74 20 6d 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 | B..int.min_y.=.y0.<.y1.?.(y0.<.y |
| 853e0 | 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 | 2.?.y0.:.y2).:.(y1.<.y2.?.y1.:.y |
| 85400 | 32 29 3b 00 00 00 42 20 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 | 2);...B..int.max_y.=.y0.>.y1.?.( |
| 85420 | 79 30 20 3e 20 79 32 20 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 | y0.>.y2.?.y0.:.y2).:.(y1.>.y2.?. |
| 85440 | 79 31 20 3a 20 79 32 29 3b 00 00 00 3a 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 | y1.:.y2);...:..if.(min_y.<.0).mi |
| 85460 | 6e 5f 79 20 3d 20 30 3b 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d | n_y.=.0;.if.(max_y.>=.h).max_y.= |
| 85480 | 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b | .h.-.1;...(..for.(int.y.=.min_y; |
| 854a0 | 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 | .y.<=.max_y;.y++).{........int.x |
| 854c0 | 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e | _start.=.w,.x_end.=.0;...3....in |
| 854e0 | 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 | t.xs[3].=.{x0,.x1,.x2},.ys[3].=. |
| 85500 | 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 | {y0,.y1,.y2};........bool.hit.=. |
| 85520 | 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 | false;...!....for.(int.i.=.0;.i. |
| 85540 | 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 | <.3;.i++).{..........int.j.=.(i. |
| 85560 | 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d | +.1).%.3;...C......if.((ys[i].<= |
| 85580 | 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 | .y.&&.ys[j].>.y).||.(ys[j].<=.y. |
| 855a0 | 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 | &&.ys[i].>.y)).{...H........int. |
| 855c0 | 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d | x.=.xs[i].+.(y.-.ys[i]).*.(xs[j] |
| 855e0 | 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 3f | .-.xs[i])./.(ys[j].-.ys[i]);...? |
| 85600 | 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 | ........if.(x.<.x_start).x_start |
| 85620 | 20 3d 20 78 3b 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 | .=.x;.if.(x.>.x_end).x_end.=.x;. |
| 85640 | 00 00 13 20 20 20 20 20 20 20 20 68 69 74 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 | ...........hit.=.true;.......... |
| 85660 | 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 42 | }........}........if.(hit).{...B |
| 85680 | 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d | ......if.(x_start.<.0).x_start.= |
| 856a0 | 20 30 3b 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 | .0;.if.(x_end.>=.w).x_end.=.w.-. |
| 856c0 | 31 3b 00 00 00 3f 20 20 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 | 1;...?......for.(int.x.=.x_start |
| 856e0 | 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d | ;.x.<=.x_end;.x++).px[y.*.w.+.x] |
| 85700 | 20 3d 20 63 3b 00 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 | .=.c;........}......}....}...... |
| 85720 | 00 23 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 | .#static.void.render(struct.app. |
| 85740 | 2a 61 29 20 7b 00 00 00 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c | *a).{...7..if.(!a->configured.|| |
| 85760 | 20 61 2d 3e 77 20 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b | .a->w.<=.0.||.a->h.<=.0).return; |
| 85780 | 00 00 00 1c 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b | ......if.(!a->buf).alloc_buf(a); |
| 857a0 | 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 | ......uint32_t.*px.=.a->pixels;. |
| 857c0 | 00 00 36 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e | ..6..for(int.i=0;.i.<.a->w.*.a-> |
| 857e0 | 68 3b 20 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 43 4f 4c 4f 52 5f 42 47 3b 00 00 00 00 00 00 00 | h;.i++).px[i].=.COLOR_BG;....... |
| 85800 | 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 | ...time_t.tt.=.time(NULL);...... |
| 85820 | 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 | struct.tm.tmv;......localtime_r( |
| 85840 | 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f | &tt,.&tmv);...#..int.cx.=.a->w./ |
| 85860 | 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 | .2,.cy.=.a->h./.2;.../..int.r.=. |
| 85880 | 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 | (a->w.<.a->h.?.a->w.:.a->h)./.2. |
| 858a0 | 2d 20 31 30 3b 00 00 00 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 | -.10;......if.(r.<.5).r.=.5;.... |
| 858c0 | 00 00 00 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b | ......for.(int.i.=.0;.i.<.60;.i+ |
| 858e0 | 2b 29 20 7b 00 00 00 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e | +).{........double.ang.=.i./.60. |
| 85900 | 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e | 0.*.2.*.M_PI.-.M_PI_2;...1....in |
| 85920 | 74 20 6c 65 6e 20 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 | t.len.=.(i.%.5.==.0).?.r.*.0.12. |
| 85940 | 3a 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 | :.r.*.0.04;...0....double.t_ang. |
| 85960 | 3d 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 | =.(i.%.5.==.0).?.0.012.:.0.005;. |
| 85980 | 00 00 4a 20 20 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 | ..J....fill_tri(px,.a->w,.a->h,. |
| 859a0 | 63 78 20 2b 20 63 6f 73 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 | cx.+.cos(ang-t_ang)*r,.cy.+.sin( |
| 859c0 | 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 | ang-t_ang)*r,...:.............cx |
| 859e0 | 20 2b 20 63 6f 73 28 61 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e | .+.cos(ang+t_ang)*r,.cy.+.sin(an |
| 85a00 | 67 2b 74 5f 61 6e 67 29 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | g+t_ang)*r,...G.............cx.+ |
| 85a20 | 20 63 6f 73 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 | .cos(ang)*(r-len),.cy.+.sin(ang) |
| 85a40 | 2a 28 72 2d 6c 65 6e 29 2c 20 43 4f 4c 4f 52 5f 44 49 41 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 | *(r-len),.COLOR_DIAL);......}... |
| 85a60 | 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 | ....4..double.sa.=.tmv.tm_sec./. |
| 85a80 | 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 | 60.0.*.2.*.M_PI.-.M_PI_2;...J..d |
| 85aa0 | 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f | ouble.ma.=.(tmv.tm_min.+.tmv.tm_ |
| 85ac0 | 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 | sec./.60.0)./.60.0.*.2.*.M_PI.-. |
| 85ae0 | 4d 5f 50 49 5f 32 3b 00 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 | M_PI_2;...T..double.ha.=.((tmv.t |
| 85b00 | 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e | m_hour.%.12).+.(tmv.tm_min./.60. |
| 85b20 | 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 | 0))./.12.0.*.2.*.M_PI.-.M_PI_2;. |
| 85b40 | 00 00 00 00 00 00 5f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 | ......_..fill_tri(px,.a->w,.a->h |
| 85b60 | 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b | ,.cx.+.cos(ha-0.12)*r*HAND_THICK |
| 85b80 | 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 | _H,.cy.+.sin(ha-0.12)*r*HAND_THI |
| 85ba0 | 43 4b 5f 48 2c 20 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 | CK_H,....O...........cx.+.cos(ha |
| 85bc0 | 2b 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 | +0.12)*r*HAND_THICK_H,.cy.+.sin( |
| 85be0 | 68 61 2b 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 00 00 00 4d 20 20 20 | ha+0.12)*r*HAND_THICK_H,....M... |
| 85c00 | 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f | ........cx.+.cos(ha)*r*HAND_LEN_ |
| 85c20 | 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 43 4f | H,.cy.+.sin(ha)*r*HAND_LEN_H,.CO |
| 85c40 | 4c 4f 52 5f 48 4f 55 52 29 3b 00 00 00 5f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e | LOR_HOUR);..._..fill_tri(px,.a-> |
| 85c60 | 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 48 41 4e | w,.a->h,.cx.+.cos(ma-0.08)*r*HAN |
| 85c80 | 44 5f 54 48 49 43 4b 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 48 | D_THICK_M,.cy.+.sin(ma-0.08)*r*H |
| 85ca0 | 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b | AND_THICK_M,....O...........cx.+ |
| 85cc0 | 20 63 6f 73 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 63 79 | .cos(ma+0.08)*r*HAND_THICK_M,.cy |
| 85ce0 | 20 2b 20 73 69 6e 28 6d 61 2b 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 | .+.sin(ma+0.08)*r*HAND_THICK_M,. |
| 85d00 | 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 48 41 | ...L...........cx.+.cos(ma)*r*HA |
| 85d20 | 4e 44 5f 4c 45 4e 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 | ND_LEN_M,.cy.+.sin(ma)*r*HAND_LE |
| 85d40 | 4e 5f 4d 2c 20 43 4f 4c 4f 52 5f 4d 49 4e 29 3b 00 00 00 5e 20 20 66 69 6c 6c 5f 74 72 69 28 70 | N_M,.COLOR_MIN);...^..fill_tri(p |
| 85d60 | 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 30 2e 30 35 29 | x,.a->w,.a->h,.cx.+.cos(sa-0.05) |
| 85d80 | 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2d 30 2e 30 | *r*HAND_THICK_S,.cy.+.sin(sa-0.0 |
| 85da0 | 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 | 5)*r*HAND_THICK_S,...N.......... |
| 85dc0 | 20 63 78 20 2b 20 63 6f 73 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f | .cx.+.cos(sa+0.05)*r*HAND_THICK_ |
| 85de0 | 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 | S,.cy.+.sin(sa+0.05)*r*HAND_THIC |
| 85e00 | 4b 5f 53 2c 00 00 00 4c 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a | K_S,...L...........cx.+.cos(sa)* |
| 85e20 | 72 2a 48 41 4e 44 5f 4c 45 4e 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 48 41 4e | r*HAND_LEN_S,.cy.+.sin(sa)*r*HAN |
| 85e40 | 44 5f 4c 45 4e 5f 53 2c 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 00 00 00 00 31 20 20 69 6e | D_LEN_S,.COLOR_SEC);.......1..in |
| 85e60 | 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 20 69 66 20 28 68 75 62 5f 72 20 3c 20 | t.hub_r.=.r.*.0.04;.if.(hub_r.<. |
| 85e80 | 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 56 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d | 4).hub_r.=.4;...V..for.(int.ir.= |
| 85ea0 | 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 | .0;.ir.<.hub_r.-.2;.ir++).circle |
| 85ec0 | 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 43 4f 4c | (px,.a->w,.a->h,.cx,.cy,.ir,.COL |
| 85ee0 | 4f 52 5f 42 47 29 3b 00 00 00 33 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d | OR_BG);...3..circle(px,.a->w,.a- |
| 85f00 | 3e 68 2c 20 63 78 2c 20 63 79 2c 20 68 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 | >h,.cx,.cy,.hub_r,.COLOR_HUB);.. |
| 85f20 | 00 00 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c | .....)..wl_surface_attach(a->ws, |
| 85f40 | 20 61 2d 3e 62 75 66 2c 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | .a->buf,.0,.0);...4..wl_surface_ |
| 85f60 | 64 61 6d 61 67 65 5f 62 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c | damage_buffer(a->ws,.0,.0,.a->w, |
| 85f80 | 20 61 2d 3e 68 29 3b 00 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 | .a->h);......wl_surface_commit(a |
| 85fa0 | 2d 3e 77 73 29 3b 00 00 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 | ->ws);......a->redraw.=.false;.. |
| 85fc0 | 00 01 7d 00 00 00 00 00 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 | ..}.......Gstatic.void.xt_close( |
| 85fe0 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 | void.*d,.struct.xdg_toplevel.*xt |
| 86000 | 29 20 7b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 | ).{.running.=.0;.}...`static.voi |
| 86020 | 64 20 78 74 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 | d.xt_cfg(void.*d,.struct.xdg_top |
| 86040 | 6c 65 76 65 6c 20 2a 78 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c | level.*xt,.int32_t.w,.int32_t.h, |
| 86060 | 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 | .struct.wl_array.*s).{......stru |
| 86080 | 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 | ct.app.*a.=.d;...3..if.(w.>.0.&& |
| 860a0 | 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e | .h.>.0.&&.(w.!=.a->w.||.h.!=.a-> |
| 860c0 | 68 29 29 20 7b 00 00 00 39 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b | h)).{...9....a->w.=.w;.a->h.=.h; |
| 860e0 | 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 | .destroy_buf(a);.a->redraw.=.tru |
| 86100 | 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 | e;......}....}...Fstatic.void.xs |
| 86120 | 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 | _cfg(void.*d,.struct.xdg_surface |
| 86140 | 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 3b 20 20 73 74 | .*xs,.uint32_t.serial).{...;..st |
| 86160 | 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b | ruct.app.*a.=.d;.xdg_surface_ack |
| 86180 | 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 29 20 20 61 2d 3e | _configure(xs,.serial);...)..a-> |
| 861a0 | 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 | configured.=.true;.a->redraw.=.t |
| 861c0 | 72 75 65 3b 00 00 00 01 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f | rue;....}...`static.void.reg_glo |
| 861e0 | 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 | bal(void.*d,.struct.wl_registry. |
| 86200 | 2a 72 2c 20 75 69 6e 74 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 | *r,.uint32_t.id,.const.char.*i,. |
| 86220 | 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 | uint32_t.v).{......struct.app.*a |
| 86240 | 20 3d 20 64 3b 00 00 00 62 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f | .=.d;...b..if.(!strcmp(i,."wl_co |
| 86260 | 6d 70 6f 73 69 74 6f 72 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | mpositor")).a->comp.=.wl_registr |
| 86280 | 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f 69 6e 74 | y_bind(r,.id,.&wl_compositor_int |
| 862a0 | 65 72 66 61 63 65 2c 20 34 29 3b 00 00 00 58 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d | erface,.4);...X..else.if.(!strcm |
| 862c0 | 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 | p(i,."wl_shm")).a->shm.=.wl_regi |
| 862e0 | 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 | stry_bind(r,.id,.&wl_shm_interfa |
| 86300 | 63 65 2c 20 31 29 3b 00 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c | ce,.1);...'..else.if.(!strcmp(i, |
| 86320 | 20 22 78 64 67 5f 77 6d 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 | ."xdg_wm_base")).{...?....a->wm. |
| 86340 | 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 | =.wl_registry_bind(r,.id,.&xdg_w |
| 86360 | 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 73 74 61 | m_base_interface,.1);...C....sta |
| 86380 | 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 73 65 5f 6c 69 73 | tic.const.struct.xdg_wm_base_lis |
| 863a0 | 74 65 6e 65 72 20 6c 20 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b | tener.l.=.{.ping.=.wm_ping};...+ |
| 863c0 | 20 20 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 61 2d 3e | ....xdg_wm_base_add_listener(a-> |
| 863e0 | 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 | wm,.&l,.a);......}....}........i |
| 86400 | 6e 74 20 6d 61 69 6e 28 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 73 74 72 75 63 74 20 61 70 70 20 | nt.main(void).{...+..struct.app. |
| 86420 | 61 20 3d 20 7b 30 7d 3b 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 | a.=.{0};.a.w.=.400;.a.h.=.400;.. |
| 86440 | 00 19 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 | ....signal(SIGINT,.on_sig);...!. |
| 86460 | 20 61 2e 64 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 | .a.d.=.wl_display_connect(NULL); |
| 86480 | 00 00 00 15 20 20 69 66 20 28 21 61 2e 64 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 | ......if.(!a.d).return.1;...'..a |
| 864a0 | 2e 72 65 67 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 61 | .reg.=.wl_display_get_registry(a |
| 864c0 | 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c | .d);...G..static.const.struct.wl |
| 864e0 | 5f 72 65 67 69 73 74 72 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c | _registry_listener.rl.=.{.global |
| 86500 | 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 | .=.reg_global};...+..wl_registry |
| 86520 | 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 | _add_listener(a.reg,.&rl,.&a);.. |
| 86540 | 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 | ....wl_display_roundtrip(a.d);.. |
| 86560 | 00 2b 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e | .+..if.(!a.comp.||.!a.shm.||.!a. |
| 86580 | 77 6d 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d | wm).return.1;......a.ws.=.wl_com |
| 865a0 | 70 6f 73 69 74 6f 72 5f 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 | positor_create_surface(a.comp);. |
| 865c0 | 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f | ..1..a.xs.=.xdg_wm_base_get_xdg_ |
| 865e0 | 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 | surface(a.wm,.a.ws);...G..static |
| 86600 | 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 74 65 6e | .const.struct.xdg_surface_listen |
| 86620 | 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 | er.xsl.=.{.configure.=.xs_cfg};. |
| 86640 | 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e | ..+..xdg_surface_add_listener(a. |
| 86660 | 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 | xs,.&xsl,.&a);...(..a.xt.=.xdg_s |
| 86680 | 75 72 66 61 63 65 5f 67 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 5b 20 20 | urface_get_toplevel(a.xs);...[.. |
| 866a0 | 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 65 6c | static.const.struct.xdg_toplevel |
| 866c0 | 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 | _listener.xtl.=.{.configure.=.xt |
| 866e0 | 5f 63 66 67 2c 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 | _cfg,..close.=.xt_close};...,..x |
| 86700 | 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 | dg_toplevel_add_listener(a.xt,.& |
| 86720 | 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 74 5f | xtl,.&a);...*..xdg_toplevel_set_ |
| 86740 | 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f | title(a.xt,."wlclock");......wl_ |
| 86760 | 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 31 20 20 77 68 69 6c 65 | surface_commit(a.ws);...1..while |
| 86780 | 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 | .(!a.configured).wl_display_disp |
| 867a0 | 61 74 63 68 28 61 2e 64 29 3b 00 00 00 02 20 20 00 00 00 32 20 20 70 75 74 73 28 22 77 61 79 6c | atch(a.d);.........2..puts("wayl |
| 867c0 | 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 | and.surface.successfully.configu |
| 867e0 | 72 65 64 22 29 3b 00 00 00 02 20 20 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 | red");............render(&a);... |
| 86800 | 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 | 9..int.tfd.=.timerfd_create(CLOC |
| 86820 | 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 | K_MONOTONIC,.TFD_CLOEXEC);...F.. |
| 86840 | 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 | timerfd_settime(tfd,.0,.&(struct |
| 86860 | 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 | .itimerspec){{1,.0},.{1,.0}},.NU |
| 86880 | 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 | LL);......char.buffer[100];..... |
| 868a0 | 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 4f 20 20 20 20 77 68 69 6c 65 20 | .while.(running).{...O....while. |
| 868c0 | 28 77 6c 5f 64 69 73 70 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d | (wl_display_prepare_read(a.d).!= |
| 868e0 | 20 30 29 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 | .0).wl_display_dispatch_pending( |
| 86900 | 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e | a.d);........wl_display_flush(a. |
| 86920 | 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 | d);...M....struct.pollfd.fds[2]. |
| 86940 | 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c | =.{{wl_display_get_fd(a.d),.POLL |
| 86960 | 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 48 20 20 20 20 69 66 20 28 | IN},.{tfd,.POLLIN}};...H....if.( |
| 86980 | 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 20 77 6c 5f 64 69 73 70 6c | poll(fds,.2,.-1).<.0).{.wl_displ |
| 869a0 | 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d | ay_cancel_read(a.d);.continue;.} |
| 869c0 | 00 00 00 5f 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c | ..._....if.(fds[0].revents.&.POL |
| 869e0 | 4c 49 4e 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 | LIN).wl_display_read_events(a.d) |
| 86a00 | 3b 20 65 6c 73 65 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e | ;.else.wl_display_cancel_read(a. |
| 86a20 | 64 29 3b 00 00 00 25 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 | d);...%....wl_display_dispatch_p |
| 86a40 | 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 | ending(a.d);..."....if.(fds[1].r |
| 86a60 | 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 37 20 20 20 20 20 20 75 69 6e 74 | events.&.POLLIN).{...7......uint |
| 86a80 | 36 34 5f 74 20 74 5f 65 78 70 3b 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 | 64_t.t_exp;.read(tfd,.&t_exp,.si |
| 86aa0 | 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c | zeof(t_exp));..........time_t.cl |
| 86ac0 | 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 | i.=.time(NULL);...,......struct. |
| 86ae0 | 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 | tm.*t_struct.=.localtime(&cli);. |
| 86b00 | 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 | ..I......strftime(buffer,.sizeof |
| 86b20 | 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 | (buffer),."%d-%m-%Y.%I:%M:%S.%p" |
| 86b40 | 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 35 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 | ,.t_struct);...5......printf("\r |
| 86b60 | 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 20 66 66 6c 75 73 68 28 73 74 64 | Time.is.%s",.buffer);.fflush(std |
| 86b80 | 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 | out);..........a.redraw.=.true;. |
| 86ba0 | 00 00 05 20 20 20 20 7d 00 00 00 1d 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 20 72 65 | .......}........if.(a.redraw).re |
| 86bc0 | 6e 64 65 72 28 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 48 20 20 70 72 69 6e 74 66 28 22 5c 6e | nder(&a);......}...H..printf("\n |
| 86be0 | 22 29 3b 20 63 6c 6f 73 65 28 74 66 64 29 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b | ");.close(tfd);.destroy_buf(&a); |
| 86c00 | 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 35 81 f5 18 | .wl_display_disconnect(a.d);5... |
| 86c20 | 00 00 00 00 12 00 00 00 11 00 00 00 e0 00 00 00 2c 00 00 00 2a 01 00 00 01 00 00 00 96 01 00 00 | ................,...*........... |
| 86c40 | 00 00 00 00 0f 22 00 00 00 00 00 00 4b 24 00 00 00 00 00 00 35 81 5f d0 00 00 00 b7 00 00 00 b9 | ....."......K$......5._......... |
| 86c60 | 00 00 00 00 00 00 00 00 00 00 00 b8 00 00 00 13 00 00 00 1d 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 86c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1d 00 00 | ................................ |
| 86dc0 | 00 00 00 00 00 18 00 00 00 1d 00 00 00 00 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac 70 04 01 | ..........................i..p.. |
| 86de0 | 00 00 00 00 00 f5 18 00 00 00 12 00 00 00 19 00 00 01 3f 00 00 00 06 00 00 00 31 23 64 65 66 69 | ..................?.......1#defi |
| 86e00 | 6e 65 20 43 4f 4c 4f 52 5f 42 47 20 30 78 46 46 31 41 31 41 31 41 20 20 20 2f 2a 20 44 61 72 6b | ne.COLOR_BG.0xFF1A1A1A.../*.Dark |
| 86e20 | 20 43 68 61 72 63 6f 61 6c 20 2a 2f 00 00 00 2f 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 44 49 | .Charcoal.*/.../#define.COLOR_DI |
| 86e40 | 41 4c 20 30 78 46 46 46 46 46 46 46 46 20 2f 2a 20 57 68 69 74 65 20 54 69 63 6b 73 20 2a 2f 00 | AL.0xFFFFFFFF./*.White.Ticks.*/. |
| 86e60 | 00 00 2d 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f 55 52 20 30 78 46 46 45 45 45 45 45 45 | ..-#define.COLOR_HOUR.0xFFEEEEEE |
| 86e80 | 20 2f 2a 20 4f 66 66 2d 77 68 69 74 65 20 2a 2f 00 00 00 2e 23 64 65 66 69 6e 65 20 43 4f 4c 4f | ./*.Off-white.*/....#define.COLO |
| 86ea0 | 52 5f 4d 49 4e 20 30 78 46 46 43 43 43 43 43 43 20 20 2f 2a 20 4c 69 67 68 74 20 47 72 65 79 20 | R_MIN.0xFFCCCCCC../*.Light.Grey. |
| 86ec0 | 2a 2f 00 00 00 2e 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 53 45 43 20 30 78 46 46 46 46 30 30 | */....#define.COLOR_SEC.0xFFFF00 |
| 86ee0 | 30 30 20 20 2f 2a 20 42 72 69 67 68 74 20 52 65 64 20 2a 2f 00 00 00 30 23 64 65 66 69 6e 65 20 | 00../*.Bright.Red.*/...0#define. |
| 86f00 | 43 4f 4c 4f 52 5f 48 55 42 20 30 78 46 46 34 34 34 34 34 34 20 20 2f 2a 20 48 75 62 20 43 61 70 | COLOR_HUB.0xFF444444../*.Hub.Cap |
| 86f20 | 20 47 72 65 79 20 2a 2f 35 81 f5 18 00 00 00 00 12 00 00 00 1d 00 00 00 00 00 00 00 14 00 00 00 | .Grey.*/5....................... |
| 86f40 | 00 00 00 00 00 00 00 00 a2 01 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86f60 | f5 18 00 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 c0 01 | ................................ |
| 86f80 | 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 14 00 00 00 | ................................ |
| 86fa0 | 1d 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 de 01 00 00 00 00 00 00 10 00 00 00 | ................................ |
| 86fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 15 00 00 00 1d 00 00 00 00 00 00 00 11 00 | ................................ |
| 86fe0 | 00 00 00 00 00 00 00 00 00 00 fc 01 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87000 | 00 00 f5 18 00 00 00 00 16 00 00 00 1d 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87020 | 1a 02 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 17 00 | ................................ |
| 87040 | 00 00 1d 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00 38 02 00 00 00 00 00 00 13 00 | ......................8......... |
| 87060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 b8 00 00 00 ba 00 00 00 00 00 00 | ..............5._............... |
| 87080 | 00 00 00 00 00 b9 00 00 00 13 00 00 00 1b 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 | ................................ |
| 870a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 870c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 870e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 871a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 871c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 18 | ................................ |
| 871e0 | 00 00 00 1d 00 00 00 00 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac 72 04 01 00 00 00 00 00 f5 | ....................i..r........ |
| 87200 | 18 00 00 00 12 00 00 00 14 00 00 01 3f 00 00 00 01 00 00 00 1d 23 64 65 66 69 6e 65 20 43 4f 4c | ............?........#define.COL |
| 87220 | 4f 52 5f 42 47 20 30 78 46 46 31 41 31 41 31 41 20 20 35 81 f5 18 00 00 00 00 12 00 00 00 1b 00 | OR_BG.0xFF1A1A1A..5............. |
| 87240 | 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 a0 01 00 00 00 00 00 00 02 00 00 00 00 00 | ................................ |
| 87260 | 00 00 00 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 b9 00 00 00 bb 00 00 00 00 00 00 00 00 00 00 | ..........5._................... |
| 87280 | 00 ba 00 00 00 16 00 00 00 1c 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 872a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 872c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 872e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 873a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 873c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 18 00 00 00 1d | ................................ |
| 873e0 | 00 00 00 00 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac 74 04 01 00 00 00 00 00 f5 18 00 00 00 | ................i..t............ |
| 87400 | 15 00 00 00 17 00 00 01 3f 00 00 00 01 00 00 00 1d 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 4d | ........?........#define.COLOR_M |
| 87420 | 49 4e 20 30 78 46 46 43 43 43 43 43 43 20 35 81 f5 18 00 00 00 00 15 00 00 00 1c 00 00 00 00 00 | IN.0xFFCCCCCC.5................. |
| 87440 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 f9 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 | ................................ |
| 87460 | 00 00 00 00 00 00 35 81 5f d0 00 00 00 ba 00 00 00 bc 00 00 00 00 00 00 00 00 00 00 00 bb 00 00 | ......5._....................... |
| 87480 | 00 17 00 00 00 1c 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 | ................................ |
| 874a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 874c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 874e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 875a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 875c0 | 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 18 00 00 00 1d 00 00 00 00 | ................................ |
| 875e0 | 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac 75 04 01 00 00 00 00 00 f5 18 00 00 00 16 00 00 00 | ............i..u................ |
| 87600 | 18 00 00 01 3f 00 00 00 01 00 00 00 1d 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 53 45 43 20 30 | ....?........#define.COLOR_SEC.0 |
| 87620 | 78 46 46 46 46 30 30 30 30 20 35 81 f5 18 00 00 00 00 16 00 00 00 1c 00 00 00 00 00 00 00 01 00 | xFFFF0000.5..................... |
| 87640 | 00 00 00 00 00 00 00 00 00 00 16 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87660 | 00 00 35 81 5f d0 00 00 00 bb 00 00 00 bd 00 00 00 00 00 00 00 00 00 00 00 bc 00 00 00 18 00 00 | ..5._........................... |
| 87680 | 00 1c 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 00 00 | ................................ |
| 876a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 876c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 876e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 877a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 877c0 | 00 00 00 00 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 18 00 00 00 1d 00 00 00 00 00 00 00 16 | ................................ |
| 877e0 | 7f ff ff ff 00 00 00 00 69 9d ac 75 04 01 00 00 00 00 00 f5 18 00 00 00 17 00 00 00 19 00 00 01 | ........i..u.................... |
| 87800 | 3f 00 00 00 01 00 00 00 1d 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 55 42 20 30 78 46 46 34 | ?........#define.COLOR_HUB.0xFF4 |
| 87820 | 34 34 34 34 34 20 35 81 f5 18 00 00 00 00 17 00 00 00 1c 00 00 00 00 00 00 00 01 00 00 00 00 00 | 44444.5......................... |
| 87840 | 00 00 00 00 00 00 33 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 81 | ......3.......................5. |
| 87860 | 5f d0 00 00 00 bc 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 bd 00 00 00 01 00 00 00 19 00 00 | _............................... |
| 87880 | 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 00 00 00 00 00 00 | ................................ |
| 878a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 878c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 878e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 87980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 879a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 879c0 | 00 00 00 13 00 00 00 1d 00 00 00 00 00 00 00 18 00 00 00 1d 00 00 00 00 00 00 00 16 7f ff ff ff | ................................ |
| 879e0 | 00 00 00 00 69 9d ac 7a 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 | ....i..z........................ |
| 87a00 | 3f 00 00 00 1f 23 64 65 66 69 6e 65 20 5f 50 4f 53 49 58 5f 43 5f 53 4f 55 52 43 45 20 32 30 30 | ?....#define._POSIX_C_SOURCE.200 |
| 87a20 | 38 30 39 4c 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 65 | 809L...&#include."xdg-shell-clie |
| 87a40 | 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 12 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 | nt-protocol.h"....#include.<fcnt |
| 87a60 | 6c 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 00 00 00 11 23 69 6e | l.h>....#include.<math.h>....#in |
| 87a80 | 63 6c 75 64 65 20 3c 70 6f 6c 6c 2e 68 3e 00 00 00 13 23 69 6e 63 6c 75 64 65 20 3c 73 69 67 6e | clude.<poll.h>....#include.<sign |
| 87aa0 | 61 6c 2e 68 3e 00 00 00 14 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 62 6f 6f 6c 2e 68 3e 00 00 00 | al.h>....#include.<stdbool.h>... |
| 87ac0 | 13 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 00 00 00 12 23 69 6e 63 6c 75 64 65 | .#include.<stdint.h>....#include |
| 87ae0 | 20 3c 73 74 64 69 6f 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 | .<stdio.h>....#include.<stdlib.h |
| 87b00 | 3e 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 15 23 69 6e 63 | >....#include.<string.h>....#inc |
| 87b20 | 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e 00 00 00 18 23 69 6e 63 6c 75 64 65 20 3c 73 | lude.<sys/mman.h>....#include.<s |
| 87b40 | 79 73 2f 74 69 6d 65 72 66 64 2e 68 3e 00 00 00 11 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65 2e | ys/timerfd.h>....#include.<time. |
| 87b60 | 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 1b 23 69 6e | h>....#include.<unistd.h>....#in |
| 87b80 | 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 00 00 00 00 00 00 1c | clude.<wayland-client.h>........ |
| 87ba0 | 2f 2a 20 2d 2d 2d 20 54 48 45 4d 45 20 53 45 54 54 49 4e 47 53 20 2d 2d 2d 20 2a 2f 00 00 00 1b | /*.---.THEME.SETTINGS.---.*/.... |
| 87bc0 | 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 42 47 20 30 78 46 46 31 41 31 41 31 41 00 00 00 1d 23 | #define.COLOR_BG.0xFF1A1A1A....# |
| 87be0 | 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 44 49 41 4c 20 30 78 46 46 46 46 46 46 46 46 00 00 00 1d | define.COLOR_DIAL.0xFFFFFFFF.... |
| 87c00 | 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f 55 52 20 30 78 46 46 45 45 45 45 45 45 00 00 00 | #define.COLOR_HOUR.0xFFEEEEEE... |
| 87c20 | 1c 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 4d 49 4e 20 30 78 46 46 43 43 43 43 43 43 00 00 00 | .#define.COLOR_MIN.0xFFCCCCCC... |
| 87c40 | 1c 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 53 45 43 20 30 78 46 46 46 46 30 30 30 30 00 00 00 | .#define.COLOR_SEC.0xFFFF0000... |
| 87c60 | 1c 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 55 42 20 30 78 46 46 34 34 34 34 34 34 00 00 00 | .#define.COLOR_HUB.0xFF444444... |
| 87c80 | 00 00 00 00 3b 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 20 30 2e 30 35 20 20 | ....;#define.HAND_THICK_H.0.05.. |
| 87ca0 | 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f | /*.Hour.hand.thickness.factor.*/ |
| 87cc0 | 00 00 00 3d 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 20 30 2e 30 33 35 20 2f | ...=#define.HAND_THICK_M.0.035./ |
| 87ce0 | 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a | *.Minute.hand.thickness.factor.* |
| 87d00 | 2f 00 00 00 3d 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 20 30 2e 30 34 20 20 | /...=#define.HAND_THICK_S.0.04.. |
| 87d20 | 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 | /*.Second.hand.thickness.factor. |
| 87d40 | 2a 2f 00 00 00 00 00 00 00 43 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 48 20 30 2e 35 | */.......C#define.HAND_LEN_H.0.5 |
| 87d60 | 35 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 28 66 72 61 63 74 69 6f 6e 20 | 5./*.Hour.hand.length.(fraction. |
| 87d80 | 6f 66 20 72 61 64 69 75 73 29 20 2a 2f 00 00 00 30 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 | of.radius).*/...0#define.HAND_LE |
| 87da0 | 4e 5f 4d 20 30 2e 38 30 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a | N_M.0.80./*.Minute.hand.length.* |
| 87dc0 | 2f 00 00 00 30 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 53 20 30 2e 38 30 20 2f 2a 20 | /...0#define.HAND_LEN_S.0.80./*. |
| 87de0 | 53 65 63 6f 6e 64 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 1c 2f 2a 20 2d 2d 2d 2d | Second.hand.length.*/..../*.---- |
| 87e00 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 00 00 00 00 0c 23 69 66 | ------------------.*/........#if |
| 87e20 | 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 | ndef.M_PI...##define.M_PI.3.1415 |
| 87e40 | 39 32 36 35 33 35 38 39 37 39 33 32 33 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 | 9265358979323846....#endif....#i |
| 87e60 | 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 | fndef.M_PI_2...%#define.M_PI_2.1 |
| 87e80 | 2e 35 37 30 37 39 36 33 32 36 37 39 34 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 | .57079632679489661923....#endif. |
| 87ea0 | 00 00 00 00 00 00 29 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 | ......)static.volatile.sig_atomi |
| 87ec0 | 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d 20 31 3b 00 00 00 1b 73 74 61 74 69 63 20 76 6f 69 64 20 | c_t.running.=.1;....static.void. |
| 87ee0 | 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 20 7b 00 00 00 0a 20 20 28 76 6f 69 64 29 73 3b 00 00 00 | on_sig(int.s).{......(void)s;... |
| 87f00 | 0e 20 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 0c 73 74 72 75 | ...running.=.0;....}........stru |
| 87f20 | 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 73 70 6c 61 79 20 | ct.app.{......struct.wl_display. |
| 87f40 | 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 20 2a 72 65 67 | *d;......struct.wl_registry.*reg |
| 87f60 | 3b 00 00 00 1d 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 | ;......struct.wl_compositor.*com |
| 87f80 | 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d 3b 00 00 00 19 20 | p;......struct.wl_shm.*shm;..... |
| 87fa0 | 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 00 18 20 20 73 74 | .struct.xdg_wm_base.*wm;......st |
| 87fc0 | 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 73 74 72 75 63 74 | ruct.wl_surface.*ws;......struct |
| 87fe0 | 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 78 64 | .xdg_surface.*xs;......struct.xd |
| 88000 | 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 2a 70 69 78 65 6c | g_toplevel.*xt;......void.*pixel |
| 88020 | 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a 62 75 66 3b 00 00 | s;......struct.wl_buffer.*buf;.. |
| 88040 | 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c 20 62 68 3b 00 00 | ....int.w,.h;......int.bw,.bh;.. |
| 88060 | 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 62 6f 6f 6c 20 72 | ....bool.configured;......bool.r |
| 88080 | 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 | edraw;....};.......Jstatic.void. |
| 880a0 | 77 6d 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 78 64 67 5f 77 | wm_ping(void.*data,.struct.xdg_w |
| 880c0 | 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 | m_base.*wm,.uint32_t.serial).{.. |
| 880e0 | 00 1f 20 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c 29 | ....xdg_wm_base_pong(wm,.serial) |
| 88100 | 3b 00 00 00 01 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f | ;....}.......$static.int.create_ |
| 88120 | 73 68 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d | shm(size_t.size).{...#..char.t[] |
| 88140 | 20 3d 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 | .=."/tmp/wlclock-XXXXXX";......i |
| 88160 | 6e 74 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 0d 20 20 69 66 20 28 66 64 20 | nt.fd.=.mkstemp(t);......if.(fd. |
| 88180 | 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b | <.0)........exit(1);......unlink |
| 881a0 | 28 74 29 3b 00 00 00 1e 20 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 | (t);......if.(ftruncate(fd,.size |
| 881c0 | 29 20 3c 20 30 29 00 00 00 0c 20 20 20 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 | ).<.0)........exit(1);......retu |
| 881e0 | 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 | rn.fd;....}.......(static.void.d |
| 88200 | 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 0e 20 | estroy_buf(struct.app.*a).{..... |
| 88220 | 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e 3b 00 00 00 2a | .if.(!a->buf)........return;...* |
| 88240 | 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 62 77 20 2a 20 | ..size_t.size.=.(size_t)a->bw.*. |
| 88260 | 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 65 72 5f 64 65 73 74 72 6f | a->bh.*.4;......wl_buffer_destro |
| 88280 | 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 61 2d 3e 70 69 78 65 6c 73 | y(a->buf);......munmap(a->pixels |
| 882a0 | 2c 20 73 69 7a 65 29 3b 00 00 00 10 20 20 61 2d 3e 62 75 66 20 3d 20 4e 55 4c 4c 3b 00 00 00 13 | ,.size);......a->buf.=.NULL;.... |
| 882c0 | 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 00 00 00 26 | ..a->pixels.=.NULL;....}.......& |
| 882e0 | 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 20 61 70 70 | static.void.alloc_buf(struct.app |
| 88300 | 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 28 20 | .*a).{......destroy_buf(a);...(. |
| 88320 | 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 2a 20 61 2d | .size_t.size.=.(size_t)a->w.*.a- |
| 88340 | 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 5f 73 68 6d | >h.*.4;......int.fd.=.create_shm |
| 88360 | 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 70 28 4e 55 | (size);...J..a->pixels.=.mmap(NU |
| 88380 | 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 52 49 54 45 | LL,.size,.PROT_READ.|.PROT_WRITE |
| 883a0 | 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 1e 20 20 69 66 20 28 61 | ,.MAP_SHARED,.fd,.0);......if.(a |
| 883c0 | 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 00 00 00 0c 20 20 20 20 65 | ->pixels.==.MAP_FAILED)........e |
| 883e0 | 78 69 74 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 | xit(1);...B..struct.wl_shm_pool. |
| 88400 | 2a 70 6f 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 | *pool.=.wl_shm_create_pool(a->sh |
| 88420 | 6d 2c 20 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 43 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 | m,.fd,.size);...C..a->buf.=.wl_s |
| 88440 | 68 6d 5f 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 | hm_pool_create_buffer(pool,.0,.a |
| 88460 | 2d 3e 77 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 00 00 00 3d 20 20 20 20 20 20 20 20 | ->w,.a->h,.a->w.*.4,...=........ |
| 88480 | 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 57 4c 5f | .............................WL_ |
| 884a0 | 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 | SHM_FORMAT_ARGB8888);......wl_sh |
| 884c0 | 6d 5f 70 6f 6f 6c 5f 64 65 73 74 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 | m_pool_destroy(pool);......close |
| 884e0 | 28 66 64 29 3b 00 00 00 0f 20 20 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 00 00 00 0f 20 20 61 2d | (fd);......a->bw.=.a->w;......a- |
| 88500 | 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d 00 00 00 00 00 00 00 45 73 74 61 74 69 63 20 76 | >bh.=.a->h;....}.......Estatic.v |
| 88520 | 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 | oid.circle(uint32_t.*px,.int.w,. |
| 88540 | 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 00 00 00 | int.h,.int.cx,.int.cy,.int.r,... |
| 88560 | 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 32 5f 74 20 63 29 20 | ....................uint32_t.c). |
| 88580 | 7b 00 00 00 22 20 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d | {..."..int.x.=.0,.y.=.r,.d.=.3.- |
| 885a0 | 20 32 20 2a 20 72 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 | .2.*.r;......while.(y.>=.x).{... |
| 885c0 | 48 20 20 20 20 69 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 | H....int.p[8][2].=.{{cx.+.x,.cy. |
| 885e0 | 2b 20 79 7d 2c 20 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c | +.y},.{cx.-.x,.cy.+.y},.{cx.+.x, |
| 88600 | 20 63 79 20 2d 20 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .cy.-.y},...H................... |
| 88620 | 7b 63 78 20 2d 20 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 | {cx.-.x,.cy.-.y},.{cx.+.y,.cy.+. |
| 88640 | 78 7d 2c 20 7b 63 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 | x},.{cx.-.y,.cy.+.x},...7....... |
| 88660 | 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 | ............{cx.+.y,.cy.-.x},.{c |
| 88680 | 78 20 2d 20 79 2c 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 | x.-.y,.cy.-.x}};........for.(int |
| 886a0 | 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 | .i.=.0;.i.<.8;.i++)...E......if. |
| 886c0 | 28 70 5b 69 5d 5b 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 | (p[i][0].>=.0.&&.p[i][0].<.w.&&. |
| 886e0 | 70 5b 69 5d 5b 31 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 | p[i][1].>=.0.&&.p[i][1].<.h)...& |
| 88700 | 20 20 20 20 20 20 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d | ........px[p[i][1].*.w.+.p[i][0] |
| 88720 | 5d 20 3d 20 63 3b 00 00 00 10 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 00 00 00 1c 20 20 | ].=.c;........if.(d.>.0).{...... |
| 88740 | 20 20 20 20 64 20 2b 3d 20 34 20 2a 20 28 78 20 2d 20 79 29 20 2b 20 31 30 3b 00 00 00 0a 20 20 | ....d.+=.4.*.(x.-.y).+.10;...... |
| 88760 | 20 20 20 20 79 2d 2d 3b 00 00 00 0a 20 20 20 20 7d 20 65 6c 73 65 00 00 00 15 20 20 20 20 20 20 | ....y--;........}.else.......... |
| 88780 | 64 20 2b 3d 20 34 20 2a 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 | d.+=.4.*.x.+.6;........x++;..... |
| 887a0 | 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 50 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f | .}....}.......Pstatic.void.fill_ |
| 887c0 | 74 72 69 28 75 69 6e 74 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 | tri(uint32_t.*px,.int.w,.int.h,. |
| 887e0 | 69 6e 74 20 78 30 2c 20 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 00 | int.x0,.int.y0,.int.x1,.int.y1,. |
| 88800 | 00 00 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 78 32 2c 20 | ..2.....................int.x2,. |
| 88820 | 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d | int.y2,.uint32_t.c).{...B..int.m |
| 88840 | 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a | in_y.=.y0.<.y1.?.(y0.<.y2.?.y0.: |
| 88860 | 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 | .y2).:.(y1.<.y2.?.y1.:.y2);...B. |
| 88880 | 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 | .int.max_y.=.y0.>.y1.?.(y0.>.y2. |
| 888a0 | 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 | ?.y0.:.y2).:.(y1.>.y2.?.y1.:.y2) |
| 888c0 | 3b 00 00 00 10 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 00 00 00 0e 20 20 20 20 6d 69 6e | ;......if.(min_y.<.0)........min |
| 888e0 | 5f 79 20 3d 20 30 3b 00 00 00 11 20 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 00 00 00 12 | _y.=.0;......if.(max_y.>=.h).... |
| 88900 | 20 20 20 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 00 00 28 20 20 66 6f 72 20 28 69 6e 74 | ....max_y.=.h.-.1;...(..for.(int |
| 88920 | 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 | .y.=.min_y;.y.<=.max_y;.y++).{.. |
| 88940 | 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 | ......int.x_start.=.w,.x_end.=.0 |
| 88960 | 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 | ;...3....int.xs[3].=.{x0,.x1,.x2 |
| 88980 | 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c 20 79 32 7d 3b 00 00 00 15 20 20 20 20 | },.ys[3].=.{y0,.y1,.y2};........ |
| 889a0 | 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 00 21 20 20 20 20 66 6f 72 20 28 69 6e | bool.hit.=.false;...!....for.(in |
| 889c0 | 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b 29 20 7b 00 00 00 1a 20 20 20 20 20 20 | t.i.=.0;.i.<.3;.i++).{.......... |
| 889e0 | 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 3b 00 00 00 43 20 20 20 20 20 20 69 66 | int.j.=.(i.+.1).%.3;...C......if |
| 88a00 | 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 | .((ys[i].<=.y.&&.ys[j].>.y).||.( |
| 88a20 | 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d 20 3e 20 79 29 29 20 7b 00 00 00 48 20 | ys[j].<=.y.&&.ys[i].>.y)).{...H. |
| 88a40 | 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 | .......int.x.=.xs[i].+.(y.-.ys[i |
| 88a60 | 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 | ]).*.(xs[j].-.xs[i])./.(ys[j].-. |
| 88a80 | 79 73 5b 69 5d 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3c 20 78 5f 73 74 61 | ys[i]);............if.(x.<.x_sta |
| 88aa0 | 72 74 29 00 00 00 16 20 20 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 00 00 00 | rt)..............x_start.=.x;... |
| 88ac0 | 16 20 20 20 20 20 20 20 20 69 66 20 28 78 20 3e 20 78 5f 65 6e 64 29 00 00 00 14 20 20 20 20 20 | .........if.(x.>.x_end)......... |
| 88ae0 | 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 20 20 20 68 69 74 20 3d | .....x_end.=.x;............hit.= |
| 88b00 | 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 20 7d 00 00 00 0e 20 20 | .true;..........}........}...... |
| 88b20 | 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 16 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 | ..if.(hit).{..........if.(x_star |
| 88b40 | 74 20 3c 20 30 29 00 00 00 14 20 20 20 20 20 20 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 | t.<.0)............x_start.=.0;.. |
| 88b60 | 00 15 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e 64 20 3e 3d 20 77 29 00 00 00 16 20 20 20 20 20 | ........if.(x_end.>=.w)......... |
| 88b80 | 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 2c 20 20 20 20 20 20 66 6f 72 20 28 | ...x_end.=.w.-.1;...,......for.( |
| 88ba0 | 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b | int.x.=.x_start;.x.<=.x_end;.x++ |
| 88bc0 | 29 00 00 00 1a 20 20 20 20 20 20 20 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 | )............px[y.*.w.+.x].=.c;. |
| 88be0 | 00 00 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 | .......}......}....}.......#stat |
| 88c00 | 69 63 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 | ic.void.render(struct.app.*a).{. |
| 88c20 | 00 00 2f 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 | ../..if.(!a->configured.||.a->w. |
| 88c40 | 3c 3d 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 00 00 00 0b 20 20 20 20 72 65 74 75 72 6e | <=.0.||.a->h.<=.0)........return |
| 88c60 | 3b 00 00 00 0e 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 00 00 00 11 20 20 20 20 61 6c 6c 6f 63 | ;......if.(!a->buf)........alloc |
| 88c80 | 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e | _buf(a);......uint32_t.*px.=.a-> |
| 88ca0 | 70 69 78 65 6c 73 3b 00 00 00 27 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c | pixels;...'..for.(int.i.=.0;.i.< |
| 88cc0 | 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 00 00 00 15 20 20 20 20 70 78 5b 69 5d 20 | .a->w.*.a->h;.i++)........px[i]. |
| 88ce0 | 3d 20 43 4f 4c 4f 52 5f 42 47 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f 74 20 74 74 20 3d | =.COLOR_BG;..........time_t.tt.= |
| 88d00 | 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 6d 20 74 6d 76 3b | .time(NULL);......struct.tm.tmv; |
| 88d20 | 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d 76 29 3b 00 00 00 | ......localtime_r(&tt,.&tmv);... |
| 88d40 | 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d 20 61 2d 3e 68 20 | #..int.cx.=.a->w./.2,.cy.=.a->h. |
| 88d60 | 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 61 2d 3e 68 20 3f | /.2;.../..int.r.=.(a->w.<.a->h.? |
| 88d80 | 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 0c 20 20 69 66 20 | .a->w.:.a->h)./.2.-.10;......if. |
| 88da0 | 28 72 20 3c 20 35 29 00 00 00 0a 20 20 20 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 66 | (r.<.5)........r.=.5;..........f |
| 88dc0 | 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 | or.(int.i.=.0;.i.<.60;.i++).{... |
| 88de0 | 2e 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a | .....double.ang.=.i./.60.0.*.2.* |
| 88e00 | 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d | .M_PI.-.M_PI_2;...1....int.len.= |
| 88e20 | 20 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 | .(i.%.5.==.0).?.r.*.0.12.:.r.*.0 |
| 88e40 | 2e 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 | .04;...0....double.t_ang.=.(i.%. |
| 88e60 | 35 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 37 20 20 20 20 | 5.==.0).?.0.012.:.0.005;...7.... |
| 88e80 | 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f | fill_tri(px,.a->w,.a->h,.cx.+.co |
| 88ea0 | 73 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 20 20 20 20 20 20 | s(ang.-.t_ang).*.r,...B......... |
| 88ec0 | 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2d 20 74 5f 61 6e 67 29 20 2a 20 72 2c 20 63 | ....cy.+.sin(ang.-.t_ang).*.r,.c |
| 88ee0 | 78 20 2b 20 63 6f 73 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 2a 20 72 2c 00 00 00 42 20 20 20 | x.+.cos(ang.+.t_ang).*.r,...B... |
| 88f00 | 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 20 2b 20 74 5f 61 6e 67 29 20 | ..........cy.+.sin(ang.+.t_ang). |
| 88f20 | 2a 20 72 2c 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 29 20 2a 20 28 72 20 2d 20 6c 65 6e 29 2c 00 | *.r,.cx.+.cos(ang).*.(r.-.len),. |
| 88f40 | 00 00 34 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 20 2a 20 | ..4.............cy.+.sin(ang).*. |
| 88f60 | 28 72 20 2d 20 6c 65 6e 29 2c 20 43 4f 4c 4f 52 5f 44 49 41 4c 29 3b 00 00 00 03 20 20 7d 00 00 | (r.-.len),.COLOR_DIAL);......}.. |
| 88f80 | 00 00 00 00 00 34 20 20 64 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f | .....4..double.sa.=.tmv.tm_sec./ |
| 88fa0 | 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 | .60.0.*.2.*.M_PI.-.M_PI_2;...J.. |
| 88fc0 | 64 6f 75 62 6c 65 20 6d 61 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d | double.ma.=.(tmv.tm_min.+.tmv.tm |
| 88fe0 | 5f 73 65 63 20 2f 20 36 30 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d | _sec./.60.0)./.60.0.*.2.*.M_PI.- |
| 89000 | 20 4d 5f 50 49 5f 32 3b 00 00 00 0d 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 00 00 00 4c 20 20 20 | .M_PI_2;......double.ha.=...L... |
| 89020 | 20 20 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d | ...((tmv.tm_hour.%.12).+.(tmv.tm |
| 89040 | 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 | _min./.60.0))./.12.0.*.2.*.M_PI. |
| 89060 | 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 | -.M_PI_2;.......B..fill_tri(px,. |
| 89080 | 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 68 61 20 2d 20 30 2e 31 32 29 20 | a->w,.a->h,.cx.+.cos(ha.-.0.12). |
| 890a0 | 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 | *.r.*.HAND_THICK_H,...2......... |
| 890c0 | 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2d 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 48 41 4e 44 | ..cy.+.sin(ha.-.0.12).*.r.*.HAND |
| 890e0 | 5f 54 48 49 43 4b 5f 48 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 | _THICK_H,...2...........cx.+.cos |
| 89100 | 28 68 61 20 2b 20 30 2e 31 32 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 | (ha.+.0.12).*.r.*.HAND_THICK_H,. |
| 89120 | 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 68 61 20 2b 20 30 2e 31 32 | ..2...........cy.+.sin(ha.+.0.12 |
| 89140 | 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 00 00 00 48 20 20 20 20 20 20 20 | ).*.r.*.HAND_THICK_H,...H....... |
| 89160 | 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f | ....cx.+.cos(ha).*.r.*.HAND_LEN_ |
| 89180 | 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 48 | H,.cy.+.sin(ha).*.r.*.HAND_LEN_H |
| 891a0 | 2c 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f 48 4f 55 52 29 3b 00 00 00 42 | ,...............COLOR_HOUR);...B |
| 891c0 | 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 | ..fill_tri(px,.a->w,.a->h,.cx.+. |
| 891e0 | 63 6f 73 28 6d 61 20 2d 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f | cos(ma.-.0.08).*.r.*.HAND_THICK_ |
| 89200 | 4d 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 6d 61 20 2d 20 30 | M,...2...........cy.+.sin(ma.-.0 |
| 89220 | 2e 30 38 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 00 00 00 32 20 20 20 20 | .08).*.r.*.HAND_THICK_M,...2.... |
| 89240 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a | .......cx.+.cos(ma.+.0.08).*.r.* |
| 89260 | 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 79 20 | .HAND_THICK_M,...2...........cy. |
| 89280 | 2b 20 73 69 6e 28 6d 61 20 2b 20 30 2e 30 38 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 | +.sin(ma.+.0.08).*.r.*.HAND_THIC |
| 892a0 | 4b 5f 4d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 20 | K_M,...H...........cx.+.cos(ma). |
| 892c0 | 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 20 2a | *.r.*.HAND_LEN_M,.cy.+.sin(ma).* |
| 892e0 | 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 43 | .r.*.HAND_LEN_M,...............C |
| 89300 | 4f 4c 4f 52 5f 4d 49 4e 29 3b 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e | OLOR_MIN);...B..fill_tri(px,.a-> |
| 89320 | 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 | w,.a->h,.cx.+.cos(sa.-.0.05).*.r |
| 89340 | 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 | .*.HAND_THICK_S,...2...........c |
| 89360 | 79 20 2b 20 73 69 6e 28 73 61 20 2d 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 | y.+.sin(sa.-.0.05).*.r.*.HAND_TH |
| 89380 | 49 43 4b 5f 53 2c 00 00 00 32 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 | ICK_S,...2...........cx.+.cos(sa |
| 893a0 | 20 2b 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 32 | .+.0.05).*.r.*.HAND_THICK_S,...2 |
| 893c0 | 20 20 20 20 20 20 20 20 20 20 20 63 79 20 2b 20 73 69 6e 28 73 61 20 2b 20 30 2e 30 35 29 20 2a | ...........cy.+.sin(sa.+.0.05).* |
| 893e0 | 20 72 20 2a 20 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 | .r.*.HAND_THICK_S,...H.......... |
| 89400 | 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 53 2c 20 | .cx.+.cos(sa).*.r.*.HAND_LEN_S,. |
| 89420 | 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 53 2c 00 00 | cy.+.sin(sa).*.r.*.HAND_LEN_S,.. |
| 89440 | 00 16 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 00 00 00 00 17 | .............COLOR_SEC);........ |
| 89460 | 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e 30 34 3b 00 00 00 10 20 20 69 66 20 | ..int.hub_r.=.r.*.0.04;......if. |
| 89480 | 28 68 75 62 5f 72 20 3c 20 34 29 00 00 00 0e 20 20 20 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 | (hub_r.<.4)........hub_r.=.4;... |
| 894a0 | 28 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c 20 68 75 62 5f 72 20 2d | (..for.(int.ir.=.0;.ir.<.hub_r.- |
| 894c0 | 20 32 3b 20 69 72 2b 2b 29 00 00 00 31 20 20 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 | .2;.ir++)...1....circle(px,.a->w |
| 894e0 | 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 43 4f 4c 4f 52 5f 42 47 29 3b 00 00 | ,.a->h,.cx,.cy,.ir,.COLOR_BG);.. |
| 89500 | 00 33 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 | .3..circle(px,.a->w,.a->h,.cx,.c |
| 89520 | 79 2c 20 68 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 00 00 00 00 29 20 20 77 | y,.hub_r,.COLOR_HUB);.......)..w |
| 89540 | 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c 20 | l_surface_attach(a->ws,.a->buf,. |
| 89560 | 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 75 | 0,.0);...4..wl_surface_damage_bu |
| 89580 | 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 00 | ffer(a->ws,.0,.0,.a->w,.a->h);.. |
| 895a0 | 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 00 | ....wl_surface_commit(a->ws);... |
| 895c0 | 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 00 | ...a->redraw.=.false;....}...... |
| 895e0 | 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c 20 | .Gstatic.void.xt_close(void.*d,. |
| 89600 | 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e 69 | struct.xdg_toplevel.*xt).{.runni |
| 89620 | 6e 67 20 3d 20 30 3b 20 7d 00 00 00 4a 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 28 | ng.=.0;.}...Jstatic.void.xt_cfg( |
| 89640 | 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 | void.*d,.struct.xdg_toplevel.*xt |
| 89660 | 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 00 00 00 28 20 20 20 20 20 | ,.int32_t.w,.int32_t.h,...(..... |
| 89680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 | ..............struct.wl_array.*s |
| 896a0 | 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 33 20 | ).{......struct.app.*a.=.d;...3. |
| 896c0 | 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 26 20 28 77 20 21 3d 20 61 2d 3e | .if.(w.>.0.&&.h.>.0.&&.(w.!=.a-> |
| 896e0 | 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 0d 20 20 20 20 61 2d 3e 77 20 3d | w.||.h.!=.a->h)).{........a->w.= |
| 89700 | 20 77 3b 00 00 00 0d 20 20 20 20 61 2d 3e 68 20 3d 20 68 3b 00 00 00 13 20 20 20 20 64 65 73 74 | .w;........a->h.=.h;........dest |
| 89720 | 72 6f 79 5f 62 75 66 28 61 29 3b 00 00 00 15 20 20 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 | roy_buf(a);........a->redraw.=.t |
| 89740 | 72 75 65 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 | rue;......}....}...Fstatic.void. |
| 89760 | 78 73 5f 63 66 67 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 | xs_cfg(void.*d,.struct.xdg_surfa |
| 89780 | 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 14 20 20 | ce.*xs,.uint32_t.serial).{...... |
| 897a0 | 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 28 20 20 78 64 67 5f 73 75 72 66 | struct.app.*a.=.d;...(..xdg_surf |
| 897c0 | 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 69 61 6c 29 3b 00 00 | ace_ack_configure(xs,.serial);.. |
| 897e0 | 00 17 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 74 72 75 65 3b 00 00 00 13 20 20 61 | ....a->configured.=.true;......a |
| 89800 | 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 7d 00 00 00 43 73 74 61 74 69 63 20 | ->redraw.=.true;....}...Cstatic. |
| 89820 | 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 | void.reg_global(void.*d,.struct. |
| 89840 | 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 69 64 2c 00 00 00 33 | wl_registry.*r,.uint32_t.id,...3 |
| 89860 | 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 |
| 89880 | 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 | r.*i,.uint32_t.v).{......struct. |
| 898a0 | 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 22 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 | app.*a.=.d;..."..if.(!strcmp(i,. |
| 898c0 | 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 22 29 29 00 00 00 43 20 20 20 20 61 2d 3e 63 6f 6d 70 | "wl_compositor"))...C....a->comp |
| 898e0 | 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 63 | .=.wl_registry_bind(r,.id,.&wl_c |
| 89900 | 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 20 20 20 65 6c | ompositor_interface,.4);......el |
| 89920 | 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 73 68 6d 22 29 29 00 00 00 3b | se.if.(!strcmp(i,."wl_shm"))...; |
| 89940 | 20 20 20 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 2c | ....a->shm.=.wl_registry_bind(r, |
| 89960 | 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 27 20 | .id,.&wl_shm_interface,.1);...'. |
| 89980 | 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d 5f 62 61 73 | .else.if.(!strcmp(i,."xdg_wm_bas |
| 899a0 | 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 | e")).{...?....a->wm.=.wl_registr |
| 899c0 | 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 6e 74 65 72 | y_bind(r,.id,.&xdg_wm_base_inter |
| 899e0 | 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 | face,.1);...C....static.const.st |
| 89a00 | 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 3d 20 7b 2e | ruct.xdg_wm_base_listener.l.=.{. |
| 89a20 | 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f 77 6d 5f 62 | ping.=.wm_ping};...+....xdg_wm_b |
| 89a40 | 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 61 29 3b 00 | ase_add_listener(a->wm,.&l,.a);. |
| 89a60 | 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 76 6f 69 64 | .....}....}........int.main(void |
| 89a80 | 29 20 7b 00 00 00 15 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 00 00 00 0c | ).{......struct.app.a.=.{0};.... |
| 89aa0 | 20 20 61 2e 77 20 3d 20 34 30 30 3b 00 00 00 0c 20 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 | ..a.w.=.400;......a.h.=.400;.... |
| 89ac0 | 20 20 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 | ..signal(SIGINT,.on_sig);...!..a |
| 89ae0 | 2e 64 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 | .d.=.wl_display_connect(NULL);.. |
| 89b00 | 00 0b 20 20 69 66 20 28 21 61 2e 64 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 | ....if.(!a.d)........return.1;.. |
| 89b20 | 00 27 20 20 61 2e 72 65 67 20 3d 20 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 | .'..a.reg.=.wl_display_get_regis |
| 89b40 | 74 72 79 28 61 2e 64 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | try(a.d);...G..static.const.stru |
| 89b60 | 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 6c 20 3d 20 7b 2e 67 | ct.wl_registry_listener.rl.=.{.g |
| 89b80 | 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 | lobal.=.reg_global};...+..wl_reg |
| 89ba0 | 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 | istry_add_listener(a.reg,.&rl,.& |
| 89bc0 | 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e | a);......wl_display_roundtrip(a. |
| 89be0 | 64 29 3b 00 00 00 21 20 20 69 66 20 28 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c | d);...!..if.(!a.comp.||.!a.shm.| |
| 89c00 | 7c 20 21 61 2e 77 6d 29 00 00 00 0d 20 20 20 20 72 65 74 75 72 6e 20 31 3b 00 00 00 2e 20 20 61 | |.!a.wm)........return.1;......a |
| 89c20 | 2e 77 73 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 | .ws.=.wl_compositor_create_surfa |
| 89c40 | 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 73 20 3d 20 78 64 67 5f 77 6d 5f 62 | ce(a.comp);...1..a.xs.=.xdg_wm_b |
| 89c60 | 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 61 2e 77 6d 2c 20 61 2e 77 73 29 3b | ase_get_xdg_surface(a.wm,.a.ws); |
| 89c80 | 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 78 64 67 5f 73 75 | ...G..static.const.struct.xdg_su |
| 89ca0 | 72 66 61 63 65 5f 6c 69 73 74 65 6e 65 72 20 78 73 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 | rface_listener.xsl.=.{.configure |
| 89cc0 | 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 64 64 | .=.xs_cfg};...+..xdg_surface_add |
| 89ce0 | 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c 2c 20 26 61 29 3b 00 00 00 28 20 20 | _listener(a.xs,.&xsl,.&a);...(.. |
| 89d00 | 61 2e 78 74 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 6c 28 | a.xt.=.xdg_surface_get_toplevel( |
| 89d20 | 61 2e 78 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 | a.xs);...G..static.const.struct. |
| 89d40 | 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 6c 69 73 74 65 6e 65 72 20 78 74 6c 20 3d 20 7b 2e 63 6f | xdg_toplevel_listener.xtl.=.{.co |
| 89d60 | 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 00 00 00 46 20 20 20 20 20 20 20 20 20 20 20 | nfigure.=.xt_cfg,...F........... |
| 89d80 | 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 | ................................ |
| 89da0 | 20 20 20 20 20 20 20 20 2e 63 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 | .........close.=.xt_close};...,. |
| 89dc0 | 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c | .xdg_toplevel_add_listener(a.xt, |
| 89de0 | 20 26 78 74 6c 2c 20 26 61 29 3b 00 00 00 2a 20 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 5f 73 65 | .&xtl,.&a);...*..xdg_toplevel_se |
| 89e00 | 74 5f 74 69 74 6c 65 28 61 2e 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 | t_title(a.xt,."wlclock");......w |
| 89e20 | 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 17 20 20 77 68 69 | l_surface_commit(a.ws);......whi |
| 89e40 | 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 65 64 29 00 00 00 1d 20 20 20 20 77 6c 5f 64 69 73 | le.(!a.configured)........wl_dis |
| 89e60 | 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 00 00 00 00 32 20 20 70 75 74 | play_dispatch(a.d);.......2..put |
| 89e80 | 73 28 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 | s("wayland.surface.successfully. |
| 89ea0 | 63 6f 6e 66 69 67 75 72 65 64 22 29 3b 00 00 00 00 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 | configured");..........render(&a |
| 89ec0 | 29 3b 00 00 00 39 20 20 69 6e 74 20 74 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 | );...9..int.tfd.=.timerfd_create |
| 89ee0 | 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 | (CLOCK_MONOTONIC,.TFD_CLOEXEC);. |
| 89f00 | 00 00 46 20 20 74 69 6d 65 72 66 64 5f 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 | ..F..timerfd_settime(tfd,.0,.&(s |
| 89f20 | 74 72 75 63 74 20 69 74 69 6d 65 72 73 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d | truct.itimerspec){{1,.0},.{1,.0} |
| 89f40 | 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b | },.NULL);......char.buffer[100]; |
| 89f60 | 00 00 00 13 20 20 77 68 69 6c 65 20 28 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 2d 20 20 20 20 77 | ......while.(running).{...-....w |
| 89f80 | 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 61 64 28 61 2e | hile.(wl_display_prepare_read(a. |
| 89fa0 | 64 29 20 21 3d 20 30 29 00 00 00 27 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 | d).!=.0)...'......wl_display_dis |
| 89fc0 | 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 1a 20 20 20 20 77 6c 5f 64 69 | patch_pending(a.d);........wl_di |
| 89fe0 | 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 20 20 20 73 74 72 75 63 74 20 | splay_flush(a.d);...M....struct. |
| 8a000 | 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 | pollfd.fds[2].=.{{wl_display_get |
| 8a020 | 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 64 2c 20 50 4f 4c 4c 49 4e 7d | _fd(a.d),.POLLIN},.{tfd,.POLLIN} |
| 8a040 | 7d 3b 00 00 00 1f 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 2c 20 32 2c 20 2d 31 29 20 3c | };........if.(poll(fds,.2,.-1).< |
| 8a060 | 20 30 29 20 7b 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c | .0).{..."......wl_display_cancel |
| 8a080 | 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 0f 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 00 00 | _read(a.d);..........continue;.. |
| 8a0a0 | 00 05 20 20 20 20 7d 00 00 00 20 20 20 20 20 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 | ......}........if.(fds[0].revent |
| 8a0c0 | 73 20 26 20 50 4f 4c 4c 49 4e 29 00 00 00 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f | s.&.POLLIN)..."......wl_display_ |
| 8a0e0 | 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 00 00 00 08 20 20 20 20 65 6c 73 65 00 00 00 | read_events(a.d);........else... |
| 8a100 | 22 20 20 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e | "......wl_display_cancel_read(a. |
| 8a120 | 64 29 3b 00 00 00 25 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 | d);...%....wl_display_dispatch_p |
| 8a140 | 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 | ending(a.d);..."....if.(fds[1].r |
| 8a160 | 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 15 20 20 20 20 20 20 75 69 6e 74 | events.&.POLLIN).{..........uint |
| 8a180 | 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 27 20 20 20 20 20 20 72 65 61 64 28 74 66 64 2c 20 26 | 64_t.t_exp;...'......read(tfd,.& |
| 8a1a0 | 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 | t_exp,.sizeof(t_exp));.......... |
| 8a1c0 | 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 | time_t.cli.=.time(NULL);...,.... |
| 8a1e0 | 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d | ..struct.tm.*t_struct.=.localtim |
| 8a200 | 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 | e(&cli);...I......strftime(buffe |
| 8a220 | 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a | r,.sizeof(buffer),."%d-%m-%Y.%I: |
| 8a240 | 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 25 20 20 20 20 20 20 70 | %M:%S.%p",.t_struct);...%......p |
| 8a260 | 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 73 22 2c 20 62 75 66 66 65 72 29 3b 00 00 | rintf("\rTime.is.%s",.buffer);.. |
| 8a280 | 00 15 20 20 20 20 20 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 16 20 20 20 20 20 | ........fflush(stdout);......... |
| 8a2a0 | 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d 00 00 00 11 20 20 | .a.redraw.=.true;........}...... |
| 8a2c0 | 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 00 00 00 11 20 20 20 20 20 20 72 65 6e 64 65 72 28 | ..if.(a.redraw)..........render( |
| 8a2e0 | 26 61 29 3b 00 00 00 03 20 20 7d 00 00 00 0f 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 00 | &a);......}......printf("\n");.. |
| 8a300 | 00 0d 20 20 63 6c 6f 73 65 28 74 66 64 29 3b 00 00 00 12 20 20 64 65 73 74 72 6f 79 5f 62 75 66 | ....close(tfd);......destroy_buf |
| 8a320 | 28 26 61 29 3b 00 00 00 1d 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 | (&a);......wl_display_disconnect |
| 8a340 | 28 61 2e 64 29 3b 00 00 00 0b 20 20 72 65 74 75 72 6e 20 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 | (a.d);......return.0;....}5..... |
| 8a360 | 00 00 00 00 00 00 00 00 00 00 3f 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..........?..................... |
| 8a380 | 00 00 9c 25 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 bd 00 00 00 bf 00 00 | ...%..............5._........... |
| 8a3a0 | 00 00 00 00 00 00 00 00 00 be 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 03 00 00 00 00 | ................................ |
| 8a3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8a4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 00 00 00 00 | ................................ |
| 8a500 | 00 00 00 01 00 00 00 1d 00 00 00 00 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac 7a 04 01 00 00 | ........................i..z.... |
| 8a520 | 00 00 00 f5 18 00 00 00 f4 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 7d f5 18 00 00 00 f5 | .........................}...... |
| 8a540 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 ec 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 8a560 | 00 46 20 20 20 20 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 | .F......strftime(buffer,.sizeof( |
| 8a580 | 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c | buffer),."%d-%m-%Y.%I:%M:%S.%p", |
| 8a5a0 | 20 74 5f 73 74 72 75 63 f5 18 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 e4 | .t_struc........................ |
| 8a5c0 | 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0a 20 20 20 20 73 74 72 75 63 74 f5 18 00 00 00 e5 | ....................struct...... |
| 8a5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 8a600 | 00 03 20 20 73 f5 18 00 00 00 d3 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 cc 00 00 00 | ....s........................... |
| 8a620 | 00 00 00 00 00 00 00 00 01 00 00 00 21 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 | ............!..static.const.stru |
| 8a640 | 63 74 20 77 6c 5f 72 65 67 69 73 74 72 79 f5 18 00 00 00 cd 00 00 00 00 00 00 00 00 00 00 00 00 | ct.wl_registry.................. |
| 8a660 | f5 18 00 00 00 be 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 65 6c 73 65 20 69 66 20 | ........................else.if. |
| 8a680 | 28 21 73 74 72 63 f5 18 00 00 00 bf 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b3 00 00 | (!strc.......................... |
| 8a6a0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 0c 20 20 69 66 20 28 77 20 3e 20 30 20 f5 18 00 00 00 b4 | ................if.(w.>.0....... |
| 8a6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | ................................ |
| 8a6e0 | 00 14 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c f5 18 00 00 00 a0 00 00 00 00 | ....fill_tri(px,.a->w,.......... |
| 8a700 | 00 00 00 00 00 00 00 00 f5 18 00 00 00 9c 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 20 20 | ................................ |
| 8a720 | 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e f5 18 00 00 00 9d 00 00 00 00 00 00 00 00 00 00 | fill_tri(px,.a->................ |
| 8a740 | 00 00 f5 18 00 00 00 89 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 20 20 f5 18 00 00 00 8a | ................................ |
| 8a760 | 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 76 00 00 00 00 00 00 00 00 00 00 00 01 00 00 | .................v.............. |
| 8a780 | 00 33 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 5d 20 2b 20 28 79 20 2d 20 79 | .3........int.x.=.xs[i].+.(y.-.y |
| 8a7a0 | 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 f5 18 00 00 00 77 00 00 00 00 00 | s[i]).*.(xs[j].-.xs[i.....w..... |
| 8a7c0 | 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 00 08 20 20 69 | ............l..................i |
| 8a7e0 | 6e 74 20 6d 69 f5 18 00 00 00 6d 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 64 00 00 00 | nt.mi.....m.................d... |
| 8a800 | 00 00 00 00 00 00 00 00 01 00 00 00 38 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b 30 5d 20 3e | ............8......if.(p[i][0].> |
| 8a820 | 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3e 3d | =.0.&&.p[i][0].<.w.&&.p[i][1].>= |
| 8a840 | 20 30 20 26 26 f5 18 00 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 57 00 00 00 | .0.&&.....e.................W... |
| 8a860 | 00 00 00 00 00 00 00 00 01 00 00 00 54 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f 70 | ............T..a->buf.=.wl_shm_p |
| 8a880 | 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 2c | ool_create_buffer(pool,.0,.a->w, |
| 8a8a0 | 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f 41 | .a->h,.a->w.*.4,.WL_SHM_FORMAT_A |
| 8a8c0 | 52 f5 18 00 00 00 58 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 54 00 00 00 00 00 00 00 | R.....X.................T....... |
| 8a8e0 | 00 00 00 00 01 00 00 00 0a 20 20 61 2d 3e 70 69 78 65 6c f5 18 00 00 00 55 00 00 00 00 00 00 00 | ...........a->pixel.....U....... |
| 8a900 | 00 00 00 00 00 f5 18 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 12 20 20 73 69 7a | ..........J..................siz |
| 8a920 | 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 f5 18 00 00 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 f5 | e_t.size.=.(s.....K............. |
| 8a940 | 18 00 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0e 73 74 61 74 69 63 20 69 6e 74 20 | ....?................static.int. |
| 8a960 | 63 72 65 f5 18 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 29 00 00 00 00 00 | cre.....@.................)..... |
| 8a980 | 00 00 00 00 00 00 01 00 00 00 1e 73 74 61 74 69 63 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 | ...........static.volatile.sig_a |
| 8a9a0 | 74 6f 6d 69 63 5f 74 20 72 f5 18 00 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 | tomic_t.r.....*................. |
| 8a9c0 | 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 00 00 00 00 00 00 00 | ................................ |
| 8a9e0 | 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 00 00 29 00 00 00 1e | ...5.......................).... |
| 8aa00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 | ................................ |
| 8aa20 | 00 29 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 16 00 00 00 0e 00 00 00 00 05 00 00 00 00 00 | .).............................. |
| 8aa40 | 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 3f 00 00 00 0e 00 00 00 00 | .......................?........ |
| 8aa60 | 00 00 00 00 00 00 00 0b 00 00 00 12 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8aa80 | 01 00 00 00 00 00 00 f5 18 00 00 00 00 4a 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 | .............J.................. |
| 8aaa0 | 00 0a 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 | ................................ |
| 8aac0 | 00 00 00 54 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 54 00 00 00 00 09 00 00 00 | ...T...................T........ |
| 8aae0 | 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 57 00 00 00 54 00 00 | .........................W...T.. |
| 8ab00 | 00 00 00 00 00 00 00 00 00 0d 00 00 00 38 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............8.................. |
| 8ab20 | 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 64 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 08 | ...............d...8............ |
| 8ab40 | 00 00 00 08 00 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 | ................................ |
| 8ab60 | 18 00 00 00 00 6c 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 33 00 00 00 00 0d 00 | .....l...................3...... |
| 8ab80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 76 00 00 00 33 | ...........................v...3 |
| 8aba0 | 00 00 00 00 00 00 00 00 00 00 00 13 00 00 00 02 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8abc0 | 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 89 00 00 00 02 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8abe0 | 00 13 00 00 00 12 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 | ................................ |
| 8ac00 | 00 f5 18 00 00 00 00 9c 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 14 00 00 00 00 | ................................ |
| 8ac20 | 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 9f 00 00 | ................................ |
| 8ac40 | 00 14 00 00 00 00 00 00 00 00 00 00 00 14 00 00 00 0c 00 00 00 00 15 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ac60 | 00 00 00 00 00 00 04 00 00 00 00 00 00 f5 18 00 00 00 00 b3 00 00 00 0c 00 00 00 00 00 00 00 00 | ................................ |
| 8ac80 | 00 00 00 0b 00 00 00 10 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 | ................................ |
| 8aca0 | 00 00 00 f5 18 00 00 00 00 be 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 21 00 00 | .............................!.. |
| 8acc0 | 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 cc | ................................ |
| 8ace0 | 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 03 00 00 00 00 1d 00 00 00 00 00 00 00 | ...!............................ |
| 8ad00 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 d2 00 00 00 03 00 00 00 00 00 00 | ................................ |
| 8ad20 | 00 00 00 00 00 12 00 00 00 0a 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 | ................................ |
| 8ad40 | 00 00 00 00 00 f5 18 00 00 00 00 e4 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 46 | ...............................F |
| 8ad60 | 00 00 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 | ....!........................... |
| 8ad80 | 00 ec 00 00 00 46 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 00 23 00 00 00 00 00 | .....F....................#..... |
| 8ada0 | 00 00 00 00 00 00 00 00 00 cf 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 be 00 00 00 00 00 00 00 | .................5._............ |
| 8adc0 | 00 00 00 00 00 00 00 00 bf 00 00 00 f5 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 | ................................ |
| 8ade0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8ae80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8aea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8aec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8aee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8af00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 1d 00 00 00 00 00 | ................................ |
| 8af20 | 00 00 01 00 00 00 1d 00 00 00 00 00 00 00 16 7f ff ff ff 00 00 00 00 69 9d ac db 04 01 00 00 00 | .......................i........ |
| 8af40 | 42 00 f5 18 00 00 00 12 00 00 01 3e 00 00 00 f5 00 00 00 e1 00 00 00 35 23 64 65 66 69 6e 65 20 | B..........>...........5#define. |
| 8af60 | 43 4f 4c 4f 52 5f 42 47 20 20 20 20 20 20 30 78 46 46 31 41 31 41 31 41 20 20 2f 2a 20 44 61 72 | COLOR_BG......0xFF1A1A1A../*.Dar |
| 8af80 | 6b 20 43 68 61 72 63 6f 61 6c 20 2a 2f 00 00 00 33 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 44 | k.Charcoal.*/...3#define.COLOR_D |
| 8afa0 | 49 41 4c 20 20 20 20 30 78 46 46 46 46 46 46 46 46 20 20 2f 2a 20 57 68 69 74 65 20 54 69 63 6b | IAL....0xFFFFFFFF../*.White.Tick |
| 8afc0 | 73 20 2a 2f 00 00 00 31 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 4f 55 52 20 20 20 20 30 78 | s.*/...1#define.COLOR_HOUR....0x |
| 8afe0 | 46 46 45 45 45 45 45 45 20 20 2f 2a 20 4f 66 66 2d 77 68 69 74 65 20 2a 2f 00 00 00 32 23 64 65 | FFEEEEEE../*.Off-white.*/...2#de |
| 8b000 | 66 69 6e 65 20 43 4f 4c 4f 52 5f 4d 49 4e 20 20 20 20 20 30 78 46 46 43 43 43 43 43 43 20 20 2f | fine.COLOR_MIN.....0xFFCCCCCC../ |
| 8b020 | 2a 20 4c 69 67 68 74 20 47 72 65 79 20 2a 2f 00 00 00 32 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 | *.Light.Grey.*/...2#define.COLOR |
| 8b040 | 5f 53 45 43 20 20 20 20 20 30 78 46 46 46 46 30 30 30 30 20 20 2f 2a 20 42 72 69 67 68 74 20 52 | _SEC.....0xFFFF0000../*.Bright.R |
| 8b060 | 65 64 20 2a 2f 00 00 00 34 23 64 65 66 69 6e 65 20 43 4f 4c 4f 52 5f 48 55 42 20 20 20 20 20 30 | ed.*/...4#define.COLOR_HUB.....0 |
| 8b080 | 78 46 46 34 34 34 34 34 34 20 20 2f 2a 20 48 75 62 20 43 61 70 20 47 72 65 79 20 2a 2f 00 00 00 | xFF444444../*.Hub.Cap.Grey.*/... |
| 8b0a0 | 00 00 00 00 42 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 48 20 20 30 2e 30 35 20 | ....B#define.HAND_THICK_H..0.05. |
| 8b0c0 | 20 20 20 20 20 20 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 | ......./*.Hour.hand.thickness.fa |
| 8b0e0 | 63 74 6f 72 20 2a 2f 00 00 00 44 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 20 | ctor.*/...D#define.HAND_THICK_M. |
| 8b100 | 20 30 2e 30 33 35 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 74 68 69 63 | .0.035......./*.Minute.hand.thic |
| 8b120 | 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 44 23 64 65 66 69 6e 65 20 48 41 4e 44 5f | kness.factor.*/...D#define.HAND_ |
| 8b140 | 54 48 49 43 4b 5f 53 20 20 30 2e 30 34 20 20 20 20 20 20 20 20 2f 2a 20 53 65 63 6f 6e 64 20 68 | THICK_S..0.04......../*.Second.h |
| 8b160 | 61 6e 64 20 74 68 69 63 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 00 00 00 00 4d 23 | and.thickness.factor.*/.......M# |
| 8b180 | 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 48 20 20 20 20 30 2e 35 35 20 20 20 20 20 20 20 | define.HAND_LEN_H....0.55....... |
| 8b1a0 | 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 28 66 72 61 63 74 69 6f 6e 20 6f | ./*.Hour.hand.length.(fraction.o |
| 8b1c0 | 66 20 72 61 64 69 75 73 29 20 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e | f.radius).*/...:#define.HAND_LEN |
| 8b1e0 | 5f 4d 20 20 20 20 30 2e 38 30 20 20 20 20 20 20 20 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 | _M....0.80......../*.Minute.hand |
| 8b200 | 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 3a 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 53 | .length.*/...:#define.HAND_LEN_S |
| 8b220 | 20 20 20 20 30 2e 38 30 20 20 20 20 20 20 20 20 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 6c | ....0.80......../*.Second.hand.l |
| 8b240 | 65 6e 67 74 68 20 2a 2f 00 00 00 1c 2f 2a 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ength.*/..../*.----------------- |
| 8b260 | 2d 2d 2d 2d 2d 20 2a 2f 00 00 00 00 00 00 00 0c 23 69 66 6e 64 65 66 20 4d 5f 50 49 00 00 00 23 | -----.*/........#ifndef.M_PI...# |
| 8b280 | 23 64 65 66 69 6e 65 20 4d 5f 50 49 20 33 2e 31 34 31 35 39 32 36 35 33 35 38 39 37 39 33 32 33 | #define.M_PI.3.14159265358979323 |
| 8b2a0 | 38 34 36 00 00 00 06 23 65 6e 64 69 66 00 00 00 0e 23 69 66 6e 64 65 66 20 4d 5f 50 49 5f 32 00 | 846....#endif....#ifndef.M_PI_2. |
| 8b2c0 | 00 00 25 23 64 65 66 69 6e 65 20 4d 5f 50 49 5f 32 20 31 2e 35 37 30 37 39 36 33 32 36 37 39 34 | ..%#define.M_PI_2.1.570796326794 |
| 8b2e0 | 38 39 36 36 31 39 32 33 00 00 00 06 23 65 6e 64 69 66 00 00 00 00 00 00 00 29 73 74 61 74 69 63 | 89661923....#endif.......)static |
| 8b300 | 20 76 6f 6c 61 74 69 6c 65 20 73 69 67 5f 61 74 6f 6d 69 63 5f 74 20 72 75 6e 6e 69 6e 67 20 3d | .volatile.sig_atomic_t.running.= |
| 8b320 | 20 31 3b 00 00 00 33 73 74 61 74 69 63 20 76 6f 69 64 20 6f 6e 5f 73 69 67 28 69 6e 74 20 73 29 | .1;...3static.void.on_sig(int.s) |
| 8b340 | 20 7b 20 28 76 6f 69 64 29 73 3b 20 72 75 6e 6e 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 00 00 00 | .{.(void)s;.running.=.0;.}...... |
| 8b360 | 00 0c 73 74 72 75 63 74 20 61 70 70 20 7b 00 00 00 17 20 20 73 74 72 75 63 74 20 77 6c 5f 64 69 | ..struct.app.{......struct.wl_di |
| 8b380 | 73 70 6c 61 79 20 2a 64 3b 00 00 00 1a 20 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | splay.*d;......struct.wl_registr |
| 8b3a0 | 79 20 2a 72 65 67 3b 00 00 00 1d 20 20 73 74 72 75 63 74 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f | y.*reg;......struct.wl_composito |
| 8b3c0 | 72 20 2a 63 6f 6d 70 3b 00 00 00 15 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 20 2a 73 68 6d | r.*comp;......struct.wl_shm.*shm |
| 8b3e0 | 3b 00 00 00 19 20 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 3b 00 00 | ;......struct.xdg_wm_base.*wm;.. |
| 8b400 | 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 73 75 72 66 61 63 65 20 2a 77 73 3b 00 00 00 19 20 20 | ....struct.wl_surface.*ws;...... |
| 8b420 | 73 74 72 75 63 74 20 78 64 67 5f 73 75 72 66 61 63 65 20 2a 78 73 3b 00 00 00 1a 20 20 73 74 72 | struct.xdg_surface.*xs;......str |
| 8b440 | 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 3b 00 00 00 0f 20 20 76 6f 69 64 20 | uct.xdg_toplevel.*xt;......void. |
| 8b460 | 2a 70 69 78 65 6c 73 3b 00 00 00 18 20 20 73 74 72 75 63 74 20 77 6c 5f 62 75 66 66 65 72 20 2a | *pixels;......struct.wl_buffer.* |
| 8b480 | 62 75 66 3b 00 00 00 0b 20 20 69 6e 74 20 77 2c 20 68 3b 00 00 00 0d 20 20 69 6e 74 20 62 77 2c | buf;......int.w,.h;......int.bw, |
| 8b4a0 | 20 62 68 3b 00 00 00 12 20 20 62 6f 6f 6c 20 63 6f 6e 66 69 67 75 72 65 64 3b 00 00 00 0e 20 20 | .bh;......bool.configured;...... |
| 8b4c0 | 62 6f 6f 6c 20 72 65 64 72 61 77 3b 00 00 00 02 7d 3b 00 00 00 00 00 00 00 6a 73 74 61 74 69 63 | bool.redraw;....};.......jstatic |
| 8b4e0 | 20 76 6f 69 64 20 77 6d 5f 70 69 6e 67 28 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 74 72 75 63 74 | .void.wm_ping(void.*data,.struct |
| 8b500 | 20 78 64 67 5f 77 6d 5f 62 61 73 65 20 2a 77 6d 2c 20 75 69 6e 74 33 32 5f 74 20 73 65 72 69 61 | .xdg_wm_base.*wm,.uint32_t.seria |
| 8b520 | 6c 29 20 7b 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 70 6f 6e 67 28 77 6d 2c 20 73 65 72 69 61 6c | l).{.xdg_wm_base_pong(wm,.serial |
| 8b540 | 29 3b 20 7d 00 00 00 00 00 00 00 24 73 74 61 74 69 63 20 69 6e 74 20 63 72 65 61 74 65 5f 73 68 | );.}.......$static.int.create_sh |
| 8b560 | 6d 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 20 7b 00 00 00 23 20 20 63 68 61 72 20 74 5b 5d 20 3d | m(size_t.size).{...#..char.t[].= |
| 8b580 | 20 22 2f 74 6d 70 2f 77 6c 63 6c 6f 63 6b 2d 58 58 58 58 58 58 22 3b 00 00 00 16 20 20 69 6e 74 | ."/tmp/wlclock-XXXXXX";......int |
| 8b5a0 | 20 66 64 20 3d 20 6d 6b 73 74 65 6d 70 28 74 29 3b 00 00 00 16 20 20 69 66 20 28 66 64 20 3c 20 | .fd.=.mkstemp(t);......if.(fd.<. |
| 8b5c0 | 30 29 20 65 78 69 74 28 31 29 3b 00 00 00 0c 20 20 75 6e 6c 69 6e 6b 28 74 29 3b 00 00 00 27 20 | 0).exit(1);......unlink(t);...'. |
| 8b5e0 | 20 69 66 20 28 66 74 72 75 6e 63 61 74 65 28 66 64 2c 20 73 69 7a 65 29 20 3c 20 30 29 20 65 78 | .if.(ftruncate(fd,.size).<.0).ex |
| 8b600 | 69 74 28 31 29 3b 00 00 00 0c 20 20 72 65 74 75 72 6e 20 66 64 3b 00 00 00 01 7d 00 00 00 00 00 | it(1);......return.fd;....}..... |
| 8b620 | 00 00 28 73 74 61 74 69 63 20 76 6f 69 64 20 64 65 73 74 72 6f 79 5f 62 75 66 28 73 74 72 75 63 | ..(static.void.destroy_buf(struc |
| 8b640 | 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 16 20 20 69 66 20 28 21 61 2d 3e 62 75 66 29 20 72 65 | t.app.*a).{......if.(!a->buf).re |
| 8b660 | 74 75 72 6e 3b 00 00 00 2a 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 | turn;...*..size_t.size.=.(size_t |
| 8b680 | 29 61 2d 3e 62 77 20 2a 20 61 2d 3e 62 68 20 2a 20 34 3b 00 00 00 1c 20 20 77 6c 5f 62 75 66 66 | )a->bw.*.a->bh.*.4;......wl_buff |
| 8b6a0 | 65 72 5f 64 65 73 74 72 6f 79 28 61 2d 3e 62 75 66 29 3b 00 00 00 1a 20 20 6d 75 6e 6d 61 70 28 | er_destroy(a->buf);......munmap( |
| 8b6c0 | 61 2d 3e 70 69 78 65 6c 73 2c 20 73 69 7a 65 29 3b 00 00 00 22 20 20 61 2d 3e 62 75 66 20 3d 20 | a->pixels,.size);..."..a->buf.=. |
| 8b6e0 | 4e 55 4c 4c 3b 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 4e 55 4c 4c 3b 00 00 00 01 7d 00 00 00 00 | NULL;.a->pixels.=.NULL;....}.... |
| 8b700 | 00 00 00 26 73 74 61 74 69 63 20 76 6f 69 64 20 61 6c 6c 6f 63 5f 62 75 66 28 73 74 72 75 63 74 | ...&static.void.alloc_buf(struct |
| 8b720 | 20 61 70 70 20 2a 61 29 20 7b 00 00 00 11 20 20 64 65 73 74 72 6f 79 5f 62 75 66 28 61 29 3b 00 | .app.*a).{......destroy_buf(a);. |
| 8b740 | 00 00 28 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 28 73 69 7a 65 5f 74 29 61 2d 3e 77 20 | ..(..size_t.size.=.(size_t)a->w. |
| 8b760 | 2a 20 61 2d 3e 68 20 2a 20 34 3b 00 00 00 1c 20 20 69 6e 74 20 66 64 20 3d 20 63 72 65 61 74 65 | *.a->h.*.4;......int.fd.=.create |
| 8b780 | 5f 73 68 6d 28 73 69 7a 65 29 3b 00 00 00 4a 20 20 61 2d 3e 70 69 78 65 6c 73 20 3d 20 6d 6d 61 | _shm(size);...J..a->pixels.=.mma |
| 8b7a0 | 70 28 4e 55 4c 4c 2c 20 73 69 7a 65 2c 20 50 52 4f 54 5f 52 45 41 44 20 7c 20 50 52 4f 54 5f 57 | p(NULL,.size,.PROT_READ.|.PROT_W |
| 8b7c0 | 52 49 54 45 2c 20 4d 41 50 5f 53 48 41 52 45 44 2c 20 66 64 2c 20 30 29 3b 00 00 00 27 20 20 69 | RITE,.MAP_SHARED,.fd,.0);...'..i |
| 8b7e0 | 66 20 28 61 2d 3e 70 69 78 65 6c 73 20 3d 3d 20 4d 41 50 5f 46 41 49 4c 45 44 29 20 65 78 69 74 | f.(a->pixels.==.MAP_FAILED).exit |
| 8b800 | 28 31 29 3b 00 00 00 42 20 20 73 74 72 75 63 74 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 20 2a 70 6f | (1);...B..struct.wl_shm_pool.*po |
| 8b820 | 6f 6c 20 3d 20 77 6c 5f 73 68 6d 5f 63 72 65 61 74 65 5f 70 6f 6f 6c 28 61 2d 3e 73 68 6d 2c 20 | ol.=.wl_shm_create_pool(a->shm,. |
| 8b840 | 66 64 2c 20 73 69 7a 65 29 3b 00 00 00 5c 20 20 61 2d 3e 62 75 66 20 3d 20 77 6c 5f 73 68 6d 5f | fd,.size);...\..a->buf.=.wl_shm_ |
| 8b860 | 70 6f 6f 6c 5f 63 72 65 61 74 65 5f 62 75 66 66 65 72 28 70 6f 6f 6c 2c 20 30 2c 20 61 2d 3e 77 | pool_create_buffer(pool,.0,.a->w |
| 8b880 | 2c 20 61 2d 3e 68 2c 20 61 2d 3e 77 20 2a 20 34 2c 20 57 4c 5f 53 48 4d 5f 46 4f 52 4d 41 54 5f | ,.a->h,.a->w.*.4,.WL_SHM_FORMAT_ |
| 8b8a0 | 41 52 47 42 38 38 38 38 29 3b 00 00 00 1c 20 20 77 6c 5f 73 68 6d 5f 70 6f 6f 6c 5f 64 65 73 74 | ARGB8888);......wl_shm_pool_dest |
| 8b8c0 | 72 6f 79 28 70 6f 6f 6c 29 3b 00 00 00 0c 20 20 63 6c 6f 73 65 28 66 64 29 3b 00 00 00 1d 20 20 | roy(pool);......close(fd);...... |
| 8b8e0 | 61 2d 3e 62 77 20 3d 20 61 2d 3e 77 3b 20 61 2d 3e 62 68 20 3d 20 61 2d 3e 68 3b 00 00 00 01 7d | a->bw.=.a->w;.a->bh.=.a->h;....} |
| 8b900 | 00 00 00 00 00 00 00 53 73 74 61 74 69 63 20 76 6f 69 64 20 63 69 72 63 6c 65 28 75 69 6e 74 33 | .......Sstatic.void.circle(uint3 |
| 8b920 | 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 63 78 2c 20 69 | 2_t.*px,.int.w,.int.h,.int.cx,.i |
| 8b940 | 6e 74 20 63 79 2c 20 69 6e 74 20 72 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 22 20 | nt.cy,.int.r,.uint32_t.c).{...". |
| 8b960 | 20 69 6e 74 20 78 20 3d 20 30 2c 20 79 20 3d 20 72 2c 20 64 20 3d 20 33 20 2d 20 32 20 2a 20 72 | .int.x.=.0,.y.=.r,.d.=.3.-.2.*.r |
| 8b980 | 3b 00 00 00 12 20 20 77 68 69 6c 65 20 28 79 20 3e 3d 20 78 29 20 7b 00 00 00 48 20 20 20 20 69 | ;......while.(y.>=.x).{...H....i |
| 8b9a0 | 6e 74 20 70 5b 38 5d 5b 32 5d 20 3d 20 7b 7b 63 78 20 2b 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 | nt.p[8][2].=.{{cx.+.x,.cy.+.y},. |
| 8b9c0 | 7b 63 78 20 2d 20 78 2c 20 63 79 20 2b 20 79 7d 2c 20 7b 63 78 20 2b 20 78 2c 20 63 79 20 2d 20 | {cx.-.x,.cy.+.y},.{cx.+.x,.cy.-. |
| 8b9e0 | 79 7d 2c 00 00 00 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 63 78 20 2d 20 | y},...H...................{cx.-. |
| 8ba00 | 78 2c 20 63 79 20 2d 20 79 7d 2c 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2b 20 78 7d 2c 20 7b 63 | x,.cy.-.y},.{cx.+.y,.cy.+.x},.{c |
| 8ba20 | 78 20 2d 20 79 2c 20 63 79 20 2b 20 78 7d 2c 00 00 00 37 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.-.y,.cy.+.x},...7............. |
| 8ba40 | 20 20 20 20 20 20 7b 63 78 20 2b 20 79 2c 20 63 79 20 2d 20 78 7d 2c 20 7b 63 78 20 2d 20 79 2c | ......{cx.+.y,.cy.-.x},.{cx.-.y, |
| 8ba60 | 20 63 79 20 2d 20 78 7d 7d 3b 00 00 00 1f 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 | .cy.-.x}};........for.(int.i.=.0 |
| 8ba80 | 3b 20 69 20 3c 20 38 3b 20 69 2b 2b 29 00 00 00 45 20 20 20 20 20 20 69 66 20 28 70 5b 69 5d 5b | ;.i.<.8;.i++)...E......if.(p[i][ |
| 8baa0 | 30 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 30 5d 20 3c 20 77 20 26 26 20 70 5b 69 5d 5b 31 | 0].>=.0.&&.p[i][0].<.w.&&.p[i][1 |
| 8bac0 | 5d 20 3e 3d 20 30 20 26 26 20 70 5b 69 5d 5b 31 5d 20 3c 20 68 29 00 00 00 26 20 20 20 20 20 20 | ].>=.0.&&.p[i][1].<.h)...&...... |
| 8bae0 | 20 20 70 78 5b 70 5b 69 5d 5b 31 5d 20 2a 20 77 20 2b 20 70 5b 69 5d 5b 30 5d 5d 20 3d 20 63 3b | ..px[p[i][1].*.w.+.p[i][0]].=.c; |
| 8bb00 | 00 00 00 43 20 20 20 20 69 66 20 28 64 20 3e 20 30 29 20 7b 20 64 20 2b 3d 20 34 20 2a 20 28 78 | ...C....if.(d.>.0).{.d.+=.4.*.(x |
| 8bb20 | 20 2d 20 79 29 20 2b 20 31 30 3b 20 79 2d 2d 3b 20 7d 20 65 6c 73 65 20 64 20 2b 3d 20 34 20 2a | .-.y).+.10;.y--;.}.else.d.+=.4.* |
| 8bb40 | 20 78 20 2b 20 36 3b 00 00 00 08 20 20 20 20 78 2b 2b 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 | .x.+.6;........x++;......}....}. |
| 8bb60 | 00 00 00 00 00 00 6e 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 69 28 75 69 6e 74 | ......nstatic.void.fill_tri(uint |
| 8bb80 | 33 32 5f 74 20 2a 70 78 2c 20 69 6e 74 20 77 2c 20 69 6e 74 20 68 2c 20 69 6e 74 20 78 30 2c 20 | 32_t.*px,.int.w,.int.h,.int.x0,. |
| 8bba0 | 69 6e 74 20 79 30 2c 20 69 6e 74 20 78 31 2c 20 69 6e 74 20 79 31 2c 20 69 6e 74 20 78 32 2c 20 | int.y0,.int.x1,.int.y1,.int.x2,. |
| 8bbc0 | 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f 74 20 63 29 20 7b 00 00 00 42 20 20 69 6e 74 20 6d | int.y2,.uint32_t.c).{...B..int.m |
| 8bbe0 | 69 6e 5f 79 20 3d 20 79 30 20 3c 20 79 31 20 3f 20 28 79 30 20 3c 20 79 32 20 3f 20 79 30 20 3a | in_y.=.y0.<.y1.?.(y0.<.y2.?.y0.: |
| 8bc00 | 20 79 32 29 20 3a 20 28 79 31 20 3c 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 3b 00 00 00 42 20 | .y2).:.(y1.<.y2.?.y1.:.y2);...B. |
| 8bc20 | 20 69 6e 74 20 6d 61 78 5f 79 20 3d 20 79 30 20 3e 20 79 31 20 3f 20 28 79 30 20 3e 20 79 32 20 | .int.max_y.=.y0.>.y1.?.(y0.>.y2. |
| 8bc40 | 3f 20 79 30 20 3a 20 79 32 29 20 3a 20 28 79 31 20 3e 20 79 32 20 3f 20 79 31 20 3a 20 79 32 29 | ?.y0.:.y2).:.(y1.>.y2.?.y1.:.y2) |
| 8bc60 | 3b 00 00 00 3a 20 20 69 66 20 28 6d 69 6e 5f 79 20 3c 20 30 29 20 6d 69 6e 5f 79 20 3d 20 30 3b | ;...:..if.(min_y.<.0).min_y.=.0; |
| 8bc80 | 20 69 66 20 28 6d 61 78 5f 79 20 3e 3d 20 68 29 20 6d 61 78 5f 79 20 3d 20 68 20 2d 20 31 3b 00 | .if.(max_y.>=.h).max_y.=.h.-.1;. |
| 8bca0 | 00 00 28 20 20 66 6f 72 20 28 69 6e 74 20 79 20 3d 20 6d 69 6e 5f 79 3b 20 79 20 3c 3d 20 6d 61 | ..(..for.(int.y.=.min_y;.y.<=.ma |
| 8bcc0 | 78 5f 79 3b 20 79 2b 2b 29 20 7b 00 00 00 1f 20 20 20 20 69 6e 74 20 78 5f 73 74 61 72 74 20 3d | x_y;.y++).{........int.x_start.= |
| 8bce0 | 20 77 2c 20 78 5f 65 6e 64 20 3d 20 30 3b 00 00 00 33 20 20 20 20 69 6e 74 20 78 73 5b 33 5d 20 | .w,.x_end.=.0;...3....int.xs[3]. |
| 8bd00 | 3d 20 7b 78 30 2c 20 78 31 2c 20 78 32 7d 2c 20 79 73 5b 33 5d 20 3d 20 7b 79 30 2c 20 79 31 2c | =.{x0,.x1,.x2},.ys[3].=.{y0,.y1, |
| 8bd20 | 20 79 32 7d 3b 00 00 00 15 20 20 20 20 62 6f 6f 6c 20 68 69 74 20 3d 20 66 61 6c 73 65 3b 00 00 | .y2};........bool.hit.=.false;.. |
| 8bd40 | 00 21 20 20 20 20 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 3b 20 69 2b 2b | .!....for.(int.i.=.0;.i.<.3;.i++ |
| 8bd60 | 29 20 7b 00 00 00 1a 20 20 20 20 20 20 69 6e 74 20 6a 20 3d 20 28 69 20 2b 20 31 29 20 25 20 33 | ).{..........int.j.=.(i.+.1).%.3 |
| 8bd80 | 3b 00 00 00 43 20 20 20 20 20 20 69 66 20 28 28 79 73 5b 69 5d 20 3c 3d 20 79 20 26 26 20 79 73 | ;...C......if.((ys[i].<=.y.&&.ys |
| 8bda0 | 5b 6a 5d 20 3e 20 79 29 20 7c 7c 20 28 79 73 5b 6a 5d 20 3c 3d 20 79 20 26 26 20 79 73 5b 69 5d | [j].>.y).||.(ys[j].<=.y.&&.ys[i] |
| 8bdc0 | 20 3e 20 79 29 29 20 7b 00 00 00 48 20 20 20 20 20 20 20 20 69 6e 74 20 78 20 3d 20 78 73 5b 69 | .>.y)).{...H........int.x.=.xs[i |
| 8bde0 | 5d 20 2b 20 28 79 20 2d 20 79 73 5b 69 5d 29 20 2a 20 28 78 73 5b 6a 5d 20 2d 20 78 73 5b 69 5d | ].+.(y.-.ys[i]).*.(xs[j].-.xs[i] |
| 8be00 | 29 20 2f 20 28 79 73 5b 6a 5d 20 2d 20 79 73 5b 69 5d 29 3b 00 00 00 3f 20 20 20 20 20 20 20 20 | )./.(ys[j].-.ys[i]);...?........ |
| 8be20 | 69 66 20 28 78 20 3c 20 78 5f 73 74 61 72 74 29 20 78 5f 73 74 61 72 74 20 3d 20 78 3b 20 69 66 | if.(x.<.x_start).x_start.=.x;.if |
| 8be40 | 20 28 78 20 3e 20 78 5f 65 6e 64 29 20 78 5f 65 6e 64 20 3d 20 78 3b 00 00 00 13 20 20 20 20 20 | .(x.>.x_end).x_end.=.x;......... |
| 8be60 | 20 20 20 68 69 74 20 3d 20 74 72 75 65 3b 00 00 00 07 20 20 20 20 20 20 7d 00 00 00 05 20 20 20 | ...hit.=.true;..........}....... |
| 8be80 | 20 7d 00 00 00 0e 20 20 20 20 69 66 20 28 68 69 74 29 20 7b 00 00 00 42 20 20 20 20 20 20 69 66 | .}........if.(hit).{...B......if |
| 8bea0 | 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 20 69 66 20 28 | .(x_start.<.0).x_start.=.0;.if.( |
| 8bec0 | 78 5f 65 6e 64 20 3e 3d 20 77 29 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 3b 00 00 00 3f 20 20 | x_end.>=.w).x_end.=.w.-.1;...?.. |
| 8bee0 | 20 20 20 20 66 6f 72 20 28 69 6e 74 20 78 20 3d 20 78 5f 73 74 61 72 74 3b 20 78 20 3c 3d 20 78 | ....for.(int.x.=.x_start;.x.<=.x |
| 8bf00 | 5f 65 6e 64 3b 20 78 2b 2b 29 20 70 78 5b 79 20 2a 20 77 20 2b 20 78 5d 20 3d 20 63 3b 00 00 00 | _end;.x++).px[y.*.w.+.x].=.c;... |
| 8bf20 | 05 20 20 20 20 7d 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 23 73 74 61 74 69 63 | .....}......}....}.......#static |
| 8bf40 | 20 76 6f 69 64 20 72 65 6e 64 65 72 28 73 74 72 75 63 74 20 61 70 70 20 2a 61 29 20 7b 00 00 00 | .void.render(struct.app.*a).{... |
| 8bf60 | 37 20 20 69 66 20 28 21 61 2d 3e 63 6f 6e 66 69 67 75 72 65 64 20 7c 7c 20 61 2d 3e 77 20 3c 3d | 7..if.(!a->configured.||.a->w.<= |
| 8bf80 | 20 30 20 7c 7c 20 61 2d 3e 68 20 3c 3d 20 30 29 20 72 65 74 75 72 6e 3b 00 00 00 1c 20 20 69 66 | .0.||.a->h.<=.0).return;......if |
| 8bfa0 | 20 28 21 61 2d 3e 62 75 66 29 20 61 6c 6c 6f 63 5f 62 75 66 28 61 29 3b 00 00 00 1b 20 20 75 69 | .(!a->buf).alloc_buf(a);......ui |
| 8bfc0 | 6e 74 33 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 36 20 20 66 6f 72 | nt32_t.*px.=.a->pixels;...6..for |
| 8bfe0 | 28 69 6e 74 20 69 3d 30 3b 20 69 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 20 | (int.i=0;.i.<.a->w.*.a->h;.i++). |
| 8c000 | 70 78 5b 69 5d 20 3d 20 43 4f 4c 4f 52 5f 42 47 3b 00 00 00 00 00 00 00 19 20 20 74 69 6d 65 5f | px[i].=.COLOR_BG;..........time_ |
| 8c020 | 74 20 74 74 20 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 10 20 20 73 74 72 75 63 74 20 74 | t.tt.=.time(NULL);......struct.t |
| 8c040 | 6d 20 74 6d 76 3b 00 00 00 19 20 20 6c 6f 63 61 6c 74 69 6d 65 5f 72 28 26 74 74 2c 20 26 74 6d | m.tmv;......localtime_r(&tt,.&tm |
| 8c060 | 76 29 3b 00 00 00 23 20 20 69 6e 74 20 63 78 20 3d 20 61 2d 3e 77 20 2f 20 32 2c 20 63 79 20 3d | v);...#..int.cx.=.a->w./.2,.cy.= |
| 8c080 | 20 61 2d 3e 68 20 2f 20 32 3b 00 00 00 2f 20 20 69 6e 74 20 72 20 3d 20 28 61 2d 3e 77 20 3c 20 | .a->h./.2;.../..int.r.=.(a->w.<. |
| 8c0a0 | 61 2d 3e 68 20 3f 20 61 2d 3e 77 20 3a 20 61 2d 3e 68 29 20 2f 20 32 20 2d 20 31 30 3b 00 00 00 | a->h.?.a->w.:.a->h)./.2.-.10;... |
| 8c0c0 | 13 20 20 69 66 20 28 72 20 3c 20 35 29 20 72 20 3d 20 35 3b 00 00 00 00 00 00 00 20 20 20 66 6f | ...if.(r.<.5).r.=.5;..........fo |
| 8c0e0 | 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 30 3b 20 69 2b 2b 29 20 7b 00 00 00 2e | r.(int.i.=.0;.i.<.60;.i++).{.... |
| 8c100 | 20 20 20 20 64 6f 75 62 6c 65 20 61 6e 67 20 3d 20 69 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 | ....double.ang.=.i./.60.0.*.2.*. |
| 8c120 | 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 31 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 | M_PI.-.M_PI_2;...1....int.len.=. |
| 8c140 | 28 69 20 25 20 35 20 3d 3d 20 30 29 20 3f 20 72 20 2a 20 30 2e 31 32 20 3a 20 72 20 2a 20 30 2e | (i.%.5.==.0).?.r.*.0.12.:.r.*.0. |
| 8c160 | 30 34 3b 00 00 00 30 20 20 20 20 64 6f 75 62 6c 65 20 74 5f 61 6e 67 20 3d 20 28 69 20 25 20 35 | 04;...0....double.t_ang.=.(i.%.5 |
| 8c180 | 20 3d 3d 20 30 29 20 3f 20 30 2e 30 31 32 20 3a 20 30 2e 30 30 35 3b 00 00 00 4a 20 20 20 20 66 | .==.0).?.0.012.:.0.005;...J....f |
| 8c1a0 | 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 | ill_tri(px,.a->w,.a->h,.cx.+.cos |
| 8c1c0 | 28 61 6e 67 2d 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2d 74 5f 61 6e | (ang-t_ang)*r,.cy.+.sin(ang-t_an |
| 8c1e0 | 67 29 2a 72 2c 00 00 00 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 | g)*r,...:.............cx.+.cos(a |
| 8c200 | 6e 67 2b 74 5f 61 6e 67 29 2a 72 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 2b 74 5f 61 6e 67 29 | ng+t_ang)*r,.cy.+.sin(ang+t_ang) |
| 8c220 | 2a 72 2c 00 00 00 47 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 61 6e 67 | *r,...G.............cx.+.cos(ang |
| 8c240 | 29 2a 28 72 2d 6c 65 6e 29 2c 20 63 79 20 2b 20 73 69 6e 28 61 6e 67 29 2a 28 72 2d 6c 65 6e 29 | )*(r-len),.cy.+.sin(ang)*(r-len) |
| 8c260 | 2c 20 43 4f 4c 4f 52 5f 44 49 41 4c 29 3b 00 00 00 03 20 20 7d 00 00 00 00 00 00 00 34 20 20 64 | ,.COLOR_DIAL);......}.......4..d |
| 8c280 | 6f 75 62 6c 65 20 73 61 20 3d 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 2e 30 20 2a 20 32 | ouble.sa.=.tmv.tm_sec./.60.0.*.2 |
| 8c2a0 | 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 4a 20 20 64 6f 75 62 6c 65 20 6d 61 | .*.M_PI.-.M_PI_2;...J..double.ma |
| 8c2c0 | 20 3d 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2b 20 74 6d 76 2e 74 6d 5f 73 65 63 20 2f 20 36 30 | .=.(tmv.tm_min.+.tmv.tm_sec./.60 |
| 8c2e0 | 2e 30 29 20 2f 20 36 30 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 | .0)./.60.0.*.2.*.M_PI.-.M_PI_2;. |
| 8c300 | 00 00 54 20 20 64 6f 75 62 6c 65 20 68 61 20 3d 20 28 28 74 6d 76 2e 74 6d 5f 68 6f 75 72 20 25 | ..T..double.ha.=.((tmv.tm_hour.% |
| 8c320 | 20 31 32 29 20 2b 20 28 74 6d 76 2e 74 6d 5f 6d 69 6e 20 2f 20 36 30 2e 30 29 29 20 2f 20 31 32 | .12).+.(tmv.tm_min./.60.0))./.12 |
| 8c340 | 2e 30 20 2a 20 32 20 2a 20 4d 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 00 00 00 00 5f 20 | .0.*.2.*.M_PI.-.M_PI_2;......._. |
| 8c360 | 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 | .fill_tri(px,.a->w,.a->h,.cx.+.c |
| 8c380 | 6f 73 28 68 61 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 63 79 20 2b | os(ha-0.12)*r*HAND_THICK_H,.cy.+ |
| 8c3a0 | 20 73 69 6e 28 68 61 2d 30 2e 31 32 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 00 00 | .sin(ha-0.12)*r*HAND_THICK_H,... |
| 8c3c0 | 00 4f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 68 61 2b 30 2e 31 32 29 2a 72 | .O...........cx.+.cos(ha+0.12)*r |
| 8c3e0 | 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 2b 30 2e 31 32 29 | *HAND_THICK_H,.cy.+.sin(ha+0.12) |
| 8c400 | 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 48 2c 20 00 00 00 4d 20 20 20 20 20 20 20 20 20 20 20 | *r*HAND_THICK_H,....M........... |
| 8c420 | 63 78 20 2b 20 63 6f 73 28 68 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 63 79 20 2b 20 | cx.+.cos(ha)*r*HAND_LEN_H,.cy.+. |
| 8c440 | 73 69 6e 28 68 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 43 4f 4c 4f 52 5f 48 4f 55 52 | sin(ha)*r*HAND_LEN_H,.COLOR_HOUR |
| 8c460 | 29 3b 00 00 00 5f 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c | );..._..fill_tri(px,.a->w,.a->h, |
| 8c480 | 20 63 78 20 2b 20 63 6f 73 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f | .cx.+.cos(ma-0.08)*r*HAND_THICK_ |
| 8c4a0 | 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 2d 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 | M,.cy.+.sin(ma-0.08)*r*HAND_THIC |
| 8c4c0 | 4b 5f 4d 2c 20 00 00 00 4f 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 2b | K_M,....O...........cx.+.cos(ma+ |
| 8c4e0 | 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 63 79 20 2b 20 73 69 6e 28 6d | 0.08)*r*HAND_THICK_M,.cy.+.sin(m |
| 8c500 | 61 2b 30 2e 30 38 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 4d 2c 20 00 00 00 4c 20 20 20 20 | a+0.08)*r*HAND_THICK_M,....L.... |
| 8c520 | 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 6d 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 4d | .......cx.+.cos(ma)*r*HAND_LEN_M |
| 8c540 | 2c 20 63 79 20 2b 20 73 69 6e 28 6d 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 4d 2c 20 43 4f 4c | ,.cy.+.sin(ma)*r*HAND_LEN_M,.COL |
| 8c560 | 4f 52 5f 4d 49 4e 29 3b 00 00 00 5e 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 2c | OR_MIN);...^..fill_tri(px,.a->w, |
| 8c580 | 20 61 2d 3e 68 2c 20 63 78 20 2b 20 63 6f 73 28 73 61 2d 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f | .a->h,.cx.+.cos(sa-0.05)*r*HAND_ |
| 8c5a0 | 54 48 49 43 4b 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 2d 30 2e 30 35 29 2a 72 2a 48 41 4e | THICK_S,.cy.+.sin(sa-0.05)*r*HAN |
| 8c5c0 | 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 4e 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f | D_THICK_S,...N...........cx.+.co |
| 8c5e0 | 73 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 20 63 79 20 2b 20 | s(sa+0.05)*r*HAND_THICK_S,.cy.+. |
| 8c600 | 73 69 6e 28 73 61 2b 30 2e 30 35 29 2a 72 2a 48 41 4e 44 5f 54 48 49 43 4b 5f 53 2c 00 00 00 4c | sin(sa+0.05)*r*HAND_THICK_S,...L |
| 8c620 | 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 2a 72 2a 48 41 4e 44 5f 4c | ...........cx.+.cos(sa)*r*HAND_L |
| 8c640 | 45 4e 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 2a 72 2a 48 41 4e 44 5f 4c 45 4e 5f 53 2c | EN_S,.cy.+.sin(sa)*r*HAND_LEN_S, |
| 8c660 | 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 00 00 00 00 31 20 20 69 6e 74 20 68 75 62 5f 72 20 | .COLOR_SEC);.......1..int.hub_r. |
| 8c680 | 3d 20 72 20 2a 20 30 2e 30 34 3b 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 20 68 75 62 5f 72 | =.r.*.0.04;.if.(hub_r.<.4).hub_r |
| 8c6a0 | 20 3d 20 34 3b 00 00 00 56 20 20 66 6f 72 20 28 69 6e 74 20 69 72 20 3d 20 30 3b 20 69 72 20 3c | .=.4;...V..for.(int.ir.=.0;.ir.< |
| 8c6c0 | 20 68 75 62 5f 72 20 2d 20 32 3b 20 69 72 2b 2b 29 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e | .hub_r.-.2;.ir++).circle(px,.a-> |
| 8c6e0 | 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 63 79 2c 20 69 72 2c 20 43 4f 4c 4f 52 5f 42 47 29 3b 00 | w,.a->h,.cx,.cy,.ir,.COLOR_BG);. |
| 8c700 | 00 00 33 20 20 63 69 72 63 6c 65 28 70 78 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 2c 20 63 78 2c 20 | ..3..circle(px,.a->w,.a->h,.cx,. |
| 8c720 | 63 79 2c 20 68 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 00 00 00 00 29 20 20 | cy,.hub_r,.COLOR_HUB);.......).. |
| 8c740 | 77 6c 5f 73 75 72 66 61 63 65 5f 61 74 74 61 63 68 28 61 2d 3e 77 73 2c 20 61 2d 3e 62 75 66 2c | wl_surface_attach(a->ws,.a->buf, |
| 8c760 | 20 30 2c 20 30 29 3b 00 00 00 34 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 64 61 6d 61 67 65 5f 62 | .0,.0);...4..wl_surface_damage_b |
| 8c780 | 75 66 66 65 72 28 61 2d 3e 77 73 2c 20 30 2c 20 30 2c 20 61 2d 3e 77 2c 20 61 2d 3e 68 29 3b 00 | uffer(a->ws,.0,.0,.a->w,.a->h);. |
| 8c7a0 | 00 00 1b 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 63 6f 6d 6d 69 74 28 61 2d 3e 77 73 29 3b 00 00 | .....wl_surface_commit(a->ws);.. |
| 8c7c0 | 00 14 20 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 3b 00 00 00 01 7d 00 00 00 00 00 | ....a->redraw.=.false;....}..... |
| 8c7e0 | 00 00 47 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 6c 6f 73 65 28 76 6f 69 64 20 2a 64 2c | ..Gstatic.void.xt_close(void.*d, |
| 8c800 | 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 74 29 20 7b 20 72 75 6e 6e | .struct.xdg_toplevel.*xt).{.runn |
| 8c820 | 69 6e 67 20 3d 20 30 3b 20 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f 63 66 67 | ing.=.0;.}...`static.void.xt_cfg |
| 8c840 | 28 76 6f 69 64 20 2a 64 2c 20 73 74 72 75 63 74 20 78 64 67 5f 74 6f 70 6c 65 76 65 6c 20 2a 78 | (void.*d,.struct.xdg_toplevel.*x |
| 8c860 | 74 2c 20 69 6e 74 33 32 5f 74 20 77 2c 20 69 6e 74 33 32 5f 74 20 68 2c 20 73 74 72 75 63 74 20 | t,.int32_t.w,.int32_t.h,.struct. |
| 8c880 | 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a | wl_array.*s).{......struct.app.* |
| 8c8a0 | 61 20 3d 20 64 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 26 20 68 20 3e 20 30 20 26 | a.=.d;...3..if.(w.>.0.&&.h.>.0.& |
| 8c8c0 | 26 20 28 77 20 21 3d 20 61 2d 3e 77 20 7c 7c 20 68 20 21 3d 20 61 2d 3e 68 29 29 20 7b 00 00 00 | &.(w.!=.a->w.||.h.!=.a->h)).{... |
| 8c8e0 | 39 20 20 20 20 61 2d 3e 77 20 3d 20 77 3b 20 61 2d 3e 68 20 3d 20 68 3b 20 64 65 73 74 72 6f 79 | 9....a->w.=.w;.a->h.=.h;.destroy |
| 8c900 | 5f 62 75 66 28 61 29 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 03 20 20 | _buf(a);.a->redraw.=.true;...... |
| 8c920 | 7d 00 00 00 01 7d 00 00 00 46 73 74 61 74 69 63 20 76 6f 69 64 20 78 73 5f 63 66 67 28 76 6f 69 | }....}...Fstatic.void.xs_cfg(voi |
| 8c940 | 64 20 2a 64 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 | d.*d,.struct.xdg_surface.*xs,.ui |
| 8c960 | 6e 74 33 32 5f 74 20 73 65 72 69 61 6c 29 20 7b 00 00 00 3b 20 20 73 74 72 75 63 74 20 61 70 70 | nt32_t.serial).{...;..struct.app |
| 8c980 | 20 2a 61 20 3d 20 64 3b 20 78 64 67 5f 73 75 72 66 61 63 65 5f 61 63 6b 5f 63 6f 6e 66 69 67 75 | .*a.=.d;.xdg_surface_ack_configu |
| 8c9a0 | 72 65 28 78 73 2c 20 73 65 72 69 61 6c 29 3b 00 00 00 29 20 20 61 2d 3e 63 6f 6e 66 69 67 75 72 | re(xs,.serial);...)..a->configur |
| 8c9c0 | 65 64 20 3d 20 74 72 75 65 3b 20 61 2d 3e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 01 | ed.=.true;.a->redraw.=.true;.... |
| 8c9e0 | 7d 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 72 65 67 5f 67 6c 6f 62 61 6c 28 76 6f 69 64 | }...`static.void.reg_global(void |
| 8ca00 | 20 2a 64 2c 20 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 | .*d,.struct.wl_registry.*r,.uint |
| 8ca20 | 33 32 5f 74 20 69 64 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 2c 20 75 69 6e 74 33 32 5f 74 | 32_t.id,.const.char.*i,.uint32_t |
| 8ca40 | 20 76 29 20 7b 00 00 00 14 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 64 3b 00 00 00 | .v).{......struct.app.*a.=.d;... |
| 8ca60 | 62 20 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 | b..if.(!strcmp(i,."wl_compositor |
| 8ca80 | 22 29 29 20 61 2d 3e 63 6f 6d 70 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e 64 28 72 | ")).a->comp.=.wl_registry_bind(r |
| 8caa0 | 2c 20 69 64 2c 20 26 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 | ,.id,.&wl_compositor_interface,. |
| 8cac0 | 34 29 3b 00 00 00 58 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 77 6c | 4);...X..else.if.(!strcmp(i,."wl |
| 8cae0 | 5f 73 68 6d 22 29 29 20 61 2d 3e 73 68 6d 20 3d 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 62 69 6e | _shm")).a->shm.=.wl_registry_bin |
| 8cb00 | 64 28 72 2c 20 69 64 2c 20 26 77 6c 5f 73 68 6d 5f 69 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 | d(r,.id,.&wl_shm_interface,.1);. |
| 8cb20 | 00 00 27 20 20 65 6c 73 65 20 69 66 20 28 21 73 74 72 63 6d 70 28 69 2c 20 22 78 64 67 5f 77 6d | ..'..else.if.(!strcmp(i,."xdg_wm |
| 8cb40 | 5f 62 61 73 65 22 29 29 20 7b 00 00 00 3f 20 20 20 20 61 2d 3e 77 6d 20 3d 20 77 6c 5f 72 65 67 | _base")).{...?....a->wm.=.wl_reg |
| 8cb60 | 69 73 74 72 79 5f 62 69 6e 64 28 72 2c 20 69 64 2c 20 26 78 64 67 5f 77 6d 5f 62 61 73 65 5f 69 | istry_bind(r,.id,.&xdg_wm_base_i |
| 8cb80 | 6e 74 65 72 66 61 63 65 2c 20 31 29 3b 00 00 00 43 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 | nterface,.1);...C....static.cons |
| 8cba0 | 74 20 73 74 72 75 63 74 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 6c 69 73 74 65 6e 65 72 20 6c 20 | t.struct.xdg_wm_base_listener.l. |
| 8cbc0 | 3d 20 7b 2e 70 69 6e 67 20 3d 20 77 6d 5f 70 69 6e 67 7d 3b 00 00 00 2b 20 20 20 20 78 64 67 5f | =.{.ping.=.wm_ping};...+....xdg_ |
| 8cbe0 | 77 6d 5f 62 61 73 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2d 3e 77 6d 2c 20 26 6c 2c 20 | wm_base_add_listener(a->wm,.&l,. |
| 8cc00 | 61 29 3b 00 00 00 03 20 20 7d 00 00 00 01 7d 00 00 00 00 00 00 00 10 69 6e 74 20 6d 61 69 6e 28 | a);......}....}........int.main( |
| 8cc20 | 76 6f 69 64 29 20 7b 00 00 00 2b 20 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b | void).{...+..struct.app.a.=.{0}; |
| 8cc40 | 20 61 2e 77 20 3d 20 34 30 30 3b 20 61 2e 68 20 3d 20 34 30 30 3b 00 00 00 19 20 20 73 69 67 6e | .a.w.=.400;.a.h.=.400;......sign |
| 8cc60 | 61 6c 28 53 49 47 49 4e 54 2c 20 6f 6e 5f 73 69 67 29 3b 00 00 00 21 20 20 61 2e 64 20 3d 20 77 | al(SIGINT,.on_sig);...!..a.d.=.w |
| 8cc80 | 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 15 20 20 69 66 | l_display_connect(NULL);......if |
| 8cca0 | 20 28 21 61 2e 64 29 20 72 65 74 75 72 6e 20 31 3b 00 00 00 27 20 20 61 2e 72 65 67 20 3d 20 77 | .(!a.d).return.1;...'..a.reg.=.w |
| 8ccc0 | 6c 5f 64 69 73 70 6c 61 79 5f 67 65 74 5f 72 65 67 69 73 74 72 79 28 61 2e 64 29 3b 00 00 00 47 | l_display_get_registry(a.d);...G |
| 8cce0 | 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c 5f 72 65 67 69 73 74 72 | ..static.const.struct.wl_registr |
| 8cd00 | 79 5f 6c 69 73 74 65 6e 65 72 20 72 6c 20 3d 20 7b 2e 67 6c 6f 62 61 6c 20 3d 20 72 65 67 5f 67 | y_listener.rl.=.{.global.=.reg_g |
| 8cd20 | 6c 6f 62 61 6c 7d 3b 00 00 00 2b 20 20 77 6c 5f 72 65 67 69 73 74 72 79 5f 61 64 64 5f 6c 69 73 | lobal};...+..wl_registry_add_lis |
| 8cd40 | 74 65 6e 65 72 28 61 2e 72 65 67 2c 20 26 72 6c 2c 20 26 61 29 3b 00 00 00 1c 20 20 77 6c 5f 64 | tener(a.reg,.&rl,.&a);......wl_d |
| 8cd60 | 69 73 70 6c 61 79 5f 72 6f 75 6e 64 74 72 69 70 28 61 2e 64 29 3b 00 00 00 2b 20 20 69 66 20 28 | isplay_roundtrip(a.d);...+..if.( |
| 8cd80 | 21 61 2e 63 6f 6d 70 20 7c 7c 20 21 61 2e 73 68 6d 20 7c 7c 20 21 61 2e 77 6d 29 20 72 65 74 75 | !a.comp.||.!a.shm.||.!a.wm).retu |
| 8cda0 | 72 6e 20 31 3b 00 00 00 2e 20 20 61 2e 77 73 20 3d 20 77 6c 5f 63 6f 6d 70 6f 73 69 74 6f 72 5f | rn.1;......a.ws.=.wl_compositor_ |
| 8cdc0 | 63 72 65 61 74 65 5f 73 75 72 66 61 63 65 28 61 2e 63 6f 6d 70 29 3b 00 00 00 31 20 20 61 2e 78 | create_surface(a.comp);...1..a.x |
| 8cde0 | 73 20 3d 20 78 64 67 5f 77 6d 5f 62 61 73 65 5f 67 65 74 5f 78 64 67 5f 73 75 72 66 61 63 65 28 | s.=.xdg_wm_base_get_xdg_surface( |
| 8ce00 | 61 2e 77 6d 2c 20 61 2e 77 73 29 3b 00 00 00 47 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 | a.wm,.a.ws);...G..static.const.s |
| 8ce20 | 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 73 6c 20 3d | truct.xdg_surface_listener.xsl.= |
| 8ce40 | 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 73 5f 63 66 67 7d 3b 00 00 00 2b 20 20 78 64 67 | .{.configure.=.xs_cfg};...+..xdg |
| 8ce60 | 5f 73 75 72 66 61 63 65 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 73 2c 20 26 78 73 6c | _surface_add_listener(a.xs,.&xsl |
| 8ce80 | 2c 20 26 61 29 3b 00 00 00 28 20 20 61 2e 78 74 20 3d 20 78 64 67 5f 73 75 72 66 61 63 65 5f 67 | ,.&a);...(..a.xt.=.xdg_surface_g |
| 8cea0 | 65 74 5f 74 6f 70 6c 65 76 65 6c 28 61 2e 78 73 29 3b 00 00 00 5b 20 20 73 74 61 74 69 63 20 63 | et_toplevel(a.xs);...[..static.c |
| 8cec0 | 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 6e 65 | onst.struct.xdg_toplevel_listene |
| 8cee0 | 72 20 78 74 6c 20 3d 20 7b 2e 63 6f 6e 66 69 67 75 72 65 20 3d 20 78 74 5f 63 66 67 2c 20 2e 63 | r.xtl.=.{.configure.=.xt_cfg,..c |
| 8cf00 | 6c 6f 73 65 20 3d 20 78 74 5f 63 6c 6f 73 65 7d 3b 00 00 00 2c 20 20 78 64 67 5f 74 6f 70 6c 65 | lose.=.xt_close};...,..xdg_tople |
| 8cf20 | 76 65 6c 5f 61 64 64 5f 6c 69 73 74 65 6e 65 72 28 61 2e 78 74 2c 20 26 78 74 6c 2c 20 26 61 29 | vel_add_listener(a.xt,.&xtl,.&a) |
| 8cf40 | 3b 00 00 00 2a 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 61 2e | ;...*..xdg_toplevel_set_title(a. |
| 8cf60 | 78 74 2c 20 22 77 6c 63 6c 6f 63 6b 22 29 3b 00 00 00 1a 20 20 77 6c 5f 73 75 72 66 61 63 65 5f | xt,."wlclock");......wl_surface_ |
| 8cf80 | 63 6f 6d 6d 69 74 28 61 2e 77 73 29 3b 00 00 00 31 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e | commit(a.ws);...1..while.(!a.con |
| 8cfa0 | 66 69 67 75 72 65 64 29 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 28 61 2e 64 | figured).wl_display_dispatch(a.d |
| 8cfc0 | 29 3b 00 00 00 02 20 20 00 00 00 32 20 20 70 75 74 73 28 22 77 61 79 6c 61 6e 64 20 73 75 72 66 | );.........2..puts("wayland.surf |
| 8cfe0 | 61 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 66 69 67 75 72 65 64 22 29 3b 00 00 | ace.successfully.configured");.. |
| 8d000 | 00 02 20 20 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 39 20 20 69 6e 74 20 74 | ..........render(&a);...9..int.t |
| 8d020 | 66 64 20 3d 20 74 69 6d 65 72 66 64 5f 63 72 65 61 74 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f | fd.=.timerfd_create(CLOCK_MONOTO |
| 8d040 | 4e 49 43 2c 20 54 46 44 5f 43 4c 4f 45 58 45 43 29 3b 00 00 00 46 20 20 74 69 6d 65 72 66 64 5f | NIC,.TFD_CLOEXEC);...F..timerfd_ |
| 8d060 | 73 65 74 74 69 6d 65 28 74 66 64 2c 20 30 2c 20 26 28 73 74 72 75 63 74 20 69 74 69 6d 65 72 73 | settime(tfd,.0,.&(struct.itimers |
| 8d080 | 70 65 63 29 7b 7b 31 2c 20 30 7d 2c 20 7b 31 2c 20 30 7d 7d 2c 20 4e 55 4c 4c 29 3b 00 00 00 13 | pec){{1,.0},.{1,.0}},.NULL);.... |
| 8d0a0 | 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 31 30 30 5d 3b 00 00 00 13 20 20 77 68 69 6c 65 20 28 | ..char.buffer[100];......while.( |
| 8d0c0 | 72 75 6e 6e 69 6e 67 29 20 7b 00 00 00 4f 20 20 20 20 77 68 69 6c 65 20 28 77 6c 5f 64 69 73 70 | running).{...O....while.(wl_disp |
| 8d0e0 | 6c 61 79 5f 70 72 65 70 61 72 65 5f 72 65 61 64 28 61 2e 64 29 20 21 3d 20 30 29 20 77 6c 5f 64 | lay_prepare_read(a.d).!=.0).wl_d |
| 8d100 | 69 73 70 6c 61 79 5f 64 69 73 70 61 74 63 68 5f 70 65 6e 64 69 6e 67 28 61 2e 64 29 3b 00 00 00 | isplay_dispatch_pending(a.d);... |
| 8d120 | 1a 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 4d 20 | .....wl_display_flush(a.d);...M. |
| 8d140 | 20 20 20 73 74 72 75 63 74 20 70 6f 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 7b 77 6c 5f 64 | ...struct.pollfd.fds[2].=.{{wl_d |
| 8d160 | 69 73 70 6c 61 79 5f 67 65 74 5f 66 64 28 61 2e 64 29 2c 20 50 4f 4c 4c 49 4e 7d 2c 20 7b 74 66 | isplay_get_fd(a.d),.POLLIN},.{tf |
| 8d180 | 64 2c 20 50 4f 4c 4c 49 4e 7d 7d 3b 00 00 00 48 20 20 20 20 69 66 20 28 70 6f 6c 6c 28 66 64 73 | d,.POLLIN}};...H....if.(poll(fds |
| 8d1a0 | 2c 20 32 2c 20 2d 31 29 20 3c 20 30 29 20 7b 20 77 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 | ,.2,.-1).<.0).{.wl_display_cance |
| 8d1c0 | 6c 5f 72 65 61 64 28 61 2e 64 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 00 00 00 5f 20 20 20 20 | l_read(a.d);.continue;.}..._.... |
| 8d1e0 | 69 66 20 28 66 64 73 5b 30 5d 2e 72 65 76 65 6e 74 73 20 26 20 50 4f 4c 4c 49 4e 29 20 77 6c 5f | if.(fds[0].revents.&.POLLIN).wl_ |
| 8d200 | 64 69 73 70 6c 61 79 5f 72 65 61 64 5f 65 76 65 6e 74 73 28 61 2e 64 29 3b 20 65 6c 73 65 20 77 | display_read_events(a.d);.else.w |
| 8d220 | 6c 5f 64 69 73 70 6c 61 79 5f 63 61 6e 63 65 6c 5f 72 65 61 64 28 61 2e 64 29 3b 00 00 00 25 20 | l_display_cancel_read(a.d);...%. |
| 8d240 | 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 28 61 | ...wl_display_dispatch_pending(a |
| 8d260 | 2e 64 29 3b 00 00 00 22 20 20 20 20 69 66 20 28 66 64 73 5b 31 5d 2e 72 65 76 65 6e 74 73 20 26 | .d);..."....if.(fds[1].revents.& |
| 8d280 | 20 50 4f 4c 4c 49 4e 29 20 7b 00 00 00 37 20 20 20 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 | .POLLIN).{...7......uint64_t.t_e |
| 8d2a0 | 78 70 3b 20 72 65 61 64 28 74 66 64 2c 20 26 74 5f 65 78 70 2c 20 73 69 7a 65 6f 66 28 74 5f 65 | xp;.read(tfd,.&t_exp,.sizeof(t_e |
| 8d2c0 | 78 70 29 29 3b 00 00 00 1e 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 74 69 6d 65 | xp));..........time_t.cli.=.time |
| 8d2e0 | 28 4e 55 4c 4c 29 3b 00 00 00 2c 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 5f 73 74 | (NULL);...,......struct.tm.*t_st |
| 8d300 | 72 75 63 74 20 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 63 6c 69 29 3b 00 00 00 49 20 20 20 20 20 | ruct.=.localtime(&cli);...I..... |
| 8d320 | 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 | .strftime(buffer,.sizeof(buffer) |
| 8d340 | 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a 25 53 20 25 70 22 2c 20 74 5f 73 74 72 75 | ,."%d-%m-%Y.%I:%M:%S.%p",.t_stru |
| 8d360 | 63 74 29 3b 00 00 00 35 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 69 73 20 | ct);...5......printf("\rTime.is. |
| 8d380 | 25 73 22 2c 20 62 75 66 66 65 72 29 3b 20 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 00 00 00 | %s",.buffer);.fflush(stdout);... |
| 8d3a0 | 16 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 00 00 00 05 20 20 20 20 7d | .......a.redraw.=.true;........} |
| 8d3c0 | 00 00 00 1d 20 20 20 20 69 66 20 28 61 2e 72 65 64 72 61 77 29 20 72 65 6e 64 65 72 28 26 61 29 | ........if.(a.redraw).render(&a) |
| 8d3e0 | 3b 00 00 00 03 20 20 7d 00 00 00 48 20 20 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 20 63 6c 6f 73 | ;......}...H..printf("\n");.clos |
| 8d400 | 65 28 74 66 64 29 3b 20 64 65 73 74 72 6f 79 5f 62 75 66 28 26 61 29 3b 20 77 6c 5f 64 69 73 70 | e(tfd);.destroy_buf(&a);.wl_disp |
| 8d420 | 6c 61 79 5f 64 69 73 63 6f 6e 6e 65 63 74 28 61 2e 64 29 3b 35 81 f5 18 00 00 00 00 12 00 00 00 | lay_disconnect(a.d);5........... |
| 8d440 | 11 00 00 00 e0 00 00 00 2c 00 00 00 2a 01 00 00 01 00 00 00 96 01 00 00 00 00 00 00 0f 22 00 00 | ........,...*................".. |
| 8d460 | 00 00 00 00 4b 24 00 00 00 00 00 00 35 81 5f d0 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 52 | ....K$......5._....P...........R |
| 8d480 | 00 00 00 51 00 00 00 cc 00 00 00 36 00 00 00 00 ff ff ff ff 00 01 00 00 00 00 00 00 00 00 00 00 | ...Q.......6.................... |
| 8d4a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d4c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d4e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d5a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8d5c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0e 00 00 00 00 00 00 00 03 00 00 | ................................ |
| 8d5e0 | 00 0e 00 00 00 00 00 00 00 56 00 00 00 0e 00 00 00 00 69 9d a4 4a 04 01 00 00 00 17 00 f5 18 00 | .........V........i..J.......... |
| 8d600 | 00 00 c8 00 00 00 ce 00 00 01 03 00 00 00 04 00 00 00 1a 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 | .....................time_t.cli. |
| 8d620 | 3d 20 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 21 20 20 73 74 72 75 63 74 20 74 6d 20 2a 74 20 | =.time(NULL);...!..struct.tm.*t. |
| 8d640 | 3d 20 6c 6f 63 61 6c 74 69 6d 65 28 26 6e 6f 77 29 3b 00 00 00 13 20 20 63 68 61 72 20 62 75 66 | =.localtime(&now);......char.buf |
| 8d660 | 66 65 72 5b 31 30 30 5d 3b 00 00 00 4e 20 20 73 74 72 66 74 69 6d 65 28 62 75 66 66 65 72 2c 20 | fer[100];...N..strftime(buffer,. |
| 8d680 | 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 2c 20 22 25 64 2d 25 6d 2d 25 59 20 25 49 3a 25 4d 3a | sizeof(buffer),."%d-%m-%Y.%I:%M: |
| 8d6a0 | 25 53 20 25 70 22 29 20 73 74 72 75 63 74 20 61 70 70 20 61 20 3d 20 7b 30 7d 3b 35 81 f5 18 00 | %S.%p").struct.app.a.=.{0};5.... |
| 8d6c0 | 00 00 00 c8 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 03 00 00 00 3a 00 00 00 51 15 00 00 00 | .......................:...Q.... |
| 8d6e0 | 00 00 00 89 00 00 00 00 00 00 00 8b 00 00 00 00 00 00 00 35 81 e7 aa | ...................5... |