gg: custom bold font path

pull/7070/head
Alexander Medvednikov 2020-12-01 16:30:22 +01:00
parent d3deaa1f59
commit 0ddf0a4b92
3 changed files with 30 additions and 27 deletions

View File

@ -25,39 +25,40 @@ pub type FNChar = fn (c u32, x voidptr)
pub struct Config {
pub:
width int
height int
use_ortho bool
retina bool
resizable bool
user_data voidptr
font_size int
create_window bool
width int
height int
use_ortho bool
retina bool
resizable bool
user_data voidptr
font_size int
create_window bool
// window_user_ptr voidptr
window_title string
borderless_window bool
always_on_top bool
bg_color gx.Color
init_fn FNCb = voidptr(0)
frame_fn FNCb = voidptr(0)
cleanup_fn FNCb = voidptr(0)
fail_fn FNFail = voidptr(0)
event_fn FNEvent = voidptr(0)
keydown_fn FNKeyDown = voidptr(0)
window_title string
borderless_window bool
always_on_top bool
bg_color gx.Color
init_fn FNCb = voidptr(0)
frame_fn FNCb = voidptr(0)
cleanup_fn FNCb = voidptr(0)
fail_fn FNFail = voidptr(0)
event_fn FNEvent = voidptr(0)
keydown_fn FNKeyDown = voidptr(0)
// special case of event_fn
char_fn FNChar = voidptr(0)
char_fn FNChar = voidptr(0)
// special case of event_fn
move_fn FNMove = voidptr(0)
move_fn FNMove = voidptr(0)
// special case of event_fn
click_fn FNMove = voidptr(0)
click_fn FNMove = voidptr(0)
// special case of event_fn
// wait_events bool // set this to true for UIs, to save power
fullscreen bool
scale f32 = 1.0
fullscreen bool
scale f32 = 1.0
// vid needs this
// init_text bool
font_path string
ui_mode bool
font_path string
custom_bold_font_path string
ui_mode bool // refreshes only on events to save CPU usage
}
pub struct Context {
@ -122,6 +123,7 @@ fn gg_init_sokol_window(user_data voidptr) {
// t := time.ticks()
g.ft = new_ft({
font_path: g.config.font_path
custom_bold_font_path: g.config.custom_bold_font_path
scale: sapp.dpi_scale()
}) or {
panic(err)

View File

@ -26,6 +26,7 @@ pub:
struct FTConfig {
font_path string
custom_bold_font_path string
scale f32 = 1.0
font_size int
}
@ -52,7 +53,7 @@ fn new_ft(c FTConfig) ?&FT {
return none
}
}
bold_path := get_font_path_variant(c.font_path, .bold)
bold_path := if c.custom_bold_font_path != '' { c.custom_bold_font_path } else { get_font_path_variant(c.font_path, .bold)}
bytes_bold := os.read_bytes(bold_path) or {
debug_font_println('failed to load font "$bold_path"')
bytes

View File

@ -1265,7 +1265,7 @@ pub fn (mut f Fmt) fn_decl(node ast.FnDecl) {
f.stmts(node.stmts)
f.write('}')
}
if !node.is_anon {
if !node.is_anon && !node.no_body {
f.writeln('\n')
}
} else {