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
10
11namespace unravel
12{
13
14void init_fonts();
15void deinit_fonts();
16
18{
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
30{
31};
32
34{
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>&;
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
61{
62 gfx::text_buffer_handle handle{gfx::invalid_handle};
63};
64
75
82
83} // namespace unravel
#define FONT_TYPE_DISTANCE
void init_fonts()
Definition font.cpp:813
void deinit_fonts()
Definition font.cpp:818
Represents a handle to an asset, providing access and management functions.
gfx::font_handle handle
Definition font.h:26
auto get_line_height() const -> float
Definition font.cpp:838
auto is_valid() const -> bool
Definition font.cpp:844
auto get_info() const -> const gfx::font_info &
Definition font.cpp:833
static auto default_light() -> asset_handle< font > &
Definition font.cpp:866
static auto default_heavy() -> asset_handle< font > &
Definition font.cpp:891
static auto default_extra_light() -> asset_handle< font > &
Definition font.cpp:861
static auto default_regular() -> asset_handle< font > &
Definition font.cpp:876
static auto default_bold() -> asset_handle< font > &
Definition font.cpp:886
gfx::true_type_handle ttf_handle
Definition font.h:56
static auto default_semi_bold() -> asset_handle< font > &
Definition font.cpp:881
auto get_scaled_font(uint32_t pixel_size) const -> std::shared_ptr< scaled_font >
Definition font.cpp:849
static auto default_thin() -> asset_handle< font > &
Definition font.cpp:856
static auto default_black() -> asset_handle< font > &
Definition font.cpp:896
static auto default_medium() -> asset_handle< font > &
Definition font.cpp:871
std::vector< text_buffer > buffers
Definition font.h:72
gfx::text_buffer_manager manager
Definition font.h:73
gfx::text_buffer_handle handle
Definition font.h:62
gfx::text_metrics metrics
Definition font.h:80