Blame


1 d1a0f2a3 2021-07-12 op /*
2 d1a0f2a3 2021-07-12 op * Copyright (c) 2021 Omar Polo <op@omarpolo.com>
3 d1a0f2a3 2021-07-12 op *
4 d1a0f2a3 2021-07-12 op * Permission to use, copy, modify, and distribute this software for any
5 d1a0f2a3 2021-07-12 op * purpose with or without fee is hereby granted, provided that the above
6 d1a0f2a3 2021-07-12 op * copyright notice and this permission notice appear in all copies.
7 d1a0f2a3 2021-07-12 op *
8 d1a0f2a3 2021-07-12 op * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 d1a0f2a3 2021-07-12 op * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 d1a0f2a3 2021-07-12 op * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 d1a0f2a3 2021-07-12 op * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 d1a0f2a3 2021-07-12 op * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 d1a0f2a3 2021-07-12 op * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 d1a0f2a3 2021-07-12 op * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 d1a0f2a3 2021-07-12 op */
16 d1a0f2a3 2021-07-12 op
17 d1a0f2a3 2021-07-12 op #ifndef UI_H
18 d1a0f2a3 2021-07-12 op #define UI_H
19 d1a0f2a3 2021-07-12 op
20 b7d58e0b 2021-11-05 op #include "keymap.h"
21 d1a0f2a3 2021-07-12 op #include "telescope.h"
22 d1a0f2a3 2021-07-12 op
23 d1a0f2a3 2021-07-12 op extern int body_lines;
24 d1a0f2a3 2021-07-12 op extern int body_cols;
25 d1a0f2a3 2021-07-12 op
26 d1a0f2a3 2021-07-12 op extern struct kmap global_map, minibuffer_map, *current_map, *base_map;
27 d1a0f2a3 2021-07-12 op
28 d1a0f2a3 2021-07-12 op struct excursion {
29 d1a0f2a3 2021-07-12 op int curs_x, curs_y;
30 d1a0f2a3 2021-07-12 op size_t line_off;
31 d1a0f2a3 2021-07-12 op struct vline *current_line;
32 ca783de6 2021-07-18 op struct vline *top_line;
33 d1a0f2a3 2021-07-12 op size_t cpoff;
34 d1a0f2a3 2021-07-12 op };
35 d1a0f2a3 2021-07-12 op
36 d1a0f2a3 2021-07-12 op enum pairs {
37 d1a0f2a3 2021-07-12 op PTL_BG = 1,
38 d1a0f2a3 2021-07-12 op PTL_TAB,
39 d1a0f2a3 2021-07-12 op PTL_CURR,
40 d1a0f2a3 2021-07-12 op
41 d1a0f2a3 2021-07-12 op PBODY,
42 d1a0f2a3 2021-07-12 op PBLEFT,
43 d1a0f2a3 2021-07-12 op PBRIGHT,
44 d1a0f2a3 2021-07-12 op
45 d1a0f2a3 2021-07-12 op PT,
46 d1a0f2a3 2021-07-12 op PT_PRFX,
47 d1a0f2a3 2021-07-12 op PT_TRAIL,
48 d1a0f2a3 2021-07-12 op PL,
49 d1a0f2a3 2021-07-12 op PL_PRFX,
50 d1a0f2a3 2021-07-12 op PL_TRAIL,
51 d1a0f2a3 2021-07-12 op PT1,
52 d1a0f2a3 2021-07-12 op PT1_PRFX,
53 d1a0f2a3 2021-07-12 op PT1_TRAIL,
54 d1a0f2a3 2021-07-12 op PT2,
55 d1a0f2a3 2021-07-12 op PT2_PRFX,
56 d1a0f2a3 2021-07-12 op PT2_TRAIL,
57 d1a0f2a3 2021-07-12 op PT3,
58 d1a0f2a3 2021-07-12 op PT3_PRFX,
59 d1a0f2a3 2021-07-12 op PT3_TRAIL,
60 d1a0f2a3 2021-07-12 op PI,
61 d1a0f2a3 2021-07-12 op PI_PRFX,
62 d1a0f2a3 2021-07-12 op PI_TRAIL,
63 d1a0f2a3 2021-07-12 op PQ,
64 d1a0f2a3 2021-07-12 op PQ_PRFX,
65 d1a0f2a3 2021-07-12 op PQ_TRAIL,
66 d1a0f2a3 2021-07-12 op PPSTART,
67 d1a0f2a3 2021-07-12 op PPSTART_PRFX,
68 d1a0f2a3 2021-07-12 op PPSTART_TRAIL,
69 d1a0f2a3 2021-07-12 op PP,
70 d1a0f2a3 2021-07-12 op PP_PRFX,
71 d1a0f2a3 2021-07-12 op PP_TRAIL,
72 d1a0f2a3 2021-07-12 op PPEND,
73 d1a0f2a3 2021-07-12 op PPEND_PRFX,
74 d1a0f2a3 2021-07-12 op PPEND_TRAIL,
75 d1a0f2a3 2021-07-12 op
76 ba49fdf9 2021-07-30 op PPATCH,
77 ba49fdf9 2021-07-30 op PPATCH_PRFX,
78 ba49fdf9 2021-07-30 op PPATCH_TRAIL,
79 ba49fdf9 2021-07-30 op PPATCH_HDR,
80 ba49fdf9 2021-07-30 op PPATCH_HDR_PRFX,
81 ba49fdf9 2021-07-30 op PPATCH_HDR_TRAIL,
82 ba49fdf9 2021-07-30 op PPATCH_HUNK_HDR,
83 ba49fdf9 2021-07-30 op PPATCH_HUNK_HDR_PRFX,
84 ba49fdf9 2021-07-30 op PPATCH_HUNK_HDR_TRAIL,
85 ba49fdf9 2021-07-30 op PPATCH_ADD,
86 ba49fdf9 2021-07-30 op PPATCH_ADD_PRFX,
87 ba49fdf9 2021-07-30 op PPATCH_ADD_TRAIL,
88 ba49fdf9 2021-07-30 op PPATCH_DEL,
89 ba49fdf9 2021-07-30 op PPATCH_DEL_PRFX,
90 ba49fdf9 2021-07-30 op PPATCH_DEL_TRAIL,
91 ba49fdf9 2021-07-30 op
92 e7b982f4 2021-07-14 op PCOMPL_PRFX,
93 e7b982f4 2021-07-14 op PCOMPL,
94 e7b982f4 2021-07-14 op PCOMPL_TRAIL,
95 e7b982f4 2021-07-14 op
96 e7b982f4 2021-07-14 op PCOMPL_CURR_PRFX,
97 e7b982f4 2021-07-14 op PCOMPL_CURR,
98 e7b982f4 2021-07-14 op PCOMPL_CURR_TRAIL,
99 e7b982f4 2021-07-14 op
100 c6be26e4 2021-07-21 op PHELP_PRFX,
101 c6be26e4 2021-07-21 op PHELP,
102 c6be26e4 2021-07-21 op PHELP_TRAIL,
103 c6be26e4 2021-07-21 op
104 1577540c 2021-11-05 op PDOWNLOAD_PRFX,
105 1577540c 2021-11-05 op PDOWNLOAD,
106 1577540c 2021-11-05 op PDOWNLOAD_TRAIL,
107 1577540c 2021-11-05 op
108 1577540c 2021-11-05 op PDOWNLOAD_DONE_PRFX,
109 1577540c 2021-11-05 op PDOWNLOAD_DONE,
110 1577540c 2021-11-05 op PDOWNLOAD_DONE_TRAIL,
111 1577540c 2021-11-05 op
112 1577540c 2021-11-05 op PDOWNLOAD_INFO_PRFX,
113 1577540c 2021-11-05 op PDOWNLOAD_INFO,
114 1577540c 2021-11-05 op PDOWNLOAD_INFO_TRAIL,
115 1577540c 2021-11-05 op
116 1577540c 2021-11-05 op PDOWNLOAD_WIN,
117 1577540c 2021-11-05 op
118 d1a0f2a3 2021-07-12 op PMODELINE,
119 d1a0f2a3 2021-07-12 op
120 d1a0f2a3 2021-07-12 op PMINIBUF,
121 d1a0f2a3 2021-07-12 op };
122 d1a0f2a3 2021-07-12 op
123 d1a0f2a3 2021-07-12 op extern struct thiskey thiskey;
124 d1a0f2a3 2021-07-12 op
125 83dce83d 2021-07-17 op extern struct tab *current_tab;
126 83dce83d 2021-07-17 op
127 de278567 2021-07-21 op extern struct buffer helpwin;
128 de278567 2021-07-21 op extern int help_lines, help_cols;
129 de278567 2021-07-21 op
130 3b5f459e 2021-11-05 op extern struct buffer downloadwin;
131 fcd99a0d 2021-11-05 op extern int download_lines;
132 3b5f459e 2021-11-05 op
133 d1a0f2a3 2021-07-12 op void save_excursion(struct excursion *, struct buffer *);
134 d1a0f2a3 2021-07-12 op void restore_excursion(struct excursion *, struct buffer *);
135 d1a0f2a3 2021-07-12 op void global_key_unbound(void);
136 a4921f5d 2021-08-14 op struct buffer *current_buffer(void);
137 e7b982f4 2021-07-14 op struct vline *adjust_line(struct vline *, struct buffer *);
138 d1a0f2a3 2021-07-12 op void start_loading_anim(struct tab *);
139 4bc446b9 2021-07-21 op
140 1853ee50 2021-07-15 op int ui_print_colors(void);
141 d1a0f2a3 2021-07-12 op int ui_init(void);
142 2ddbda6b 2021-07-17 op void ui_main_loop(void);
143 d1a0f2a3 2021-07-12 op void ui_on_tab_loaded(struct tab *);
144 d1a0f2a3 2021-07-12 op void ui_on_tab_refresh(struct tab *);
145 fcd99a0d 2021-11-05 op void ui_on_download_refresh(void);
146 d1a0f2a3 2021-07-12 op const char *ui_keyname(int);
147 3b5f459e 2021-11-05 op void ui_toggle_side_window(int);
148 fcd99a0d 2021-11-05 op void ui_show_downloads_pane(void);
149 d1a0f2a3 2021-07-12 op void ui_schedule_redraw(void);
150 4bc446b9 2021-07-21 op void ui_after_message_hook(void);
151 9a28e7e5 2021-08-03 op void ui_require_input(struct tab *, int, int);
152 d1a0f2a3 2021-07-12 op void ui_yornp(const char *, void (*)(int, struct tab *), struct tab *);
153 bb9912eb 2021-08-29 op void ui_read(const char *, void (*)(const char *, struct tab *), struct tab *, const char *);
154 65340174 2021-07-21 op void ui_other_window(void);
155 8a3b5609 2021-07-15 op void ui_suspend(void);
156 d1a0f2a3 2021-07-12 op void ui_end(void);
157 d1a0f2a3 2021-07-12 op
158 d1a0f2a3 2021-07-12 op #endif