config: make the blend space configurable
This commit is contained in:
parent
991b212120
commit
39c770f6e2
20 changed files with 257 additions and 15 deletions
|
|
@ -286,6 +286,13 @@ impl Connector {
|
|||
get!().connector_set_colors(self, color_space, eotf);
|
||||
}
|
||||
|
||||
/// Sets the space in which blending is performed for this output.
|
||||
///
|
||||
/// The default is [`BlendSpace::SRGB`]
|
||||
pub fn set_blend_space(self, blend_space: BlendSpace) {
|
||||
get!().connector_set_blend_space(self, blend_space);
|
||||
}
|
||||
|
||||
/// Sets the brightness of the output.
|
||||
///
|
||||
/// By default or when `brightness` is `None`, the brightness depends on the
|
||||
|
|
@ -731,3 +738,16 @@ impl Eotf {
|
|||
/// The PQ EOTF.
|
||||
pub const PQ: Self = Self(1);
|
||||
}
|
||||
|
||||
/// A space in which color blending is performed.
|
||||
#[derive(Serialize, Deserialize, Copy, Clone, Debug, Eq, PartialEq, Hash)]
|
||||
pub struct BlendSpace(pub u32);
|
||||
|
||||
impl BlendSpace {
|
||||
/// The sRGB blend space with sRGB primaries and gamma22 transfer function. This is
|
||||
/// the classic desktop blend space.
|
||||
pub const SRGB: Self = Self(0);
|
||||
/// The linear blend space performs blending in linear space, which is more physically
|
||||
/// correct but leads to much lighter output when blending light and dark colors.
|
||||
pub const LINEAR: Self = Self(1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue