mirror of https://github.com/pcleavelin/zooy
add more styles
parent
08b03d4266
commit
b747c4e6ad
15
src/lib.zig
15
src/lib.zig
|
@ -32,9 +32,14 @@ pub const UI_Direction = enum {
|
|||
bottomToTop,
|
||||
};
|
||||
|
||||
// TODO: don't couple to raylib
|
||||
pub const UI_Style = struct {
|
||||
// TODO: don't couple to raylib
|
||||
hover_color: raylib.Color,
|
||||
color: raylib.Color = raylib.LIGHTGRAY,
|
||||
hover_color: raylib.Color = raylib.WHITE,
|
||||
border_color: raylib.Color = raylib.DARKGRAY,
|
||||
|
||||
text_color: raylib.Color = raylib.BLACK,
|
||||
text_size: i32 = 20,
|
||||
};
|
||||
|
||||
pub const Vec2 = struct {
|
||||
|
@ -422,15 +427,15 @@ pub fn DrawUI(box: *UI_Box, parent: ?*UI_Box, my_index: u32, num_siblings: u32,
|
|||
}
|
||||
|
||||
if (box.flags.drawBackground) {
|
||||
const color = if (TestBoxHover(box)) box.style.hover_color else raylib.DARKGRAY;
|
||||
const color = if (TestBoxHover(box)) box.style.hover_color else box.style.color;
|
||||
|
||||
raylib.DrawRectangle(@floatToInt(i32, box.computed_pos.x), @floatToInt(i32, box.computed_pos.y), @floatToInt(i32, box.computed_size.x), @floatToInt(i32, box.computed_size.y), color);
|
||||
}
|
||||
if (box.flags.drawBorder) {
|
||||
raylib.DrawRectangleLines(@floatToInt(i32, box.computed_pos.x), @floatToInt(i32, box.computed_pos.y), @floatToInt(i32, box.computed_size.x), @floatToInt(i32, box.computed_size.y), raylib.BLUE);
|
||||
raylib.DrawRectangleLines(@floatToInt(i32, box.computed_pos.x), @floatToInt(i32, box.computed_pos.y), @floatToInt(i32, box.computed_size.x), @floatToInt(i32, box.computed_size.y), box.style.border_color);
|
||||
}
|
||||
if (box.flags.drawText) {
|
||||
raylib.DrawText(box.label, @floatToInt(i32, box.computed_pos.x), @floatToInt(i32, box.computed_pos.y), 10, raylib.RED);
|
||||
raylib.DrawText(box.label, @floatToInt(i32, box.computed_pos.x), @floatToInt(i32, box.computed_pos.y), box.style.text_size, box.style.text_color);
|
||||
}
|
||||
|
||||
// draw children
|
||||
|
|
|
@ -39,7 +39,7 @@ pub fn main() !void {
|
|||
raylib.ClearBackground(raylib.BLACK);
|
||||
|
||||
if (show_buttons) {
|
||||
_ = try ui.PushBox("ButtonArray", .{}, dir);
|
||||
_ = try ui.PushBox("ButtonArray", .{}, .topToBottom);
|
||||
defer ui.PopBox();
|
||||
|
||||
if (try ui.MakeButton("Show Labels")) {
|
||||
|
@ -57,6 +57,8 @@ pub fn main() !void {
|
|||
if (other_button_shown) {
|
||||
_ = try ui.PushBox("TextArray", .{}, dir);
|
||||
defer ui.PopBox();
|
||||
try ui.PushStyle(.{ .text_color = raylib.YELLOW });
|
||||
defer ui.PopStyle();
|
||||
|
||||
_ = try ui.MakeLabel("This is some text");
|
||||
|
||||
|
@ -64,8 +66,9 @@ pub fn main() !void {
|
|||
try ui.PushStyle(.{ .hover_color = raylib.SKYBLUE });
|
||||
defer ui.PopStyle();
|
||||
|
||||
for (0..20) |_| {
|
||||
for (0..10) |_| {
|
||||
_ = try ui.MakeButton("So is this");
|
||||
_ = try ui.MakeBox("spacer", .{}, dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue