HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
hikogui
rapid
uint_abgr8_pack.hpp
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
5
#pragma once
6
7
#include "../geometry/corner_radii.hpp"
8
#include <algorithm>
9
10
namespace
hi::inline
v1
{
11
12
class
uint_abgr8_pack
{
13
uint32_t v;
14
15
public
:
16
constexpr
uint_abgr8_pack
() =
default
;
17
constexpr
uint_abgr8_pack
(
uint_abgr8_pack
const
&rhs)
noexcept
=
default
;
18
constexpr
uint_abgr8_pack
(
uint_abgr8_pack
&&rhs)
noexcept
=
default
;
19
constexpr
uint_abgr8_pack
&operator=(
uint_abgr8_pack
const
&rhs)
noexcept
=
default
;
20
constexpr
uint_abgr8_pack
&operator=(
uint_abgr8_pack
&&rhs)
noexcept
=
default
;
21
22
constexpr
explicit
uint_abgr8_pack
(uint32_t
const
&rhs) noexcept : v(rhs) {}
23
constexpr
uint_abgr8_pack
&operator=(uint32_t
const
&rhs)
noexcept
24
{
25
v = rhs;
26
return
*
this
;
27
}
28
constexpr
explicit
operator
uint32_t()
noexcept
29
{
30
return
v;
31
}
32
33
constexpr
explicit
uint_abgr8_pack
(
f32x4
const
&rhs) noexcept : v(std::bit_cast<
decltype
(v)>(
u8x4
{rhs})) {}
34
35
constexpr
uint_abgr8_pack
&operator=(
f32x4
const
&rhs)
noexcept
36
{
37
v = std::bit_cast<decltype(v)>(
u8x4
{rhs});
38
return
*
this
;
39
}
40
41
constexpr
explicit
uint_abgr8_pack
(
corner_radii
const
&rhs) noexcept :
uint_abgr8_pack
(
static_cast<
f32x4
>
(rhs)) {}
42
43
[[nodiscard]]
constexpr
friend
bool
operator==(
uint_abgr8_pack
const
&lhs,
uint_abgr8_pack
const
&rhs)
noexcept
=
default
;
44
};
45
46
}
// namespace hi::inline v1
v1
DOXYGEN BUG.
Definition
algorithm.hpp:15
v1::corner_radii
Definition
corner_radii.hpp:9
v1::numeric_array< float, 4 >
v1::uint_abgr8_pack
Definition
uint_abgr8_pack.hpp:12
Generated on Mon Apr 22 2024 12:51:52 for HikoGUI by
1.10.0