1 | static void ui_bridge_mode_info_set_event(void **argv) |
2 | { |
3 | UI *ui = UI(argv[0]); |
4 | Array cursor_styles = (Array){.items = argv[2],.size = (size_t)argv[3]}; |
5 | ui->mode_info_set(ui, PTR2INT(argv[1]), cursor_styles); |
6 | api_free_array(cursor_styles); |
7 | } |
8 | |
9 | static void ui_bridge_mode_info_set(UI *ui, Boolean enabled, Array cursor_styles) |
10 | { |
11 | Array copy_cursor_styles = copy_array(cursor_styles); |
12 | UI_BRIDGE_CALL(ui, mode_info_set, 4, ui, INT2PTR(enabled), copy_cursor_styles.items, INT2PTR(copy_cursor_styles.size)); |
13 | } |
14 | |
15 | static void (void **argv) |
16 | { |
17 | UI *ui = UI(argv[0]); |
18 | ui->update_menu(ui); |
19 | } |
20 | |
21 | static void (UI *ui) |
22 | { |
23 | UI_BRIDGE_CALL(ui, update_menu, 1, ui); |
24 | } |
25 | |
26 | static void ui_bridge_busy_start_event(void **argv) |
27 | { |
28 | UI *ui = UI(argv[0]); |
29 | ui->busy_start(ui); |
30 | } |
31 | |
32 | static void ui_bridge_busy_start(UI *ui) |
33 | { |
34 | UI_BRIDGE_CALL(ui, busy_start, 1, ui); |
35 | } |
36 | |
37 | static void ui_bridge_busy_stop_event(void **argv) |
38 | { |
39 | UI *ui = UI(argv[0]); |
40 | ui->busy_stop(ui); |
41 | } |
42 | |
43 | static void ui_bridge_busy_stop(UI *ui) |
44 | { |
45 | UI_BRIDGE_CALL(ui, busy_stop, 1, ui); |
46 | } |
47 | |
48 | static void ui_bridge_mouse_on_event(void **argv) |
49 | { |
50 | UI *ui = UI(argv[0]); |
51 | ui->mouse_on(ui); |
52 | } |
53 | |
54 | static void ui_bridge_mouse_on(UI *ui) |
55 | { |
56 | UI_BRIDGE_CALL(ui, mouse_on, 1, ui); |
57 | } |
58 | |
59 | static void ui_bridge_mouse_off_event(void **argv) |
60 | { |
61 | UI *ui = UI(argv[0]); |
62 | ui->mouse_off(ui); |
63 | } |
64 | |
65 | static void ui_bridge_mouse_off(UI *ui) |
66 | { |
67 | UI_BRIDGE_CALL(ui, mouse_off, 1, ui); |
68 | } |
69 | |
70 | static void ui_bridge_mode_change_event(void **argv) |
71 | { |
72 | UI *ui = UI(argv[0]); |
73 | String mode = (String){.data = argv[1],.size = (size_t)argv[2]}; |
74 | ui->mode_change(ui, mode, PTR2INT(argv[3])); |
75 | api_free_string(mode); |
76 | } |
77 | |
78 | static void ui_bridge_mode_change(UI *ui, String mode, Integer mode_idx) |
79 | { |
80 | String copy_mode = copy_string(mode); |
81 | UI_BRIDGE_CALL(ui, mode_change, 4, ui, copy_mode.data, INT2PTR(copy_mode.size), INT2PTR(mode_idx)); |
82 | } |
83 | |
84 | static void ui_bridge_bell_event(void **argv) |
85 | { |
86 | UI *ui = UI(argv[0]); |
87 | ui->bell(ui); |
88 | } |
89 | |
90 | static void ui_bridge_bell(UI *ui) |
91 | { |
92 | UI_BRIDGE_CALL(ui, bell, 1, ui); |
93 | } |
94 | |
95 | static void ui_bridge_visual_bell_event(void **argv) |
96 | { |
97 | UI *ui = UI(argv[0]); |
98 | ui->visual_bell(ui); |
99 | } |
100 | |
101 | static void ui_bridge_visual_bell(UI *ui) |
102 | { |
103 | UI_BRIDGE_CALL(ui, visual_bell, 1, ui); |
104 | } |
105 | |
106 | static void ui_bridge_flush_event(void **argv) |
107 | { |
108 | UI *ui = UI(argv[0]); |
109 | ui->flush(ui); |
110 | } |
111 | |
112 | static void ui_bridge_flush(UI *ui) |
113 | { |
114 | UI_BRIDGE_CALL(ui, flush, 1, ui); |
115 | } |
116 | |
117 | static void ui_bridge_set_title_event(void **argv) |
118 | { |
119 | UI *ui = UI(argv[0]); |
120 | String title = (String){.data = argv[1],.size = (size_t)argv[2]}; |
121 | ui->set_title(ui, title); |
122 | api_free_string(title); |
123 | } |
124 | |
125 | static void ui_bridge_set_title(UI *ui, String title) |
126 | { |
127 | String copy_title = copy_string(title); |
128 | UI_BRIDGE_CALL(ui, set_title, 3, ui, copy_title.data, INT2PTR(copy_title.size)); |
129 | } |
130 | |
131 | static void ui_bridge_set_icon_event(void **argv) |
132 | { |
133 | UI *ui = UI(argv[0]); |
134 | String icon = (String){.data = argv[1],.size = (size_t)argv[2]}; |
135 | ui->set_icon(ui, icon); |
136 | api_free_string(icon); |
137 | } |
138 | |
139 | static void ui_bridge_set_icon(UI *ui, String icon) |
140 | { |
141 | String copy_icon = copy_string(icon); |
142 | UI_BRIDGE_CALL(ui, set_icon, 3, ui, copy_icon.data, INT2PTR(copy_icon.size)); |
143 | } |
144 | |
145 | static void ui_bridge_default_colors_set_event(void **argv) |
146 | { |
147 | UI *ui = UI(argv[0]); |
148 | ui->default_colors_set(ui, PTR2INT(argv[1]), PTR2INT(argv[2]), PTR2INT(argv[3]), PTR2INT(argv[4]), PTR2INT(argv[5])); |
149 | } |
150 | |
151 | static void ui_bridge_default_colors_set(UI *ui, Integer rgb_fg, Integer rgb_bg, Integer rgb_sp, Integer cterm_fg, Integer cterm_bg) |
152 | { |
153 | UI_BRIDGE_CALL(ui, default_colors_set, 6, ui, INT2PTR(rgb_fg), INT2PTR(rgb_bg), INT2PTR(rgb_sp), INT2PTR(cterm_fg), INT2PTR(cterm_bg)); |
154 | } |
155 | |
156 | static void ui_bridge_grid_resize_event(void **argv) |
157 | { |
158 | UI *ui = UI(argv[0]); |
159 | ui->grid_resize(ui, PTR2INT(argv[1]), PTR2INT(argv[2]), PTR2INT(argv[3])); |
160 | } |
161 | |
162 | static void ui_bridge_grid_resize(UI *ui, Integer grid, Integer width, Integer height) |
163 | { |
164 | UI_BRIDGE_CALL(ui, grid_resize, 4, ui, INT2PTR(grid), INT2PTR(width), INT2PTR(height)); |
165 | } |
166 | |
167 | static void ui_bridge_grid_clear_event(void **argv) |
168 | { |
169 | UI *ui = UI(argv[0]); |
170 | ui->grid_clear(ui, PTR2INT(argv[1])); |
171 | } |
172 | |
173 | static void ui_bridge_grid_clear(UI *ui, Integer grid) |
174 | { |
175 | UI_BRIDGE_CALL(ui, grid_clear, 2, ui, INT2PTR(grid)); |
176 | } |
177 | |
178 | static void ui_bridge_grid_cursor_goto_event(void **argv) |
179 | { |
180 | UI *ui = UI(argv[0]); |
181 | ui->grid_cursor_goto(ui, PTR2INT(argv[1]), PTR2INT(argv[2]), PTR2INT(argv[3])); |
182 | } |
183 | |
184 | static void ui_bridge_grid_cursor_goto(UI *ui, Integer grid, Integer row, Integer col) |
185 | { |
186 | UI_BRIDGE_CALL(ui, grid_cursor_goto, 4, ui, INT2PTR(grid), INT2PTR(row), INT2PTR(col)); |
187 | } |
188 | |
189 | static void ui_bridge_grid_scroll_event(void **argv) |
190 | { |
191 | UI *ui = UI(argv[0]); |
192 | ui->grid_scroll(ui, PTR2INT(argv[1]), PTR2INT(argv[2]), PTR2INT(argv[3]), PTR2INT(argv[4]), PTR2INT(argv[5]), PTR2INT(argv[6]), PTR2INT(argv[7])); |
193 | } |
194 | |
195 | static void ui_bridge_grid_scroll(UI *ui, Integer grid, Integer top, Integer bot, Integer left, Integer right, Integer rows, Integer cols) |
196 | { |
197 | UI_BRIDGE_CALL(ui, grid_scroll, 8, ui, INT2PTR(grid), INT2PTR(top), INT2PTR(bot), INT2PTR(left), INT2PTR(right), INT2PTR(rows), INT2PTR(cols)); |
198 | } |
199 | |
200 | |