Skip to content

Commit b9624c0

Browse files
committed
update font rendering
1 parent 0476242 commit b9624c0

File tree

3 files changed

+33
-44
lines changed

3 files changed

+33
-44
lines changed

query.v

+6-6
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ fn (mut vid Vid) draw_query() {
8888
vid.vg.draw_rect(x, y, width, height, gx.white)
8989
// query window title
9090
vid.vg.draw_rect(x, y, width, vid.line_height, vid.cfg.title_color)
91-
vid.ft.draw_text(x + 10, y, vid.typ_to_str(), vid.cfg.file_name_cfg)
91+
vid.vg.draw_text(x + 10, y, vid.typ_to_str(), vid.cfg.file_name_cfg)
9292
// query background
9393
vid.vg.draw_rect(0, 0, vid.win_width, vid.line_height, vid.cfg.title_color)
9494
mut q := vid.query
9595
if vid.query_type == QueryType.search || vid.query_type == QueryType.grep {
9696
q = vid.search_query
9797
}
98-
vid.ft.draw_text(x + 10, y + 30, q, txt_cfg)
98+
vid.vg.draw_text(x + 10, y + 30, q, txt_cfg)
9999
if vid.query_type == .ctrlp {
100100
vid.draw_ctrlp_files(x, y)
101101
}
@@ -118,7 +118,7 @@ fn (mut vid Vid) draw_ctrlp_files(x, y int) {
118118
if !file.contains(vid.query.to_lower()) {
119119
continue
120120
}
121-
vid.ft.draw_text(x + 10, y + 60 + 30 * j, file, txt_cfg)
121+
vid.vg.draw_text(x + 10, y + 60 + 30 * j, file, txt_cfg)
122122
j++
123123
}
124124
}
@@ -135,7 +135,7 @@ fn (mut vid Vid) draw_top_tasks(x, y int) {
135135
continue
136136
}
137137
// println('DOES CONTAIN "$file" $j')
138-
vid.ft.draw_text(x + 10, y + 60 + 30 * j, task, txt_cfg)
138+
vid.vg.draw_text(x + 10, y + 60 + 30 * j, task, txt_cfg)
139139
j++
140140
}
141141
}
@@ -158,8 +158,8 @@ fn (mut vid Vid) draw_git_grep(x, y int) {
158158
if i == vid.gg_pos {
159159
vid.vg.draw_rect(x, yy, query_width * 2, 30, vid.cfg.vcolor)
160160
}
161-
vid.ft.draw_text(x + 10, yy, path, txt_cfg)
162-
vid.ft.draw_text(x + 250, yy, text, txt_cfg)
161+
vid.vg.draw_text(x + 10, yy, path, txt_cfg)
162+
vid.vg.draw_text(x + 250, yy, text, txt_cfg)
163163
}
164164
}
165165

timer.v

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module main
22

