diff options
Diffstat (limited to 'src/draw.zig')
| -rw-r--r-- | src/draw.zig | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/draw.zig b/src/draw.zig index 70b629a5..98932c23 100644 --- a/src/draw.zig +++ b/src/draw.zig @@ -128,12 +128,12 @@ pub fn place(p: *Pardes, s: *Surface) void { spring.* = .{}; } // At this frame's own time, not the stepped animations' 16 ms grid. - spring.retarget(if (p.settings.lift and id == p.active) 1 else 0, p.now_ns); + spring.retarget(if (p.settings.lift != .off and id == p.active) 1 else 0, p.now_ns); _ = spring.step(p.now_ns); } for (s.regions[0..s.nregions]) |*region| switch (region.kind) { .grip, .tag, .body, .rail => region.lift = p.lifts[region.owner].value(p.now_ns), - .notice => region.lift = if (p.settings.lift) 1 else 0, + .notice => region.lift = if (p.settings.lift != .off) 1 else 0, else => {}, }; if (p.drag == .column_move) rail: { @@ -200,6 +200,8 @@ pub fn render(p: *Pardes, arena: std.mem.Allocator) !*Surface { .tag_fg = chrome.tag_fg, .scroll_track = chrome.scroll_track, .scroll_thumb = chrome.scroll_thumb, + .accent = chrome.box, + .lift_style = @intFromEnum(p.settings.lift), }; place(p, s); // Separators have their own role; a scrollbar need not frame the page. @@ -1133,7 +1135,7 @@ test "a lift is sampled at each frame's own time, and asks for frames only while p.advance(1000 * ms); _ = try p.render(arena.allocator()); try std.testing.expect(!p.continuous()); - p.settings.lift = true; + p.settings.lift = .shadow; var lifts: [3]f32 = undefined; // 144 Hz: 6.9 ms apart, none of them on a 16 ms step of its own. for (&lifts, 0..) |*lift, i| { |
