HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
src
hikogui
font
glyph_metrics.hpp
1
// Copyright Take Vos 2019, 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 "../utility/utility.hpp"
8
#include "../geometry/module.hpp"
9
#include "../macros.hpp"
10
11
hi_export_module(hikogui.font.glyph_metrics);
12
13
namespace
hi::inline
v1
{
14
19
hi_export
struct
glyph_metrics {
22
aarectangle
bounding_rectangle
= {};
23
30
float
left_side_bearing
= 0.0f;
31
36
float
right_side_bearing
= 0.0f;
37
40
float
advance
= 0.0f;
41
42
glyph_metrics() noexcept = default;
43
glyph_metrics(glyph_metrics const &) noexcept = default;
44
glyph_metrics(glyph_metrics &&) noexcept = default;
45
glyph_metrics &operator=(glyph_metrics const &) noexcept = default;
46
glyph_metrics &operator=(glyph_metrics &&) noexcept = default;
47
50
[[nodiscard]] constexpr friend glyph_metrics operator*(
float
const &lhs, glyph_metrics const &rhs) noexcept
51
{
52
glyph_metrics r;
53
r.
bounding_rectangle
= scale2(lhs) * rhs.bounding_rectangle;
54
r.
left_side_bearing
= lhs * rhs.left_side_bearing;
55
r.
right_side_bearing
= lhs * rhs.right_side_bearing;
56
r.
advance
= lhs * rhs.advance;
57
return
r;
58
}
59
};
60
61
}
// namespace hi::inline v1
v1
DOXYGEN BUG.
Definition
algorithm.hpp:16
v1::glyph_metrics::bounding_rectangle
aarectangle bounding_rectangle
Definition
glyph_metrics.hpp:22
v1::glyph_metrics::right_side_bearing
float right_side_bearing
Definition
glyph_metrics.hpp:36
v1::glyph_metrics::advance
float advance
Definition
glyph_metrics.hpp:40
v1::glyph_metrics::left_side_bearing
float left_side_bearing
Definition
glyph_metrics.hpp:30
Generated on
for HikoGUI by
1.16.1