import gx fn (game &Game) text_format(color gx.Color, size int, h_align gx.HorizontalAlign, v_align gx.VerticalAlign) gx.TextCfg { return gx.TextCfg{ color: color align: h_align vertical_align: v_align size: size } } pub fn (game &Game) draw_text(x int, y int, text string, size int, color gx.Color, ha string, va string, shadow bool) { mut v_align := gx.VerticalAlign.baseline mut h_align := gx.HorizontalAlign.left match va { 'top' { v_align = gx.VerticalAlign.top } 'middle' { v_align = gx.VerticalAlign.middle } 'bottom' { v_align = gx.VerticalAlign.bottom } 'baseline' { v_align = gx.VerticalAlign.baseline } else { v_align = gx.VerticalAlign.top } } match ha { 'left' { h_align = gx.HorizontalAlign.left } 'center' { h_align = gx.HorizontalAlign.center } 'right' { h_align = gx.HorizontalAlign.right } else { h_align = gx.HorizontalAlign.left } } if shadow { game.gg.draw_text(x + 2, y + 2, text, game.text_format(gx.black, size, h_align, v_align)) } game.gg.draw_text(x, y, text, game.text_format(color, size, h_align, v_align)) }