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
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/geometry.hpp"
9
#include "../macros.hpp"
10
#include <compare>
11
12
hi_export_module(hikogui.font.glyph_metrics);
13
14
hi_export
namespace
hi::inline
v1
{
15
20
hi_export
struct
glyph_metrics
{
23
aarectangle bounding_rectangle = {};
24
31
float
left_side_bearing = 0.0f;
32
37
float
right_side_bearing = 0.0f;
38
41
float
advance = 0.0f;
42
43
glyph_metrics
() noexcept = default;
44
glyph_metrics
(
glyph_metrics
const &) noexcept = default;
45
glyph_metrics
(
glyph_metrics
&&) noexcept = default;
46
glyph_metrics
&operator=(
glyph_metrics
const &) noexcept = default;
47
glyph_metrics
&operator=(
glyph_metrics
&&) noexcept = default;
48
51
[[nodiscard]] constexpr friend
glyph_metrics
operator*(
float
const &lhs,
glyph_metrics
const &rhs) noexcept
52
{
53
glyph_metrics
r;
54
r.
bounding_rectangle
= scale2(lhs) * rhs.bounding_rectangle;
55
r.
left_side_bearing
= lhs * rhs.left_side_bearing;
56
r.
right_side_bearing
= lhs * rhs.right_side_bearing;
57
r.
advance
= lhs * rhs.advance;
58
return
r;
59
}
51
[[nodiscard]] constexpr friend
glyph_metrics
operator*(
float
const &lhs,
glyph_metrics
const &rhs) noexcept {
…
};
60
};
20
hi_export
struct
glyph_metrics
{
…
};
61
62
}
// namespace hi::inline v1
v1
DOXYGEN BUG.
Definition
algorithm_misc.hpp:20
v1::glyph_metrics
Definition
glyph_metrics.hpp:20
v1::glyph_metrics::bounding_rectangle
aarectangle bounding_rectangle
Definition
glyph_metrics.hpp:23
v1::glyph_metrics::right_side_bearing
float right_side_bearing
Definition
glyph_metrics.hpp:37
v1::glyph_metrics::advance
float advance
Definition
glyph_metrics.hpp:41
v1::glyph_metrics::left_side_bearing
float left_side_bearing
Definition
glyph_metrics.hpp:31
Generated on Mon Apr 22 2024 12:51:35 for HikoGUI by
1.10.0