33
import gg
4-
import gg.ft
54
import gx
65
import os
76
import time
@@ -25,7 +24,6 @@ const (
2524
struct Timer {
2625
mut:
2726
gg &gg.Context
28-
ft &ft.FT
2927
tasks []Task
3028
date time.Time
3129

@@ -106,10 +104,9 @@ fn (mut t Timer) load_tasks() {
106104
}
107105

108106

109-
fn new_timer(gg &gg.Context, ft &ft.FT) Timer {
107+
fn new_timer(gg &gg.Context) Timer {
110108
mut timer := Timer {
111109
gg: gg
112-
ft: ft
113110
date: time.now()
114111
}
115112
timer.load_tasks()
@@ -142,7 +139,7 @@ fn (mut t Timer) draw() {
142139
y := f64(window_y) + f64(task.start) / scale + 10
143140
height := f64(task.end - task.start) / scale
144141
t.gg.draw_rect(f32(x), f32(y), f32(hour_width), f32(height), task.color)
145-
t.ft.draw_text(int(x)+hour_width + 10, int(y)+5, task.name + ' ' + task.duration, gx.TextCfg{ color: task.color })
142+
t.gg.draw_text(int(x)+hour_width + 10, int(y)+5, task.name + ' ' + task.duration, gx.TextCfg{ color: task.color })
146143
if task.productive {
147144
total += task.duration_min
148145
}
@@ -151,7 +148,7 @@ fn (mut t Timer) draw() {
151148
hour_y := window_y + hour * hour_width + 10
152149
hour_x := window_x + 30
153150
if hour < 24 {
154-
t.ft.draw_text(hour_x - 25, hour_y + 10,
151+
t.gg.draw_text(hour_x - 25, hour_y + 10,
155152
'${hour:02d}', time_cfg)
156153
}
157154
t.gg.draw_line(hour_x, hour_y, hour_x + hour_width, hour_y, gx.gray)
@@ -163,11 +160,11 @@ fn (mut t Timer) draw() {
163160
t.gg.draw_line(window_x + 30 + hour_width, window_y + 10, window_x+30+hour_width, window_y+10+24*
164161
hour_width, gx.gray)
165162
// Draw the in the top right corner
166-
t.ft.draw_text_def(window_x + window_width - 100, 20, t.date.ymmdd())
163+
t.gg.draw_text_def(window_x + window_width - 100, 20, t.date.ymmdd())
167164
// Draw total time
168165
h := total/ 60
169166
m := total % 60
170-
t.ft.draw_text(window_x + window_width - 100, 100, '$h:${m:02d}', gx.TextCfg{ color: color_productive })
167+
t.gg.draw_text(window_x + window_width - 100, 100, '$h:${m:02d}', gx.TextCfg{ color: color_productive })
171168

172169

173170
}

vid.v

+22-30
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
module main
66

77
import gg
8-
import gg.ft
98
import os
109
import time
1110
import uiold
@@ -71,7 +70,6 @@ mut:
7170
all_git_files []string
7271
top_tasks []string
7372
vg &gg.Context
74-
ft &ft.FT
7573
query string
7674
search_query string
7775
query_type QueryType
@@ -118,10 +116,6 @@ Options:
118116
)
119117

120118
const ( fpath = os.resource_abs_path('RobotoMono-Regular.ttf') )
121-
fn init_gui(mut vid Vid){
122-
x := ft.new({ font_path: fpath, scale: 2 }) or {panic(err)}
123-
vid.ft = x
124-
}
125119

126120
fn main() {
127121
if '-h' in os.args || '--help' in os.args {
@@ -174,7 +168,6 @@ fn main() {
174168
//font_size: 13
175169
view: 0
176170
vg: 0
177-
ft: 0
178171
}
179172
vid.handle_segfault()
180173
vid.cfg.init_colors()
@@ -199,16 +192,16 @@ fn main() {
199192
event_fn: on_event
200193
keydown_fn: key_down
201194
char_fn: on_char
202-
init_fn: init_gui
195+
font_path: os.resource_abs_path('RobotoMono-Regular.ttf')
203196
})
204197
println('FULL SCREEN=${!is_window}')
205-
vid.timer = new_timer(vid.vg, vid.ft)
198+
vid.timer = new_timer(vid.vg)
206199
vid.load_all_tasks()
207-
//
200+
208201
// TODO linux and windows
209202
//C.AXUIElementCreateApplication(234)
210203
uiold.reg_key_vid()
211-
//
204+
212205
// Open workspaces or a file
213206
println(os.args)
214207
mut cur_dir := os.getwd()
@@ -291,7 +284,6 @@ fn frame(mut vid Vid) {
291284
//if !vid.refresh {
292285
//return
293286
//}
294-
vid.ft.flush()
295287
vid.vg.begin()
296288
vid.draw()
297289
vid.vg.end()
@@ -348,29 +340,29 @@ fn (mut vid Vid) draw() {
348340
if v.changed && !v.path.ends_with('/out') {
349341
name = '$name [+]'
350342
}
351-
vid.ft.draw_text(vid.split_x(i - from) + v.padding_left + 10, 1, name, vid.cfg.file_name_cfg)
343+
vid.vg.draw_text(vid.split_x(i - from) + v.padding_left + 10, 1, name, vid.cfg.file_name_cfg)
352344
}
353345
// Git diff stats
354346
if vid.git_diff_plus != '+' {
355-
vid.ft.draw_text(vid.win_width - 400, 1, vid.git_diff_plus, vid.cfg.plus_cfg)
347+
vid.vg.draw_text(vid.win_width - 400, 1, vid.git_diff_plus, vid.cfg.plus_cfg)
356348
}
357349
if vid.git_diff_minus != '-' {
358-
vid.ft.draw_text(vid.win_width - 350, 1, vid.git_diff_minus, vid.cfg.minus_cfg)
350+
vid.vg.draw_text(vid.win_width - 350, 1, vid.git_diff_minus, vid.cfg.minus_cfg)
359351
}
360352
// Workspaces
361353
nr_spaces := vid.workspaces.len
362354
cur_space := vid.workspace_idx + 1
363355
space_name := short_space(vid.workspace)
364-
vid.ft.draw_text(vid.win_width - 220, 1, '[$space_name]', vid.cfg.file_name_cfg)
365-
vid.ft.draw_text(vid.win_width - 150, 1, '$cur_space/$nr_spaces', vid.cfg.file_name_cfg)
356+
vid.vg.draw_text(vid.win_width - 220, 1, '[$space_name]', vid.cfg.file_name_cfg)
357+
vid.vg.draw_text(vid.win_width - 150, 1, '$cur_space/$nr_spaces', vid.cfg.file_name_cfg)
366358
// Time
367-
vid.ft.draw_text(vid.win_width - 50, 1, now.hhmm(), vid.cfg.file_name_cfg)
359+
vid.vg.draw_text(vid.win_width - 50, 1, now.hhmm(), vid.cfg.file_name_cfg)
368360
// vid.vg.draw_text(vid.win_width - 550, 1, now.hhmmss(), file_name_cfg)
369361
// vim top right next to current time
370362
/*
371363
if vid.start_unix > 0 {
372364
minutes := '1m' //vid.timer.minutes()
373-
vid.ft.draw_text(vid.win_width - 300, 1, '${minutes}m' !,
365+
vid.vg.draw_text(vid.win_width - 300, 1, '${minutes}m' !,
374366
vid.cfg.file_name_cfg)
375367
}
376368
*/
@@ -379,10 +371,10 @@ fn (mut vid Vid) draw() {
379371
task_text_width := vid.cur_task.len * vid.char_width
380372
task_x := vid.win_width - split_width - task_text_width - 10
381373
// vid.timer.vg.draw_text(task_x, 1, vid.timer.cur_task.to_upper(), file_name_cfg)
382-
vid.ft.draw_text(task_x, 1, vid.cur_task, vid.cfg.file_name_cfg)
374+
vid.vg.draw_text(task_x, 1, vid.cur_task, vid.cfg.file_name_cfg)
383375
// Draw current task time
384376
task_time_x := (vid.nr_splits - 1) * split_width - 50
385-
vid.ft.draw_text(task_time_x, 1, '${vid.task_minutes()}m',
377+
vid.vg.draw_text(task_time_x, 1, '${vid.task_minutes()}m',
386378
vid.cfg.file_name_cfg)
387379
}
388380
// Splits
@@ -431,7 +423,7 @@ fn (mut vid Vid) draw_split(i, split_from int) {
431423
}
432424
// Line number
433425
line_number := j + 1
434-
vid.ft.draw_text(x+3, y, '$line_number', vid.cfg.line_nr_cfg)
426+
vid.vg.draw_text(x+3, y, '$line_number', vid.cfg.line_nr_cfg)
435427
// Tab offset
436428
mut line_x := x + 10
437429
mut nr_tabs := 0
@@ -461,7 +453,7 @@ fn (mut vid Vid) draw_split(i, split_from int) {
461453
vid.draw_line(line_x, y, s)// SYNTAX HL
462454
}
463455
else {
464-
vid.ft.draw_text(line_x, y, line, vid.cfg.txt_cfg)// NO SYNTAX
456+
vid.vg.draw_text(line_x, y, line, vid.cfg.txt_cfg)// NO SYNTAX
465457
}
466458
}
467459
line_nr++
@@ -486,12 +478,12 @@ fn (mut vid Vid) draw_line(x, y int, line string) {
486478
// Red/green test hack
487479
if line.contains('[32m') &&
488480
line.contains('PASS') {
489-
vid.ft.draw_text(x, y, line[5..], vid.cfg.green_cfg)
481+
vid.vg.draw_text(x, y, line[5..], vid.cfg.green_cfg)
490482
return
491483
}
492484
else if line.contains('[31m') &&
493485
line.contains('FAIL') {
494-
vid.ft.draw_text(x, y, line[5..], vid.cfg.red_cfg)
486+
vid.vg.draw_text(x, y, line[5..], vid.cfg.red_cfg)
495487
return
496488
//} else if line[0] == `-` {
497489
}
@@ -556,12 +548,12 @@ fn (mut vid Vid) draw_line(x, y int, line string) {
556548
}
557549
}
558550
if vid.is_ml_comment {
559-
vid.ft.draw_text(x, y, line, vid.cfg.comment_cfg)
551+
vid.vg.draw_text(x, y, line, vid.cfg.comment_cfg)
560552
return
561553
}
562554
if vid.chunks.len == 0 {
563555
// println('no chunks')
564-
vid.ft.draw_text(x, y, line, vid.cfg.txt_cfg)
556+
vid.vg.draw_text(x, y, line, vid.cfg.txt_cfg)
565557
return
566558
}
567559
mut pos := 0
@@ -575,7 +567,7 @@ fn (mut vid Vid) draw_line(x, y int, line string) {
575567
// since we don't have a seperate chunk for text)
576568
if chunk.start > pos + 1 {
577569
s := line[pos..chunk.start]
578-
vid.ft.draw_text(x + pos * vid.char_width, y, s, vid.cfg.txt_cfg)
570+
vid.vg.draw_text(x + pos * vid.char_width, y, s, vid.cfg.txt_cfg)
579571
}
580572
// Keyword string etc
581573
typ := chunk.typ
@@ -585,12 +577,12 @@ fn (mut vid Vid) draw_line(x, y int, line string) {
585577
.a_comment { vid.cfg.comment_cfg }
586578
}
587579
s := line[chunk.start..chunk.end]
588-
vid.ft.draw_text(x + chunk.start * vid.char_width, y, s, cfg)
580+
vid.vg.draw_text(x + chunk.start * vid.char_width, y, s, cfg)
589581
pos = chunk.end
590582
// Final text chunk
591583
if i == vid.chunks.len - 1 && chunk.end < line.len {
592584
final := line[chunk.end..line.len]
593-
vid.ft.draw_text(x + pos * vid.char_width, y, final, vid.cfg.txt_cfg)
585+
vid.vg.draw_text(x + pos * vid.char_width, y, final, vid.cfg.txt_cfg)
594586
}
595587
}
596588
}

0 commit comments

Comments
 (0)