colrcv  v0.5.0
C Library for converting Colours between different Colour Models
Data Structures | Functions | Variables
lab.h File Reference

This header file defines the data types for representing colours in the LAB model, and functions for manipulating it. More...

#include <stdbool.h>
#include "types.h"
Include dependency graph for lab.h:

Go to the source code of this file.

Data Structures

struct  colrcv_lab_t
 Used to represent a LAB colour. More...
 

Functions

bool colrcv_lab_l_is_valid (colrcv_lab_t lab)
 Checks that hue component of a given colrcv_lab_t struct is valid. More...
 
bool colrcv_lab_a_is_valid (colrcv_lab_t lab)
 Checks that saturation component of a given colrcv_lab_t struct is valid. More...
 
bool colrcv_lab_b_is_valid (colrcv_lab_t lab)
 Checks that value component of a given colrcv_lab_t struct is valid. More...
 
bool colrcv_lab_is_valid (colrcv_lab_t lab)
 Checks that the components of a given colrcv_lab_t struct are valid. More...
 
colrcv_lab_t colrcv_lab_clamp (colrcv_lab_t lab)
 Makes all of the channels of a given colrcv_lab_t struct fit within the 'standard' range for that channel. More...
 
colrcv_lab_t colrcv_lab_clamp_l (colrcv_lab_t lab)
 Makes the lightness channel of a given colrcv_lab_t struct fit within the 'standard' range for that channel. More...
 
colrcv_lab_t colrcv_lab_clamp_a (colrcv_lab_t lab)
 Makes the a component of a given colrcv_lab_t struct fit within the 'standard' range for that channel. More...
 
colrcv_lab_t colrcv_lab_clamp_b (colrcv_lab_t lab)
 Makes the b component of a given colrcv_lab_t struct fit within the 'standard' range for that channel. More...
 
colrcv_rgb_t colrcv_lab_to_rgb (colrcv_lab_t lab)
 Converts a LAB colour to an RGB colour. More...
 
colrcv_hsv_t colrcv_lab_to_hsv (colrcv_lab_t lab)
 Converts a LAB colour to a HSV colour. More...
 
colrcv_hsl_t colrcv_lab_to_hsl (colrcv_lab_t lab)
 Converts a LAB colour to a HSL colour. More...
 
colrcv_xyz_t colrcv_lab_to_xyz (colrcv_lab_t lab)
 Converts a LAB colour to an XYZ colour. More...
 

Variables

const double COLRCV_LAB_L_MIN_VALUE
 
const double COLRCV_LAB_A_MIN_VALUE
 
const double COLRCV_LAB_B_MIN_VALUE
 
const double COLRCV_LAB_MAX_VALUE
 

Detailed Description

This header file defines the data types for representing colours in the LAB model, and functions for manipulating it.

Author
Joshua Saxby <joshua.a.saxby+TNOPLuc8vM==@gmail.com>
Date
2018
Since
v0.1.0

Function Documentation

bool colrcv_lab_a_is_valid ( colrcv_lab_t  lab)

Checks that saturation component of a given colrcv_lab_t struct is valid.

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
bool colrcv_lab_b_is_valid ( colrcv_lab_t  lab)

Checks that value component of a given colrcv_lab_t struct is valid.

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
colrcv_lab_t colrcv_lab_clamp ( colrcv_lab_t  lab)

Makes all of the channels of a given colrcv_lab_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with all channels guaranteed to be within range.
Since
v0.4.0
colrcv_lab_t colrcv_lab_clamp_a ( colrcv_lab_t  lab)

Makes the a component of a given colrcv_lab_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the a component guaranteed to be within range.
Since
v0.4.0
colrcv_lab_t colrcv_lab_clamp_b ( colrcv_lab_t  lab)

Makes the b component of a given colrcv_lab_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the b component guaranteed to be within range.
Since
v0.4.0
colrcv_lab_t colrcv_lab_clamp_l ( colrcv_lab_t  lab)

Makes the lightness channel of a given colrcv_lab_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the lightness channel guaranteed to be within range.
Since
v0.4.0
bool colrcv_lab_is_valid ( colrcv_lab_t  lab)

Checks that the components of a given colrcv_lab_t struct are valid.

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
bool colrcv_lab_l_is_valid ( colrcv_lab_t  lab)

Checks that hue component of a given colrcv_lab_t struct is valid.

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
colrcv_hsl_t colrcv_lab_to_hsl ( colrcv_lab_t  lab)

Converts a LAB colour to a HSL colour.

Parameters
labA LAB colour to be converted
Returns
The HSL colour that the LAB colour was converted to
Since
v0.2.0
colrcv_hsv_t colrcv_lab_to_hsv ( colrcv_lab_t  lab)

Converts a LAB colour to a HSV colour.

Parameters
labA LAB colour to be converted
Returns
The HSV colour that the LAB colour was converted to
Since
v0.2.0
colrcv_rgb_t colrcv_lab_to_rgb ( colrcv_lab_t  lab)

Converts a LAB colour to an RGB colour.

Parameters
labA LAB colour to be converted
Returns
The RGB colour that the LAB colour was converted to
Since
v0.1.0
colrcv_xyz_t colrcv_lab_to_xyz ( colrcv_lab_t  lab)

Converts a LAB colour to an XYZ colour.

Parameters
labA LAB colour to be converted
Returns
The XYZ colour that the LAB colour was converted to
Since
v0.1.0

Variable Documentation

const double COLRCV_LAB_A_MIN_VALUE

The minimum value that the a component should have

Since
v0.1.0
const double COLRCV_LAB_B_MIN_VALUE

The minimum value that the b component should have

Since
v0.1.0
const double COLRCV_LAB_L_MIN_VALUE

The minimum value that the l component should have

Since
v0.1.0
const double COLRCV_LAB_MAX_VALUE

The maximum value that any of the components should have

Since
v0.1.0