From c42f8f1d0eaa0f77ff46afd131b8f778b40552e4 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 3 Oct 2023 15:00:57 -0700 Subject: [PATCH] add YCbCr --- YCbCr.zig | 27 +++++++++++++++++++++++++++ mod.zig | 1 + 2 files changed, 28 insertions(+) create mode 100644 YCbCr.zig diff --git a/YCbCr.zig b/YCbCr.zig new file mode 100644 index 0000000000000000000000000000000000000000..e62464eac452553eefd8deda3de2dda1df7381ac --- /dev/null +++ b/YCbCr.zig @@ -0,0 +1,27 @@ +//! object representing a single color in the YCbCr colorspace with channel values from 0-255 + +const std = @import("std"); +const Self = @This(); +const color = @import("./mod.zig"); + +y: u8, +cb: u8, +cr: u8, +a: u8, + +pub fn initYCbCrA(y: u8, cb: u8, cr: u8, a: u8) Self { + return Self{ + .y = y, + .cb = cb, + .cr = cr, + .a = a, + }; +} + +pub fn initYCbCr(y: u8, cb: u8, cr: u8) Self { + return initYCbCrA(y, cb, cr, 255); +} + +pub fn eql(x: Self, y: Self) bool { + return x.y == y.y and x.cb == y.cb and x.cr == y.cr and x.a == y.a; +} diff --git a/mod.zig b/mod.zig index a5fbd2ac934f3a91da9e5ac8c6bfc7b872a62349..d3b8ef2736d7d139c3e858a09e4bce901212d401 100644 --- a/mod.zig +++ b/mod.zig @@ -6,3 +6,4 @@ pub const LinearRgb = @import("./LinearRgb.zig"); pub const CMYK = @import("./CMYK.zig"); pub const HSL = @import("./HSL.zig"); pub const HSV = @import("./HSV.zig"); +pub const YCbCr = @import("./YCbCr.zig"); -- 2.54.0