Added rgb function

This commit is contained in:
Brandon Dyck 2021-11-24 10:41:04 -07:00
parent 6120807f92
commit 149cf2a9b4
2 changed files with 14 additions and 6 deletions

View File

@ -5,6 +5,10 @@ const minifb_c = @cImport({
}); });
const testing = std.testing; const testing = std.testing;
pub fn rgb(r: u8, g: u8, b: u8) u32 {
return @intCast(u32, r) << 16 | @intCast(u32, g) << 8 | b;
}
pub const Window = struct{ pub const Window = struct{
cwin: *minifb_c.mfb_window, cwin: *minifb_c.mfb_window,
@ -41,5 +45,5 @@ pub const Window = struct{
} }
} }
}; };

View File

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