Unravel Engine C++ Reference
Loading...
Searching...
No Matches
font.h
Go to the documentation of this file.
1
#pragma once
2
#include <engine/engine_export.h>
3
4
#include <
graphics/graphics.h
>
5
6
#include <
graphics/utils/font/font_manager.h
>
7
#include <
graphics/utils/font/text_buffer_manager.h
>
8
#include <
graphics/utils/font/text_metrics.h
>
9
#include <
engine/assets/asset_handle.h
>
10
11
namespace
unravel
12
{
13
14
void
init_fonts
();
15
void
deinit_fonts
();
16
17
struct
base_font
18
{
19
base_font
();
20
~base_font
();
21
22
auto
get_info
() const -> const
gfx
::font_info&;
23
auto
get_line_height
() const ->
float
;
24
auto
is_valid
() const ->
bool
;
25
26
gfx
::font_handle
handle
{gfx::invalid_handle};
27
};
28
29
struct
scaled_font
:
base_font
30
{
31
};
32
33
struct
font
:
base_font
34
{
35
font
();
36
font
(
const
char
* path,
37
uint32_t typeface_index,
38
uint32_t pixel_ize,
39
uint32_t font_type =
FONT_TYPE_DISTANCE
,
40
uint16_t glyph_width_padding = 8,
41
uint16_t glyph_height_padding = 8);
42
~font
();
43
44
auto
get_scaled_font
(uint32_t pixel_size)
const
-> std::shared_ptr<scaled_font>;
45
46
static
auto
default_thin
() ->
asset_handle<font>
&;
47
static
auto
default_extra_light
() ->
asset_handle<font>
&;
48
static
auto
default_light
() ->
asset_handle<font>
&;
49
static
auto
default_medium
() ->
asset_handle<font>
&;
50
static
auto
default_regular
() ->
asset_handle<font>
&;
51
static
auto
default_semi_bold
() ->
asset_handle<font>
&;
52
static
auto
default_bold
() ->
asset_handle<font>
&;
53
static
auto
default_heavy
() ->
asset_handle<font>
&;
54
static
auto
default_black
() ->
asset_handle<font>
&;
55
56
gfx::true_type_handle
ttf_handle
{gfx::invalid_handle};
57
};
58
59
60
struct
text_buffer
61
{
62
gfx::text_buffer_handle
handle
{gfx::invalid_handle};
63
};
64
65
struct
text_buffer_builder
66
{
67
text_buffer_builder
();
68
~text_buffer_builder
();
69
70
void
destroy_buffers
();
71
72
std::vector<text_buffer>
buffers
;
73
gfx::text_buffer_manager
manager
;
74
};
75
76
struct
text_metrics
77
{
78
text_metrics
();
79
80
gfx::text_metrics
metrics
;
81
};
82
83
}
// namespace unravel
asset_handle.h
gfx::text_buffer_manager
Definition
text_buffer_manager.h:46
gfx::text_metrics
Definition
text_metrics.h:14
font_manager.h
FONT_TYPE_DISTANCE
#define FONT_TYPE_DISTANCE
Definition
font_manager.h:23
graphics.h
gfx
Definition
debugdraw.cpp:7
unravel
Definition
crash.cpp:21
unravel::init_fonts
void init_fonts()
Definition
font.cpp:813
unravel::deinit_fonts
void deinit_fonts()
Definition
font.cpp:818
asset_handle
Represents a handle to an asset, providing access and management functions.
Definition
asset_handle.h:43
unravel::base_font
Definition
font.h:18
unravel::base_font::handle
gfx::font_handle handle
Definition
font.h:26
unravel::base_font::~base_font
~base_font()
Definition
font.cpp:825
unravel::base_font::get_line_height
auto get_line_height() const -> float
Definition
font.cpp:838
unravel::base_font::is_valid
auto is_valid() const -> bool
Definition
font.cpp:844
unravel::base_font::get_info
auto get_info() const -> const gfx::font_info &
Definition
font.cpp:833
unravel::base_font::base_font
base_font()
unravel::font
Definition
font.h:34
unravel::font::default_light
static auto default_light() -> asset_handle< font > &
Definition
font.cpp:866
unravel::font::~font
~font()
Definition
font.cpp:921
unravel::font::default_heavy
static auto default_heavy() -> asset_handle< font > &
Definition
font.cpp:891
unravel::font::default_extra_light
static auto default_extra_light() -> asset_handle< font > &
Definition
font.cpp:861
unravel::font::default_regular
static auto default_regular() -> asset_handle< font > &
Definition
font.cpp:876
unravel::font::default_bold
static auto default_bold() -> asset_handle< font > &
Definition
font.cpp:886
unravel::font::font
font()
unravel::font::ttf_handle
gfx::true_type_handle ttf_handle
Definition
font.h:56
unravel::font::default_semi_bold
static auto default_semi_bold() -> asset_handle< font > &
Definition
font.cpp:881
unravel::font::get_scaled_font
auto get_scaled_font(uint32_t pixel_size) const -> std::shared_ptr< scaled_font >
Definition
font.cpp:849
unravel::font::default_thin
static auto default_thin() -> asset_handle< font > &
Definition
font.cpp:856
unravel::font::default_black
static auto default_black() -> asset_handle< font > &
Definition
font.cpp:896
unravel::font::default_medium
static auto default_medium() -> asset_handle< font > &
Definition
font.cpp:871
unravel::scaled_font
Definition
font.h:30
unravel::text_buffer_builder
Definition
font.h:66
unravel::text_buffer_builder::destroy_buffers
void destroy_buffers()
Definition
font.cpp:938
unravel::text_buffer_builder::text_buffer_builder
text_buffer_builder()
Definition
font.cpp:929
unravel::text_buffer_builder::buffers
std::vector< text_buffer > buffers
Definition
font.h:72
unravel::text_buffer_builder::~text_buffer_builder
~text_buffer_builder()
Definition
font.cpp:933
unravel::text_buffer_builder::manager
gfx::text_buffer_manager manager
Definition
font.h:73
unravel::text_buffer
Definition
font.h:61
unravel::text_buffer::handle
gfx::text_buffer_handle handle
Definition
font.h:62
unravel::text_metrics
Definition
font.h:77
unravel::text_metrics::metrics
gfx::text_metrics metrics
Definition
font.h:80
unravel::text_metrics::text_metrics
text_metrics()
Definition
font.cpp:948
text_buffer_manager.h
text_metrics.h
UnravelEngine
UnravelEngine
engine
engine
rendering
font.h
Generated by
1.12.0