package simulator import rl "vendor:raylib" gui_info_box :: proc(rect: rl.Rectangle, sim: ^Simulator, screen_width: f32, screen_height: f32) { if sim.info_box { screen_rect := rl.Rectangle{0, 0, screen_width, screen_height} rl.DrawRectangleRec(screen_rect, {0, 0, 0, 140}) if rl.GuiWindowBox(rect, "App Info") > 0 { sim.info_box = false } content_y := rect.y + 24 center_x := rect.x + rect.width / 2 name_text : cstring = "Octal Cookie" desc_text : cstring = "A CHIP-8 emulator and simulator written in Odin." source_text : cstring = "https://codeberg.org/jasonhilder/octal_cookie" name_size := rl.MeasureTextEx(sim.font, name_text, 18, 1) desc_size := rl.MeasureTextEx(sim.font, desc_text, 18, 1) source_size := rl.MeasureTextEx(sim.font, source_text, 18, 1) rl.DrawTextEx(sim.font, name_text, {center_x - name_size.x / 2, content_y + 20}, 18, 1, rl.WHITE) rl.DrawTextEx(sim.font, desc_text, {center_x - desc_size.x / 2, content_y + 46}, 18, 1, rl.WHITE) source_pos := rl.Vector2{center_x - source_size.x / 2, content_y + 72} rl.DrawTextEx(sim.font, source_text, source_pos, 18, 1, rl.SKYBLUE) source_rect := rl.Rectangle{ x = source_pos.x, y = source_pos.y, width = source_size.x, height = source_size.y, } mouse := rl.GetMousePosition() if rl.CheckCollisionPointRec(mouse, source_rect) { rl.SetMouseCursor(.POINTING_HAND) rl.DrawRectangleRec( {source_pos.x, source_pos.y + source_size.y - 1, source_size.x, 1}, rl.SKYBLUE,) if rl.IsMouseButtonPressed(.LEFT) { rl.OpenURL("https://codeberg.org/jasonhilder/octal_cookie") } } else { rl.SetMouseCursor(.DEFAULT) } } }