MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_ascii_font.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_ASCII_FONT_H_1622021769
12#define INCGUARD_MGL_ASCII_FONT_H_1622021769
13
17
18namespace MGL::Render
19{
22{
23public:
24 AsciiFont(TextureKey textureKey, uint32_t characterWidth, uint32_t characterHeight, const Vector2 &sourceOffset = MGL::Vector2()) noexcept;
25 AsciiFont(const TextureWithBounds &textureBounds) noexcept;
27 const File::PathView &imagePath,
28 uint32_t characterWidth,
29 uint32_t characterHeight,
30 const Vector2 &sourceOffset = MGL::Vector2(),
33 const void *imageData,
34 size_t dataSize,
35 uint32_t characterWidth,
36 uint32_t characterHeight,
37 const Vector2 &sourceOffset = MGL::Vector2(),
39
40 void Initialize() noexcept;
41
42 [[nodiscard]] size_t GetIndex(char32_t character, FontFaceType faceType) const noexcept override;
43 [[nodiscard]] const FontGlyph *GetGlyph(size_t index, FontFaceType faceType, const FontOption &option) const noexcept override;
44
45 /* ------------------------------------------------------------------------- */
52 /* ------------------------------------------------------------------------- */
53 [[nodiscard]] bool HasFontFace(FontFaceType faceType) const noexcept override
54 {
55 return (faceType == FontFaceType::Default);
56 }
57
58 /* ------------------------------------------------------------------------- */
64 /* ------------------------------------------------------------------------- */
65 [[nodiscard]] bool IsValid() const noexcept override
66 {
67 return _texture.IsValid();
68 }
69
70 /* ------------------------------------------------------------------------- */
75 /* ------------------------------------------------------------------------- */
76 [[nodiscard]] float GetLineAdvance() const noexcept override
77 {
78 return _characterSize.y;
79 }
80
81private:
82 Texture _texture;
83 Vector2 _characterSize;
84 Vector2 _sourceOffset;
86};
87} // namespace MGL::Render
88
89#endif // INCGUARD_MGL_ASCII_FONT_H_1622021769
90
91// vim: et ts=4 sw=4 sts=4
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
ASCIIフォントクラス
Definition mgl_ascii_font.h:22
const FontGlyph * GetGlyph(size_t index, FontFaceType faceType, const FontOption &option) const noexcept override
グリフを取得
Definition mgl_ascii_font.cc:162
size_t GetIndex(char32_t character, FontFaceType faceType) const noexcept override
グリフのインデックスを取得
Definition mgl_ascii_font.cc:141
AsciiFont(TextureKey textureKey, uint32_t characterWidth, uint32_t characterHeight, const Vector2 &sourceOffset=MGL::Vector2()) noexcept
コンストラクタ(テクスチャキーで初期化)
Definition mgl_ascii_font.cc:30
bool HasFontFace(FontFaceType faceType) const noexcept override
指定したフェイスを保持しているかを取得
Definition mgl_ascii_font.h:53
bool IsValid() const noexcept override
このフォントリソースが有効かどうかを取得
Definition mgl_ascii_font.h:65
void Initialize() noexcept
初期化処理
Definition mgl_ascii_font.cc:102
float GetLineAdvance() const noexcept override
改行の送りサイズを取得
Definition mgl_ascii_font.h:76
MGL インデックス化対応のフォントリソース基底クラス
Definition mgl_indexed_font_resource.h:24
MGL テクスチャクラス
Definition mgl_texture.h:20
bool IsValid() const noexcept
テクスチャが有効かを取得
Definition mgl_texture.cc:466
static constexpr TextureLoaderKey kDefaultLoaderKey
デフォルトのテクスチャローダーを表すキー
Definition mgl_texture_storage.h:51
領域付きテクスチャクラス
Definition mgl_texture_with_bounds.h:22
文字列の参照のみを行うファイルパスクラス
FontFaceType
フォントのフェイスタイプ
Definition mgl_font_defs.h:21
MGL インデックス化対応のフォントリソース基底クラス
MGL 2Dレンダラ
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247
uint32_t TextureLoaderKey
テクスチャローダーのキー
Definition mgl_texture_loader.h:23
TextureKey
テクスチャにアクセスするキーの型
Definition mgl_texture_storage.h:27
グリフ情報
Definition mgl_font_glyph.h:20
フォント描画オプション
Definition mgl_font_option.h:22
2Dベクトル
Definition mgl_vector2.h:23
float y
Y成分
Definition mgl_vector2.h:25