12#include "../utility/utility.hpp"
13#include "../macros.hpp"
17hi_export_module(hikogui.image.sdf_r8);
22hi_warning_ignore_msvc(26434);
37 constexpr static float max_distance = 3.0f;
38 constexpr static float one_over_max_distance = 1.0f / max_distance;
40 sdf_r8() noexcept = default;
43 sdf_r8& operator=(
sdf_r8 const& other) noexcept = default;
47 sdf_r8(
float rhs) noexcept :
snorm_r8(rhs * one_over_max_distance) {}
49 sdf_r8& operator=(
float rhs)
noexcept
51 snorm_r8::operator=(rhs *one_over_max_distance);
55 operator float() const noexcept
57 return (snorm_r8::operator
float()) * max_distance;
60 void repair() noexcept
62 *
this = -
static_cast<float>(*this);
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:378
A pixel of a single channel signed distance field.
Definition sdf_r8.hpp:31
1 x int8_t pixel format.
Definition snorm_r8.hpp:31