summaryrefslogtreecommitdiff
path: root/src/detached/wire.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/detached/wire.zig')
-rw-r--r--src/detached/wire.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/detached/wire.zig b/src/detached/wire.zig
index 3a914e42..6903a1e8 100644
--- a/src/detached/wire.zig
+++ b/src/detached/wire.zig
@@ -270,6 +270,7 @@ pub const Frame = struct {
region.notice = try r.getByte();
region.clip = try r.getU16();
region.lift = @bitCast(try r.getU32());
+ region.line = @bitCast(try r.getU32());
// A springy flavour overshoots, and a wind-up dips below.
if (!(region.lift >= -1 and region.lift <= 2)) return error.BadValue;
if (region.rect.x > f.cols or region.rect.w > f.cols - region.rect.x or
@@ -754,7 +755,7 @@ pub fn layersBound(layers: []const pardes.Layer, tags: []const pardes.Layer, reg
return n + regions.len * region_len + chrome_len;
}
-const region_len = 1 + 1 + 4 + 8 + 1 + 2 + 2 + 1 + 2 + 4;
+const region_len = 1 + 1 + 4 + 8 + 1 + 2 + 2 + 1 + 2 + 4 + 4;
/// The palette: each colour three bytes, a theme's optional ones a flag
/// before them.
const chrome_len = @typeInfo(pardes.Chrome).@"struct".fields.len * 4 + 8 * 4;
@@ -839,6 +840,7 @@ pub fn encodeFrameLayers(out: []u8, cols: u16, rows: u16, cursor: ?Cursor, point
try w.putByte(region.notice);
try w.putU16(region.clip);
try w.putU32(@bitCast(region.lift));
+ try w.putU32(@bitCast(region.line));
}
inline for (@typeInfo(pardes.Chrome).@"struct".fields) |field| {
const rgb = @field(chrome, field.name);