mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
gg: update draw polygon test (#14880)
This commit is contained in:
parent
e4a49d5dd5
commit
71ff221cff
47
vlib/gg/testdata/draw_simple_polygons.vv
vendored
47
vlib/gg/testdata/draw_simple_polygons.vv
vendored
@ -1,14 +1,20 @@
|
||||
module main
|
||||
|
||||
import gg
|
||||
import gx
|
||||
|
||||
struct App {
|
||||
mut:
|
||||
gg &gg.Context = 0
|
||||
gg &gg.Context = unsafe { 0 }
|
||||
rotation f32 = f32(0)
|
||||
edge int = 3
|
||||
}
|
||||
|
||||
[console]
|
||||
fn main() {
|
||||
println('rotation: left arrow key, right arrow key')
|
||||
println('center polygon edge: up arrow key, down arrow key')
|
||||
|
||||
mut app := &App{}
|
||||
|
||||
app.gg = gg.new_context(
|
||||
@ -33,13 +39,18 @@ fn render(app &App) {
|
||||
b: 0
|
||||
a: 200
|
||||
}
|
||||
mut shape := 3
|
||||
for i := 1; i < 5; i++ {
|
||||
for j := 1; j < 5; j++ {
|
||||
app.gg.draw_polygon_filled(100 * j, 100 * i, 30, shape, app.rotation, color)
|
||||
shape++
|
||||
mut edge := 3
|
||||
for i := 0; i <= 5; i++ {
|
||||
for j := 0; j <= 5; j++ {
|
||||
if i == 0 || j == 0 || i == 5 || j == 5 {
|
||||
app.gg.draw_polygon_filled(50 + 80 * i, 50 + 80 * j, 30, edge, app.rotation,
|
||||
color)
|
||||
edge++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
app.gg.draw_polygon_filled(250, 250, 150, app.edge, app.rotation, color)
|
||||
|
||||
app.gg.end()
|
||||
}
|
||||
@ -48,13 +59,25 @@ fn event(e &gg.Event, mut app App) {
|
||||
match e.typ {
|
||||
.key_down {
|
||||
match e.key_code {
|
||||
.right { app.rotation++ }
|
||||
.left { app.rotation-- }
|
||||
.escape { app.gg.quit() }
|
||||
else {}
|
||||
.up {
|
||||
app.edge++
|
||||
}
|
||||
.down {
|
||||
if app.edge > 3 {
|
||||
app.edge--
|
||||
}
|
||||
}
|
||||
.right {
|
||||
app.rotation++
|
||||
}
|
||||
.left {
|
||||
app.rotation--
|
||||
}
|
||||
.escape {
|
||||
app.gg.quit()
|
||||
}
|
||||
else {}
|
||||
}
|
||||
print('rotation: ')
|
||||
println(app.rotation)
|
||||
}
|
||||
else {}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user