ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
Toggle main menu visibility
载入中...
搜索中...
未找到
FontManager.h
浏览该文件的文档.
1
#pragma once
2
3
#include <string>
4
#include <unordered_map>
5
#include <memory>
6
#include <SDL3_ttf/SDL_ttf.h>
7
8
#include "
ShitEngine/Core/Core.h
"
9
10
namespace
Shit
{
11
class
FontManager
final {
12
friend
class
ResourceManager
;
13
public
:
14
FontManager
(
const
FontManager
&) =
delete
;
15
FontManager
&
operator=
(
const
FontManager
&) =
delete
;
16
FontManager
(
FontManager
&&) =
default
;
17
FontManager
&
operator=
(
FontManager
&&) =
default
;
18
~FontManager
() { clearFont(); }
19
20
private
:
21
FontManager
() =
default
;
22
23
struct
TTF_FontDeleter {
24
void
operator()(TTF_Font* font)
const
{
25
if
(font) TTF_CloseFont(font);
26
}
27
};
28
29
TTF_Font* loadFont(
const
std::string& filePath);
30
TTF_Font* getFont(
const
std::string& filePath);
31
void
unloadFont(
const
std::string& filePath);
32
void
clearFont();
33
34
float
m_fontSize = 16.0f;
35
std::unordered_map<std::string, std::unique_ptr<TTF_Font, TTF_FontDeleter>> m_fonts;
36
};
37
}
Core.h
Shit::FontManager::FontManager
FontManager(FontManager &&)=default
Shit::FontManager::~FontManager
~FontManager()
定义
FontManager.h:18
Shit::FontManager::operator=
FontManager & operator=(const FontManager &)=delete
Shit::FontManager::ResourceManager
friend class ResourceManager
定义
FontManager.h:12
Shit::FontManager::FontManager
FontManager(const FontManager &)=delete
Shit::FontManager::operator=
FontManager & operator=(FontManager &&)=default
Shit
定义
AudioPlayer.h:9
ShitEngine
Resource
FontManager.h
制作者
1.17.0