diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 08:37:12 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | 52f9c1423bc4e58079b008e763b5485ae49911f7 (patch) | |
| tree | 92d58a7713796f3dbe87daa492ea0306ee9fd674 /src/draw.zig | |
| parent | 0a2694e935fa8a79f1a399f2d2cbc643f8c3734e (diff) | |
| download | pardes-52f9c1423bc4e58079b008e763b5485ae49911f7.tar.gz pardes-52f9c1423bc4e58079b008e763b5485ae49911f7.zip | |
G14: Afterglow, changed text glows a moment and fades
Afterglow on|off (off, a pixel shell's; Chrome.fx bit 4): the GUI keeps
the grid it last drew and when each cell changed; a body cell whose text
changed glows in the theme's accent, at most 18% and under the text's
contrast floor, fading with an ease-out over 250 ms, one flat rectangle a
run of cells that changed together; never a tag or a grip, the cursor or a
selection; a scrolled body (its first line moved) starts over rather than
lighting up whole. On the continuous path while anything glows.
Tests: three changed cells glow as a run of two (the cursor's left out),
gone by 250 ms, a scroll lights nothing. Gates as before; goldens
byte-identical. Feel review: .scratch/render/afterglow/.
Diffstat (limited to 'src/draw.zig')
| -rw-r--r-- | src/draw.zig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/draw.zig b/src/draw.zig index aef93f51..93d5b2d9 100644 --- a/src/draw.zig +++ b/src/draw.zig @@ -473,7 +473,7 @@ pub fn render(p: *Pardes, arena: std.mem.Allocator) !*Surface { .rail_px = @intCast(@min(255, @as(u32, p.theme().rail_px orelse 12) * p.settings.grip_width / 100)), .name_ink = chrome.tag_name_fg, .active_name_ink = if (p.settings.focus_tint) chrome.tag_active_name_fg else chrome.tag_name_fg, - .fx = @as(u8, @intFromBool(p.settings.selection_glow)) | @as(u8, @intFromBool(p.settings.hover_glow)) << 1 | @as(u8, @intFromBool(p.settings.occlusion)) << 2 | @as(u8, @intFromBool(p.settings.parallax)) << 3, + .fx = @as(u8, @intFromBool(p.settings.selection_glow)) | @as(u8, @intFromBool(p.settings.hover_glow)) << 1 | @as(u8, @intFromBool(p.settings.occlusion)) << 2 | @as(u8, @intFromBool(p.settings.parallax)) << 3 | @as(u8, @intFromBool(p.settings.afterglow)) << 4, }; if (p.theme().decor) |decor| { s.chrome.decor_dots = decor.page_dots; |
