HikoGUI
Select Version:
main (latest dev)
0.8.1 (latest)
0.8.0
0.7.0
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
theme-value
theme-tag
text
ranged-int
phrase-mask-chars
new-window-widget
msvs-bug-20230517
msvs-bug-20230503
msvs-bug-20230428
msvc-c1001-20231106
msvc-bug-20230706
msvc-bug-20221214
modules-part1
label-delegate
bug-msvs-20220928
attribute-parser
⚠️ This documents the
main
development branch of HikoGUI. It might differ from release versions.
A low latency retained GUI
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Variables
c
d
g
i
l
o
p
r
s
t
x
Typedefs
Enumerations
a
b
c
d
f
g
h
k
l
p
s
t
u
v
w
Concepts
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Related Symbols
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
Files
File List
Globals
All
Functions
Macros
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
src
hikogui
image
sfloat_rgba32.hpp
Go to the documentation of this file.
1
// Copyright Take Vos 2021.
2
// Distributed under the Boost Software License, Version 1.0.
3
// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
9
#pragma once
10
11
#include "../geometry/geometry.hpp"
12
#include "
../color/color.hpp
"
13
#include "../macros.hpp"
14
#include <hikocpu/hikocpu.hpp>
15
#include <algorithm>
16
#include <array>
17
#include <bit>
18
#include <cstdint>
19
20
hi_export_module(hikogui.image.sfloat_srgb32);
21
22
hi_export
namespace
hi::inline
v1
{
23
28
class
sfloat_rgba32
{
29
// Red, Green, Blue, Alpha in binary32 (native endian).
30
std::array<float, 4>
v;
31
32
public
:
33
sfloat_rgba32
() =
default
;
34
sfloat_rgba32
(
sfloat_rgba32
const
&rhs)
noexcept
=
default
;
35
sfloat_rgba32
(
sfloat_rgba32
&&rhs)
noexcept
=
default
;
36
sfloat_rgba32
&operator=(
sfloat_rgba32
const
&rhs)
noexcept
=
default
;
37
sfloat_rgba32
&operator=(
sfloat_rgba32
&&rhs)
noexcept
=
default
;
38
39
sfloat_rgba32
(f32x4
const
&rhs) noexcept : v(
static_cast<
std::array<float, 4>
>
(rhs)) {}
40
41
sfloat_rgba32
&operator=(f32x4
const
&rhs)
noexcept
42
{
43
v =
static_cast<
std::array<float, 4>
>
(rhs);
44
return
*
this
;
45
}
46
47
operator
f32x4()
const
noexcept
48
{
49
return
f32x4{v};
50
}
51
52
sfloat_rgba32
(
point3
const
&rhs) noexcept :
sfloat_rgba32
(f32x4{rhs}) {}
53
54
sfloat_rgba32
(aarectangle
const
&rhs) noexcept :
sfloat_rgba32
(f32x4{rhs}) {}
55
56
sfloat_rgba32
(corner_radii
const
&rhs) noexcept :
sfloat_rgba32
(f32x4{rhs}) {}
57
58
operator
aarectangle()
const
noexcept
59
{
60
return
aarectangle{f32x4{v}};
61
}
62
63
[[nodiscard]]
friend
bool
operator==(
sfloat_rgba32
const
&lhs,
sfloat_rgba32
const
&rhs)
noexcept
=
default
;
64
};
28
class
sfloat_rgba32
{
…
};
65
66
}
// namespace hi::inline v1
color.hpp
Defined the color type.
v1
DOXYGEN BUG.
Definition
algorithm_misc.hpp:20
v1::point3
A high-level geometric point Part of the high-level vec, point, mat and color types.
Definition
point3.hpp:29
v1::sfloat_rgba32
4 x float32 pixel format.
Definition
sfloat_rgba32.hpp:28
std::array
Generated on Mon Apr 22 2024 12:51:37 for HikoGUI by
1.10.0