-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuno.h
More file actions
62 lines (46 loc) · 1.73 KB
/
uno.h
File metadata and controls
62 lines (46 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#pragma once
#include "types.h"
#include "doc.h"
#include "files/buffer.h"
void uno_begin_vertical(node_info info);
void uno_end_vertical();
void uno_begin_horizontal(node_info info);
void uno_end_horizontal();
void uno_begin_depth(node_info info);
void uno_end_depth();
void uno_create_empty_view(node_info info);
document_node* uno_create_view(node_info info, string_slice content);
typedef struct {
u32 start;
u32 end;
} select_range;
typedef struct {
buffer *content;
string_slice placeholder;
bool multiline;
color cursor_color;
gpu_point offset;
select_range selection;
} text_field_info;
void uno_text_field(int tag, node_info info, text_field_info *text_info);
void uno_text_field_scroll(int tag, i32 x_shift, i32 y_shift);
void uno_text_field_shift_cursor(int tag, i32 x_shift, i32 y_shift);
typedef struct {
void (*press)(int buttonIndex, gpu_point location);
void (*hover)(int buttonIndex, gpu_point location);
} button_info;
void uno_button(int tag, node_info info, button_info *b_info, string_slice label);
void uno_label(node_info info, doc_text_size size, string_slice content);
void set_document_view(void (*view_builder)(), gpu_rect canvas);
void uno_refresh();
void uno_refresh_layout();
void uno_draw(draw_ctx *ctx);
void uno_focus(int tag);
bool uno_dispatch_kbd(kbd_event ev, u8 modifier);
bool uno_dispatch_mouse(mouse_data mouse, u8 modifier);
void uno_copy(void*);
void uno_paste(void*);
#define VERTICAL(info, children) uno_begin_vertical((info)); children; uno_end_vertical();
#define HORIZONTAL(info, children) uno_begin_horizontal((info)); children; uno_end_horizontal();
#define DEPTH(info, children) uno_begin_depth((info)); children; uno_end_depth();
extern document_data default_doc_data;