Bind q to zoom-out and quit
This commit is contained in:
parent
3e2e39100a
commit
e1d5dc136e
2 changed files with 17 additions and 5 deletions
|
|
@ -326,7 +326,7 @@ pub fn main() !void {
|
||||||
} else {
|
} else {
|
||||||
// manual controls
|
// manual controls
|
||||||
handleInput(&entities, &rng, &paused);
|
handleInput(&entities, &rng, &paused);
|
||||||
handleCamera(&zoom, &pan);
|
if (handleCamera(&zoom, &pan)) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// update
|
// update
|
||||||
|
|
@ -468,7 +468,7 @@ fn handleInput(entities: *sandbox.Entities, rng: *std.Random, paused: *bool) voi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handleCamera(zoom: *f32, pan: *@Vector(2, f32)) void {
|
fn handleCamera(zoom: *f32, pan: *@Vector(2, f32)) bool {
|
||||||
const wheel = rl.getMouseWheelMove();
|
const wheel = rl.getMouseWheelMove();
|
||||||
|
|
||||||
if (wheel != 0) {
|
if (wheel != 0) {
|
||||||
|
|
@ -510,11 +510,23 @@ fn handleCamera(zoom: *f32, pan: *@Vector(2, f32)) void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset on Return
|
// reset on Return or Enter
|
||||||
if (rl.isKeyPressed(.enter)) {
|
if (rl.isKeyPressed(.enter) or rl.isKeyPressed(.kp_enter)) {
|
||||||
zoom.* = 1.0;
|
zoom.* = 1.0;
|
||||||
pan.* = @Vector(2, f32){ 0, 0 };
|
pan.* = @Vector(2, f32){ 0, 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// q: reset zoom if zoomed in, otherwise quit
|
||||||
|
if (rl.isKeyPressed(.q)) {
|
||||||
|
if (zoom.* > 1.0) {
|
||||||
|
zoom.* = 1.0;
|
||||||
|
pan.* = @Vector(2, f32){ 0, 0 };
|
||||||
|
} else {
|
||||||
|
return true; // signal to quit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn clampPan(pan: *@Vector(2, f32), zoom: f32) void {
|
fn clampPan(pan: *@Vector(2, f32), zoom: f32) void {
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ fn drawControls(font: rl.Font, metrics_bottom: i32) void {
|
||||||
"scroll: zoom",
|
"scroll: zoom",
|
||||||
"drag: pan (zoomed)",
|
"drag: pan (zoomed)",
|
||||||
"space: pause, r: reset",
|
"space: pause, r: reset",
|
||||||
"enter: reset zoom",
|
"q: zoom out / quit",
|
||||||
"tab: toggle ui",
|
"tab: toggle ui",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue