| ofs | hex dump | ascii |
|---|
| 0000 | 56 69 6d 9f 55 6e 44 6f e5 00 03 b6 4d ac 5f 95 a1 19 9a b4 af c2 3f 19 b6 d0 26 cb 56 d8 55 91 | Vim.UnDo....M._.......?...&.V.U. |
| 0020 | ff c3 2b 32 42 01 61 c9 d8 a4 47 00 00 01 35 00 00 00 1b 20 20 20 20 20 20 20 20 70 72 69 6e 74 | ..+2B.a...G...5............print |
| 0040 | 66 28 22 5c 72 54 69 6d 65 20 69 73 20 25 00 00 00 e6 00 00 00 1b 00 00 00 01 00 00 00 06 00 00 | f("\rTime.is.%.................. |
| 0060 | 00 00 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 00 69 9d ae 2e 04 01 00 00 00 05 00 5f d0 00 | ..................i.........._.. |
| 0080 | 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 00 00 00 00 00 ff | ................................ |
| 00a0 | 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 | ................................ |
| 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 00 69 9d ad 68 04 01 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 3f 00 00 | .i..h........................?.. |
| 0220 | 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 |
| 0240 | 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- |
| 0260 | 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 |
| 0280 | 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 |
| 02a0 | 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. |
| 02c0 | 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 |
| 02e0 | 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 |
| 0300 | 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>.. |
| 0320 | 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 |
| 0340 | 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/ |
| 0360 | 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>. |
| 0380 | 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 |
| 03a0 | 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 2f 2a 20 | de.<wayland-client.h>......../*. |
| 03c0 | 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 31 23 64 65 | ---.THEME.SETTINGS.---.*/...1#de |
| 03e0 | 66 69 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 | fine.COLOR_BG.0xFF1A1A1A.../*.Da |
| 0400 | 72 6b 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 | rk.Charcoal.*/.../#define.COLOR_ |
| 0420 | 44 49 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 | DIAL.0xFFFFFFFF./*.White.Ticks.* |
| 0440 | 2f 00 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 | /...-#define.COLOR_HOUR.0xFFEEEE |
| 0460 | 45 45 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 | EE./*.Off-white.*/....#define.CO |
| 0480 | 4c 4f 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 | LOR_MIN.0xFFCCCCCC../*.Light.Gre |
| 04a0 | 79 20 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 | y.*/....#define.COLOR_SEC.0xFFFF |
| 04c0 | 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 30 23 64 65 66 69 6e | 0000../*.Bright.Red.*/...0#defin |
| 04e0 | 65 20 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 | e.COLOR_HUB.0xFF444444../*.Hub.C |
| 0500 | 61 70 20 47 72 65 79 20 2a 2f 00 00 00 00 00 00 00 3b 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 | ap.Grey.*/.......;#define.HAND_T |
| 0520 | 48 49 43 4b 5f 48 20 30 2e 30 35 20 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 74 68 69 63 6b 6e | HICK_H.0.05../*.Hour.hand.thickn |
| 0540 | 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 3d 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 48 | ess.factor.*/...=#define.HAND_TH |
| 0560 | 49 43 4b 5f 4d 20 30 2e 30 33 35 20 2f 2a 20 4d 69 6e 75 74 65 20 68 61 6e 64 20 74 68 69 63 6b | ICK_M.0.035./*.Minute.hand.thick |
| 0580 | 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 3d 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 54 | ness.factor.*/...=#define.HAND_T |
| 05a0 | 48 49 43 4b 5f 53 20 30 2e 30 34 20 20 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 74 68 69 63 | HICK_S.0.04../*.Second.hand.thic |
| 05c0 | 6b 6e 65 73 73 20 66 61 63 74 6f 72 20 2a 2f 00 00 00 00 00 00 00 43 23 64 65 66 69 6e 65 20 48 | kness.factor.*/.......C#define.H |
| 05e0 | 41 4e 44 5f 4c 45 4e 5f 48 20 30 2e 35 35 20 2f 2a 20 48 6f 75 72 20 68 61 6e 64 20 6c 65 6e 67 | AND_LEN_H.0.55./*.Hour.hand.leng |
| 0600 | 74 68 20 28 66 72 61 63 74 69 6f 6e 20 6f 66 20 72 61 64 69 75 73 29 20 2a 2f 00 00 00 30 23 64 | th.(fraction.of.radius).*/...0#d |
| 0620 | 65 66 69 6e 65 20 48 41 4e 44 5f 4c 45 4e 5f 4d 20 30 2e 38 30 20 2f 2a 20 4d 69 6e 75 74 65 20 | efine.HAND_LEN_M.0.80./*.Minute. |
| 0640 | 68 61 6e 64 20 6c 65 6e 67 74 68 20 2a 2f 00 00 00 30 23 64 65 66 69 6e 65 20 48 41 4e 44 5f 4c | hand.length.*/...0#define.HAND_L |
| 0660 | 45 4e 5f 53 20 30 2e 38 30 20 2f 2a 20 53 65 63 6f 6e 64 20 68 61 6e 64 20 6c 65 6e 67 74 68 20 | EN_S.0.80./*.Second.hand.length. |
| 0680 | 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 2d 2d 2d 2d 2d 20 | */..../*.----------------------. |
| 06a0 | 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 23 64 65 66 69 6e | */........#ifndef.M_PI...##defin |
| 06c0 | 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 00 | e.M_PI.3.14159265358979323846... |
| 06e0 | 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 65 | .#endif....#ifndef.M_PI_2...%#de |
| 0700 | 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 39 | fine.M_PI_2.1.570796326794896619 |
| 0720 | 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 74 | 23....#endif.......)static.volat |
| 0740 | 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 00 | ile.sig_atomic_t.running.=.1;... |
| 0760 | 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 0a | .static.void.on_sig(int.s).{.... |
| 0780 | 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 01 | ..(void)s;......running.=.0;.... |
| 07a0 | 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 63 | }........struct.app.{......struc |
| 07c0 | 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 5f | t.wl_display.*d;......struct.wl_ |
| 07e0 | 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 6f | registry.*reg;......struct.wl_co |
| 0800 | 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 73 | mpositor.*comp;......struct.wl_s |
| 0820 | 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 65 | hm.*shm;......struct.xdg_wm_base |
| 0840 | 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 73 | .*wm;......struct.wl_surface.*ws |
| 0860 | 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 00 | ;......struct.xdg_surface.*xs;.. |
| 0880 | 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 0f | ....struct.xdg_toplevel.*xt;.... |
| 08a0 | 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 62 | ..void.*pixels;......struct.wl_b |
| 08c0 | 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 20 | uffer.*buf;......int.w,.h;...... |
| 08e0 | 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 64 | int.bw,.bh;......bool.configured |
| 0900 | 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 00 | ;......bool.redraw;....};....... |
| 0920 | 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 2c | Jstatic.void.wm_ping(void.*data, |
| 0940 | 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 5f | .struct.xdg_wm_base.*wm,.uint32_ |
| 0960 | 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 6e | t.serial).{......xdg_wm_base_pon |
| 0980 | 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 69 | g(wm,.serial);....}.......$stati |
| 09a0 | 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 00 | c.int.create_shm(size_t.size).{. |
| 09c0 | 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 58 | ..#..char.t[].=."/tmp/wlclock-XX |
| 09e0 | 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 3b | XXXX";......int.fd.=.mkstemp(t); |
| 0a00 | 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 29 | ......if.(fd.<.0)........exit(1) |
| 0a20 | 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 6e | ;......unlink(t);......if.(ftrun |
| 0a40 | 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 28 | cate(fd,.size).<.0)........exit( |
| 0a60 | 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 28 | 1);......return.fd;....}.......( |
| 0a80 | 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 61 | static.void.destroy_buf(struct.a |
| 0aa0 | 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 20 | pp.*a).{......if.(!a->buf)...... |
| 0ac0 | 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 69 | ..return;...*..size_t.size.=.(si |
| 0ae0 | 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_ |
| 0b00 | 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 |
| 0b20 | 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 |
| 0b40 | 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; |
| 0b60 | 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 |
| 0b80 | 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 |
| 0ba0 | 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 |
| 0bc0 | 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 |
| 0be0 | 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 |
| 0c00 | 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 |
| 0c20 | 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 |
| 0c40 | 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 49 | );......if.(a->pixels.==.MAP_FAI |
| 0c60 | 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 74 | LED)........exit(1);...B..struct |
| 0c80 | 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 61 | .wl_shm_pool.*pool.=.wl_shm_crea |
| 0ca0 | 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 20 | te_pool(a->shm,.fd,.size);...C.. |
| 0cc0 | 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 66 | a->buf.=.wl_shm_pool_create_buff |
| 0ce0 | 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 34 | er(pool,.0,.a->w,.a->h,.a->w.*.4 |
| 0d00 | 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 20 | ,...=........................... |
| 0d20 | 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 38 | ..........WL_SHM_FORMAT_ARGB8888 |
| 0d40 | 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 |
| 0d60 | 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 20 | );......close(fd);......a->bw.=. |
| 0d80 | 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 00 | a->w;......a->bh.=.a->h;....}... |
| 0da0 | 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 74 | ....Estatic.void.circle(uint32_t |
| 0dc0 | 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 20 | .*px,.int.w,.int.h,.int.cx,.int. |
| 0de0 | 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 20 | cy,.int.r,...................... |
| 0e00 | 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 79 | .uint32_t.c).{..."..int.x.=.0,.y |
| 0e20 | 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 20 | .=.r,.d.=.3.-.2.*.r;......while. |
| 0e40 | 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 20 | (y.>=.x).{...H....int.p[8][2].=. |
| 0e60 | 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 2b | {{cx.+.x,.cy.+.y},.{cx.-.x,.cy.+ |
| 0e80 | 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 20 | .y},.{cx.+.x,.cy.-.y},...H...... |
| 0ea0 | 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 7b | .............{cx.-.x,.cy.-.y},.{ |
| 0ec0 | 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 |
| 0ee0 | 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 79 | },...7...................{cx.+.y |
| 0f00 | 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 00 | ,.cy.-.x},.{cx.-.y,.cy.-.x}};... |
| 0f20 | 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++) |
| 0f40 | 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 5b | ...E......if.(p[i][0].>=.0.&&.p[ |
| 0f60 | 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 69 | i][0].<.w.&&.p[i][1].>=.0.&&.p[i |
| 0f80 | 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 20 | ][1].<.h)...&........px[p[i][1]. |
| 0fa0 | 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 64 | *.w.+.p[i][0]].=.c;........if.(d |
| 0fc0 | 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 79 | .>.0).{..........d.+=.4.*.(x.-.y |
| 0fe0 | 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 65 | ).+.10;..........y--;........}.e |
| 1000 | 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 08 | lse..........d.+=.4.*.x.+.6;.... |
| 1020 | 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 50 73 74 61 74 | ....x++;......}....}.......Pstat |
| 1040 | 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 69 | ic.void.fill_tri(uint32_t.*px,.i |
| 1060 | 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 74 | nt.w,.int.h,.int.x0,.int.y0,.int |
| 1080 | 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 20 20 20 20 20 | .x1,.int.y1,...2................ |
| 10a0 | 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 5f 74 20 63 29 | .....int.x2,.int.y2,.uint32_t.c) |
| 10c0 | 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 79 | .{...B..int.min_y.=.y0.<.y1.?.(y |
| 10e0 | 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 79 | 0.<.y2.?.y0.:.y2).:.(y1.<.y2.?.y |
| 1100 | 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 79 | 1.:.y2);...B..int.max_y.=.y0.>.y |
| 1120 | 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 20 | 1.?.(y0.>.y2.?.y0.:.y2).:.(y1.>. |
| 1140 | 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 5f 79 20 3c 20 | y2.?.y1.:.y2);......if.(min_y.<. |
| 1160 | 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 66 20 28 6d 61 | 0)........min_y.=.0;......if.(ma |
| 1180 | 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 2d 20 31 3b 00 | x_y.>=.h)........max_y.=.h.-.1;. |
| 11a0 | 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 |
| 11c0 | 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.= |
| 11e0 | 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]. |
| 1200 | 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, |
| 1220 | 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;.. |
| 1240 | 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++ |
| 1260 | 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 |
| 1280 | 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 |
| 12a0 | 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] |
| 12c0 | 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 |
| 12e0 | 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] |
| 1300 | 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 20 20 | )./.(ys[j].-.ys[i]);............ |
| 1320 | 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 78 5f | if.(x.<.x_start)..............x_ |
| 1340 | 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 78 5f | start.=.x;............if.(x.>.x_ |
| 1360 | 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 00 13 | end)..............x_end.=.x;.... |
| 1380 | 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 7d 00 00 | ........hit.=.true;..........}.. |
| 13a0 | 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 16 20 20 20 | ......}........if.(hit).{....... |
| 13c0 | 20 20 20 69 66 20 28 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 | ...if.(x_start.<.0)............x |
| 13e0 | 5f 73 74 61 72 74 20 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 | _start.=.0;..........if.(x_end.> |
| 1400 | 3d 20 77 29 00 00 00 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 | =.w)............x_end.=.w.-.1;.. |
| 1420 | 00 2c 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 3b 20 78 20 | .,......for.(int.x.=.x_start;.x. |
| 1440 | 3c 3d 20 78 5f 65 6e 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 | <=.x_end;.x++)............px[y.* |
| 1460 | 20 77 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 | .w.+.x].=.c;........}......}.... |
| 1480 | 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 |
| 14a0 | 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 |
| 14c0 | 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). |
| 14e0 | 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) |
| 1500 | 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 |
| 1520 | 32 5f 74 20 2a 70 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 27 20 20 66 6f 72 20 28 69 | 2_t.*px.=.a->pixels;...'..for.(i |
| 1540 | 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 00 | nt.i.=.0;.i.<.a->w.*.a->h;.i++). |
| 1560 | 00 00 15 20 20 20 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 19 | .......px[i].=.COLOR_BG;........ |
| 1580 | 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 |
| 15a0 | 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(& |
| 15c0 | 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./. |
| 15e0 | 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.=.( |
| 1600 | 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.- |
| 1620 | 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 72 20 3d 20 | .10;......if.(r.<.5)........r.=. |
| 1640 | 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 3c 20 | 5;..........for.(int.i.=.0;.i.<. |
| 1660 | 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 |
| 1680 | 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 31 | ./.60.0.*.2.*.M_PI.-.M_PI_2;...1 |
| 16a0 | 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 20 2a | ....int.len.=.(i.%.5.==.0).?.r.* |
| 16c0 | 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 65 20 | .0.12.:.r.*.0.04;...0....double. |
| 16e0 | 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 32 20 3a 20 30 | t_ang.=.(i.%.5.==.0).?.0.012.:.0 |
| 1700 | 2e 30 30 35 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 | .005;...7....fill_tri(px,.a->w,. |
| 1720 | 61 2d 3e 68 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 | a->h,.cx.+.cos(ang.-.t_ang).*.r, |
| 1740 | 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 2d 20 | ...B.............cy.+.sin(ang.-. |
| 1760 | 74 5f 61 6e 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 | t_ang).*.r,.cx.+.cos(ang.+.t_ang |
| 1780 | 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 6e 28 | ).*.r,...B.............cy.+.sin( |
| 17a0 | 61 6e 67 20 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 | ang.+.t_ang).*.r,.cx.+.cos(ang). |
| 17c0 | 2a 20 28 72 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 | *.(r.-.len),...4.............cy. |
| 17e0 | 2b 20 73 69 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 | +.sin(ang).*.(r.-.len),.COLOR_DI |
| 1800 | 41 4c 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 | AL);......}.......4..double.sa.= |
| 1820 | 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 20 2d 20 | .tmv.tm_sec./.60.0.*.2.*.M_PI.-. |
| 1840 | 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 2e 74 6d | M_PI_2;...J..double.ma.=.(tmv.tm |
| 1860 | 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 30 2e 30 | _min.+.tmv.tm_sec./.60.0)./.60.0 |
| 1880 | 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 |
| 18a0 | 65 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 | e.ha.=...L......((tmv.tm_hour.%. |
| 18c0 | 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 2e | 12).+.(tmv.tm_min./.60.0))./.12. |
| 18e0 | 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 42 20 20 | 0.*.2.*.M_PI.-.M_PI_2;.......B.. |
| 1900 | 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 |
| 1920 | 73 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 4b 5f 48 2c | s(ha.-.0.12).*.r.*.HAND_THICK_H, |
| 1940 | 00 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 2d 20 30 2e 31 | ...2...........cy.+.sin(ha.-.0.1 |
| 1960 | 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 20 20 20 20 | 2).*.r.*.HAND_THICK_H,...2...... |
| 1980 | 20 20 20 20 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 48 | .....cx.+.cos(ha.+.0.12).*.r.*.H |
| 19a0 | 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 2b 20 | AND_THICK_H,...2...........cy.+. |
| 19c0 | 73 69 6e 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 | sin(ha.+.0.12).*.r.*.HAND_THICK_ |
| 19e0 | 48 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 68 61 29 20 2a 20 | H,...H...........cx.+.cos(ha).*. |
| 1a00 | 72 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 48 2c 20 63 79 20 2b 20 73 69 6e 28 68 61 29 20 2a 20 72 | r.*.HAND_LEN_H,.cy.+.sin(ha).*.r |
| 1a20 | 20 2a 20 48 41 4e 44 5f 4c 45 4e 5f 48 2c 00 00 00 17 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c | .*.HAND_LEN_H,...............COL |
| 1a40 | 4f 52 5f 48 4f 55 52 29 3b 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 61 2d 3e 77 | OR_HOUR);...B..fill_tri(px,.a->w |
| 1a60 | 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 72 20 | ,.a->h,.cx.+.cos(ma.-.0.08).*.r. |
| 1a80 | 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 63 79 | *.HAND_THICK_M,...2...........cy |
| 1aa0 | 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 48 49 | .+.sin(ma.-.0.08).*.r.*.HAND_THI |
| 1ac0 | 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 61 20 | CK_M,...2...........cx.+.cos(ma. |
| 1ae0 | 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 32 20 | +.0.08).*.r.*.HAND_THICK_M,...2. |
| 1b00 | 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 2a 20 | ..........cy.+.sin(ma.+.0.08).*. |
| 1b20 | 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 20 20 | r.*.HAND_THICK_M,...H........... |
| 1b40 | 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 20 63 | cx.+.cos(ma).*.r.*.HAND_LEN_M,.c |
| 1b60 | 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 00 00 | y.+.sin(ma).*.r.*.HAND_LEN_M,... |
| 1b80 | 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 42 20 20 66 69 6c | ............COLOR_MIN);...B..fil |
| 1ba0 | 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 73 | l_tri(px,.a->w,.a->h,.cx.+.cos(s |
| 1bc0 | 61 20 2d 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 | a.-.0.05).*.r.*.HAND_THICK_S,... |
| 1be0 | 32 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 | 2...........cy.+.sin(sa.-.0.05). |
| 1c00 | 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......... |
| 1c20 | 20 20 63 78 20 2b 20 63 6f 73 28 73 61 20 2b 20 30 2e 30 35 29 20 2a 20 72 20 2a 20 48 41 4e 44 | ..cx.+.cos(sa.+.0.05).*.r.*.HAND |
| 1c40 | 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 79 20 2b 20 73 69 6e | _THICK_S,...2...........cy.+.sin |
| 1c60 | 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,. |
| 1c80 | 00 00 48 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f 73 28 73 61 29 20 2a 20 72 20 2a | ..H...........cx.+.cos(sa).*.r.* |
| 1ca0 | 20 48 41 4e 44 5f 4c 45 4e 5f 53 2c 20 63 79 20 2b 20 73 69 6e 28 73 61 29 20 2a 20 72 20 2a 20 | .HAND_LEN_S,.cy.+.sin(sa).*.r.*. |
| 1cc0 | 48 41 4e 44 5f 4c 45 4e 5f 53 2c 00 00 00 16 20 20 20 20 20 20 20 20 20 20 20 43 4f 4c 4f 52 5f | HAND_LEN_S,...............COLOR_ |
| 1ce0 | 53 45 43 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 | SEC);..........int.hub_r.=.r.*.0 |
| 1d00 | 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 20 20 | .04;......if.(hub_r.<.4)........ |
| 1d20 | 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 30 3b | hub_r.=.4;...(..for.(int.ir.=.0; |
| 1d40 | 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 31 20 20 20 20 63 69 | .ir.<.hub_r.-.2;.ir++)...1....ci |
| 1d60 | 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 72 2c | rcle(px,.a->w,.a->h,.cx,.cy,.ir, |
| 1d80 | 20 43 4f 4c 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 | .COLOR_BG);...3..circle(px,.a->w |
| 1da0 | 2c 20 61 2d 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 | ,.a->h,.cx,.cy,.hub_r,.COLOR_HUB |
| 1dc0 | 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- |
| 1de0 | 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 |
| 1e00 | 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 |
| 1e20 | 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 |
| 1e40 | 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 |
| 1e60 | 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 |
| 1e80 | 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 |
| 1ea0 | 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 69 63 | .*xt).{.running.=.0;.}...Jstatic |
| 1ec0 | 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 67 | .void.xt_cfg(void.*d,.struct.xdg |
| 1ee0 | 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 5f | _toplevel.*xt,.int32_t.w,.int32_ |
| 1f00 | 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 75 63 | t.h,...(...................struc |
| 1f20 | 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 70 | t.wl_array.*s).{......struct.app |
| 1f40 | 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 |
| 1f60 | 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)).{. |
| 1f80 | 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 |
| 1fa0 | 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 20 20 | ;........destroy_buf(a);........ |
| 1fc0 | 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 00 00 | a->redraw.=.true;......}....}... |
| 1fe0 | 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 74 72 | Fstatic.void.xs_cfg(void.*d,.str |
| 2000 | 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 65 | uct.xdg_surface.*xs,.uint32_t.se |
| 2020 | 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 3b 00 | rial).{......struct.app.*a.=.d;. |
| 2040 | 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 28 78 | ..(..xdg_surface_ack_configure(x |
| 2060 | 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 20 3d | s,.serial);......a->configured.= |
| 2080 | 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 00 00 | .true;......a->redraw.=.true;... |
| 20a0 | 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 6f 69 | .}...Cstatic.void.reg_global(voi |
| 20c0 | 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 |
| 20e0 | 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................... |
| 2100 | 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).{ |
| 2120 | 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 |
| 2140 | 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")).. |
| 2160 | 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 |
| 2180 | 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 |
| 21a0 | 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,." |
| 21c0 | 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 |
| 21e0 | 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 |
| 2200 | 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 |
| 2220 | 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 |
| 2240 | 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_ |
| 2260 | 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 |
| 2280 | 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 |
| 22a0 | 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};... |
| 22c0 | 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- |
| 22e0 | 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);......}....}........ |
| 2300 | 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 |
| 2320 | 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 |
| 2340 | 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 |
| 2360 | 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 |
| 2380 | 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)...... |
| 23a0 | 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 |
| 23c0 | 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 |
| 23e0 | 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 |
| 2400 | 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} |
| 2420 | 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( |
| 2440 | 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 |
| 2460 | 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 |
| 2480 | 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 |
| 24a0 | 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 |
| 24c0 | 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. |
| 24e0 | 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 |
| 2500 | 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. |
| 2520 | 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. |
| 2540 | 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 |
| 2560 | 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 |
| 2580 | 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_ |
| 25a0 | 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. |
| 25c0 | 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 |
| 25e0 | 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,.. |
| 2600 | 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.............................. |
| 2620 | 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 |
| 2640 | 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 |
| 2660 | 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 |
| 2680 | 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 |
| 26a0 | 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. |
| 26c0 | 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). |
| 26e0 | 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); |
| 2700 | 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 72 66 61 63 65 20 | .......2..puts("wayland.surface. |
| 2720 | 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 00 00 00 00 | successfully.configured");...... |
| 2740 | 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 |
| 2760 | 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 |
| 2780 | 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 |
| 27a0 | 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){{ |
| 27c0 | 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 |
| 27e0 | 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 |
| 2800 | 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 |
| 2820 | 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 |
| 2840 | 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); |
| 2860 | 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);.. |
| 2880 | 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 |
| 28a0 | 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},. |
| 28c0 | 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( |
| 28e0 | 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 |
| 2900 | 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);........ |
| 2920 | 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.( |
| 2940 | 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)...".... |
| 2960 | 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);.. |
| 2980 | 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 |
| 29a0 | 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 |
| 29c0 | 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);..."... |
| 29e0 | 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).{. |
| 2a00 | 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;...'.... |
| 2a20 | 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 |
| 2a40 | 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 |
| 2a60 | 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 |
| 2a80 | 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 |
| 2aa0 | 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),. |
| 2ac0 | 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 |
| 2ae0 | 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 |
| 2b00 | 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 |
| 2b20 | 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;.. |
| 2b40 | 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).... |
| 2b60 | 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 |
| 2b80 | 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);.... |
| 2ba0 | 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 |
| 2bc0 | 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. |
| 2be0 | 30 3b 00 00 00 01 7d 35 81 f5 18 00 00 00 00 00 00 00 00 00 00 00 00 3f 01 00 00 00 00 00 00 01 | 0;....}5...............?........ |
| 2c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c 26 00 00 00 00 00 00 01 00 00 00 00 00 00 00 35 | ................&..............5 |
| 2c20 | 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 01 00 00 00 00 00 | ._.............................. |
| 2c40 | 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 | ................................ |
| 2c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2da0 | 00 00 00 00 00 69 9d ad 69 04 01 00 00 00 00 00 f5 18 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 | .....i..i....................... |
| 2dc0 | 00 01 00 00 00 01 7d f5 18 00 00 00 dd 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 cf 00 | ......}......................... |
| 2de0 | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 10 20 20 20 20 77 6c 5f 64 69 73 70 6c 61 79 5f 64 f5 | ...................wl_display_d. |
| 2e00 | 18 00 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 cc 00 00 00 00 00 00 00 00 00 | ................................ |
| 2e20 | 00 00 01 00 00 00 07 20 20 20 20 73 74 72 f5 18 00 00 00 cd 00 00 00 00 00 00 00 00 00 00 00 00 | ...........str.................. |
| 2e40 | f5 18 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 20 f5 18 00 00 00 c1 00 00 00 | ................................ |
| 2e60 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 20 | ................................ |
| 2e80 | 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 77 6c f5 18 00 00 00 b7 00 00 00 | .static.const.struct.wl......... |
| 2ea0 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 a8 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 | ................................ |
| 2ec0 | 20 65 6c 73 65 20 f5 18 00 00 00 a9 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 9d 00 00 | .else........................... |
| 2ee0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 69 f5 18 00 00 00 9e 00 00 00 00 00 00 00 00 00 | ................i............... |
| 2f00 | 00 00 00 f5 18 00 00 00 95 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 2a 20 20 77 6c 5f 73 75 | ........................*..wl_su |
| 2f20 | 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, |
| 2f40 | 20 61 2d f5 18 00 00 00 96 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 8e 00 00 00 00 00 | .a-............................. |
| 2f60 | 00 00 00 00 00 00 01 00 00 00 0c 20 20 66 69 6c 6c 5f 74 72 69 28 70 f5 18 00 00 00 8f 00 00 00 | .............fill_tri(p......... |
| 2f80 | 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 88 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 07 20 | ................................ |
| 2fa0 | 20 66 69 6c 6c 5f f5 18 00 00 00 89 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 7f 00 00 | .fill_.......................... |
| 2fc0 | 00 00 00 00 00 00 00 00 00 01 00 00 00 11 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 28 69 20 f5 | ..................int.len.=.(i.. |
| 2fe0 | 18 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 6d 00 00 00 00 00 00 00 00 00 | ......................m......... |
| 3000 | 00 00 01 00 00 00 27 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 | ......'......for.(int.x.=.x_star |
| 3020 | 74 3b 20 78 20 3c 3d 20 78 5f 65 6e 64 3b f5 18 00 00 00 6e 00 00 00 00 00 00 00 00 00 00 00 00 | t;.x.<=.x_end;.....n............ |
| 3040 | f5 18 00 00 00 60 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0f 20 20 20 20 69 6e 74 20 78 5f | .....`....................int.x_ |
| 3060 | 73 74 61 72 74 f5 18 00 00 00 61 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 5b 00 00 00 | start.....a.................[... |
| 3080 | 00 00 00 00 00 00 00 00 01 00 00 00 68 73 74 61 74 69 63 20 76 6f 69 64 20 66 69 6c 6c 5f 74 72 | ............hstatic.void.fill_tr |
| 30a0 | 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 6e | i(uint32_t.*px,.int.w,.int.h,.in |
| 30c0 | 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 6e | t.x0,.int.y0,.int.x1,.int.y1,.in |
| 30e0 | 74 20 78 32 2c 20 69 6e 74 20 79 32 2c 20 75 69 6e 74 33 32 5f f5 18 00 00 00 5c 00 00 00 00 00 | t.x2,.int.y2,.uint32_.....\..... |
| 3100 | 00 00 00 00 00 00 00 f5 18 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 20 20 73 | ............:..................s |
| 3120 | f5 18 00 00 00 3b 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 | .....;.......................... |
| 3140 | 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..... |
| 3160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 03 00 00 00 00 00 00 00 00 00 | ..................:............. |
| 3180 | 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 3a 00 00 00 03 00 00 00 | ........................:....... |
| 31a0 | 00 00 00 00 00 00 00 00 21 00 00 00 68 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........!...h................... |
| 31c0 | 00 05 00 00 00 00 00 00 f5 18 00 00 00 00 5b 00 00 00 68 00 00 00 00 00 00 00 00 00 00 00 05 00 | ..............[...h............. |
| 31e0 | 00 00 0f 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 | ................................ |
| 3200 | 00 00 00 00 60 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 27 00 00 00 00 0b 00 00 | ....`...................'....... |
| 3220 | 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 6d 00 00 00 27 00 | ..........................m...'. |
| 3240 | 00 00 00 00 00 00 00 00 00 00 12 00 00 00 11 00 00 00 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3260 | 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 7f 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3280 | 09 00 00 00 07 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 | ................................ |
| 32a0 | f5 18 00 00 00 00 88 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 0c 00 00 00 00 11 | ................................ |
| 32c0 | 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 8e 00 00 00 | ................................ |
| 32e0 | 0c 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 2a 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 | ................*............... |
| 3300 | 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 95 00 00 00 2a 00 00 00 00 00 00 00 00 00 | ......................*......... |
| 3320 | 00 00 08 00 00 00 03 00 00 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 | ................................ |
| 3340 | 00 00 f5 18 00 00 00 00 9d 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 0b 00 00 00 07 00 00 00 | ................................ |
| 3360 | 00 16 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 a8 00 | ................................ |
| 3380 | 00 00 07 00 00 00 00 00 00 00 00 00 00 00 0e 00 00 00 18 00 00 00 00 18 00 00 00 00 00 00 00 00 | ................................ |
| 33a0 | 00 00 00 00 00 00 00 02 00 00 00 00 00 00 f5 18 00 00 00 00 b6 00 00 00 18 00 00 00 00 00 00 00 | ................................ |
| 33c0 | 00 00 00 00 0a 00 00 00 01 00 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 | ................................ |
| 33e0 | 00 00 00 00 f5 18 00 00 00 00 c0 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 0c 00 00 00 07 00 | ................................ |
| 3400 | 00 00 00 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 | ................................ |
| 3420 | cc 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 10 00 00 00 00 1e 00 00 00 00 00 00 | ................................ |
| 3440 | 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 f5 18 00 00 00 00 cf 00 00 00 10 00 00 00 00 00 | ................................ |
| 3460 | 00 00 00 00 00 00 0d 00 00 00 01 00 00 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d2 01 | ................................ |
| 3480 | 00 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 | ......5._....................... |
| 34a0 | 00 dd 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 | ................................ |
| 34c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 34e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 35e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 3600 | 00 00 00 00 00 00 00 00 00 00 00 00 69 9d ad 69 04 01 00 00 00 02 00 f5 18 00 00 00 01 00 00 01 | ............i..i................ |
| 3620 | 26 00 00 00 dd 00 00 00 da 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 64 67 2d 73 68 65 6c 6c | &...........&#include."xdg-shell |
| 3640 | 2d 63 6c 69 65 6e 74 2d 70 72 6f 74 6f 63 6f 6c 2e 68 22 00 00 00 13 23 69 6e 63 6c 75 64 65 20 | -client-protocol.h"....#include. |
| 3660 | 22 63 6f 6e 66 69 67 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 | "config.h"....#include.<fcntl.h> |
| 3680 | 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 64 | ....#include.<math.h>....#includ |
| 36a0 | 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 68 | e.<poll.h>....#include.<signal.h |
| 36c0 | 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 6e | >....#include.<stdbool.h>....#in |
| 36e0 | 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 74 | clude.<stdint.h>....#include.<st |
| 3700 | 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 00 | dio.h>....#include.<stdlib.h>... |
| 3720 | 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 65 | .#include.<string.h>....#include |
| 3740 | 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 74 | .<sys/mman.h>....#include.<sys/t |
| 3760 | 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 00 | imerfd.h>....#include.<time.h>.. |
| 3780 | 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 64 | ..#include.<unistd.h>....#includ |
| 37a0 | 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 6e | e.<wayland-client.h>........#ifn |
| 37c0 | 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 39 | def.M_PI...##define.M_PI.3.14159 |
| 37e0 | 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 66 | 265358979323846....#endif....#if |
| 3800 | 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 2e | ndef.M_PI_2...%#define.M_PI_2.1. |
| 3820 | 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 00 | 57079632679489661923....#endif.. |
| 3840 | 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 63 | .....)static.volatile.sig_atomic |
| 3860 | 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 20 76 6f 69 64 20 6f | _t.running.=.1;...3static.void.o |
| 3880 | 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 75 6e 6e 69 6e 67 20 | n_sig(int.s).{.(void)s;.running. |
| 38a0 | 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 00 00 17 20 20 | =.0;.}........struct.app.{...... |
| 38c0 | 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 63 | struct.wl_display.*d;......struc |
| 38e0 | 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 20 | t.wl_registry.*reg;......struct. |
| 3900 | 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 74 | wl_compositor.*comp;......struct |
| 3920 | 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 6d | .wl_shm.*shm;......struct.xdg_wm |
| 3940 | 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 63 | _base.*wm;......struct.wl_surfac |
| 3960 | 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 2a | e.*ws;......struct.xdg_surface.* |
| 3980 | 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 74 | xs;......struct.xdg_toplevel.*xt |
| 39a0 | 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 74 | ;......void.*pixels;......struct |
| 39c0 | 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 00 | .wl_buffer.*buf;......int.w,.h;. |
| 39e0 | 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 69 | .....int.bw,.bh;......bool.confi |
| 3a00 | 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 00 | gured;......bool.redraw;....};.. |
| 3a20 | 00 00 00 00 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 | .....jstatic.void.wm_ping(void.* |
| 3a40 | 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 |
| 3a60 | 6e 74 33 32 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 | nt32_t.serial).{.xdg_wm_base_pon |
| 3a80 | 67 28 77 6d 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 | g(wm,.serial);.}.......$static.i |
| 3aa0 | 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 00 00 00 23 | nt.create_shm(size_t.size).{...# |
| 3ac0 | 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 58 58 58 58 | ..char.t[].=."/tmp/wlclock-XXXXX |
| 3ae0 | 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 3b 00 00 00 | X";......int.fd.=.mkstemp(t);... |
| 3b00 | 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 0c 20 20 75 6e 6c | ...if.(fd.<.0).exit(1);......unl |
| 3b20 | 69 6e 6b 28 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 | ink(t);...'..if.(ftruncate(fd,.s |
| 3b40 | 69 7a 65 29 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 | ize).<.0).exit(1);......return.f |
| 3b60 | 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 74 72 | d;....}.......(static.void.destr |
| 3b80 | 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 16 20 20 69 66 20 | oy_buf(struct.app.*a).{......if. |
| 3ba0 | 28 21 61 2d 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 | (!a->buf).return;...*..size_t.si |
| 3bc0 | 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 3b 00 | ze.=.(size_t)a->bw.*.a->bh.*.4;. |
| 3be0 | 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 3b 00 | .....wl_buffer_destroy(a->buf);. |
| 3c00 | 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 00 00 | .....munmap(a->pixels,.size);... |
| 3c20 | 22 20 20 61 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 | "..a->buf.=.NULL;.a->pixels.=.NU |
| 3c40 | 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 |
| 3c60 | 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 |
| 3c80 | 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.=.( |
| 3ca0 | 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 |
| 3cc0 | 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-> |
| 3ce0 | 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 |
| 3d00 | 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 |
| 3d20 | 2c 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 | ,.0);...'..if.(a->pixels.==.MAP_ |
| 3d40 | 46 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 | FAILED).exit(1);...B..struct.wl_ |
| 3d60 | 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 |
| 3d80 | 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 20 20 61 2d 3e 62 | ool(a->shm,.fd,.size);...\..a->b |
| 3da0 | 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 |
| 3dc0 | 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 4c | ool,.0,.a->w,.a->h,.a->w.*.4,.WL |
| 3de0 | 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 |
| 3e00 | 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 |
| 3e20 | 65 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 | e(fd);......a->bw.=.a->w;.a->bh. |
| 3e40 | 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 64 20 | =.a->h;....}.......Sstatic.void. |
| 3e60 | 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 20 | circle(uint32_t.*px,.int.w,.int. |
| 3e80 | 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 32 | h,.int.cx,.int.cy,.int.r,.uint32 |
| 3ea0 | 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 64 | _t.c).{..."..int.x.=.0,.y.=.r,.d |
| 3ec0 | 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 78 | .=.3.-.2.*.r;......while.(y.>=.x |
| 3ee0 | 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 20 | ).{...H....int.p[8][2].=.{{cx.+. |
| 3f00 | 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 |
| 3f20 | 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 20 | x.+.x,.cy.-.y},...H............. |
| 3f40 | 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 2c | ......{cx.-.x,.cy.-.y},.{cx.+.y, |
| 3f60 | 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 20 | .cy.+.x},.{cx.-.y,.cy.+.x},...7. |
| 3f80 | 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.-. |
| 3fa0 | 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 |
| 3fc0 | 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 20 | r.(int.i.=.0;.i.<.8;.i++)...E... |
| 3fe0 | 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 3c | ...if.(p[i][0].>=.0.&&.p[i][0].< |
| 4000 | 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 20 | .w.&&.p[i][1].>=.0.&&.p[i][1].<. |
| 4020 | 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 70 | h)...&........px[p[i][1].*.w.+.p |
| 4040 | 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 20 7b | [i][0]].=.c;...C....if.(d.>.0).{ |
| 4060 | 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 20 65 | .d.+=.4.*.(x.-.y).+.10;.y--;.}.e |
| 4080 | 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 3b 00 | lse.d.+=.4.*.x.+.6;........x++;. |
| 40a0 | 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 20 66 | .....}....}.......nstatic.void.f |
| 40c0 | 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 |
| 40e0 | 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. |
| 4100 | 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 29 20 | y1,.int.x2,.int.y2,.uint32_t.c). |
| 4120 | 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 79 30 | {...B..int.min_y.=.y0.<.y1.?.(y0 |
| 4140 | 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 79 31 | .<.y2.?.y0.:.y2).:.(y1.<.y2.?.y1 |
| 4160 | 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 79 31 | .:.y2);...B..int.max_y.=.y0.>.y1 |
| 4180 | 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 20 79 | .?.(y0.>.y2.?.y0.:.y2).:.(y1.>.y |
| 41a0 | 32 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 | 2.?.y1.:.y2);...:..if.(min_y.<.0 |
| 41c0 | 29 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 | ).min_y.=.0;.if.(max_y.>=.h).max |
| 41e0 | 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 |
| 4200 | 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 |
| 4220 | 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.. |
| 4240 | 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 |
| 4260 | 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 |
| 4280 | 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 |
| 42a0 | 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.= |
| 42c0 | 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 |
| 42e0 | 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].< |
| 4300 | 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........ |
| 4320 | 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 |
| 4340 | 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]); |
| 4360 | 00 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 | ...?........if.(x.<.x_start).x_s |
| 4380 | 74 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 | tart.=.x;.if.(x.>.x_end).x_end.= |
| 43a0 | 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 00 00 07 20 20 | .x;............hit.=.true;...... |
| 43c0 | 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 69 74 29 20 7b | ....}........}........if.(hit).{ |
| 43e0 | 00 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 | ...B......if.(x_start.<.0).x_sta |
| 4400 | 72 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 | rt.=.0;.if.(x_end.>=.w).x_end.=. |
| 4420 | 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 73 | w.-.1;...?......for.(int.x.=.x_s |
| 4440 | 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 20 | tart;.x.<=.x_end;.x++).px[y.*.w. |
| 4460 | 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 00 | +.x].=.c;........}......}....}.. |
| 4480 | 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. |
| 44a0 | 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 65 | app.*a).{...7..if.(!a->configure |
| 44c0 | 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 74 | d.||.a->w.<=.0.||.a->h.<=.0).ret |
| 44e0 | 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 66 | urn;......if.(!a->buf).alloc_buf |
| 4500 | 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 65 | (a);......uint32_t.*px.=.a->pixe |
| 4520 | 6c 73 3b 00 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 | ls;...6..for(int.i=0;.i.<.a->w.* |
| 4540 | 20 61 2d 3e 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 | .a->h;.i++).px[i].=.COLOR_BG;... |
| 4560 | 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);...... |
| 4580 | 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( |
| 45a0 | 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./ |
| 45c0 | 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.=. |
| 45e0 | 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. |
| 4600 | 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 20 | -.10;......if.(r.<.5).r.=.5;.... |
| 4620 | 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++).{ |
| 4640 | 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.*. |
| 4660 | 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 |
| 4680 | 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. |
| 46a0 | 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 |
| 46c0 | 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 4a 20 | .%.5.==.0).?.0.012.:.0.005;...J. |
| 46e0 | 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.+ |
| 4700 | 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- |
| 4720 | 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 |
| 4740 | 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_ |
| 4760 | 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 |
| 4780 | 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- |
| 47a0 | 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 34 20 20 64 | len),.COLOR_DIAL);......}...4..d |
| 47c0 | 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 |
| 47e0 | 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 |
| 4800 | 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 |
| 4820 | 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;. |
| 4840 | 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.% |
| 4860 | 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 |
| 4880 | 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 66 69 6c | .0.*.2.*.M_PI.-.M_PI_2;..._..fil |
| 48a0 | 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 |
| 48c0 | 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 20 73 69 6e | a-0.12)*r*HAND_THICK_H,.cy.+.sin |
| 48e0 | 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 00 4f 20 20 | (ha-0.12)*r*HAND_THICK_H,....O.. |
| 4900 | 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 48 41 4e | .........cx.+.cos(ha+0.12)*r*HAN |
| 4920 | 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 2a 72 2a 48 | D_THICK_H,.cy.+.sin(ha+0.12)*r*H |
| 4940 | 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 63 78 20 2b | AND_THICK_H,....M...........cx.+ |
| 4960 | 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 73 69 6e 28 | .cos(ha)*r*HAND_LEN_H,.cy.+.sin( |
| 4980 | 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 29 3b 00 00 | ha)*r*HAND_LEN_H,.COLOR_HOUR);.. |
| 49a0 | 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 20 63 78 20 | ._..fill_tri(px,.a->w,.a->h,.cx. |
| 49c0 | 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 4d 2c 20 63 | +.cos(ma-0.08)*r*HAND_THICK_M,.c |
| 49e0 | 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 4b 5f 4d 2c | y.+.sin(ma-0.08)*r*HAND_THICK_M, |
| 4a00 | 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 30 2e 30 38 | ....O...........cx.+.cos(ma+0.08 |
| 4a20 | 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 2b 30 2e | )*r*HAND_THICK_M,.cy.+.sin(ma+0. |
| 4a40 | 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 20 20 20 20 | 08)*r*HAND_THICK_M,....L........ |
| 4a60 | 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 2c 20 63 79 | ...cx.+.cos(ma)*r*HAND_LEN_M,.cy |
| 4a80 | 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 4f 52 5f 4d | .+.sin(ma)*r*HAND_LEN_M,.COLOR_M |
| 4aa0 | 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 20 61 2d 3e | IN);...^..fill_tri(px,.a->w,.a-> |
| 4ac0 | 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 54 48 49 43 | h,.cx.+.cos(sa-0.05)*r*HAND_THIC |
| 4ae0 | 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 44 5f 54 48 | K_S,.cy.+.sin(sa-0.05)*r*HAND_TH |
| 4b00 | 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 73 28 73 61 | ICK_S,...N...........cx.+.cos(sa |
| 4b20 | 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 73 69 6e 28 | +0.05)*r*HAND_THICK_S,.cy.+.sin( |
| 4b40 | 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 20 20 20 20 | sa+0.05)*r*HAND_THICK_S,...L.... |
| 4b60 | 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 45 4e 5f 53 | .......cx.+.cos(sa)*r*HAND_LEN_S |
| 4b80 | 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 20 43 4f 4c | ,.cy.+.sin(sa)*r*HAND_LEN_S,.COL |
| 4ba0 | 4f 52 5f 53 45 43 29 3b 00 00 00 31 20 20 69 6e 74 20 68 75 62 5f 72 20 3d 20 72 20 2a 20 30 2e | OR_SEC);...1..int.hub_r.=.r.*.0. |
| 4bc0 | 30 34 3b 20 69 66 20 28 68 75 62 5f 72 20 3c 20 34 29 20 68 75 62 5f 72 20 3d 20 34 3b 00 00 00 | 04;.if.(hub_r.<.4).hub_r.=.4;... |
| 4be0 | 56 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 | V..for.(int.ir.=.0;.ir.<.hub_r.- |
| 4c00 | 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 3e 68 2c | .2;.ir++).circle(px,.a->w,.a->h, |
| 4c20 | 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 00 33 20 20 63 69 72 | .cx,.cy,.ir,.COLOR_BG);...3..cir |
| 4c40 | 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 75 62 5f | cle(px,.a->w,.a->h,.cx,.cy,.hub_ |
| 4c60 | 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 65 5f 61 | r,.COLOR_HUB);...)..wl_surface_a |
| 4c80 | 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. |
| 4ca0 | 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, |
| 4cc0 | 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 |
| 4ce0 | 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 61 | ace_commit(a->ws);......a->redra |
| 4d00 | 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 6f | w.=.false;....}.......Gstatic.vo |
| 4d20 | 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_ |
| 4d40 | 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 00 | toplevel.*xt).{.running.=.0;.}.. |
| 4d60 | 00 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 | .`static.void.xt_cfg(void.*d,.st |
| 4d80 | 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 |
| 4da0 | 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 29 | ,.int32_t.h,.struct.wl_array.*s) |
| 4dc0 | 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 20 | .{......struct.app.*a.=.d;...3.. |
| 4de0 | 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 77 | if.(w.>.0.&&.h.>.0.&&.(w.!=.a->w |
| 4e00 | 20 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 | .||.h.!=.a->h)).{...9....a->w.=. |
| 4e20 | 77 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 | w;.a->h.=.h;.destroy_buf(a);.a-> |
| 4e40 | 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 73 74 | redraw.=.true;......}....}...Fst |
| 4e60 | 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 |
| 4e80 | 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 61 | .xdg_surface.*xs,.uint32_t.seria |
| 4ea0 | 6c 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 | l).{...;..struct.app.*a.=.d;.xdg |
| 4ec0 | 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 69 61 | _surface_ack_configure(xs,.seria |
| 4ee0 | 6c 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 | l);...)..a->configured.=.true;.a |
| 4f00 | 2d 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 | ->redraw.=.true;....}...`static. |
| 4f20 | 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. |
| 4f40 | 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 20 63 6f 6e | wl_registry.*r,.uint32_t.id,.con |
| 4f60 | 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 00 14 20 20 73 | st.char.*i,.uint32_t.v).{......s |
| 4f80 | 74 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 | truct.app.*a.=.d;...b..if.(!strc |
| 4fa0 | 6d 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 | mp(i,."wl_compositor")).a->comp. |
| 4fc0 | 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 6f | =.wl_registry_bind(r,.id,.&wl_co |
| 4fe0 | 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 58 20 20 65 6c 73 | mpositor_interface,.4);...X..els |
| 5000 | 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 20 61 2d 3e 73 | e.if.(!strcmp(i,."wl_shm")).a->s |
| 5020 | 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 6c | hm.=.wl_registry_bind(r,.id,.&wl |
| 5040 | 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 66 | _shm_interface,.1);...'..else.if |
| 5060 | 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 00 | .(!strcmp(i,."xdg_wm_base")).{.. |
| 5080 | 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 72 | .?....a->wm.=.wl_registry_bind(r |
| 50a0 | 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 29 | ,.id,.&xdg_wm_base_interface,.1) |
| 50c0 | 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 67 | ;...C....static.const.struct.xdg |
| 50e0 | 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 77 | _wm_base_listener.l.=.{.ping.=.w |
| 5100 | 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 5f | m_ping};...+....xdg_wm_base_add_ |
| 5120 | 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 00 | listener(a->wm,.&l,.a);......}.. |
| 5140 | 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 2b 20 | ..}........int.main(void).{...+. |
| 5160 | 20 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 | .struct.app.a.=.{0};.a.w.=.400;. |
| 5180 | 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 6f | a.h.=.400;......signal(SIGINT,.o |
| 51a0 | 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 |
| 51c0 | 6e 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 | nnect(NULL);......if.(!a.d).retu |
| 51e0 | 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 65 | rn.1;...'..a.reg.=.wl_display_ge |
| 5200 | 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 6e | t_registry(a.d);...G..static.con |
| 5220 | 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 |
| 5240 | 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 20 | l.=.{.global.=.reg_global};...+. |
| 5260 | 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, |
| 5280 | 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 64 | .&rl,.&a);......wl_display_round |
| 52a0 | 74 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 | trip(a.d);...+..if.(!a.comp.||.! |
| 52c0 | 61 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 | a.shm.||.!a.wm).return.1;......a |
| 52e0 | 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 |
| 5300 | 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 |
| 5320 | 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); |
| 5340 | 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 |
| 5360 | 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 |
| 5380 | 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 |
| 53a0 | 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);...(.. |
| 53c0 | 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( |
| 53e0 | 61 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 | a.xs);...[..static.const.struct. |
| 5400 | 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 |
| 5420 | 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 78 74 5f 63 6c | nfigure.=.xt_cfg,..close.=.xt_cl |
| 5440 | 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 74 | ose};...,..xdg_toplevel_add_list |
| 5460 | 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 74 | ener(a.xt,.&xtl,.&a);...*..xdg_t |
| 5480 | 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 |
| 54a0 | 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 29 | ");......wl_surface_commit(a.ws) |
| 54c0 | 3b 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 | ;...1..while.(!a.configured).wl_ |
| 54e0 | 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 32 20 20 70 75 74 73 | display_dispatch(a.d);...2..puts |
| 5500 | 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 63 | ("wayland.surface.successfully.c |
| 5520 | 6f 6e 66 69 67 75 72 65 64 22 29 3b 00 00 00 0d 20 20 72 65 6e 64 65 72 28 26 61 29 3b 00 00 00 | onfigured");......render(&a);... |
| 5540 | 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 |
| 5560 | 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.. |
| 5580 | 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 |
| 55a0 | 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 |
| 55c0 | 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];..... |
| 55e0 | 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. |
| 5600 | 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).!= |
| 5620 | 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( |
| 5640 | 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. |
| 5660 | 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]. |
| 5680 | 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 |
| 56a0 | 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.( |
| 56c0 | 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 |
| 56e0 | 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;.} |
| 5700 | 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 |
| 5720 | 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) |
| 5740 | 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. |
| 5760 | 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 |
| 5780 | 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 |
| 57a0 | 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 |
| 57c0 | 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 |
| 57e0 | 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 |
| 5800 | 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. |
| 5820 | 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);. |
| 5840 | 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 |
| 5860 | 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" |
| 5880 | 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 |
| 58a0 | 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 |
| 58c0 | 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;. |
| 58e0 | 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 |
| 5900 | 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 |
| 5920 | 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); |
| 5940 | 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... |
| 5960 | 00 00 00 00 01 00 00 00 0a 00 00 00 d9 00 00 00 2c 00 00 00 23 01 00 00 01 00 00 00 2a 00 00 00 | ................,...#.......*... |
| 5980 | 00 00 00 00 7e 20 00 00 00 00 00 00 09 23 00 00 00 00 00 00 35 81 5f d0 00 00 00 03 00 00 00 05 | ....~........#......5._......... |
| 59a0 | 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 ff ff ff ff 00 01 00 00 | ................................ |
| 59c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 59e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 5b00 | 00 00 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 ae 2b 04 01 | ..........................i..+.. |
| 5b20 | 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 02 00 00 00 00 00 00 01 27 00 00 00 1f 23 64 65 66 69 | ......................'....#defi |
| 5b40 | 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 13 23 69 | ne._POSIX_C_SOURCE.200809L....#i |
| 5b60 | 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 26 23 69 6e 63 6c 75 64 65 20 22 78 | nclude."config.h"...&#include."x |
| 5b80 | 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"....# |
| 5ba0 | 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 |
| 5bc0 | 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>....# |
| 5be0 | 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.< |
| 5c00 | 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 |
| 5c20 | 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 |
| 5c40 | 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 |
| 5c60 | 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>.. |
| 5c80 | 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 |
| 5ca0 | 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 |
| 5cc0 | 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 |
| 5ce0 | 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 |
| 5d00 | 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 |
| 5d20 | 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...% |
| 5d40 | 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 |
| 5d60 | 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 |
| 5d80 | 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; |
| 5da0 | 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).{. |
| 5dc0 | 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;. |
| 5de0 | 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 |
| 5e00 | 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. |
| 5e20 | 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 |
| 5e40 | 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 |
| 5e60 | 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 |
| 5e80 | 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. |
| 5ea0 | 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 |
| 5ec0 | 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;. |
| 5ee0 | 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 |
| 5f00 | 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;... |
| 5f20 | 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 |
| 5f40 | 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;....};.... |
| 5f60 | 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 |
| 5f80 | 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 |
| 5fa0 | 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_ |
| 5fc0 | 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 |
| 5fe0 | 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) |
| 6000 | 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 |
| 6020 | 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( |
| 6040 | 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 |
| 6060 | 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 |
| 6080 | 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 |
| 60a0 | 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;....}..... |
| 60c0 | 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 |
| 60e0 | 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)... |
| 6100 | 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.=. |
| 6120 | 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;...... |
| 6140 | 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);...... |
| 6160 | 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- |
| 6180 | 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 |
| 61a0 | 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 |
| 61c0 | 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 |
| 61e0 | 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.=.( |
| 6200 | 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 |
| 6220 | 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-> |
| 6240 | 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 |
| 6260 | 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 |
| 6280 | 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_ |
| 62a0 | 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 |
| 62c0 | 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 |
| 62e0 | 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);... |
| 6300 | 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 |
| 6320 | 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. |
| 6340 | 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,...=........................ |
| 6360 | 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 |
| 6380 | 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 |
| 63a0 | 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 |
| 63c0 | 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;....} |
| 63e0 | 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 74 33 | .......Estatic.void.circle(uint3 |
| 6400 | 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 |
| 6420 | 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 20 20 | nt.cy,.int.r,................... |
| 6440 | 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 |
| 6460 | 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 |
| 6480 | 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 32 5d | le.(y.>=.x).{...H....int.p[8][2] |
| 64a0 | 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 |
| 64c0 | 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 20 20 | y.+.y},.{cx.+.x,.cy.-.y},...H... |
| 64e0 | 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 79 7d | ................{cx.-.x,.cy.-.y} |
| 6500 | 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 79 20 | ,.{cx.+.y,.cy.+.x},.{cx.-.y,.cy. |
| 6520 | 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 78 20 | +.x},...7...................{cx. |
| 6540 | 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}}; |
| 6560 | 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 |
| 6580 | 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 26 26 | ++)...E......if.(p[i][0].>=.0.&& |
| 65a0 | 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 26 20 | .p[i][0].<.w.&&.p[i][1].>=.0.&&. |
| 65c0 | 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 5d 5b | p[i][1].<.h)...&........px[p[i][ |
| 65e0 | 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 69 66 | 1].*.w.+.p[i][0]].=.c;........if |
| 6600 | 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 78 20 | .(d.>.0).{..........d.+=.4.*.(x. |
| 6620 | 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 20 20 | -.y).+.10;..........y--;........ |
| 6640 | 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 3b 00 | }.else..........d.+=.4.*.x.+.6;. |
| 6660 | 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 50 73 | .......x++;......}....}.......Ps |
| 6680 | 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 |
| 66a0 | 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,. |
| 66c0 | 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 20 20 | int.x1,.int.y1,...2............. |
| 66e0 | 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 5f 74 | ........int.x2,.int.y2,.uint32_t |
| 6700 | 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 20 3f | .c).{...B..int.min_y.=.y0.<.y1.? |
| 6720 | 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 32 20 | .(y0.<.y2.?.y0.:.y2).:.(y1.<.y2. |
| 6740 | 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 30 20 | ?.y1.:.y2);...B..int.max_y.=.y0. |
| 6760 | 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 79 31 | >.y1.?.(y0.>.y2.?.y0.:.y2).:.(y1 |
| 6780 | 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 5f 79 | .>.y2.?.y1.:.y2);......if.(min_y |
| 67a0 | 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 66 20 | .<.0)........min_y.=.0;......if. |
| 67c0 | 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 2d 20 | (max_y.>=.h)........max_y.=.h.-. |
| 67e0 | 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.<= |
| 6800 | 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 |
| 6820 | 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[ |
| 6840 | 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,. |
| 6860 | 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 66 61 6c 73 65 | y1,.y2};........bool.hit.=.false |
| 6880 | 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 3b 20 | ;...!....for.(int.i.=.0;.i.<.3;. |
| 68a0 | 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 29 20 | i++).{..........int.j.=.(i.+.1). |
| 68c0 | 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 26 26 | %.3;...C......if.((ys[i].<=.y.&& |
| 68e0 | 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 79 73 | .ys[j].>.y).||.(ys[j].<=.y.&&.ys |
| 6900 | 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 20 78 | [i].>.y)).{...H........int.x.=.x |
| 6920 | 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 78 73 | s[i].+.(y.-.ys[i]).*.(xs[j].-.xs |
| 6940 | 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 20 20 | [i])./.(ys[j].-.ys[i]);......... |
| 6960 | 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 20 20 | ...if.(x.<.x_start)............. |
| 6980 | 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 20 3e | .x_start.=.x;............if.(x.> |
| 69a0 | 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 3b 00 | .x_end)..............x_end.=.x;. |
| 69c0 | 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;.......... |
| 69e0 | 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 16 | }........}........if.(hit).{.... |
| 6a00 | 20 20 20 20 20 20 69 66 20 28 78 5f 73 74 61 72 74 20 3c 20 30 29 00 00 00 14 20 20 20 20 20 20 | ......if.(x_start.<.0).......... |
| 6a20 | 20 20 78 5f 73 74 61 72 74 20 3d 20 30 3b 00 00 00 15 20 20 20 20 20 20 69 66 20 28 78 5f 65 6e | ..x_start.=.0;..........if.(x_en |
| 6a40 | 64 20 3e 3d 20 77 29 00 00 00 16 20 20 20 20 20 20 20 20 78 5f 65 6e 64 20 3d 20 77 20 2d 20 31 | d.>=.w)............x_end.=.w.-.1 |
| 6a60 | 3b 00 00 00 2c 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 3b | ;...,......for.(int.x.=.x_start; |
| 6a80 | 20 78 20 3c 3d 20 78 5f 65 6e 64 3b 20 78 2b 2b 29 00 00 00 1a 20 20 20 20 20 20 20 20 70 78 5b | .x.<=.x_end;.x++)............px[ |
| 6aa0 | 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 00 03 20 20 7d 00 | y.*.w.+.x].=.c;........}......}. |
| 6ac0 | 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 73 | ...}.......#static.void.render(s |
| 6ae0 | 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 6e | truct.app.*a).{.../..if.(!a->con |
| 6b00 | 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 20 | figured.||.a->w.<=.0.||.a->h.<=. |
| 6b20 | 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 62 | 0)........return;......if.(!a->b |
| 6b40 | 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 69 | uf)........alloc_buf(a);......ui |
| 6b60 | 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 27 20 20 66 6f 72 | nt32_t.*px.=.a->pixels;...'..for |
| 6b80 | 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b | .(int.i.=.0;.i.<.a->w.*.a->h;.i+ |
| 6ba0 | 2b 29 00 00 00 15 20 20 20 20 70 78 5b 69 5d 20 3d 20 43 4f 4c 4f 52 5f 42 47 3b 00 00 00 19 20 | +)........px[i].=.COLOR_BG;..... |
| 6bc0 | 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 |
| 6be0 | 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 |
| 6c00 | 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 |
| 6c20 | 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 |
| 6c40 | 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.-. |
| 6c60 | 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 |
| 6c80 | 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 36 30 3b 20 69 | ;......for.(int.i.=.0;.i.<.60;.i |
| 6ca0 | 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 |
| 6cc0 | 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 |
| 6ce0 | 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 |
| 6d00 | 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 |
| 6d20 | 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; |
| 6d40 | 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 2c | ...7....fill_tri(px,.a->w,.a->h, |
| 6d60 | 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 20 | .cx.+.cos(ang.-.t_ang).*.r,...B. |
| 6d80 | 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 67 | ............cy.+.sin(ang.-.t_ang |
| 6da0 | 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 72 | ).*.r,.cx.+.cos(ang.+.t_ang).*.r |
| 6dc0 | 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 2b | ,...B.............cy.+.sin(ang.+ |
| 6de0 | 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 20 | .t_ang).*.r,.cx.+.cos(ang).*.(r. |
| 6e00 | 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 6e | -.len),...4.............cy.+.sin |
| 6e20 | 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 00 | (ang).*.(r.-.len),.COLOR_DIAL);. |
| 6e40 | 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 |
| 6e60 | 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;.. |
| 6e80 | 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 |
| 6ea0 | 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_ |
| 6ec0 | 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.=... |
| 6ee0 | 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 |
| 6f00 | 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 |
| 6f20 | 5f 50 49 20 2d 20 4d 5f 50 49 5f 32 3b 00 00 00 42 20 20 66 69 6c 6c 5f 74 72 69 28 70 78 2c 20 | _PI.-.M_PI_2;...B..fill_tri(px,. |
| 6f40 | 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). |
| 6f60 | 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......... |
| 6f80 | 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 |
| 6fa0 | 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 |
| 6fc0 | 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,. |
| 6fe0 | 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 |
| 7000 | 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....... |
| 7020 | 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_ |
| 7040 | 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 |
| 7060 | 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 |
| 7080 | 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.+. |
| 70a0 | 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_ |
| 70c0 | 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 |
| 70e0 | 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.... |
| 7100 | 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.* |
| 7120 | 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. |
| 7140 | 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 |
| 7160 | 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). |
| 7180 | 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).* |
| 71a0 | 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 |
| 71c0 | 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-> |
| 71e0 | 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 |
| 7200 | 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 |
| 7220 | 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 |
| 7240 | 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 |
| 7260 | 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 |
| 7280 | 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).* |
| 72a0 | 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.......... |
| 72c0 | 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,. |
| 72e0 | 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,.. |
| 7300 | 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 17 20 20 69 6e | .............COLOR_SEC);......in |
| 7320 | 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 28 68 75 62 | t.hub_r.=.r.*.0.04;......if.(hub |
| 7340 | 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 28 20 20 66 | _r.<.4)........hub_r.=.4;...(..f |
| 7360 | 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 20 32 3b 20 | or.(int.ir.=.0;.ir.<.hub_r.-.2;. |
| 7380 | 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 2c 20 61 2d | ir++)...1....circle(px,.a->w,.a- |
| 73a0 | 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 00 33 20 20 | >h,.cx,.cy,.ir,.COLOR_BG);...3.. |
| 73c0 | 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 |
| 73e0 | 75 62 5f 72 2c 20 43 4f 4c 4f 52 5f 48 55 42 29 3b 00 00 00 29 20 20 77 6c 5f 73 75 72 66 61 63 | ub_r,.COLOR_HUB);...)..wl_surfac |
| 7400 | 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 00 | e_attach(a->ws,.a->buf,.0,.0);.. |
| 7420 | 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 66 65 72 28 61 2d 3e | .4..wl_surface_damage_buffer(a-> |
| 7440 | 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 |
| 7460 | 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 20 20 61 2d 3e 72 65 | urface_commit(a->ws);......a->re |
| 7480 | 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 47 73 74 61 74 69 63 | draw.=.false;....}.......Gstatic |
| 74a0 | 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 20 78 | .void.xt_close(void.*d,.struct.x |
| 74c0 | 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 67 20 3d 20 30 3b 20 | dg_toplevel.*xt).{.running.=.0;. |
| 74e0 | 7d 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, |
| 7500 | 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_ |
| 7520 | 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,...(............. |
| 7540 | 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).{..... |
| 7560 | 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.> |
| 7580 | 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.! |
| 75a0 | 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;..... |
| 75c0 | 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( |
| 75e0 | 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;.... |
| 7600 | 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 76 | ..}....}...Fstatic.void.xs_cfg(v |
| 7620 | 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 20 | oid.*d,.struct.xdg_surface.*xs,. |
| 7640 | 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 20 61 | uint32_t.serial).{......struct.a |
| 7660 | 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 6b 5f | pp.*a.=.d;...(..xdg_surface_ack_ |
| 7680 | 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 63 | configure(xs,.serial);......a->c |
| 76a0 | 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 61 77 | onfigured.=.true;......a->redraw |
| 76c0 | 20 3d 20 74 72 75 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 | .=.true;....}...Cstatic.void.reg |
| 76e0 | 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 73 | _global(void.*d,.struct.wl_regis |
| 7700 | 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 20 | try.*r,.uint32_t.id,...3........ |
| 7720 | 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 69 | ...............const.char.*i,.ui |
| 7740 | 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.= |
| 7760 | 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 70 | .d;..."..if.(!strcmp(i,."wl_comp |
| 7780 | 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 65 | ositor"))...C....a->comp.=.wl_re |
| 77a0 | 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 6f | gistry_bind(r,.id,.&wl_composito |
| 77c0 | 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 21 | r_interface,.4);......else.if.(! |
| 77e0 | 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 73 | strcmp(i,."wl_shm"))...;....a->s |
| 7800 | 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 6c | hm.=.wl_registry_bind(r,.id,.&wl |
| 7820 | 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 66 | _shm_interface,.1);...'..else.if |
| 7840 | 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 00 | .(!strcmp(i,."xdg_wm_base")).{.. |
| 7860 | 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 72 | .?....a->wm.=.wl_registry_bind(r |
| 7880 | 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 29 | ,.id,.&xdg_wm_base_interface,.1) |
| 78a0 | 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 67 | ;...C....static.const.struct.xdg |
| 78c0 | 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 77 | _wm_base_listener.l.=.{.ping.=.w |
| 78e0 | 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 5f | m_ping};...+....xdg_wm_base_add_ |
| 7900 | 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 00 | listener(a->wm,.&l,.a);......}.. |
| 7920 | 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 20 | ..}........int.main(void).{..... |
| 7940 | 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 20 | .struct.app.a.=.{0};......a.w.=. |
| 7960 | 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 6c | 400;......a.h.=.400;......signal |
| 7980 | 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 5f | (SIGINT,.on_sig);...!..a.d.=.wl_ |
| 79a0 | 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 28 | display_connect(NULL);......if.( |
| 79c0 | 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 65 | !a.d)........return.1;...'..a.re |
| 79e0 | 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) |
| 7a00 | 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 65 | ;...G..static.const.struct.wl_re |
| 7a20 | 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 20 | gistry_listener.rl.=.{.global.=. |
| 7a40 | 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 64 | reg_global};...+..wl_registry_ad |
| 7a60 | 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 20 | d_listener(a.reg,.&rl,.&a);..... |
| 7a80 | 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 20 | .wl_display_roundtrip(a.d);...!. |
| 7aa0 | 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 29 | .if.(!a.comp.||.!a.shm.||.!a.wm) |
| 7ac0 | 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 6c | ........return.1;......a.ws.=.wl |
| 7ae0 | 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 6d | _compositor_create_surface(a.com |
| 7b00 | 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 5f | p);...1..a.xs.=.xdg_wm_base_get_ |
| 7b20 | 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 74 | xdg_surface(a.wm,.a.ws);...G..st |
| 7b40 | 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 69 | atic.const.struct.xdg_surface_li |
| 7b60 | 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 66 | stener.xsl.=.{.configure.=.xs_cf |
| 7b80 | 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 65 | g};...+..xdg_surface_add_listene |
| 7ba0 | 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 78 | r(a.xs,.&xsl,.&a);...(..a.xt.=.x |
| 7bc0 | 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);.. |
| 7be0 | 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 6c | .G..static.const.struct.xdg_topl |
| 7c00 | 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 20 | evel_listener.xtl.=.{.configure. |
| 7c20 | 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 20 | =.xt_cfg,...F................... |
| 7c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 7c60 | 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 70 | .close.=.xt_close};...,..xdg_top |
| 7c80 | 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 26 | level_add_listener(a.xt,.&xtl,.& |
| 7ca0 | 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( |
| 7cc0 | 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 63 | a.xt,."wlclock");......wl_surfac |
| 7ce0 | 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 63 | e_commit(a.ws);......while.(!a.c |
| 7d00 | 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 73 | onfigured)........wl_display_dis |
| 7d20 | 70 61 74 63 68 28 61 2e 64 29 3b 00 00 00 32 20 20 70 75 74 73 28 22 77 61 79 6c 61 6e 64 20 73 | patch(a.d);...2..puts("wayland.s |
| 7d40 | 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 65 64 22 29 | urface.successfully.configured") |
| 7d60 | 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 20 | ;......render(&a);...9..int.tfd. |
| 7d80 | 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 43 | =.timerfd_create(CLOCK_MONOTONIC |
| 7da0 | 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 74 | ,.TFD_CLOEXEC);...F..timerfd_set |
| 7dc0 | 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 63 | time(tfd,.0,.&(struct.itimerspec |
| 7de0 | 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 63 | ){{1,.0},.{1,.0}},.NULL);......c |
| 7e00 | 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 72 75 6e | har.buffer[100];......while.(run |
| 7e20 | 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 6c 61 79 | ning).{...-....while.(wl_display |
| 7e40 | 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 20 20 20 | _prepare_read(a.d).!=.0)...'.... |
| 7e60 | 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 2e | ..wl_display_dispatch_pending(a. |
| 7e80 | 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 64 29 | d);........wl_display_flush(a.d) |
| 7ea0 | 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 3d 20 | ;...M....struct.pollfd.fds[2].=. |
| 7ec0 | 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 4e | {{wl_display_get_fd(a.d),.POLLIN |
| 7ee0 | 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 6f | },.{tfd,.POLLIN}};........if.(po |
| 7f00 | 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 20 20 77 | ll(fds,.2,.-1).<.0).{..."......w |
| 7f20 | 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 20 | l_display_cancel_read(a.d);..... |
| 7f40 | 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 20 20 69 | .....continue;........}........i |
| 7f60 | 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 00 22 20 | f.(fds[0].revents.&.POLLIN)...". |
| 7f80 | 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 2e 64 29 | .....wl_display_read_events(a.d) |
| 7fa0 | 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 70 6c 61 | ;........else..."......wl_displa |
| 7fc0 | 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 5f 64 69 | y_cancel_read(a.d);...%....wl_di |
| 7fe0 | 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 22 | splay_dispatch_pending(a.d);..." |
| 8000 | 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) |
| 8020 | 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;...'. |
| 8040 | 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_ |
| 8060 | 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 74 69 6d | exp));..........time_t.cli.=.tim |
| 8080 | 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 74 5f 73 | e(NULL);...,......struct.tm.*t_s |
| 80a0 | 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 20 20 20 | truct.=.localtime(&cli);...I.... |
| 80c0 | 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 |
| 80e0 | 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 73 74 72 | ),."%d-%m-%Y.%I:%M:%S.%p",.t_str |
| 8100 | 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 20 69 73 | uct);...%......printf("\rTime.is |
| 8120 | 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 68 28 73 | .%s",.buffer);..........fflush(s |
| 8140 | 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 72 75 65 | tdout);..........a.redraw.=.true |
| 8160 | 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 00 | ;........}........if.(a.redraw). |
| 8180 | 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 0f 20 | .........render(&a);......}..... |
| 81a0 | 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 29 3b 00 | .printf("\n");......close(tfd);. |
| 81c0 | 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 |
| 81e0 | 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 |
| 8200 | 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 00 00 00 | rn.0;....}5...............'..... |
| 8220 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5e 23 00 00 00 00 00 00 01 00 00 00 00 00 | ..................^#............ |
| 8240 | 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 01 00 00 | ..5._........................... |
| 8260 | 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 | ................................ |
| 8280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 82a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 82c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 82e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 83c0 | 00 00 00 00 00 00 00 00 69 9d ae 2c 04 01 00 00 00 00 00 f5 18 00 00 00 e5 00 00 00 00 00 00 00 | ........i..,.................... |
| 83e0 | 00 00 00 00 01 00 00 00 1b 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 5c 72 54 69 6d 65 20 | .................printf("\rTime. |
| 8400 | 69 73 20 25 f5 18 00 00 00 e6 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 cf 00 00 00 00 | is.%............................ |
| 8420 | 00 00 00 00 00 00 00 01 00 00 00 18 20 20 77 68 69 6c 65 20 28 21 61 2e 63 6f 6e 66 69 67 75 72 | ..............while.(!a.configur |
| 8440 | 65 64 29 20 f5 18 00 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 86 00 00 00 00 | ed)............................. |
| 8460 | 00 00 00 00 00 00 00 01 00 00 00 18 20 20 20 20 20 20 20 20 20 20 20 20 20 63 78 20 2b 20 63 6f | .........................cx.+.co |
| 8480 | 73 28 61 6e f5 18 00 00 00 87 00 00 00 00 00 00 00 00 00 00 00 00 f5 18 00 00 00 00 00 00 00 00 | s(an............................ |
| 84a0 | 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 81 | ..............................5. |
| 84c0 | f5 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 86 00 00 00 18 00 00 00 00 00 | ................................ |
| 84e0 | 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 86 00 00 00 | ................................ |
| 8500 | 18 00 00 00 00 00 00 00 00 00 00 00 49 00 00 00 18 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 | ............I................... |
| 8520 | 00 00 00 00 00 0d 00 00 00 00 00 00 f5 18 00 00 00 00 cf 00 00 00 18 00 00 00 00 00 00 00 00 00 | ................................ |
| 8540 | 00 00 16 00 00 00 1b 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 | ................................ |
| 8560 | 00 00 f5 18 00 00 00 00 e5 00 00 00 1b 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 | ................................ |
| 8580 | 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bc 00 00 00 00 00 00 00 35 81 5f d0 00 00 00 05 | .!......................5._..... |
| 85a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 ee 00 00 00 00 00 00 00 00 ff ff ff ff | ................................ |
| 85c0 | 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 | ................................ |
| 85e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 86e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 8700 | 00 00 00 00 00 00 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. |
| 8720 | ae 2d 04 01 00 00 00 05 00 f5 18 00 00 00 01 00 00 01 34 00 00 00 ee 00 00 00 eb 00 00 00 26 23 | .-................4...........&# |
| 8740 | 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 |
| 8760 | 6f 6c 2e 68 22 00 00 00 13 23 69 6e 63 6c 75 64 65 20 22 63 6f 6e 66 69 67 2e 68 22 00 00 00 12 | ol.h"....#include."config.h".... |
| 8780 | 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.< |
| 87a0 | 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>.... |
| 87c0 | 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. |
| 87e0 | 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 74 2e | <stdbool.h>....#include.<stdint. |
| 8800 | 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 |
| 8820 | 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 |
| 8840 | 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>. |
| 8860 | 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>....# |
| 8880 | 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 |
| 88a0 | 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 |
| 88c0 | 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 23 64 | ent.h>........#ifndef.M_PI...##d |
| 88e0 | 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 38 34 | efine.M_PI.3.1415926535897932384 |
| 8900 | 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 00 00 | 6....#endif....#ifndef.M_PI_2... |
| 8920 | 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 38 39 | %#define.M_PI_2.1.57079632679489 |
| 8940 | 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 20 76 | 661923....#endif.......)static.v |
| 8960 | 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 20 31 | olatile.sig_atomic_t.running.=.1 |
| 8980 | 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 20 7b | ;...3static.void.on_sig(int.s).{ |
| 89a0 | 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 00 0c | .(void)s;.running.=.0;.}........ |
| 89c0 | 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 73 70 | struct.app.{......struct.wl_disp |
| 89e0 | 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 79 20 | lay.*d;......struct.wl_registry. |
| 8a00 | 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 72 20 | *reg;......struct.wl_compositor. |
| 8a20 | 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 3b 00 | *comp;......struct.wl_shm.*shm;. |
| 8a40 | 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 00 18 | .....struct.xdg_wm_base.*wm;.... |
| 8a60 | 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 73 74 | ..struct.wl_surface.*ws;......st |
| 8a80 | 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 75 63 | ruct.xdg_surface.*xs;......struc |
| 8aa0 | 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 2a 70 | t.xdg_toplevel.*xt;......void.*p |
| 8ac0 | 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 |
| 8ae0 | 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 20 62 | f;......int.w,.h;......int.bw,.b |
| 8b00 | 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 |
| 8b20 | 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 69 63 20 76 | ol.redraw;....};.......Jstatic.v |
| 8b40 | 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 20 78 | oid.wm_ping(void.*data,.struct.x |
| 8b60 | 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 6c 29 | dg_wm_base.*wm,.uint32_t.serial) |
| 8b80 | 20 7b 00 00 00 0d 20 20 28 76 6f 69 64 29 64 61 74 61 3b 00 00 00 1f 20 20 78 64 67 5f 77 6d 5f | .{......(void)data;......xdg_wm_ |
| 8ba0 | 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 00 00 | base_pong(wm,.serial);....}..... |
| 8bc0 | 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 20 | ..$static.int.create_shm(size_t. |
| 8be0 | 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 6c | size).{...#..char.t[].=."/tmp/wl |
| 8c00 | 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 73 | clock-XXXXXX";......int.fd.=.mks |
| 8c20 | 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 31 | temp(t);......if.(fd.<.0).exit(1 |
| 8c40 | 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 75 | );......unlink(t);...'..if.(ftru |
| 8c60 | 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 00 | ncate(fd,.size).<.0).exit(1);... |
| 8c80 | 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 63 | ...return.fd;....}.......(static |
| 8ca0 | 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 29 | .void.destroy_buf(struct.app.*a) |
| 8cc0 | 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 2a | .{......if.(!a->buf).return;...* |
| 8ce0 | 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.*. |
| 8d00 | 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 |
| 8d20 | 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 |
| 8d40 | 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 3e | ,.size);..."..a->buf.=.NULL;.a-> |
| 8d60 | 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 69 | pixels.=.NULL;....}.......&stati |
| 8d80 | 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 20 | c.void.alloc_buf(struct.app.*a). |
| 8da0 | 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 65 | {......destroy_buf(a);...(..size |
| 8dc0 | 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 20 | _t.size.=.(size_t)a->w.*.a->h.*. |
| 8de0 | 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 65 | 4;......int.fd.=.create_shm(size |
| 8e00 | 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 |
| 8e20 | 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 |
| 8e40 | 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 78 | _SHARED,.fd,.0);...'..if.(a->pix |
| 8e60 | 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 20 | els.==.MAP_FAILED).exit(1);...B. |
| 8e80 | 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 |
| 8ea0 | 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) |
| 8ec0 | 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 61 | ;...\..a->buf.=.wl_shm_pool_crea |
| 8ee0 | 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 61 | te_buffer(pool,.0,.a->w,.a->h,.a |
| 8f00 | 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 29 | ->w.*.4,.WL_SHM_FORMAT_ARGB8888) |
| 8f20 | 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 29 | ;......wl_shm_pool_destroy(pool) |
| 8f40 | 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 61 | ;......close(fd);......a->bw.=.a |
| 8f60 | 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 73 | ->w;.a->bh.=.a->h;....}.......Ss |
| 8f80 | 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 20 | tatic.void.circle(uint32_t.*px,. |
| 8fa0 | 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 6e | int.w,.int.h,.int.cx,.int.cy,.in |
| 8fc0 | 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 20 | t.r,.uint32_t.c).{..."..int.x.=. |
| 8fe0 | 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 |
| 9000 | 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 32 | ile.(y.>=.x).{...H....int.p[8][2 |
| 9020 | 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,. |
| 9040 | 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 20 | cy.+.y},.{cx.+.x,.cy.-.y},...H.. |
| 9060 | 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 79 | .................{cx.-.x,.cy.-.y |
| 9080 | 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 79 | },.{cx.+.y,.cy.+.x},.{cx.-.y,.cy |
| 90a0 | 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 78 | .+.x},...7...................{cx |
| 90c0 | 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 7d | .+.y,.cy.-.x},.{cx.-.y,.cy.-.x}} |
| 90e0 | 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 20 | ;........for.(int.i.=.0;.i.<.8;. |
| 9100 | 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 26 | i++)...E......if.(p[i][0].>=.0.& |
| 9120 | 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 26 | &.p[i][0].<.w.&&.p[i][1].>=.0.&& |
| 9140 | 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 5d | .p[i][1].<.h)...&........px[p[i] |
| 9160 | 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 69 | [1].*.w.+.p[i][0]].=.c;...C....i |
| 9180 | 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 31 | f.(d.>.0).{.d.+=.4.*.(x.-.y).+.1 |
| 91a0 | 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 00 | 0;.y--;.}.else.d.+=.4.*.x.+.6;.. |
| 91c0 | 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 74 | ......x++;......}....}.......nst |
| 91e0 | 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 2c | atic.void.fill_tri(uint32_t.*px, |
| 9200 | 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 69 | .int.w,.int.h,.int.x0,.int.y0,.i |
| 9220 | 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 75 | nt.x1,.int.y1,.int.x2,.int.y2,.u |
| 9240 | 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 30 | int32_t.c).{...B..int.min_y.=.y0 |
| 9260 | 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 79 | .<.y1.?.(y0.<.y2.?.y0.:.y2).:.(y |
| 9280 | 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 5f | 1.<.y2.?.y1.:.y2);...B..int.max_ |
| 92a0 | 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 32 | y.=.y0.>.y1.?.(y0.>.y2.?.y0.:.y2 |
| 92c0 | 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 66 | ).:.(y1.>.y2.?.y1.:.y2);...:..if |
| 92e0 | 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 5f | .(min_y.<.0).min_y.=.0;.if.(max_ |
| 9300 | 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 20 | y.>=.h).max_y.=.h.-.1;...(..for. |
| 9320 | 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++) |
| 9340 | 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 |
| 9360 | 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 |
| 9380 | 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 15 | ,.x2},.ys[3].=.{y0,.y1,.y2};.... |
| 93a0 | 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 72 | ....bool.hit.=.false;...!....for |
| 93c0 | 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++).{...... |
| 93e0 | 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.... |
| 9400 | 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). |
| 9420 | 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)).{. |
| 9440 | 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.-. |
| 9460 | 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 |
| 9480 | 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 78 | ].-.ys[i]);...?........if.(x.<.x |
| 94a0 | 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 65 | _start).x_start.=.x;.if.(x.>.x_e |
| 94c0 | 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 20 | nd).x_end.=.x;............hit.=. |
| 94e0 | 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 20 | true;..........}........}....... |
| 9500 | 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 74 | .if.(hit).{...B......if.(x_start |
| 9520 | 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 20 | .<.0).x_start.=.0;.if.(x_end.>=. |
| 9540 | 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 28 | w).x_end.=.w.-.1;...?......for.( |
| 9560 | 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++ |
| 9580 | 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 00 | ).px[y.*.w.+.x].=.c;........}... |
| 95a0 | 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 |
| 95c0 | 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 61 | der(struct.app.*a).{...7..if.(!a |
| 95e0 | 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-> |
| 9600 | 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 66 | h.<=.0).return;......if.(!a->buf |
| 9620 | 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 70 | ).alloc_buf(a);......uint32_t.*p |
| 9640 | 78 20 3d 20 61 2d 3e 70 69 78 65 6c 73 3b 00 00 00 36 20 20 66 6f 72 28 69 6e 74 20 69 3d 30 3b | x.=.a->pixels;...6..for(int.i=0; |
| 9660 | 20 69 20 3c 20 61 2d 3e 77 20 2a 20 61 2d 3e 68 3b 20 69 2b 2b 29 20 70 78 5b 69 5d 20 3d 20 43 | .i.<.a->w.*.a->h;.i++).px[i].=.C |
| 9680 | 4f 4c 4f 52 5f 42 47 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 | OLOR_BG;......time_t.tt.=.time(N |
| 96a0 | 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 |
| 96c0 | 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. |
| 96e0 | 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;... |
| 9700 | 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.: |
| 9720 | 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) |
| 9740 | 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 20 3c | .r.=.5;......for.(int.i.=.0;.i.< |
| 9760 | 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 20 | .60;.i++).{........double.ang.=. |
| 9780 | 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 00 | i./.60.0.*.2.*.M_PI.-.M_PI_2;... |
| 97a0 | 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 20 | 1....int.len.=.(i.%.5.==.0).?.r. |
| 97c0 | 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 65 | *.0.12.:.r.*.0.04;...0....double |
| 97e0 | 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 32 20 3a 20 | .t_ang.=.(i.%.5.==.0).?.0.012.:. |
| 9800 | 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 20 61 2d 3e 77 2c | 0.005;...J....fill_tri(px,.a->w, |
| 9820 | 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 2a 72 2c 20 63 79 | .a->h,.cx.+.cos(ang-t_ang)*r,.cy |
| 9840 | 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 20 20 20 20 20 20 | .+.sin(ang-t_ang)*r,...:........ |
| 9860 | 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 2c 20 63 79 20 2b | .....cx.+.cos(ang+t_ang)*r,.cy.+ |
| 9880 | 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 20 20 20 20 20 20 | .sin(ang+t_ang)*r,...G.......... |
| 98a0 | 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 63 79 20 2b 20 73 | ...cx.+.cos(ang)*(r-len),.cy.+.s |
| 98c0 | 69 6e 28 61 6e 67 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 | in(ang)*(r-len),.COLOR_DIAL);... |
| 98e0 | 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 |
| 9900 | 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 |
| 9920 | 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. |
| 9940 | 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 |
| 9960 | 20 2d 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 | .-.M_PI_2;...T..double.ha.=.((tm |
| 9980 | 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./. |
| 99a0 | 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_ |
| 99c0 | 32 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 | 2;..._..fill_tri(px,.a->w,.a->h, |
| 99e0 | 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 5f | .cx.+.cos(ha-0.12)*r*HAND_THICK_ |
| 9a00 | 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 43 | H,.cy.+.sin(ha-0.12)*r*HAND_THIC |
| 9a20 | 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 2b | K_H,....O...........cx.+.cos(ha+ |
| 9a40 | 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 68 | 0.12)*r*HAND_THICK_H,.cy.+.sin(h |
| 9a60 | 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 20 | a+0.12)*r*HAND_THICK_H,....M.... |
| 9a80 | 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 48 | .......cx.+.cos(ha)*r*HAND_LEN_H |
| 9aa0 | 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 4c | ,.cy.+.sin(ha)*r*HAND_LEN_H,.COL |
| 9ac0 | 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 77 | OR_HOUR);..._..fill_tri(px,.a->w |
| 9ae0 | 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 44 | ,.a->h,.cx.+.cos(ma-0.08)*r*HAND |
| 9b00 | 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 41 | _THICK_M,.cy.+.sin(ma-0.08)*r*HA |
| 9b20 | 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 20 | ND_THICK_M,....O...........cx.+. |
| 9b40 | 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 20 | cos(ma+0.08)*r*HAND_THICK_M,.cy. |
| 9b60 | 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 00 | +.sin(ma+0.08)*r*HAND_THICK_M,.. |
| 9b80 | 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 4e | ..L...........cx.+.cos(ma)*r*HAN |
| 9ba0 | 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 4e | D_LEN_M,.cy.+.sin(ma)*r*HAND_LEN |
| 9bc0 | 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 78 | _M,.COLOR_MIN);...^..fill_tri(px |
| 9be0 | 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 2a | ,.a->w,.a->h,.cx.+.cos(sa-0.05)* |
| 9c00 | 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 35 | r*HAND_THICK_S,.cy.+.sin(sa-0.05 |
| 9c20 | 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 20 | )*r*HAND_THICK_S,...N........... |
| 9c40 | 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 53 | cx.+.cos(sa+0.05)*r*HAND_THICK_S |
| 9c60 | 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 4b | ,.cy.+.sin(sa+0.05)*r*HAND_THICK |
| 9c80 | 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 72 | _S,...L...........cx.+.cos(sa)*r |
| 9ca0 | 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 44 | *HAND_LEN_S,.cy.+.sin(sa)*r*HAND |
| 9cc0 | 5f 4c 45 4e 5f 53 2c 20 43 4f 4c 4f 52 5f 53 45 43 29 3b 00 00 00 31 20 20 69 6e 74 20 68 75 62 | _LEN_S,.COLOR_SEC);...1..int.hub |
| 9ce0 | 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 |
| 9d00 | 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 |
| 9d20 | 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,. |
| 9d40 | 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 |
| 9d60 | 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 |
| 9d80 | 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 29 20 20 77 | x,.cy,.hub_r,.COLOR_HUB);...)..w |
| 9da0 | 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,. |
| 9dc0 | 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 |
| 9de0 | 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);.. |
| 9e00 | 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);... |
| 9e20 | 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;....}...... |
| 9e40 | 00 38 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 | .8static.void.xt_close(void.*d,. |
| 9e60 | 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 00 00 00 14 20 20 | struct.xdg_toplevel.*xt).{...... |
| 9e80 | 28 76 6f 69 64 29 64 3b 20 28 76 6f 69 64 29 78 74 3b 00 00 00 0e 20 20 72 75 6e 6e 69 6e 67 20 | (void)d;.(void)xt;......running. |
| 9ea0 | 3d 20 30 3b 00 00 00 01 7d 00 00 00 00 00 00 00 60 73 74 61 74 69 63 20 76 6f 69 64 20 78 74 5f | =.0;....}.......`static.void.xt_ |
| 9ec0 | 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 |
| 9ee0 | 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 |
| 9f00 | 63 74 20 77 6c 5f 61 72 72 61 79 20 2a 73 29 20 7b 00 00 00 22 20 20 73 74 72 75 63 74 20 61 70 | ct.wl_array.*s).{..."..struct.ap |
| 9f20 | 70 20 2a 61 20 3d 20 28 73 74 72 75 63 74 20 61 70 70 20 2a 29 64 3b 00 00 00 14 20 20 28 76 6f | p.*a.=.(struct.app.*)d;......(vo |
| 9f40 | 69 64 29 78 74 3b 20 28 76 6f 69 64 29 73 3b 00 00 00 33 20 20 69 66 20 28 77 20 3e 20 30 20 26 | id)xt;.(void)s;...3..if.(w.>.0.& |
| 9f60 | 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- |
| 9f80 | 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 68 | >h)).{...9....a->w.=.w;.a->h.=.h |
| 9fa0 | 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 72 | ;.destroy_buf(a);.a->redraw.=.tr |
| 9fc0 | 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 63 20 76 6f | ue;......}....}.......Fstatic.vo |
| 9fe0 | 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 |
| a000 | 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).{... |
| a020 | 22 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 28 73 74 72 75 63 74 20 61 70 70 20 2a | "..struct.app.*a.=.(struct.app.* |
| a040 | 29 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 | )d;...(..xdg_surface_ack_configu |
| a060 | 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 |
| a080 | 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;.... |
| a0a0 | 7d 00 00 00 00 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 | }.......`static.void.reg_global( |
| a0c0 | 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 2c 20 | void.*d,.struct.wl_registry.*r,. |
| a0e0 | 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 6e 74 | uint32_t.id,.const.char.*i,.uint |
| a100 | 33 32 5f 74 20 76 29 20 7b 00 00 00 22 20 20 73 74 72 75 63 74 20 61 70 70 20 2a 61 20 3d 20 28 | 32_t.v).{..."..struct.app.*a.=.( |
| a120 | 73 74 72 75 63 74 20 61 70 70 20 2a 29 64 3b 00 00 00 0a 20 20 28 76 6f 69 64 29 76 3b 00 00 00 | struct.app.*)d;......(void)v;... |
| a140 | 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 |
| a160 | 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 |
| a180 | 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,. |
| a1a0 | 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 |
| a1c0 | 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 |
| a1e0 | 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);. |
| a200 | 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 |
| a220 | 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 |
| a240 | 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 |
| a260 | 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 |
| a280 | 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. |
| a2a0 | 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_ |
| a2c0 | 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,. |
| a2e0 | 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( |
| a300 | 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}; |
| a320 | 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 |
| a340 | 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 |
| a360 | 6c 5f 64 69 73 70 6c 61 79 5f 63 6f 6e 6e 65 63 74 28 4e 55 4c 4c 29 3b 00 00 00 15 20 20 69 66 | l_display_connect(NULL);......if |
| a380 | 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 |
| a3a0 | 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 |
| a3c0 | 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 |
| a3e0 | 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 |
| a400 | 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 |
| a420 | 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 |
| a440 | 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.( |
| a460 | 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 |
| a480 | 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_ |
| a4a0 | 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 |
| a4c0 | 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( |
| a4e0 | 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 |
| a500 | 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.= |
| a520 | 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 |
| a540 | 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 |
| a560 | 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 |
| a580 | 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 |
| a5a0 | 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 |
| a5c0 | 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 |
| a5e0 | 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 |
| a600 | 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) |
| a620 | 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. |
| a640 | 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_ |
| a660 | 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 |
| a680 | 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 |
| a6a0 | 29 3b 00 00 00 32 20 20 70 75 74 73 28 22 77 61 79 6c 61 6e 64 20 73 75 72 66 61 63 65 20 73 75 | );...2..puts("wayland.surface.su |
| a6c0 | 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 00 0d 20 20 72 65 | ccessfully.configured");......re |
| a6e0 | 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 |
| a700 | 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 |
| a720 | 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, |
| a740 | 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}, |
| a760 | 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 |
| a780 | 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).{.. |
| a7a0 | 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_ |
| a7c0 | 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 |
| a7e0 | 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 |
| a800 | 6c 61 79 5f 66 6c 75 73 68 28 61 2e 64 29 3b 00 00 00 1c 20 20 20 20 73 74 72 75 63 74 20 70 6f | lay_flush(a.d);........struct.po |
| a820 | 6c 6c 66 64 20 66 64 73 5b 32 5d 20 3d 20 7b 00 00 00 47 20 20 20 20 20 20 7b 20 2e 66 64 20 3d | llfd.fds[2].=.{...G......{..fd.= |
| a840 | 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 74 73 | .wl_display_get_fd(a.d),..events |
| a860 | 20 3d 20 50 4f 4c 4c 49 4e 2c 20 2e 72 65 76 65 6e 74 73 20 3d 20 30 20 7d 2c 00 00 00 33 20 20 | .=.POLLIN,..revents.=.0.},...3.. |
| a880 | 20 20 20 20 7b 20 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 49 | ....{..fd.=.tfd,..events.=.POLLI |
| a8a0 | 4e 2c 20 2e 72 65 76 65 6e 74 73 20 3d 20 30 20 7d 00 00 00 06 20 20 20 20 7d 3b 00 00 00 48 20 | N,..revents.=.0.}........};...H. |
| a8c0 | 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 20 77 | ...if.(poll(fds,.2,.-1).<.0).{.w |
| a8e0 | 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 6e 74 | l_display_cancel_read(a.d);.cont |
| a900 | 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 6e 74 | inue;.}..._....if.(fds[0].revent |
| a920 | 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 65 6e | s.&.POLLIN).wl_display_read_even |
| a940 | 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 6c 5f | ts(a.d);.else.wl_display_cancel_ |
| a960 | 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 69 73 | read(a.d);...%....wl_display_dis |
| a980 | 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 28 66 | patch_pending(a.d);..."....if.(f |
| a9a0 | 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 15 20 20 20 | ds[1].revents.&.POLLIN).{....... |
| a9c0 | 20 20 20 75 69 6e 74 36 34 5f 74 20 74 5f 65 78 70 3b 00 00 00 31 20 20 20 20 20 20 69 66 20 28 | ...uint64_t.t_exp;...1......if.( |
| a9e0 | 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 29 29 | read(tfd,.&t_exp,.sizeof(t_exp)) |
| aa00 | 20 3e 20 30 29 20 7b 00 00 00 20 20 20 20 20 20 20 20 20 74 69 6d 65 5f 74 20 63 6c 69 20 3d 20 | .>.0).{............time_t.cli.=. |
| aa20 | 74 69 6d 65 28 4e 55 4c 4c 29 3b 00 00 00 2e 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 74 6d | time(NULL);............struct.tm |
| aa40 | 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 00 | .*t_struct.=.localtime(&cli);... |
| aa60 | 4b 20 20 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 | K........strftime(buffer,.sizeof |
| aa80 | 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" |
| aaa0 | 2c 20 74 5f 73 74 72 75 63 74 29 3b 00 00 00 37 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 28 22 | ,.t_struct);...7........printf(" |
| aac0 | 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 66 6c 75 73 68 28 73 | \rTime.is.%s",.buffer);.fflush(s |
| aae0 | 74 64 6f 75 74 29 3b 00 00 00 18 20 20 20 20 20 20 20 20 61 2e 72 65 64 72 61 77 20 3d 20 74 72 | tdout);............a.redraw.=.tr |
| ab00 | 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 1d 20 20 20 20 69 | ue;..........}........}........i |
| ab20 | 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 20 20 7d 00 | f.(a.redraw).render(&a);......}. |
| ab40 | 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 29 3b 20 64 | ..H..printf("\n");.close(tfd);.d |
| ab60 | 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 69 73 63 6f | estroy_buf(&a);.wl_display_disco |
| ab80 | 6e 6e 65 63 74 28 61 2e 64 29 3b 35 81 f5 18 00 00 00 00 01 00 00 00 0a 00 00 00 ea 00 00 00 2c | nnect(a.d);5..................., |
| aba0 | 00 00 00 31 01 00 00 01 00 00 00 2a 00 00 00 00 00 00 00 68 21 00 00 00 00 00 00 ea 23 00 00 00 | ...1.......*.......h!.......#... |
| abc0 | 00 00 00 35 81 e7 aa | ...5... |