12GX_CORE_NAMESPACE_BEGIN()
135 void updatePreLineBreak(f32 addOffsetY,
GxVector2& prePosition);
137 void updateLineBreak(
const GxSize& size, f32 addOffsetY,
GxVector2& offsetPosition);
139 void calculationOffsetPosition(
const GxSize& size, u32 renderLine,
GxVector2& position);
146#if defined(_PS4) || defined(_PS5)
147 GxNativeFontSurface _renderSurface;
148#elif defined(_WINDOWS)
149 LOGFONTA _fontParameter;
174 struct GxFontInformation
176#if defined(_PS4) || defined(_PS5)
177 GxNativeFontHandle _handle;
179 GxNativeFontEngine* _pFontEngine;
180 void* _pFontEngineWorkBuffer;
181 void* _pMemoryBuffer;
182#elif defined(_XBOX_XS)
183 std::unique_ptr<DirectX::SpriteBatch> _pBatch;
184 std::unique_ptr<DirectX::SpriteFont> _pFont;
185 std::unique_ptr<DirectX::DescriptorHeap> _pHeap;
186#elif defined(_WINDOWS)
195 static const u32 DEFAULT_FONT_SIZE = 16;
199 struct GxRenderFontPacket
203 GxFontInformation* _pInformation;
204 GxFontRenderInformation* _pRenderInformation;
211 static constexpr u32 FONT_PACKET_MAX = 256;
239 void update(
void)
override;
242 void initializeRenderFont( GxFontRenderInformation* pRenderInformation, s32 fontIndex, f32 lineSpace, f32 size,
b32 isBorder, f32 borderSize,
FONT_LAYOUT layout,
const GxSize& bufferSize, s32 renderTexturePitchSize,
void* pFontBuffer,
GxRenderTexture* pRenderTexture );
244 void copyRenderFont( GxFontRenderInformation* pRenderInformation,
b32 isEndText, GX_CSTR baseText, GX_CSTR renderText,
const GxSize& fontBufferSize, s32 renderTexturePitchSize,
void* pFontBuffer,
GxRenderTexture* pRenderTexture );
249 void renderFont( GxFontRenderInformation* pRenderInformation, GX_CWSTR baseText, GX_CWSTR renderText,
const GxSize& fontBufferSize,
const GxColorHDR& color, f32 rotate,
const GxMatrixAffine& worldMatrix );
255 s32 renderCallback(
void* pSource,
void* pArgument);
259 b32 loadModule(
void );
261 void unloadModule(
void );
264 b32 registerMemory(
void );
269 void terminateFont(
void );
272 void copyFontData(
void* pFontBuffer,
GxRenderTexture* pRenderTexture );
276 static int CALLBACK searchFontCallback(
const LOGFONTA* pFont,
const TEXTMETRICA* pMetric, DWORD fontType, LPARAM lParam );
277#elif defined(_PS4) || defined(_PS5)
279 static void* alloc(
void* pObject, u32 size );
281 static void free(
void* pObject,
void* pAddress );
283 static void* realloc(
void* pObject,
void* pAddress, u32 size );
285 static void* calloc(
void* pObject, u32 n, u32 size );
287 static void destroyMemoryCallback(GxNativeFontMemory* pMemory,
void* pObject,
void* pArgument);
310#elif defined(_PS4) || defined(_PS5)
311 GxNativeFontLibrary _fontLibrary;
312 GxNativeFontRenderer _fontRender;
313 GxNativeFontMemory* _pFontMemory;
314 GxNativeFontHandle _systemFontHandle;
315#elif defined(_XBOX_XS)
318 std::unique_ptr<DirectX::GraphicsMemory> _pGraphicsMemory;
327GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
@ RENDER_BUFFER_COUNT_MAX
トリプルバッファリング
Definition GxRender.h:20
FONT_LAYOUT
フォントレイアウト
Definition GxSysFont.h:18
配列クラス
Definition GxArray.h:18
constexpr u32 getCount(void) const
配列数を取得
Definition GxArray.h:132
オブジェクト基底クラス
Definition GxBase.h:88
JSON解析用ノード
Definition GxJson.h:108
算術演算クラス
Definition GxMath.h:84
テクスチャクラス
Definition GxRenderTexture.h:19
システム基底クラス
Definition GxSysBase.h:18
フォントシステム基礎クラス
Definition GxSysFont.h:104
void update(void) override
更新
Definition GxSysFont.cpp:159
void initializeRenderFont(GxFontRenderInformation *pRenderInformation, s32 fontIndex, f32 lineSpace, f32 size, b32 isBorder, f32 borderSize, FONT_LAYOUT layout, const GxSize &bufferSize, s32 renderTexturePitchSize, void *pFontBuffer, GxRenderTexture *pRenderTexture)
フォント描画初期化
Definition GxSysFont.cpp:182
constexpr u32 getUserFontCount(void) const
ユーザフォント数を取得
Definition GxSysFont.h:297
~GxSysFont(void) override
デストラクタ
Definition GxSysFont.h:224
void terminate(void) override
終了処理
Definition GxSysFont.cpp:146
GxSysFont(void)
コンストラクタ
Definition GxSysFont.cpp:55
b32 initialize(const GxClassBase *pInitialInformation) override
初期化
Definition GxSysFont.cpp:77
void copyRenderFont(GxFontRenderInformation *pRenderInformation, b32 isEndText, GX_CSTR baseText, GX_CSTR renderText, const GxSize &fontBufferSize, s32 renderTexturePitchSize, void *pFontBuffer, GxRenderTexture *pRenderTexture)
フォント描画コピー
Definition GxSysFont.cpp:316
シングルトン基礎クラス
Definition GxSingleton.h:19
static constexpr GxSysFont * getSingletonPointer(void)
Definition GxSingleton.h:59
色(HDR)
Definition GxColor.h:241
アフィン変換行列(行優先)
Definition GxMatrix.h:330
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
ワイド文字列型クラス(UTF-16用)
Definition GxString.h:430
2次元ベクトル
Definition GxVector.h:34
32bitブーリアン
Definition GxDefine.h:173