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

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

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

Go to the source code of this file.

Data Structures

struct  colrcv_hsl_t
 Used to represent a HSL colour. More...
 

Functions

bool colrcv_hsl_h_is_valid (colrcv_hsl_t hsl)
 Checks that hue component of a given colrcv_hsl_t struct is valid. More...
 
bool colrcv_hsl_s_is_valid (colrcv_hsl_t hsl)
 Checks that saturation component of a given colrcv_hsl_t struct is valid. More...
 
bool colrcv_hsl_l_is_valid (colrcv_hsl_t hsl)
 Checks that value component of a given colrcv_hsl_t struct is valid. More...
 
bool colrcv_hsl_is_valid (colrcv_hsl_t hsl)
 Checks that the components of a given colrcv_hsl_t struct are valid. More...
 
colrcv_hsl_t colrcv_hsl_clamp (colrcv_hsl_t hsl)
 Makes all of the channels of a given colrcv_hsl_t struct fit within the 'standard' range for that channel. More...
 
colrcv_hsl_t colrcv_hsl_clamp_h (colrcv_hsl_t hsl)
 Makes the hue channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel. More...
 
colrcv_hsl_t colrcv_hsl_clamp_s (colrcv_hsl_t hsl)
 Makes the saturation channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel. More...
 
colrcv_hsl_t colrcv_hsl_clamp_l (colrcv_hsl_t hsl)
 Makes the lightnness channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel. More...
 
colrcv_rgb_t colrcv_hsl_to_rgb (colrcv_hsl_t hsl)
 Converts a HSL colour to an RGB colour. More...
 
colrcv_hsv_t colrcv_hsl_to_hsv (colrcv_hsl_t hsl)
 Converts a HSL colour to a HSV colour. More...
 
colrcv_lab_t colrcv_hsl_to_lab (colrcv_hsl_t hsl)
 Converts a HSL colour to a LAB colour. More...
 
colrcv_xyz_t colrcv_hsl_to_xyz (colrcv_hsl_t hsl)
 Converts a HSL colour to an XYZ colour. More...
 

Variables

const double COLRCV_HSL_MIN_VALUE
 
const double COLRCV_HSL_H_MAX_VALUE
 
const double COLRCV_HSL_S_MAX_VALUE
 
const double COLRCV_HSL_L_MAX_VALUE
 

Detailed Description

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

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

Function Documentation

colrcv_hsl_t colrcv_hsl_clamp ( colrcv_hsl_t  hsl)

Makes all of the channels of a given colrcv_hsl_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_hsl_t colrcv_hsl_clamp_h ( colrcv_hsl_t  hsl)

Makes the hue channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the hue channel guaranteed to be within range.
Since
v0.4.0
colrcv_hsl_t colrcv_hsl_clamp_l ( colrcv_hsl_t  hsl)

Makes the lightnness channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the lightnness channel guaranteed to be within range.
Since
v0.4.0
colrcv_hsl_t colrcv_hsl_clamp_s ( colrcv_hsl_t  hsl)

Makes the saturation channel of a given colrcv_hsl_t struct fit within the 'standard' range for that channel.

Returns
A copy of the given struct with the saturation channel guaranteed to be within range.
Since
v0.4.0
bool colrcv_hsl_h_is_valid ( colrcv_hsl_t  hsl)

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

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
bool colrcv_hsl_is_valid ( colrcv_hsl_t  hsl)

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

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
bool colrcv_hsl_l_is_valid ( colrcv_hsl_t  hsl)

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

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
bool colrcv_hsl_s_is_valid ( colrcv_hsl_t  hsl)

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

Returns
true if it is valid
false if it is not valid
Since
v0.1.0
colrcv_hsv_t colrcv_hsl_to_hsv ( colrcv_hsl_t  hsl)

Converts a HSL colour to a HSV colour.

Parameters
hslA HSL colour to be converted
Returns
The HSV colour that the HSL colour was converted to
Since
v0.1.0
colrcv_lab_t colrcv_hsl_to_lab ( colrcv_hsl_t  hsl)

Converts a HSL colour to a LAB colour.

Parameters
hslA HSL colour to be converted
Returns
The LAB colour that the HSL colour was converted to
Since
v0.1.0
colrcv_rgb_t colrcv_hsl_to_rgb ( colrcv_hsl_t  hsl)

Converts a HSL colour to an RGB colour.

Parameters
hslA HSL colour to be converted
Returns
The RGB colour that the HSL colour was converted to
Since
v0.1.0
colrcv_xyz_t colrcv_hsl_to_xyz ( colrcv_hsl_t  hsl)

Converts a HSL colour to an XYZ colour.

Parameters
hslA HSL colour to be converted
Returns
The XYZ colour that the HSL colour was converted to
Since
v0.1.0

Variable Documentation

const double COLRCV_HSL_H_MAX_VALUE

The maximum value that the h component should have

Since
v0.1.0
const double COLRCV_HSL_L_MAX_VALUE

The maximum value that the l component should have

Since
v0.1.0
const double COLRCV_HSL_MIN_VALUE

The minimum value that any of the components should have

Since
v0.1.0
const double COLRCV_HSL_S_MAX_VALUE

The maximum value that the s component should have

Since
v0.1.0