HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
sRGB.hpp File Reference

Color matrix and transfer functions for the sRGB color space. More...

#include "../utility/utility.hpp"
#include "../geometry/geometry.hpp"
#include "color_intf.hpp"
#include "../macros.hpp"
#include <cmath>
#include <array>
#include <algorithm>
#include <string_view>
#include <format>

Go to the source code of this file.

Namespaces

namespace  hi
 The HikoGUI namespace.
 
namespace  hi::v1
 The HikoGUI API version 1.
 

Functions

 hi_export_module (hikogui.color.sRGB)
 
 hi_warning_push ()
 
 hi_warning_ignore_msvc (26426)
 
float hi::v1::sRGB_linear_to_gamma (float u) noexcept
 sRGB linear to gamma transfer function.
 
float hi::v1::sRGB_gamma_to_linear (float u) noexcept
 sRGB gamma to linear transfer function.
 
auto hi::v1::detail::sRGB_linear16_to_gamma8_table_generator () noexcept
 
auto hi::v1::detail::sRGB_gamma8_to_linear16_table_generator () noexcept
 
uint8_t hi::v1::sRGB_linear16_to_gamma8 (half u) noexcept
 sRGB linear float-16 to gamma transfer function.
 
half hi::v1::sRGB_gamma8_to_linear16 (uint8_t u) noexcept
 sRGB gamma to linear float-16 transfer function.
 
color hi::v1::color_from_sRGB (float r, float g, float b, float a) noexcept
 Convert gama corrected sRGB color to the linear color.
 
color hi::v1::color_from_sRGB (uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept
 Convert gama corrected sRGB color to the linear color.
 
color hi::v1::color_from_sRGB (std::string_view str)
 
 hi_warning_pop ()
 

Variables

constexpr matrix3 hi::v1::sRGB_to_XYZ
 Matrix to convert sRGB to XYZ.
 
constexpr matrix3 hi::v1::XYZ_to_sRGB
 Matrix to convert XYZ to sRGB.
 
auto hi::v1::detail::sRGB_linear16_to_gamma8_table = sRGB_linear16_to_gamma8_table_generator()
 
auto hi::v1::detail::sRGB_gamma8_to_linear16_table = sRGB_gamma8_to_linear16_table_generator()
 

Detailed Description

Color matrix and transfer functions for the sRGB color space.