examples: make raven text run on android, fix text scaling (#8394)

pull/8410/head
Larpon 2021-01-29 11:13:06 +01:00 committed by GitHub
parent 85c5df23cf
commit afddcda7a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 4 deletions

View File

@ -3,6 +3,7 @@ module main
import gg import gg
import gx import gx
import os import os
import math
const ( const (
win_width = 600 win_width = 600
@ -66,7 +67,11 @@ fn main() {
mut app := &App{ mut app := &App{
gg: 0 gg: 0
} }
app.gg = gg.new_context({ mut font_path := os.resource_abs_path(os.join_path('..', 'assets', 'fonts', 'RobotoMono-Regular.ttf'))
$if android {
font_path = 'fonts/RobotoMono-Regular.ttf'
}
app.gg = gg.new_context(
width: win_width width: win_width
height: win_height height: win_height
use_ortho: true // This is needed for 2D drawing use_ortho: true // This is needed for 2D drawing
@ -75,16 +80,24 @@ fn main() {
user_data: app user_data: app
bg_color: bg_color bg_color: bg_color
frame_fn: frame frame_fn: frame
font_path: os.resource_abs_path('../assets/fonts/RobotoMono-Regular.ttf') // window_user_ptr: ctx font_path: font_path // window_user_ptr: ctx
}) )
app.gg.run() app.gg.run()
} }
fn frame(mut app App) { fn frame(mut app App) {
app.gg.begin() app.gg.begin()
width := gg.window_size().width
mut scale_factor := math.round(f32(width) / win_width)
if scale_factor <= 0 {
scale_factor = 1
}
text_cfg := gx.TextCfg{
size: 16 * int(scale_factor)
}
mut y := 10 mut y := 10
for line in lines { for line in lines {
app.gg.draw_text_def(10, y, line) app.gg.draw_text(10, y, line, text_cfg)
y += 30 y += 30
} }
app.gg.end() app.gg.end()