aboutsummaryrefslogtreecommitdiff
path: root/kscurses/module.jai
blob: 23c01050b98f54555ec622d253e3b0526f4e74dd (plain)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#module_parameters(
	ENABLE_SIGINT		:= true,
	ENABLE_SIGQUIT		:= true,
	TICK_DURATION_MS	:= 1000,
	ENABLE_UI_BELL		:= true,
	ENABLE_UI_BLINKING	:= true
);

#if OS == .LINUX {
	#import "POSIX";
}

// ivec2 :: Generic_Vector(s32, 2);
// ivec3 :: Generic_Vector(s32, 3);
// u8vec3 :: Generic_Vector(u8, 3);
// Ibox2 :: Generic_Box(s32, 2);

// #load "../Extra_Containers/module.jai";
// #import "Extra_Containers";


#import "Basic"();
#import "Process";
#import "String";

#load "io.jai";
#load "init.jai";
#load "events.jai";

#load "vectors.jai";
#load "modes.jai";
#load "print.jai";
#load "utils.jai";
#load "canvas.jai";

#load "ui/style.jai";
#load "ui/element.jai";
#load "ui/master.jai";
#load "ui/links.jai";

#load "ui/button.jai";
#load "ui/group.jai";
#load "ui/text_buf.jai";
#load "ui/select_list.jai";
#load "ui/parent.jai";
#load "ui/scene_manager.jai";
#load "ui/popup_manager.jai";
#load "ui/line_input.jai";
#load "ui/table.jai";
#load "ui/scalable_group.jai";
#load "ui/progress_bar.jai";

#load "lambdas.jai";
#load "queue.jai";

// TODO:
// remake canvas:
//		-force full refresh only after resize / init
// 		maybe_resize()
//		fill_by_proc()
//		clear()


//		in resize & fill: check if size same
// 		add c_print_ascii_line, c_print_ascii_line_bounded

// restart_clock && multiple clocks

// in set_main_scene check if root is predecessor of active element
// stop_clock -> clock_state

// module overlap check / set minimum size of terminal

// make generic_vec2/3
// make better how_to
// add meaningfull assertion text
// UI_Scene <- UI_Popup
// autogrow in line_input
// detection of the element on which rendering breaks
// extra debug lines on top
// group view
// + grid / group (maybe)
// make text u8/u32 modes in text_buf, line_input & other
// add block_input
// (maybe) unset_active_recursive without arguments
// plotter
// tree/directory view
// push graphics mode

// add windows(os) support xd
// (August 13, 2023). Fuck it, I don't want to deal with this shit anymore.