summaryrefslogtreecommitdiff
path: root/src/draw.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 07:47:39 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitab668719385c94df3e274f71cb744f5917c1da7e (patch)
tree3f3002e8a7dec61e0b2e467828490405e0a14463 /src/draw.zig
parent87ad46cb7e7410c53419c20cef7df53ed4c15f60 (diff)
downloadpardes-ab668719385c94df3e274f71cb744f5917c1da7e.tar.gz
pardes-ab668719385c94df3e274f71cb744f5917c1da7e.zip
G12: Occlusion, pane bodies darkening faintly toward their edges
Occlusion on|off (off, a pixel shell's; Chrome.fx bit 2 — the glow bits field is now `fx`): four soft strips cast from just outside each pane body inward, clipped to the body and round a cursor, black pre-warped to linear light, 2% at most (§9.1) and under the lift's contrast ceiling, in the pane's own group. Tests: the shade stays inside the body, off the cursor, at most 2%. Gates as G11. Feel review: .scratch/render/occlusion/ (with an x40 diff).
Diffstat (limited to 'src/draw.zig')
-rw-r--r--src/draw.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/draw.zig b/src/draw.zig
index 5e40f0fa..027326fa 100644
--- a/src/draw.zig
+++ b/src/draw.zig
@@ -472,7 +472,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,
- .glows = @as(u8, @intFromBool(p.settings.selection_glow)) | @as(u8, @intFromBool(p.settings.hover_glow)) << 1,
+ .fx = @as(u8, @intFromBool(p.settings.selection_glow)) | @as(u8, @intFromBool(p.settings.hover_glow)) << 1 | @as(u8, @intFromBool(p.settings.occlusion)) << 2,
};
if (p.theme().decor) |decor| {
s.chrome.decor_dots = decor.page_dots;