OROCHI
 
Loading...
Searching...
No Matches
GxResFont.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12GX_CORE_NAMESPACE_BEGIN()
13
14#if GX_DEVELOP
15//===========================================================================
17//===========================================================================
18class GxResFontTTF : public GxResBase
19{
20 //-------------------------------------------------------------
22 //-------------------------------------------------------------
24public:
25
26 // Rtti定義
27 GX_RTTI_RESOURCE( GxResFontTTF, GxResBase )
28 // ClassBaseReference継承クラス用禁止宣言
30
31
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36
38 GxResFontTTF(void);
40 void cleanup( void ) override;
42 virtual b32 load(GxStream& stream, u32 dataSize);
43
45 //-------------------------------------------------------------
47 //-------------------------------------------------------------
49
51 constexpr void* getFinalizeData ( void ) const { return _pFinalizedData; }
53 constexpr u32 getFinalizeDataSize ( void ) const { return _finalizedDataSize; }
54
56 //-----------------------------------------------------------
58 //-----------------------------------------------------------
60protected:
62 b32 save( GxStream& stream );
63
65 //-------------------------------------------------------------
67 //-------------------------------------------------------------
69protected:
70
71 void* _pFinalizedData;
72 u32 _finalizedDataSize;
73
75};
76
77//===========================================================================
79//===========================================================================
80class GxResFontTTFInterpolator : public GxResFontTTF
81{
82 //-----------------------------------------------------------
84 //-----------------------------------------------------------
86public:
87
88 // RTTI宣言
89 GX_RTTI_RESOURCE(GxResFontTTFInterpolator, GxResFontTTF)
90 // ClassBaseReference継承クラス用禁止宣言
91 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResFontTTFInterpolator);
92
94 //-----------------------------------------------------------
96 //-----------------------------------------------------------
98
100 GxResFontTTFInterpolator(void){}
101
103 //-----------------------------------------------------------
105 //-----------------------------------------------------------
107
109 GX_FORCE_INLINE b32 finalize(void){ return true; }
110
111protected:
112
114 b32 load(GxStream& stream, u32 dataSize) override;
116 b32 save(GxStream& stream);
117
119};
120
121
122//===========================================================================
124//===========================================================================
125class GxResFontOTF : public GxResBase
126{
127 //-------------------------------------------------------------
129 //-------------------------------------------------------------
131public:
132
133 // Rtti定義
134 GX_RTTI_RESOURCE( GxResFontOTF, GxResBase )
135 // ClassBaseReference継承クラス用禁止宣言
137
138
139 //-----------------------------------------------------------
141 //-----------------------------------------------------------
143
145 GxResFontOTF(void);
147 void cleanup( void ) override;
149 virtual b32 load(GxStream& stream, u32 dataSize);
150
152 //-------------------------------------------------------------
154 //-------------------------------------------------------------
156
158 constexpr void* getFinalizeData ( void ) const { return _pFinalizedData; }
160 constexpr u32 getFinalizeDataSize ( void ) const { return _finalizedDataSize; }
161
163 //-----------------------------------------------------------
165 //-----------------------------------------------------------
167protected:
168
170 b32 save( GxStream& stream );
171
173 //-------------------------------------------------------------
175 //-------------------------------------------------------------
177protected:
178
179 void* _pFinalizedData;
180 u32 _finalizedDataSize;
181
183};
184
185//===========================================================================
187//===========================================================================
188class GxResFontOTFInterpolator : public GxResFontOTF
189{
190 //-----------------------------------------------------------
192 //-----------------------------------------------------------
194public:
195
196 // RTTI宣言
197 GX_RTTI_RESOURCE(GxResFontOTFInterpolator, GxResFontOTF)
198 // ClassBaseReference継承クラス用禁止宣言
199 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResFontOTFInterpolator);
200
202 //-----------------------------------------------------------
204 //-----------------------------------------------------------
206
208 GxResFontOTFInterpolator(void){}
209
211 //-----------------------------------------------------------
213 //-----------------------------------------------------------
215
217 GX_FORCE_INLINE b32 finalize(void){ return true; }
218
219protected:
220
222 b32 load(GxStream& stream, u32 dataSize) override;
224 b32 save(GxStream& stream);
225
227};
228
229#if defined(_XBOX_XS)
230//===========================================================================
232//===========================================================================
233class GxResFontSprite : public GxResBase
234{
235 //-------------------------------------------------------------
237 //-------------------------------------------------------------
239public:
240 // RTTI定義
241 GX_RTTI_RESOURCE( GxResFontSprite, GxResBase )
242 // ClassBaseReference継承クラス用禁止宣言
243 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResFontSprite)
244
245
246 //-----------------------------------------------------------
248 //-----------------------------------------------------------
250
252 GxResFontSprite(void);
254 void cleanup( void ) override;
256 virtual b32 load(GxStream& stream, u32 dataSize);
257
259 //-------------------------------------------------------------
261 //-------------------------------------------------------------
263
265 constexpr void* getFinalizeData(void) const { return _pFinalizedData; }
267 constexpr u32 getFinalizeDataSize(void) const { return _finalizedDataSize; }
268
270 //-----------------------------------------------------------
272 //-----------------------------------------------------------
274protected:
276 b32 save( GxStream& stream );
277
279 //-------------------------------------------------------------
281 //-------------------------------------------------------------
283protected:
284
285 void* _pFinalizedData;
286 u32 _finalizedDataSize;
287
289};
290
291//===========================================================================
293//===========================================================================
294class GxResFontSpriteInterpolator : public GxResFontSprite
295{
296 //-----------------------------------------------------------
298 //-----------------------------------------------------------
300public:
301 // RTTI宣言
302 GX_RTTI_RESOURCE( GxResFontSpriteInterpolator, GxResFontSprite )
303 // ClassBaseReference継承クラス用禁止宣言
304 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxResFontSpriteInterpolator);
305
307 //-----------------------------------------------------------
309 //-----------------------------------------------------------
311
313 GxResFontSpriteInterpolator(void){}
314
316 //-----------------------------------------------------------
318 //-----------------------------------------------------------
320
322 GX_FORCE_INLINE b32 finalize(void){ return true; }
323
324protected:
326 b32 load(GxStream& stream, u32 dataSize) override;
328 b32 save(GxStream& stream);
329
331};
332#endif // _XBOX_XS
333#endif // GX_DEVELOP
334
335GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
リソース基底クラス
Definition GxResBase.h:23
void cleanup(void) override
解放
Definition GxResBase.cpp:74
b32 load(GxStream &stream, u32 size)
ロード
Definition GxResBase.h:394
ストリーム基礎クラス
Definition GxStream.h:20
32bitブーリアン
Definition GxDefine.h:173