46 lines
1.1 KiB
Zig
46 lines
1.1 KiB
Zig
const std = @import("std");
|
|
|
|
const minifb = @import("minifb");
|
|
|
|
const Width = 800;
|
|
const Height = 600;
|
|
|
|
fn grey(value: u8) u32 {
|
|
return minifb.rgb(value, value, value);
|
|
}
|
|
|
|
pub fn main() anyerror!void {
|
|
std.log.info("All your codebase are belong to us.", .{});
|
|
var win = minifb.Window.open("Hello minifb-zig", Width, Height) catch unreachable;
|
|
|
|
var color: u32 = grey(0);
|
|
const deltaColor = grey(1);
|
|
var increasing = true;
|
|
var rawBuffer: [Width*Height]u32 = undefined;
|
|
const buffer = rawBuffer[0..rawBuffer.len];
|
|
std.mem.set(u32, buffer, color);
|
|
|
|
while (win.waitSync()) {
|
|
if (increasing) {
|
|
if (color < grey(255)) {
|
|
color += deltaColor;
|
|
} else {
|
|
increasing = false;
|
|
}
|
|
} else {
|
|
if (color > grey(0)) {
|
|
color -= deltaColor;
|
|
} else {
|
|
increasing = true;
|
|
}
|
|
}
|
|
std.mem.set(u32, buffer, color);
|
|
var i: u32 = 0;
|
|
while (i < Width) {
|
|
buffer[i] = minifb.rgb(255,0,0);
|
|
i += 1;
|
|
}
|
|
_ = win.update(buffer) catch unreachable;
|
|
}
|
|
}
|