### Get Adobe RGB colorants Source: https://docs.rs/moxcms/latest/moxcms/fn.adobe_rgb_colorants.html Returns the Matrix3d representation of Adobe RGB colorants. ```rust pub fn adobe_rgb_colorants() -> Matrix3d ``` -------------------------------- ### Luv::new Source: https://docs.rs/moxcms/latest/moxcms/struct.Luv.html Creates a new Luv color instance. ```APIDOC ## pub const fn new(l: f32, u: f32, v: f32) -> Luv ### Description Creates a new Luv color instance with the specified L*, u*, and v* values. ``` -------------------------------- ### ColorProfile Constructors Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Methods to instantiate various standard color profiles. ```APIDOC ## Constructors - `new_from_cicp(cicp_color_primaries: CicpProfile) -> ColorProfile`: Creates a new profile from CICP. - `new_srgb() -> ColorProfile`: Creates a new sRGB profile. - `new_adobe_rgb() -> ColorProfile`: Creates an Adobe RGB (1998) profile with a pure-gamma 2.19921875 TRC. - `new_display_p3() -> ColorProfile`: Creates a new Display P3 profile. - `new_display_p3_pq() -> ColorProfile`: Creates a new Display P3 PQ profile. - `new_dci_p3() -> ColorProfile`: Creates a new DCI P3 profile. - `new_pro_photo_rgb() -> ColorProfile`: Creates a ProPhoto RGB (ROMM RGB) profile with a pure-gamma 1.8 TRC. - `new_bt2020() -> ColorProfile`: Creates a new Bt.2020 profile. - `new_bt2020_pq() -> ColorProfile`: Creates a new Bt.2020 PQ profile. - `new_bt2020_hlg() -> ColorProfile`: Creates a new Bt.2020 HLG profile. - `new_gray_with_gamma(gamma: f32) -> ColorProfile`: Creates a new Monochrome profile. - `new_aces_aces_2065_1_linear() -> ColorProfile`: Creates a new ACES 2065-1/AP0 profile. - `new_aces_cg_linear() -> ColorProfile`: Creates a new ACEScg profile. - `new_lab() -> ColorProfile`: Creates a new Generic CIE LAB profile. ``` -------------------------------- ### LocalizableString::new Source: https://docs.rs/moxcms/latest/moxcms/struct.LocalizableString.html Creates a new instance of a LocalizableString. ```APIDOC ## pub fn new(language: String, country: String, value: String) -> Self ### Description Creates a new localizable string instance. ### Arguments - **language** (String) - An ISO 639-1 value is expected; any text with more than two symbols will be truncated. - **country** (String) - An ISO 3166-1 value is expected; any text with more than two symbols will be truncated. - **value** (String) - The string value to be localized. ``` -------------------------------- ### build_8bit_gamma_table Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Builds a gamma table for 8-bit depth. ```APIDOC ## pub fn build_8bit_gamma_table(&self, trc: &Option, use_cicp: bool) -> Result, CmsError> ### Description Builds a gamma table for 8-bit depth. Only the first 4092 bins are used, with values scaled in the 0..255 range. ``` -------------------------------- ### now Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorDateTime.html Creates a new ColorDateTime instance representing the current UTC system time. ```APIDOC ## pub fn now() -> Self ### Description Generates a new ColorDateTime instance initialized with the current system time in UTC. ### Returns - **Self** - A new ColorDateTime instance. ``` -------------------------------- ### create_in_place_transform_f32 Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Creates an in-place transform between source and destination profiles for f32 data. Requires the 'in_place' feature. ```APIDOC ## pub fn create_in_place_transform_f32(&self, layout: Layout, dst_pr: &ColorProfile, options: TransformOptions) -> Result + Send + Sync>, CmsError> ### Description Creates an in-place transform between source and destination profiles. Data must be normalized into the [0, 1] range. This implementation considers f32 as 14-bit values and operates in extended mode, meaning output data may be negative or exceed 1.0. Only supports same-channel counts (RGBX -> RGBX or GrayX -> GrayX). ### Parameters - **layout** (Layout) - The memory layout of the source data. - **dst_pr** (&ColorProfile) - The destination color profile. - **options** (TransformOptions) - Configuration options for the transformation. ``` -------------------------------- ### Function signature for adapt_to_d50 Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_d50.html Displays the function signature including parameter types and return type. ```rust pub fn adapt_to_d50(r: Matrix3f, source_white_pt: XyY) -> Matrix3f ``` -------------------------------- ### pub fn adapt_to_d50_d(r: Matrix3d, source_white_pt: XyY) -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_d50_d.html Adapts a given 3x3 matrix to the D50 white point based on the provided source white point. ```APIDOC ## Function: adapt_to_d50_d ### Description Adapts a color transformation matrix to the D50 white point. ### Signature `pub fn adapt_to_d50_d(r: Matrix3d, source_white_pt: XyY) -> Matrix3d` ### Parameters - **r** (Matrix3d) - The input 3x3 matrix to be adapted. - **source_white_pt** (XyY) - The source white point coordinates used for the adaptation. ### Returns - **Matrix3d** - The resulting matrix adapted to the D50 white point. ``` -------------------------------- ### pub fn adapt_to_illuminant(r: Matrix3f, source_white_pt: XyY, illuminant_xyz: Xyz) -> Matrix3f Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant.html Adapts a color transformation matrix to a target illuminant. ```APIDOC ## adapt_to_illuminant ### Description Adapts a 3x3 transformation matrix to a new illuminant based on the source white point and the target illuminant coordinates. ### Signature `pub fn adapt_to_illuminant(r: Matrix3f, source_white_pt: XyY, illuminant_xyz: Xyz) -> Matrix3f` ### Parameters - **r** (Matrix3f) - The input transformation matrix. - **source_white_pt** (XyY) - The white point of the source color space. - **illuminant_xyz** (Xyz) - The target illuminant in XYZ color space. ### Returns - **Matrix3f** - The adapted transformation matrix. ``` -------------------------------- ### pub fn adapt_to_d50(r: Matrix3f, source_white_pt: XyY) -> Matrix3f Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_d50.html Adapts a given Matrix3f to the D50 white point based on the provided source white point. ```APIDOC ## adapt_to_d50 ### Description Adapts a 3x3 matrix (Matrix3f) to the D50 white point using the specified source white point (XyY). ### Signature `pub fn adapt_to_d50(r: Matrix3f, source_white_pt: XyY) -> Matrix3f` ### Parameters - **r** (Matrix3f) - The input matrix to be adapted. - **source_white_pt** (XyY) - The source white point used for the adaptation calculation. ### Returns - **Matrix3f** - The resulting matrix adapted to D50. ``` -------------------------------- ### Function signature for adapt_to_illuminant_d Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_d.html Displays the required input types and return type for the chromatic adaptation function. ```rust pub fn adapt_to_illuminant_d( r: Matrix3d, source_white_pt: XyY, illuminant_xyz: Xyz, ) -> Matrix3d ``` -------------------------------- ### Function signature for adaption_matrix_d Source: https://docs.rs/moxcms/latest/moxcms/fn.adaption_matrix_d.html Defines the input parameters and return type for the color adaptation matrix calculation. ```rust pub fn adaption_matrix_d( source_illumination: Xyz, target_illumination: Xyz, ) -> Matrix3d ``` -------------------------------- ### Function signature for adapt_to_d50_d Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_d50_d.html The function signature defines the input parameters as a Matrix3d and an XyY white point, returning a transformed Matrix3d. ```rust pub fn adapt_to_d50_d(r: Matrix3d, source_white_pt: XyY) -> Matrix3d ``` -------------------------------- ### adapt_to_illuminant_xyz_d Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_xyz_d.html Adapts a 3x3 matrix to a target illuminant XYZ white point. ```APIDOC ## Function: adapt_to_illuminant_xyz_d ### Description Adapts a given 3x3 matrix to a new illuminant XYZ white point. ### Signature `pub fn adapt_to_illuminant_xyz_d(r: Matrix3d, source_white_pt: Xyz, illuminant_xyz: Xyz) -> Matrix3d` ### Parameters - **r** (Matrix3d) - The input 3x3 matrix to be adapted. - **source_white_pt** (Xyz) - The source white point coordinates. - **illuminant_xyz** (Xyz) - The target illuminant XYZ white point coordinates. ### Returns - **Matrix3d** - The adapted 3x3 matrix. ``` -------------------------------- ### adapt_to_illuminant_xyz_d function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_xyz_d.html The function signature for adapting a 3x3 matrix to a target illuminant. ```rust pub fn adapt_to_illuminant_xyz_d( r: Matrix3d, source_white_pt: Xyz, illuminant_xyz: Xyz, ) -> Matrix3d ``` -------------------------------- ### pub fn adaption_matrix(source_illumination: Xyz, target_illumination: Xyz) -> Matrix3f Source: https://docs.rs/moxcms/latest/moxcms/fn.adaption_matrix.html Calculates the color adaptation matrix between two illumination points. ```APIDOC ## Function: adaption_matrix ### Description Calculates a 3x3 transformation matrix (Matrix3f) used for color adaptation between a source illumination and a target illumination. ### Signature `pub fn adaption_matrix(source_illumination: Xyz, target_illumination: Xyz) -> Matrix3f` ### Parameters - **source_illumination** (Xyz) - The source illumination color space coordinates. - **target_illumination** (Xyz) - The target illumination color space coordinates. ### Returns - **Matrix3f** - The resulting 3x3 transformation matrix. ``` -------------------------------- ### pro_photo_rgb_colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.pro_photo_rgb_colorants.html The function signature for retrieving ProPhoto RGB colorants. ```rust pub fn pro_photo_rgb_colorants() -> Matrix3d ``` -------------------------------- ### pub fn adaption_matrix_d(source_illumination: Xyz, target_illumination: Xyz) -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.adaption_matrix_d.html Calculates a 3D transformation matrix for color adaptation between two illumination states. ```APIDOC ## Function: adaption_matrix_d ### Description Computes a Matrix3d representing the adaptation between a source illumination and a target illumination. ### Signature `pub fn adaption_matrix_d(source_illumination: Xyz, target_illumination: Xyz) -> Matrix3d` ### Parameters - **source_illumination** (Xyz) - The initial illumination state. - **target_illumination** (Xyz) - The desired target illumination state. ### Returns - **Matrix3d** - The resulting transformation matrix. ``` -------------------------------- ### adapt_to_illuminant_xyz Function Signature Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_xyz.html The function signature for adapting a 3x3 matrix to a specific illuminant. ```rust pub fn adapt_to_illuminant_xyz( r: Matrix3f, source_white_pt: Xyz, illuminant_xyz: Xyz, ) -> Matrix3f ``` -------------------------------- ### Yrg::new Source: https://docs.rs/moxcms/latest/moxcms/struct.Yrg.html Creates a new Yrg instance with the specified Y, R, and G values. ```APIDOC ## pub const fn new(y: f32, r: f32, g: f32) -> Yrg ### Description Creates a new Yrg structure with the provided Y, R, and G components. ### Parameters - **y** (f32) - Required - The Y component value. - **r** (f32) - Required - The R component value. - **g** (f32) - Required - The G component value. ### Returns - **Yrg** - A new instance of the Yrg structure. ``` -------------------------------- ### Luv::from_xyz Source: https://docs.rs/moxcms/latest/moxcms/struct.Luv.html Converts a color from CIE XYZ to CIE Luv. ```APIDOC ## pub fn from_xyz(xyz: Xyz) -> Self ### Description Converts a color from the CIE XYZ color space to CIE Luv using the D50 white point. ``` -------------------------------- ### Profile Management Methods Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Methods for retrieving profile information and parsing profiles from data. ```APIDOC ## Methods - `version(&self) -> ProfileVersion`: Returns the profile version. - `new_from_slice(slice: &[u8]) -> Result`: Creates a profile from a byte slice. - `new_from_slice_with_options(slice: &[u8], options: ParsingOptions) -> Result`: Creates a profile from a byte slice with specific parsing options. ``` -------------------------------- ### adapt_to_illuminant_d Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_d.html Adapts a 3x3 matrix to a target illuminant given a source white point and target XYZ illuminant. ```APIDOC ## Function: adapt_to_illuminant_d ### Description Adapts a given 3x3 matrix to a target illuminant. ### Signature `pub fn adapt_to_illuminant_d(r: Matrix3d, source_white_pt: XyY, illuminant_xyz: Xyz) -> Matrix3d` ### Parameters - **r** (Matrix3d) - The input 3x3 matrix to be adapted. - **source_white_pt** (XyY) - The source white point coordinates. - **illuminant_xyz** (Xyz) - The target illuminant in XYZ color space. ### Returns - **Matrix3d** - The adapted 3x3 matrix. ``` -------------------------------- ### pub fn display_p3_colorants() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.display_p3_colorants.html Retrieves the colorant matrix for the Display P3 color space. ```APIDOC ## display_p3_colorants ### Description Returns a `Matrix3d` representing the colorants for the Display P3 color space. ### Signature `pub fn display_p3_colorants() -> Matrix3d` ``` -------------------------------- ### pub fn bt2020_matrix() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.bt2020_matrix.html Returns a 3D matrix representing the BT.2020 transformation. ```APIDOC ## Function: bt2020_matrix ### Description Returns a `Matrix3d` representing the BT.2020 matrix transformation. ### Signature `pub fn bt2020_matrix() -> Matrix3d` ### Returns - **Matrix3d**: The 3D matrix object used for BT.2020 color space operations. ``` -------------------------------- ### ParametricCurve::new Source: https://docs.rs/moxcms/latest/moxcms/struct.ParametricCurve.html Creates a new ParametricCurve instance from a slice of parameters. ```APIDOC ### pub fn new(params: &[f32]) -> Option Creates a new `ParametricCurve` from a slice of 7 floating-point values. Returns `Some(ParametricCurve)` if the input is valid, otherwise `None`. ``` -------------------------------- ### pub fn display_p3_matrix() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.display_p3_matrix.html Retrieves the 3D matrix for the Display P3 color space. ```APIDOC ## Function: display_p3_matrix ### Description Returns a `Matrix3d` representing the Display P3 color space transformation matrix. ### Signature `pub fn display_p3_matrix() -> Matrix3d` ### Returns - **Matrix3d** - The 3D matrix object for Display P3. ``` -------------------------------- ### create_transform_f64 Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Creates a transform between source and destination profiles for f64 data. ```APIDOC ## pub fn create_transform_f64(&self, src_layout: Layout, dst_pr: &ColorProfile, dst_layout: Layout, options: TransformOptions) -> Result, CmsError> ### Description Creates a transform between source and destination profiles. Data must be normalized into the [0, 1] range. This implementation considers f64 as 16-bit values and operates in extended mode. ``` -------------------------------- ### new_from_slice Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorDateTime.html Parses a byte slice to create a new ColorDateTime instance. ```APIDOC ## pub fn new_from_slice(slice: &[u8]) -> Result ### Description Parses a provided byte slice to extract date and time information into a ColorDateTime struct. ### Parameters - **slice** (&[u8]) - Required - The byte slice containing date and time data. ### Returns - **Result** - Returns a ColorDateTime instance on success, or a CmsError if parsing fails. ``` -------------------------------- ### adapt_to_illuminant function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant.html The function signature for adapting a Matrix3f to a specific illuminant. ```rust pub fn adapt_to_illuminant( r: Matrix3f, source_white_pt: XyY, illuminant_xyz: Xyz, ) -> Matrix3f ``` -------------------------------- ### XyY::new Source: https://docs.rs/moxcms/latest/moxcms/struct.XyY.html Creates a new instance of the XyY struct with the specified x, y, and yb coordinates. ```APIDOC ## pub const fn new(x: f64, y: f64, yb: f64) -> Self ### Description Creates a new XyY instance representing CIE XyY color coordinates. ### Parameters - **x** (f64) - The x chromaticity coordinate. - **y** (f64) - The y chromaticity coordinate. - **yb** (f64) - The luminance coordinate. ### Returns - **Self** - A new XyY instance. ``` -------------------------------- ### Luv::to_xyz Source: https://docs.rs/moxcms/latest/moxcms/struct.Luv.html Converts a color from CIE Luv to CIE XYZ. ```APIDOC ## pub fn to_xyz(&self) -> Xyz ### Description Converts the current Luv color to the CIE XYZ color space using D50 colorimetry. ``` -------------------------------- ### Display P3 colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.display_p3_colorants.html Returns the Matrix3d structure for Display P3 color space. ```rust pub fn display_p3_colorants() -> Matrix3d ``` -------------------------------- ### aces_2065_1_colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.aces_2065_1_colorants.html Returns the Matrix3d colorant definition for ACES 2065-1. ```rust pub fn aces_2065_1_colorants() -> Matrix3d ``` -------------------------------- ### pro_photo_rgb_colorants() Source: https://docs.rs/moxcms/latest/moxcms/fn.pro_photo_rgb_colorants.html Retrieves the 3x3 matrix representing the colorants for the ProPhoto RGB color space. ```APIDOC ## Function: pro_photo_rgb_colorants ### Description Returns a `Matrix3d` containing the colorant values for the ProPhoto RGB color space. ### Signature `pub fn pro_photo_rgb_colorants() -> Matrix3d` ### Returns - **Matrix3d**: A 3x3 matrix representing the ProPhoto RGB colorants. ``` -------------------------------- ### Define Oklab struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Oklab.html The Oklab struct definition with normalized fields for L, a, and b color components. ```rust #[repr(C)] pub struct Oklab { pub l: f32, pub a: f32, pub b: f32, } ``` -------------------------------- ### pub fn adobe_rgb_colorants() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.adobe_rgb_colorants.html Retrieves the 3x3 matrix of colorants for the Adobe RGB color space. ```APIDOC ## adobe_rgb_colorants ### Description Returns a `Matrix3d` representing the colorants for the Adobe RGB color space. ### Signature `pub fn adobe_rgb_colorants() -> Matrix3d` ### Returns - **Matrix3d** - The 3x3 matrix containing the Adobe RGB colorant values. ``` -------------------------------- ### adapt_to_illuminant_xyz Source: https://docs.rs/moxcms/latest/moxcms/fn.adapt_to_illuminant_xyz.html Adapts a color matrix to a target illuminant XYZ value. ```APIDOC ## adapt_to_illuminant_xyz ### Description Adapts a given 3x3 matrix (r) from a source white point (source_white_pt) to a target illuminant (illuminant_xyz). ### Signature `pub fn adapt_to_illuminant_xyz(r: Matrix3f, source_white_pt: Xyz, illuminant_xyz: Xyz) -> Matrix3f` ### Parameters - **r** (Matrix3f) - The input 3x3 matrix to be adapted. - **source_white_pt** (Xyz) - The source white point coordinates. - **illuminant_xyz** (Xyz) - The target illuminant XYZ coordinates. ### Returns - **Matrix3f** - The adapted 3x3 matrix. ``` -------------------------------- ### LutStore::to_clut_f32 Source: https://docs.rs/moxcms/latest/moxcms/enum.LutStore.html Converts the stored LUT data into a vector of 32-bit floating-point numbers. ```APIDOC ## pub fn to_clut_f32(&self) -> Vec ### Description Converts the internal LUT data (either 8-bit or 16-bit) into a normalized or converted vector of f32 values. ### Signature `pub fn to_clut_f32(&self) -> Vec` ### Returns - **Vec** - A vector containing the converted floating-point representation of the LUT. ``` -------------------------------- ### ColorPrimaries Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorPrimaries.html The core structure definition using C-compatible representation. ```rust #[repr(C)] pub struct ColorPrimaries { pub red: Chromaticity, pub green: Chromaticity, pub blue: Chromaticity, } ``` -------------------------------- ### Define ColorDateTime struct Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorDateTime.html The structure definition using repr(C) for memory layout compatibility. ```rust #[repr(C)] pub struct ColorDateTime { pub year: u16, pub month: u16, pub day_of_the_month: u16, pub hours: u16, pub minutes: u16, pub seconds: u16, } ``` -------------------------------- ### Retrieve BT.2020 Matrix Source: https://docs.rs/moxcms/latest/moxcms/fn.bt2020_matrix.html Returns a Matrix3d representing the BT.2020 conversion matrix. ```rust pub fn bt2020_matrix() -> Matrix3d ``` -------------------------------- ### encode Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html Encodes the color profile into a byte vector. ```APIDOC ## pub fn encode(&self) -> Result, CmsError> ### Description Encodes the current ColorProfile instance into a byte vector. Returns a Result containing the encoded data or a CmsError if the operation fails. ``` -------------------------------- ### white_point_d60() Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_d60.html Returns the D60 white point represented as an XyY structure. ```APIDOC ## fn white_point_d60 ### Description Returns the D60 white point as an XyY color coordinate. ### Signature `pub fn white_point_d60() -> XyY` ``` -------------------------------- ### white_point_d65() Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_d65.html Returns the D65 white point as an XyY structure. ```APIDOC ## fn white_point_d65 ### Description Returns the standard D65 white point coordinates represented as an XyY structure. ### Signature `pub fn white_point_d65() -> XyY` ``` -------------------------------- ### curve_from_gamma function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.curve_from_gamma.html Displays the function signature for creating a Tone Reproduction curve from a gamma value. ```rust pub fn curve_from_gamma(gamma: f32) -> ToneReprCurve ``` -------------------------------- ### dci_p3_colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.dci_p3_colorants.html Returns a Matrix3d object defining the DCI-P3 colorants. ```rust pub fn dci_p3_colorants() -> Matrix3d ``` -------------------------------- ### XyY::to_xyzd Source: https://docs.rs/moxcms/latest/moxcms/struct.XyY.html Converts the XyY color representation to the Xyzd color space. ```APIDOC ## pub const fn to_xyzd(self) -> Xyzd ### Description Converts the current XyY color instance into an Xyzd color representation. ### Returns - **Xyzd** - The converted Xyzd color value. ``` -------------------------------- ### XyY::to_xyz Source: https://docs.rs/moxcms/latest/moxcms/struct.XyY.html Converts the XyY color representation to the XYZ color space. ```APIDOC ## pub const fn to_xyz(self) -> Xyz ### Description Converts the current XyY color instance into an Xyz color representation. ### Returns - **Xyz** - The converted XYZ color value. ``` -------------------------------- ### bt2020_colorants() Source: https://docs.rs/moxcms/latest/moxcms/fn.bt2020_colorants.html Returns a Matrix3d representing the BT.2020 colorants. ```APIDOC ## bt2020_colorants ### Description Returns a Matrix3d representing the BT.2020 colorants. ### Signature `pub fn bt2020_colorants() -> Matrix3d` ``` -------------------------------- ### Hypercube Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Hypercube.html The primary structure definition for the 4D CLUT helper. ```rust pub struct Hypercube<'a> { /* private fields */ } ``` -------------------------------- ### pub fn curve_from_gamma(gamma: f32) -> ToneReprCurve Source: https://docs.rs/moxcms/latest/moxcms/fn.curve_from_gamma.html Creates a Tone Reproduction curve from a specified gamma value. ```APIDOC ## curve_from_gamma ### Description Creates a Tone Reproduction curve from a given gamma value. ### Signature `pub fn curve_from_gamma(gamma: f32) -> ToneReprCurve` ### Parameters - **gamma** (f32) - Required - The gamma value used to generate the tone reproduction curve. ### Returns - **ToneReprCurve** - The resulting tone reproduction curve object. ``` -------------------------------- ### ParsingOptions Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.ParsingOptions.html The structure definition containing size constraints for various parsing components. ```rust pub struct ParsingOptions { pub max_profile_size: usize, pub max_allowed_clut_size: usize, pub max_allowed_trc_size: usize, } ``` -------------------------------- ### Retrieve D60 white point Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_d60.html Returns the standard D60 white point as an XyY color space representation. ```rust pub fn white_point_d60() -> XyY ``` -------------------------------- ### adaption_matrix function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.adaption_matrix.html Defines the function signature for calculating an adaptation matrix between two XYZ illumination values. ```rust pub fn adaption_matrix( source_illumination: Xyz, target_illumination: Xyz, ) -> Matrix3f ``` -------------------------------- ### Define DescriptionString struct Source: https://docs.rs/moxcms/latest/moxcms/struct.DescriptionString.html The structure definition for DescriptionString, containing fields for various string encodings and metadata. ```rust pub struct DescriptionString { pub ascii_string: String, pub unicode_language_code: u32, pub unicode_string: String, pub script_code_code: i8, pub mac_string: String, } ``` -------------------------------- ### Chromaticity Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Chromaticity.html The base structure definition for Chromaticity, using a C-compatible representation. ```rust #[repr(C)] pub struct Chromaticity { pub x: f32, pub y: f32, } ``` -------------------------------- ### Define LocalizableString Struct Source: https://docs.rs/moxcms/latest/moxcms/struct.LocalizableString.html The structure definition for LocalizableString, containing language, country, and value fields. ```rust pub struct LocalizableString { pub language: String, pub country: String, pub value: String, } ``` -------------------------------- ### aces_cg_colorants() Source: https://docs.rs/moxcms/latest/moxcms/fn.aces_cg_colorants.html Returns the ACEScg colorant matrix. ```APIDOC ## aces_cg_colorants ### Description Returns a Matrix3d representing the ACEScg colorants. ### Signature `pub fn aces_cg_colorants() -> Matrix3d` ``` -------------------------------- ### ACEScg colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.aces_cg_colorants.html Returns the Matrix3d structure for ACEScg colorants. ```rust pub fn aces_cg_colorants() -> Matrix3d ``` -------------------------------- ### ViewingConditions Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.ViewingConditions.html The primary structure definition for ViewingConditions, containing fields for illuminant, surround, and observer. ```rust pub struct ViewingConditions { pub illuminant: Xyz, pub surround: Xyz, pub observer: StandardObserver, } ``` -------------------------------- ### Matrix3f Operations Source: https://docs.rs/moxcms/latest/moxcms/struct.Matrix3f.html Methods available for performing mathematical operations on 3x3 matrices. ```APIDOC ## Matrix3f Methods ### transpose() Returns the transpose of the matrix. ### test_equality(other: Matrix3f) -> bool Checks if the matrix is equal to another Matrix3f. ### determinant() -> Option Calculates the determinant of the matrix. ### inverse() -> Self Returns the inverse of the matrix. ### mul_row(rhs: f32) -> Self Multiplies a specific row by a scalar. ### mul_row_vector(rhs: Vector3f) -> Self Multiplies a row by a vector. ### mul_vector(other: Vector3f) -> Vector3f Multiplies the matrix by a vector. ### f_mul_vector(other: Vector3f) -> Vector3f Multiplies the matrix by a vector using FMA (Fused Multiply-Add). ### mat_mul(other: Matrix3f) -> Self Multiplies this matrix by another matrix. ### mat_mul_const(other: Matrix3f) -> Self Multiplies this matrix by another matrix (const context). ### to_f64() -> Matrix3d Converts the matrix to a 64-bit float matrix. ``` -------------------------------- ### pub fn white_point_dci_p3() -> XyY Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_dci_p3.html Retrieves the DCI-P3 white point coordinates. ```APIDOC ## Function: white_point_dci_p3 ### Description Returns the DCI-P3 white point represented as an `XyY` structure. ### Signature `pub fn white_point_dci_p3() -> XyY` ### Returns - **XyY**: The color coordinate structure representing the DCI-P3 white point. ``` -------------------------------- ### Define Lab struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Lab.html The Lab struct definition with f32 fields for color components. ```rust #[repr(C)] pub struct Lab { pub l: f32, pub a: f32, pub b: f32, } ``` -------------------------------- ### aces_2065_1_colorants Source: https://docs.rs/moxcms/latest/moxcms/fn.aces_2065_1_colorants.html Retrieves the ACES 2065-1 colorants as a 3x3 matrix. ```APIDOC ## Function: aces_2065_1_colorants ### Description Returns a Matrix3d representing the ACES 2065-1 colorants. ### Signature `pub fn aces_2065_1_colorants() -> Matrix3d` ### Returns - **Matrix3d** - A 3x3 matrix containing the colorant values. ``` -------------------------------- ### pub fn srgb_matrix() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.srgb_matrix.html Returns a 3x3 matrix used for sRGB color space operations. ```APIDOC ## srgb_matrix ### Description Returns a Matrix3d representing the sRGB transformation matrix. ### Signature `pub fn srgb_matrix() -> Matrix3d` ``` -------------------------------- ### Define Xyz struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Xyz.html The base structure for CIE XYZ representation using f32 coordinates. ```rust #[repr(C)] pub struct Xyz { pub x: f32, pub y: f32, pub z: f32, } ``` -------------------------------- ### Structure of Vector3i Source: https://docs.rs/moxcms/latest/moxcms/type.Vector3i.html The underlying structure definition for Vector3i, marked with repr(transparent). ```rust #[repr(transparent)] pub struct Vector3i { pub v: [i32; 3], } ``` -------------------------------- ### Oklch Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Oklch.html The core structure definition for Oklch, using a C-compatible representation. ```rust #[repr(C)] pub struct Oklch { pub l: f32, pub c: f32, pub h: f32, } ``` -------------------------------- ### Define Srlab2 Struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Srlab2.html The structure definition for Srlab2, containing three f32 fields for color components. ```rust pub struct Srlab2 { pub l: f32, pub a: f32, pub b: f32, } ``` -------------------------------- ### make_cicp_linear_evaluator Source: https://docs.rs/moxcms/latest/moxcms/enum.ToneReprCurve.html Creates a linear tone curve evaluator based on provided transfer characteristics. ```APIDOC ## pub fn make_cicp_linear_evaluator(transfer_characteristics: TransferCharacteristics) -> Result, CmsError> ### Description Creates a tone curve evaluator from specific transfer characteristics. ### Parameters - **transfer_characteristics** (TransferCharacteristics) - The characteristics to define the evaluator. ### Returns - **Result, CmsError>** - The evaluator instance or an error. ``` -------------------------------- ### dci_p3_colorants() Source: https://docs.rs/moxcms/latest/moxcms/fn.dci_p3_colorants.html Returns a Matrix3d object representing the DCI-P3 color space colorants. ```APIDOC ## pub fn dci_p3_colorants() ### Description Returns a Matrix3d representing the DCI-P3 colorants used in color space transformations. ### Signature `pub fn dci_p3_colorants() -> Matrix3d` ### Returns - **Matrix3d** - A matrix containing the DCI-P3 colorant values. ``` -------------------------------- ### Yrg::from_xyz Source: https://docs.rs/moxcms/latest/moxcms/struct.Yrg.html Converts an Xyz color value to the Yrg colorspace. ```APIDOC ## pub fn from_xyz(xyz: Xyz) -> Self ### Description Converts an Xyz (D65) color value to the Yrg colorspace. Note that Yrg is defined in the D65 white point, so ensure input Xyz values are adapted accordingly. ### Parameters - **xyz** (Xyz) - Required - The Xyz color value to convert. ### Returns - **Self** - The resulting Yrg structure. ``` -------------------------------- ### ICtCp Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.ICtCp.html The structure definition for ICtCp, containing three f32 fields for color components. ```rust pub struct ICtCp { pub i: f32, pub ct: f32, pub cp: f32, } ``` -------------------------------- ### Define ColorProfile struct Source: https://docs.rs/moxcms/latest/moxcms/struct.ColorProfile.html The ColorProfile struct contains fields for color space, rendering intent, colorants, and optional lookup tables and metadata. ```rust pub struct ColorProfile {Show 35 fields pub pcs: DataColorSpace, pub color_space: DataColorSpace, pub profile_class: ProfileClass, pub rendering_intent: RenderingIntent, pub red_colorant: Xyzd, pub green_colorant: Xyzd, pub blue_colorant: Xyzd, pub white_point: Xyzd, pub black_point: Option, pub media_white_point: Option, pub luminance: Option, pub measurement: Option, pub red_trc: Option, pub green_trc: Option, pub blue_trc: Option, pub gray_trc: Option, pub cicp: Option, pub chromatic_adaptation: Option, pub lut_a_to_b_perceptual: Option, pub lut_a_to_b_colorimetric: Option, pub lut_a_to_b_saturation: Option, pub lut_b_to_a_perceptual: Option, pub lut_b_to_a_colorimetric: Option, pub lut_b_to_a_saturation: Option, pub gamut: Option, pub copyright: Option, pub description: Option, pub device_manufacturer: Option, pub device_model: Option, pub char_target: Option, pub viewing_conditions: Option, pub viewing_conditions_description: Option, pub technology: Option, pub calibration_date: Option, pub creation_date_time: ColorDateTime, /* private fields */ } ``` -------------------------------- ### make_gamma_evaluator Source: https://docs.rs/moxcms/latest/moxcms/enum.ToneReprCurve.html Creates a gamma tone curve inverse evaluator from the current curve instance. ```APIDOC ## pub fn make_gamma_evaluator(&self) -> Result, CmsError> ### Description Creates a tone curve inverse evaluator for gamma processing. ### Returns - **Result, CmsError>** - The evaluator instance or an error. ``` -------------------------------- ### make_cicp_gamma_evaluator Source: https://docs.rs/moxcms/latest/moxcms/enum.ToneReprCurve.html Creates a gamma tone curve inverse evaluator based on provided transfer characteristics. ```APIDOC ## pub fn make_cicp_gamma_evaluator(transfer_characteristics: TransferCharacteristics) -> Result, CmsError> ### Description Creates a tone curve inverse evaluator from specific transfer characteristics. ### Parameters - **transfer_characteristics** (TransferCharacteristics) - The characteristics to define the evaluator. ### Returns - **Result, CmsError>** - The evaluator instance or an error. ``` -------------------------------- ### pub const fn rounding_div_ceil(value: i32, div: i32) -> i32 Source: https://docs.rs/moxcms/latest/moxcms/fn.rounding_div_ceil.html Performs division of two i32 integers and rounds the result up to the nearest integer. ```APIDOC ## rounding_div_ceil ### Description Performs division of two i32 integers and rounds the result up to the nearest integer. ### Signature `pub const fn rounding_div_ceil(value: i32, div: i32) -> i32` ### Parameters - **value** (i32) - The dividend. - **div** (i32) - The divisor. ### Returns - **i32** - The result of the division rounded up. ``` -------------------------------- ### Jzazbz Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Jzazbz.html The core structure definition for Jzazbz, using a C-compatible representation. ```rust #[repr(C)] pub struct Jzazbz { pub jz: f32, pub az: f32, pub bz: f32, } ``` -------------------------------- ### Yrg::to_xyz Source: https://docs.rs/moxcms/latest/moxcms/struct.Yrg.html Converts the current Yrg instance back to an Xyz color value. ```APIDOC ## pub fn to_xyz(&self) -> Xyz ### Description Converts the current Yrg instance into an Xyz color value. ### Returns - **Xyz** - The resulting Xyz color structure. ``` -------------------------------- ### white_point_d50() Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_d50.html Retrieves the standard D50 white point value. ```APIDOC ## fn white_point_d50 ### Description Returns the D50 white point as an XyY structure. ### Signature `pub fn white_point_d50() -> XyY` ``` -------------------------------- ### DtUchHcb Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.DtUchHcb.html The primary structure definition for the Darktable Uniform Color Space. ```rust pub struct DtUchHcb { pub h: f32, pub c: f32, pub b: f32, } ``` -------------------------------- ### make_linear_evaluator Source: https://docs.rs/moxcms/latest/moxcms/enum.ToneReprCurve.html Creates a linear tone curve evaluator from the current curve instance. ```APIDOC ## pub fn make_linear_evaluator(&self) -> Result, CmsError> ### Description Creates a tone curve evaluator for linear processing. ### Returns - **Result, CmsError>** - The evaluator instance or an error. ``` -------------------------------- ### srgb_matrix function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.srgb_matrix.html Returns a Matrix3d representing the sRGB transformation matrix. ```rust pub fn srgb_matrix() -> Matrix3d ``` -------------------------------- ### DtUchHsb Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.DtUchHsb.html The primary structure definition containing hue, saturation, and brightness as 32-bit floating point values. ```rust pub struct DtUchHsb { pub h: f32, pub s: f32, pub b: f32, } ``` -------------------------------- ### Define CicpProfile struct Source: https://docs.rs/moxcms/latest/moxcms/struct.CicpProfile.html The structure definition for Coding Independent Code Points, using a C-compatible representation. ```rust #[repr(C)] pub struct CicpProfile { pub color_primaries: CicpColorPrimaries, pub transfer_characteristics: TransferCharacteristics, pub matrix_coefficients: MatrixCoefficients, pub full_range: bool, } ``` -------------------------------- ### srgb_colorants function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.srgb_colorants.html The function signature for retrieving sRGB colorants as a 3x3 matrix. ```rust pub fn srgb_colorants() -> Matrix3d ``` -------------------------------- ### Retrieve BT.2020 colorants matrix Source: https://docs.rs/moxcms/latest/moxcms/fn.bt2020_colorants.html Returns a Matrix3d object containing the colorant values for the BT.2020 standard. ```rust pub fn bt2020_colorants() -> Matrix3d ``` -------------------------------- ### Measurement Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Measurement.html The primary structure definition for Measurement, containing fields for observer, backing, geometry, flare, and illuminant. ```rust pub struct Measurement { pub observer: StandardObserver, pub backing: Xyz, pub geometry: MeasurementGeometry, pub flare: f32, pub illuminant: StandardIlluminant, } ``` -------------------------------- ### determinant() Source: https://docs.rs/moxcms/latest/moxcms/struct.Matrix4f.html Calculates the determinant of the 4x4 matrix. ```APIDOC ## pub fn determinant(&self) -> Option ### Description Calculates the determinant of the current 4x4 matrix instance. Returns an Option containing the determinant value if it can be calculated. ### Returns - **Option** - The determinant of the matrix, or None if the calculation is not applicable. ``` -------------------------------- ### Matrix3d Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.Matrix3d.html The core structure definition for the 3x3 matrix, using a C-compatible representation. ```rust #[repr(C)] pub struct Matrix3d { pub v: [[f64; 3]; 3], } ``` -------------------------------- ### pub fn srgb_colorants() -> Matrix3d Source: https://docs.rs/moxcms/latest/moxcms/fn.srgb_colorants.html Retrieves the sRGB colorants matrix used for color space conversions. ```APIDOC ## srgb_colorants ### Description Returns a `Matrix3d` representing the sRGB colorants. ### Signature `pub fn srgb_colorants() -> Matrix3d` ### Returns - **Matrix3d** - The matrix containing the sRGB colorant values. ``` -------------------------------- ### Define Jzczhz struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Jzczhz.html The core structure definition for Jzczhz, using a C-compatible representation. ```rust #[repr(C)] pub struct Jzczhz { pub jz: f32, pub cz: f32, pub hz: f32, } ``` -------------------------------- ### StandardIlluminant Enum Definition Source: https://docs.rs/moxcms/latest/moxcms/enum.StandardIlluminant.html The core enum definition listing all supported standard illuminants. ```rust pub enum StandardIlluminant { Unknown, D50, D65, D93, F2, D55, A, EquiPower, F8, } ``` -------------------------------- ### Define XyY struct Source: https://docs.rs/moxcms/latest/moxcms/struct.XyY.html The structure definition for CIE XyY color representation. ```rust pub struct XyY { pub x: f64, pub y: f64, pub yb: f64, } ``` -------------------------------- ### white_point_d65 function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_d65.html Returns the D65 white point as an XyY struct. ```rust pub fn white_point_d65() -> XyY ``` -------------------------------- ### TechnologySignatures Enum Definition Source: https://docs.rs/moxcms/latest/moxcms/enum.TechnologySignatures.html Defines the supported technology signatures as an enum with 29 variants, including an Unknown variant that accepts a u32 value. ```rust pub enum TechnologySignatures { Show 29 variants FilmScanner, DigitalCamera, ReflectiveScanner, InkJetPrinter, ThermalWaxPrinter, ElectrophotographicPrinter, ElectrostaticPrinter, DyeSublimationPrinter, PhotographicPaperPrinter, FilmWriter, VideoMonitor, VideoCamera, ProjectionTelevision, CathodeRayTubeDisplay, PassiveMatrixDisplay, ActiveMatrixDisplay, LiquidCrystalDisplay, OrganicLedDisplay, PhotoCd, PhotographicImageSetter, Gravure, OffsetLithography, Silkscreen, Flexography, MotionPictureFilmScanner, MotionPictureFilmRecorder, DigitalMotionPictureCamera, DigitalCinemaProjector, Unknown(u32), } ``` -------------------------------- ### Define ProfileVersion Enum Source: https://docs.rs/moxcms/latest/moxcms/enum.ProfileVersion.html The enum uses repr(u32) to map each variant to a specific integer value. ```rust #[repr(u32)] pub enum ProfileVersion { V2_0 = 33_554_432, V2_1 = 34_603_008, V2_2 = 35_651_584, V2_3 = 36_700_160, V2_4 = 37_748_736, V4_0 = 67_108_864, V4_1 = 68_157_440, V4_2 = 69_206_016, V4_3 = 70_254_592, V4_4 = 71_303_168, Unknown = 71303169, } ``` -------------------------------- ### Retrieve DCI-P3 white point Source: https://docs.rs/moxcms/latest/moxcms/fn.white_point_dci_p3.html Returns the standard DCI-P3 white point represented as an XyY structure. ```rust pub fn white_point_dci_p3() -> XyY ``` -------------------------------- ### rounding_div_ceil function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.rounding_div_ceil.html The function signature for performing ceiling division on i32 values. ```rust pub const fn rounding_div_ceil(value: i32, div: i32) -> i32 ``` -------------------------------- ### inverse Source: https://docs.rs/moxcms/latest/moxcms/enum.ToneReprCurve.html Calculates the inverse of the current tone representation curve. ```APIDOC ## pub fn inverse(&self) -> Result ### Description Returns the inverse of the tone representation curve. ### Returns - **Result** - The inverted curve or an error if the operation fails. ``` -------------------------------- ### Define Luv struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Luv.html The Luv struct definition using repr(C) for memory layout compatibility. ```rust #[repr(C)] pub struct Luv { pub l: f32, pub u: f32, pub v: f32, } ``` -------------------------------- ### Define Matrix3f Struct Source: https://docs.rs/moxcms/latest/moxcms/struct.Matrix3f.html The core structure definition for the 3x3 matrix using a 2D array of f32. ```rust #[repr(C)] pub struct Matrix3f { pub v: [[f32; 3]; 3], } ``` -------------------------------- ### cie_y_1931_to_cie_y_2006 function signature Source: https://docs.rs/moxcms/latest/moxcms/fn.cie_y_1931_to_cie_y_2006.html The function signature for converting CIE 1931 Y to CIE 2006 Y. ```rust pub const fn cie_y_1931_to_cie_y_2006(x: f32) -> f32 ``` -------------------------------- ### Luv::euclidean_distance Source: https://docs.rs/moxcms/latest/moxcms/struct.Luv.html Calculates the Euclidean distance between two Luv colors. ```APIDOC ## pub fn euclidean_distance(&self, other: Luv) -> f32 ### Description Computes the Euclidean distance between this Luv color and another Luv color. ``` -------------------------------- ### LutDataType Struct Definition Source: https://docs.rs/moxcms/latest/moxcms/struct.LutDataType.html The primary structure definition for LutDataType, outlining the fields for channel counts, grid points, matrix data, and table storage. ```rust pub struct LutDataType { pub num_input_channels: u8, pub num_output_channels: u8, pub num_clut_grid_points: u8, pub matrix: Matrix3d, pub num_input_table_entries: u16, pub num_output_table_entries: u16, pub input_table: LutStore, pub clut_table: LutStore, pub output_table: LutStore, pub lut_type: LutType, } ``` -------------------------------- ### Define Vector3u Struct Source: https://docs.rs/moxcms/latest/moxcms/type.Vector3u.html The underlying structure definition for Vector3u using a transparent representation. ```rust #[repr(transparent)] pub struct Vector3u { pub v: [u32; 3], } ```