Removed unneeded components, renamed reused.

Updated the components to start with a gui_ prefix, changed the layout
idea that each component is responsible for their own bounding box and
inner content.
This commit is contained in:
2026-06-17 07:46:24 +02:00
parent baca22a004
commit cccc4fb06c
5 changed files with 32 additions and 184 deletions
+38
View File
@@ -0,0 +1,38 @@
package simulator
import "core:log"
import rl "vendor:raylib"
gui_control_bar :: proc(rect: rl.Rectangle, sim: ^Simulator) {
rl.DrawRectangleLinesEx(rect, 1, rl.DARKGRAY)
rl.DrawTextEx(sim.font, "Octal Cookie Chip 8 Sim ", {rect.x + PADDING_X, rect.y + 12}, 25, 1, rl.WHITE)
text_size := rl.MeasureTextEx(sim.font, "Octal Cookie Chip 8 Sim ", 25, 1)
// Cursor moves for every btn call places them left to right with padding
cursor : f32 = text_size.x + 5 + rect.x + PADDING_X
if btn(&cursor, rect, BUTTON_HEIGHT, BUTTON_WIDTH, PADDING_X, "RUN") {
if sim.rom_loaded {
sim.paused = false
sim.running = true
} else {
log.info("no rom selected, can't run")
}
}
if btn(&cursor, rect, BUTTON_HEIGHT, BUTTON_WIDTH, PADDING_X, "PAUSE") {
sim.paused = true
sim.running = false
}
if btn(&cursor, rect, BUTTON_HEIGHT, BUTTON_WIDTH, PADDING_X, "RESET") {
}
}
btn :: proc(cursor: ^f32, rect: rl.Rectangle, h, w, gap: f32, label: cstring) -> bool {
r := rl.Rectangle{cursor^, rect.y + PADDING_X, w, h}
cursor^ += w + gap
return rl.GuiButton(r, label)
}