remove fb_driver_stresstest, move examples back to fb_driver, update hblang, update Cargo.lock
32 lines
887 B
Plaintext
32 lines
887 B
Plaintext
.{rect_line} := @use("../draw.hb");
|
|
.{clear, create_buffer, present, Point, FB_HEIGHT, FB_WIDTH} := @use("../lib.hb")
|
|
|
|
/* expected result:
|
|
the white outline of a square bounces around the screen */
|
|
|
|
example := fn(): void {
|
|
// creates a back buffer, which we write to, to avoid screen flickering
|
|
buffer := create_buffer()
|
|
vel := Point.{x: 1, y: 1}
|
|
pos := Point.{x: 100, y: 100}
|
|
loop {
|
|
// draw the square at our current position
|
|
rect_line(buffer, pos, .(100, 100), .(255, 255, 255, 255), 3)
|
|
/* push the back buffer to the front buffer
|
|
this displays our image to the screen */
|
|
present(buffer)
|
|
// erase our old image
|
|
clear(buffer, .(0, 0, 0, 0))
|
|
|
|
// bounce the square if it touches the screen edges
|
|
if pos.x == 0 | pos.x == FB_WIDTH - 100 {
|
|
vel.x = 0 - vel.x
|
|
}
|
|
if pos.y == 0 | pos.y == FB_HEIGHT - 100 {
|
|
vel.y = 0 - vel.y
|
|
}
|
|
|
|
pos += vel
|
|
}
|
|
return
|
|
} |