1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/examples/gg2.v
2020-01-22 20:54:36 +01:00

51 lines
847 B
V
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module main
import gg2 // as gg
import gx
const (
win_width = 600
win_height = 300
)
struct App {
mut:
gg &gg2.GG
}
fn main() {
mut app := &App{}
app.gg = gg2.new_context({
bg_color: gx.white
width: win_width
height: win_height
use_ortho: true // This is needed for 2D drawing
create_window: true
window_title: 'Empty window'
frame_fn: frame
user_data: app
font_path: 'examples/tetris/RobotoMono-Regular.ttf'
})
app.gg.run()
}
fn frame(user_data voidptr) {
mut app := &App(user_data)
mut gg := app.gg
gg.begin()
if gg.fons == 0 {
gg.init_font()
}
app.draw()
C.sfons_flush(gg.fons)
gg.end()
}
fn (app &App) draw() {
app.gg.draw_text_def(200,20, 'hello world!')
app.gg.draw_text_def(300,300, 'привет')
app.gg.draw_rect(10, 10, 100, 30, gx.blue)
app.gg.draw_empty_rect(10, 150, 80, 40, gx.green)
}