OROCHI
 
Loading...
Searching...
No Matches
GxFontTable.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14
15//---------------------------------------------------------------------------
16// タグのデータのpush/popマクロ
17//---------------------------------------------------------------------------
18#define FONTINFO_TAG_NUM_STACK 16
19#define FONTINFO_TAG_PUSH_VALUE(_Value, _Buffer, _StackInt) \
20 { \
21 _Buffer[_StackInt] = _Value; \
22 if(_StackInt != (FONTINFO_TAG_NUM_STACK-1)) { _StackInt ++; } \
23 }
24
25#define FONTINFO_TAG_POP_VALUE(_Value, _Buffer, _StackInt) \
26 { \
27 if(_StackInt != 0){ _StackInt --; \
28 _Value = _Buffer[_StackInt]; } \
29 else{ GX_MEMSET(&_Value, 0, sizeof(_Value)); } \
30 }
31//===========================================================================
33//===========================================================================
35{
36 //-----------------------------------------------------------
38 //-----------------------------------------------------------
40public:
41 // RTTI宣言
42 GX_RTTI_CLASS(GxFontTable, GxClassBase)
43
44
45 enum class FONT_INFOMATION
46 {
47 HEIGHT = 0,
48 DESCENT,
49 FONTSIZE,
52 MARGIN_U,
53 MARGIN_V,
56 USE_ICON,
57 };
58
60 enum class FONT_TABLE
61 {
62 CODE = 0,
64 START_U,
65 START_V,
70 CELLINC_X,
71 };
72
74 enum class ICON_INFOMATION
75 {
76 VERSION = 0,
78 MARGIN_U,
79 MARGIN_V,
80 };
81
83 enum class ICON_TABLE
84 {
85 CODE = 0,
87 START_U,
88 START_V,
93 CELLINC_X,
94 };
95
97 enum class TAG_TYPE
98 {
99 NONE = 0,
100 LINE_BREAK,
101 NO_DRAW,
106 PUSH_SIZE,
107 POP_SIZE,
108 ICON,
109 PUSH_FONT,
110 POP_FONT,
111 PUSH_RUBY,
112 POP_RUBY,
113 };
114
116 // note:GxUnitFontBmpから移動
117 enum class TEXT_ALIGN
118 {
119 LEFT_TOP = 0,
120 LEFT_CENTER = 1,
121 LEFT_BOTTOM = 2,
122 CENTER_TOP = 4,
123 CENTER_CENTER = 5,
124 CENTER_BOTTOM = 6,
125 RIGHT_TOP = 8,
126 RIGHT_CENTER = 9,
127 RIGHT_BOTTOM = 10,
128 LEFT_TOP_CENTER = 16,
129 LEFT_CENTER_CENTER = 17,
130 LEFT_BOTTOM_CENTER = 18,
131 JUSTIFY_TOP = 32,
132 MAX = 13
133 };
134#if GX_DEVELOP
136 GX_ENUM_TABLE_MAX(TEXT_ALIGN)
137#endif //GX_DEVELOP
138
139 struct TagInfo
140 {
141 //-----------------------------------------------------------
143 //-----------------------------------------------------------
145
149 , _fontSize(0)
150 {}
151
153 //-----------------------------------------------------------
155 //-----------------------------------------------------------
157
159 union
160 {
163 };
164
166 };
167
170 {
171 //-----------------------------------------------------------
173 //-----------------------------------------------------------
175 public:
176 // RTTI定義
177 GX_RTTI_CLASS(GxFontInformation, GxClassBase)
178 // new, delete定義
179 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
180
181
182 //-----------------------------------------------------------
184 //-----------------------------------------------------------
186
187 u32 _code;
191
197
199 };
200
203 {
204 //-----------------------------------------------------------
206 //-----------------------------------------------------------
208 public:
209 // RTTI定義
210 GX_RTTI_CLASS(GxFontAccessTable, GxClassBase)
211 // new, delete定義
212 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
213
214
215 //-----------------------------------------------------------
217 //-----------------------------------------------------------
219
221 GxFontAccessTable(void);
222
224 //-----------------------------------------------------------
226 //-----------------------------------------------------------
228
229 GxClassBase* _pObjectArray[256];
230
232 };
233
236 {
237 //-----------------------------------------------------------
239 //-----------------------------------------------------------
241 public:
242 // RTTI定義
244 // new, delete定義
245 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
246 // ClassBaseReference継承クラス用禁止宣言
248
249
250 //-----------------------------------------------------------
252 //-----------------------------------------------------------
254
258 void cleanup(void) override;
259
261 //-----------------------------------------------------------
263 //-----------------------------------------------------------
265
267 void loadResource(GX_CSTR path);
269 void createFontTable(void);
271 void releaseFontTable(void);
273 u32 getCountFontTableObject(void);
275 u8 getCode(u32 row, u32 byte);
277 void setUnregisteredChar(GX_CSTR chr);
278
280 //-----------------------------------------------------------
282 //-----------------------------------------------------------
284
298 GX_CHAR _unregisterChar[5];
299
302
304 };
305
308 {
309 //-----------------------------------------------------------
311 //-----------------------------------------------------------
313 public:
314 // RTTI定義
316 // new, delete定義
317 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::RESOURCE)
318 // ClassBaseReference継承クラス用禁止宣言
320
321
322 //-----------------------------------------------------------
324 //-----------------------------------------------------------
326
330 void cleanup(void) override;
331
333 //-----------------------------------------------------------
335 //-----------------------------------------------------------
337
339 void loadResource(GX_CSTR pathIcon);
341 void createFontTableIcon(void);
343 void releaseFontTableIcon(void);
345 u32 getCountFontTableObjectIcon(void);
346
348 //-----------------------------------------------------------
350 //-----------------------------------------------------------
352
361
363 };
364
367 {
368 //-----------------------------------------------------------
370 //-----------------------------------------------------------
372 public:
374 enum class MODE
375 {
376 TERM_OVER_LINES = 1,
377 TERM_LINE_BREAK = 2,
378 };
379
381 //-----------------------------------------------------------
383 //-----------------------------------------------------------
385
387 GxDrawFontQuery(u32 cursorStart, u32 cursorEnd, b32 useGmBlackBox = true, GxRect* pBuffer = nullptr, u32 bufferSize = 0)
388 : _cursorStart(cursorStart)
389 , _cursorEnd(cursorEnd)
390 , _useGmBlackBox(useGmBlackBox)
391 , _pSelectedRectBuffer(pBuffer)
392 , _selectedRectBufferSize(bufferSize)
393 , _mode(0)
394 {}
395
398 : _cursorStart(0)
399 , _cursorEnd(0)
400 , _useGmBlackBox(true)
401 , _pSelectedRectBuffer(nullptr)
402 , _selectedRectBufferSize(0)
403 , _mode(0)
404 {}
405
407 //-----------------------------------------------------------
409 //-----------------------------------------------------------
411
413 GX_FORCE_INLINE const GxRect& getRect(void) const { return _rect; }
415 GX_FORCE_INLINE const GxPoint2& getDrawCursorPosition(void) const { return _cursorPosition; }
417 constexpr u32 getSelectedRectCount(void) const { return _selectedRectCount; }
419 constexpr u32 getFirstLineByte(void) const { return _firstLineByte; }
421 constexpr u32 getOverLines(void) const { return _overLines; }
423 constexpr u32 getFirstLineBreakByte(void) const { return _firstLineBreakByte; }
425 constexpr void setMode(u32 mode) { _mode = mode; }
426
428 //-----------------------------------------------------------
430 //-----------------------------------------------------------
432
444 u32 _mode;
445
447 };
450 {
451 //-----------------------------------------------------------
453 //-----------------------------------------------------------
455 public:
457 GxDrawHitQuery(GxPoint2& xy, b32 useCursorMode = false, b32 useGmBlackBox = true)
458 : _position(xy)
459 , _useCursorMode(useCursorMode)
460 , _useGmBlackBox(useGmBlackBox)
461 {}
462
465 : _useCursorMode(false)
466 , _useGmBlackBox(true)
467 {}
468
470 //-----------------------------------------------------------
472 //-----------------------------------------------------------
474
476 GX_FORCE_INLINE void setPosition(GxPoint2& position) { _position = position; }
478 GX_FORCE_INLINE void setUseCursorMode(b32 use) { _useCursorMode = use; }
480 GX_FORCE_INLINE b32 getIsHit(void) const { return _isHit; }
482 GX_FORCE_INLINE const GxRect& getRect(void) const { return _rect; }
484 // 例としてUTF8の"あbc"のbは3を取得
485 constexpr u32 getByteOffset(void) const { return _byteOffset; }
487 // 例として"あbc" のbは1を取得
488 constexpr u32 getCharOffset(void) const { return _charOffset; }
490 // 例としてUTF8の"あ"は3を取得
491 constexpr u32 getCharWidth(void) const { return _charWidth; }
493 constexpr f32 getRatio(void) const { return _ratio; }
494
496 //-----------------------------------------------------------
498 //-----------------------------------------------------------
500
509 f32 _ratio;
510
512 };
513
514protected:
517 {
518 //-----------------------------------------------------------
520 //-----------------------------------------------------------
522
525 : _endIndex(0)
526 , _sizeCRLF(0)
527 , _numChar(0)
528 , _height(0)
529 , _offsetX(0)
530 {}
531
533 //-----------------------------------------------------------
535 //-----------------------------------------------------------
537
545
547 };
548
551 {
552 //-----------------------------------------------------------
554 //-----------------------------------------------------------
556
557 GxLineCondition(void){}
558
560 //-----------------------------------------------------------
562 //-----------------------------------------------------------
564
575
577 };
578
580 //-----------------------------------------------------------
582 //-----------------------------------------------------------
584
585public:
587 GxFontTable(void);
589 void setResource(GxFontTableInformation* pFontTableInformation, GxFontIconTableInformation* pIconTableInformation);
590
592 //-----------------------------------------------------------
594 //-----------------------------------------------------------
596
598 constexpr GxResTexture* getFontTexture(u32 no) const {return _ppResFontTextureTable[no];}
602 constexpr GxResTexture* getIconTexture(u32 no) const { return _textureNumIcon ? _ppResIconTextureTable[no] : nullptr; }
606 constexpr u32 getTextureNum(void) const { return _textureNum; }
608 constexpr f32 getTmHeight(void) const {return _tmHeight;}
610 constexpr f32 getTmDescent(void) const {return _tmDescent;}
612 constexpr u32 getFontSize(void) const {return _fontSize;}
614 GX_FORCE_INLINE b32 isDistanceFont(void) const {return _isDistanceFont;}
616 constexpr GxFontInformation* getFontInformationTable(void) const { return _pFontInformationTable; }
618 constexpr GxFontInformation* getFontInformationTableIcon(void) const { return _pFontInformationTableIcon; }
619
621 void getDrawRect(const GxFontInformation& information, GxFloat2& leftTop, GxFloat2& rightBottom, b32 isReferencePointIsBaseLine = false, b32 useMarginUV = false, b32 isIcon = false);
623 void getOuterRect(const GxFontInformation& information, GxFloat2& leftTop, GxFloat2& rightBottom, b32 isReferencePointIsBaseLine = false);
625 void getMaxInnerRect(const GxFontInformation& information, GxFloat2& leftTop, GxFloat2& rightBottom, b32 isReferencePointIsBaseLine = false);
627 void getUvRect(const GxFontInformation& information, GxFloat2& leftTop, GxFloat2& rightBottom, b32 useMarginUV = false, b32 isIcon = false);
629 void getDrawRectString( GxRect& dstRect, const GxPoint2& position, GX_CSTR string,
630 f32 fontScale, f32 scaleWidth = 1.0f,
631 b32 isSjis = false, b32 isUseLineBreak = true, b32 isReferencePointIsBaseLine = false, b32 isUseTextTag = false );
633 void getDrawQueryString( GxFontTable::GxDrawFontQuery& dstQuery, const GxSize& drawArea, const GxPoint2& position, GX_CSTR string,
634 f32 fontScale, f32 scaleWidth = 1.0f,
635 b32 isSjis = false, b32 isUseLineBreak = true, b32 isReferencePointIsBaseLine = false, b32 isUseTextTag = false,
636 TEXT_ALIGN align = TEXT_ALIGN::LEFT_TOP, s32 lineOffset = 0 );
638 void getDrawHitString( GxFontTable::GxDrawHitQuery& dstQuery, const GxSize& drawArea, const GxPoint2& position, GX_CSTR string,
639 f32 fontScale, f32 scaleWidth = 1.0f,
640 b32 isSjis = false, b32 isUseLineBreak = true, b32 isReferencePointIsBaseLine = false, b32 isUseTextTag = false, TEXT_ALIGN align = TEXT_ALIGN::LEFT_TOP, s32 lineOffset = 0);
641
642private:
644 static void releaseCountFontTableObject(GxFontAccessTable* pTable);
646 u8 getCode(u32 row, u32 byte);
648 void getLineInfo(GX_CSTR string, u32 length, b32 isSjis, const GxLineCondition& condition, GxLineInfo& lineInfo);
650 u8 getSizeCRLF(GX_CSTR string);
652 const GxFontInformation* getFontInformation(GX_CSTR string, b32 isSjis, u32& byteChar);
653
655 //-----------------------------------------------------------
657 //-----------------------------------------------------------
659private:
660 GxString _basePath;
661
662 GxFontInformation* _pFontInformationTable;
663 u32 _fontTableNum;
664 f32 _tmHeight;
665 f32 _tmDescent;
666 u32 _fontSize;
667 u32 _textureNum;
668 b32 _isDistanceFont;
669 u32 _marginU;
670 u32 _marginV;
671 f32 _maxGlyphOriginY;
672 f32 _maxBlackBoxY;
673 GX_CHAR _unregisterChar[5];
674
675 GxResTexture** _ppResFontTextureTable;
676
677 GxFontAccessTable* _pAccessTable;
678
679 // 文字コードを1バイトずつ使う変換用
680 union FontCode
681 {
683 FontCode(u32 value) :_code(value) {}
684
685 u32 _code;
686 u8 _char[4]; //1< 文字コード
687 };
688 GxFontInformation* _pFontInformationTableIcon;
689 u32 _iconTableNum;
690 u32 _textureNumIcon;
691 u32 _marginUIcon;
692 u32 _marginVIcon;
693 GxResTexture** _ppResIconTextureTable;
694 GxFontAccessTable* _pAccessTableIcon;
695
697};
698
699GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
オブジェクト基底クラス
Definition GxBase.h:88
参照オブジェクト基底クラス
Definition GxBase.h:122
フォント情報取得用構造体
Definition GxFontTable.h:367
u32 _selectedRectBufferSize
範囲選択矩形バッファの個数(入力)
Definition GxFontTable.h:439
u32 _firstLineByte
最初の1行のバイト数
Definition GxFontTable.h:441
u32 _cursorEnd
カーソル終了位置(入力)
Definition GxFontTable.h:436
u32 _firstLineBreakByte
最初に強制改行が発生した場所。先頭からのバイト数
Definition GxFontTable.h:443
constexpr u32 getOverLines(void) const
エリアからはみ出た行数を取得
Definition GxFontTable.h:421
constexpr void setMode(u32 mode)
検査モードを QUERY_MODE のビットマスクで指定
Definition GxFontTable.h:425
constexpr u32 getSelectedRectCount(void) const
範囲選択矩形バッファの個数を取得
Definition GxFontTable.h:417
GxRect _rect
文字全体の矩形
Definition GxFontTable.h:433
u32 _selectedRectCount
使用された範囲選択矩形バッファの個数を返す
Definition GxFontTable.h:440
constexpr u32 getFirstLineByte(void) const
最初の1行目のバイト数を取得
Definition GxFontTable.h:419
constexpr u32 getFirstLineBreakByte(void) const
強制改行が発生した位置(先頭からのバイト数)を取得
Definition GxFontTable.h:423
GxRect * _pSelectedRectBuffer
範囲選択矩形バッファ(入出力)
Definition GxFontTable.h:438
GX_FORCE_INLINE const GxRect & getRect(void) const
文字全体の矩形を取得
Definition GxFontTable.h:413
GxDrawFontQuery(void)
デフォルトコンストラクタ
Definition GxFontTable.h:397
MODE
検査モードビットマスク
Definition GxFontTable.h:375
u32 _overLines
エリアから下にはみ出た行数
Definition GxFontTable.h:442
u32 _mode
検査モード。QUERY_MODE のビットマスクで指定。
Definition GxFontTable.h:444
GxDrawFontQuery(u32 cursorStart, u32 cursorEnd, b32 useGmBlackBox=true, GxRect *pBuffer=nullptr, u32 bufferSize=0)
コンストラクタ
Definition GxFontTable.h:387
GX_FORCE_INLINE const GxPoint2 & getDrawCursorPosition(void) const
カーソルの描画位置を取得
Definition GxFontTable.h:415
GxPoint2 _cursorPosition
カーソル位置
Definition GxFontTable.h:434
u32 _cursorStart
カーソル開始位置(入力)
Definition GxFontTable.h:435
b32 _useGmBlackBox
rect のサイズにgmBlackBox(文字のぎりぎりサイズ)を使用する
Definition GxFontTable.h:437
フォント当たり判定情報取得用構造体
Definition GxFontTable.h:450
constexpr u32 getCharOffset(void) const
当たった文字列の先頭からのオフセット文字数を取得(先頭は0から、改行は含まない)
Definition GxFontTable.h:488
GxDrawHitQuery(void)
デストラクタ
Definition GxFontTable.h:464
constexpr f32 getRatio(void) const
文字の矩形のどのあたりにヒットしたかの割合(左側0.0~右側1.0)
Definition GxFontTable.h:493
constexpr u32 getCharWidth(void) const
当たった文字の1文字のバイトサイズを取得
Definition GxFontTable.h:491
GX_FORCE_INLINE const GxRect & getRect(void) const
文字の矩形を取得(当たった場合)
Definition GxFontTable.h:482
u32 _charOffset
当たった文字のオフセット文字数
Definition GxFontTable.h:507
GX_FORCE_INLINE b32 getIsHit(void) const
文字に当たったか判定
Definition GxFontTable.h:480
u32 _charWidth
当たった1文字のバイト数
Definition GxFontTable.h:508
GxDrawHitQuery(GxPoint2 &xy, b32 useCursorMode=false, b32 useGmBlackBox=true)
コンストラクタ
Definition GxFontTable.h:457
GX_FORCE_INLINE void setUseCursorMode(b32 use)
カーソル移動制御モードを設定
Definition GxFontTable.h:478
b32 _useGmBlackBox
当たり判定にgmBlackBox(文字のぎりぎりサイズ)を使用する
Definition GxFontTable.h:503
GX_FORCE_INLINE void setPosition(GxPoint2 &position)
検査したいスクリーン座標を設定
Definition GxFontTable.h:476
u32 _byteOffset
当たった文字のオフセットバイト
Definition GxFontTable.h:506
f32 _ratio
当たり場所の文字に対する割合
Definition GxFontTable.h:509
constexpr u32 getByteOffset(void) const
当たった文字列の先頭からのオフセットバイトを取得
Definition GxFontTable.h:485
GxRect _rect
当たった文字の矩形
Definition GxFontTable.h:505
b32 _useCursorMode
カーソル移動制御として改行を判定する(入力)
Definition GxFontTable.h:502
GxPoint2 _position
検査位置 (入力)
Definition GxFontTable.h:501
b32 _isHit
文字に当たったか
Definition GxFontTable.h:504
フォントアクセステーブル
Definition GxFontTable.h:203
フォントアイコンテーブル情報
Definition GxFontTable.h:308
u32 _iconTableNum
アイコンデータ数
Definition GxFontTable.h:355
u32 _marginUIcon
U座標マージンアイコン
Definition GxFontTable.h:357
GxFontInformation * _pFontInformationTableIcon
フォント情報テーブル
Definition GxFontTable.h:354
u32 _textureNumIcon
テクスチャ番号アイコン
Definition GxFontTable.h:356
GxString _path
パス
Definition GxFontTable.h:353
u32 _marginVIcon
V座標マージンアイコン
Definition GxFontTable.h:358
GxFontAccessTable * _pAccessTableIcon
アクセステーブルアイコン
Definition GxFontTable.h:360
GxResTexture ** _ppResIconTextureTable
アイコンテクスチャリソース
Definition GxFontTable.h:359
フォントテーブル情報
Definition GxFontTable.h:236
f32 _tmDescent
基準ライン下部の高さ
Definition GxFontTable.h:286
f32 _tmHeight
基準ライン上部の高さ
Definition GxFontTable.h:285
b32 _hasIcon
アイコンがあるか
Definition GxFontTable.h:301
GxFontInformation * _pFontInformationTable
フォント情報テーブル
Definition GxFontTable.h:295
GxResTexture ** _ppResFontTextureTable
フォントテクスチャリソース
Definition GxFontTable.h:296
u32 _marginU
U座標マージン
Definition GxFontTable.h:290
b32 _isDistanceFont
距離フォントか
Definition GxFontTable.h:289
u32 _fontTableNum
フォントテーブル数
Definition GxFontTable.h:294
GxFontAccessTable * _pAccessTable
フォントアクセステーブル
Definition GxFontTable.h:297
u32 _fontSize
フォントサイズ
Definition GxFontTable.h:287
u32 _marginV
V座標マージン
Definition GxFontTable.h:291
u32 _textureNum
テクスチャ番号
Definition GxFontTable.h:288
f32 _maxGlyphOriginY
最大基準Y座標
Definition GxFontTable.h:292
f32 _maxBlackBoxY
内包矩形の最大Y座標
Definition GxFontTable.h:293
GxString _path
パス
Definition GxFontTable.h:300
フォントテーブルアクセス
Definition GxFontTable.h:35
GxFontTable(void)
コンストラクタ
Definition GxFontTable.cpp:687
TAG_TYPE
タグの種類
Definition GxFontTable.h:98
@ LINE_BREAK
改行するタグ [~]
@ PUSH_ALIGN_HL
[l] 横位置左寄せ 開始 Horizontal Left
@ PUSH_FONT
フォント開始
@ POP_ALIGN_H
[/c][/r][/l] 横位置アライン 終了
@ POP_RUBY
ルビ終了
@ PUSH_RUBY
ルビ開始
@ POP_FONT
フォント終了
@ PUSH_ALIGN_HR
[r] 横位置右寄せ 開始 Horizontal Right
@ POP_SIZE
[/s] size 終了
@ NO_DRAW
サイズ計算に関係のないタグ[#aarrggbb][/#][(エスケープタグ)
@ PUSH_ALIGN_HC
[c] 横位置中央揃え 開始 Horizontal Center
@ NONE
タグなし
@ PUSH_SIZE
[s] size 開始
@ ICON
アイコンタグ
ICON_TABLE
配置テーブル.csv用定義
Definition GxFontTable.h:84
const GxFontTable::GxFontInformation * getFontInformationIcon(const u32 index)
アイコンの文字情報を取得する
Definition GxFontTable.cpp:887
constexpr u32 getTextureNum(void) const
テクスチャの枚数を取得
Definition GxFontTable.h:606
TEXT_ALIGN
テキスト揃え
Definition GxFontTable.h:118
@ LEFT_CENTER_CENTER
左中央
@ LEFT_TOP_CENTER
左上中央
@ LEFT_BOTTOM_CENTER
左下中央
FONT_TABLE
フォントテーブルアクセス用定義
Definition GxFontTable.h:61
@ CODE
文字コード
@ BLACKBOX_X
内包矩形のX座標
@ GLYPHORIGIN_Y
基準Y座標
@ CELLINC_X
セルのX座標
@ BLACKBOX_Y
内包矩形のY座標
@ START_U
開始U座標
@ TEXTURE_ID
テクスチャID
@ START_V
開始V座標
@ GLYPHORIGIN_X
基準X座標
constexpr f32 getTmHeight(void) const
文字全体の高さを取得
Definition GxFontTable.h:608
void getUvRect(const GxFontInformation &information, GxFloat2 &leftTop, GxFloat2 &rightBottom, b32 useMarginUV=false, b32 isIcon=false)
UVを求める
Definition GxFontTable.cpp:1015
void getDrawRect(const GxFontInformation &information, GxFloat2 &leftTop, GxFloat2 &rightBottom, b32 isReferencePointIsBaseLine=false, b32 useMarginUV=false, b32 isIcon=false)
描画位置の頂点を求める (文字ギリギリのサイズ)
Definition GxFontTable.cpp:937
constexpr GxFontInformation * getFontInformationTable(void) const
フォントテーブルを取得
Definition GxFontTable.h:616
constexpr GxResTexture * getIconTexture(u32 no) const
アイコンテクスチャ取得
Definition GxFontTable.h:602
const GxFontTable::GxFontInformation * getFontInformation(GX_CSTR text)
文字情報を取得する
Definition GxFontTable.cpp:811
void getDrawRectString(GxRect &dstRect, const GxPoint2 &position, GX_CSTR string, f32 fontScale, f32 scaleWidth=1.0f, b32 isSjis=false, b32 isUseLineBreak=true, b32 isReferencePointIsBaseLine=false, b32 isUseTextTag=false)
描画に必要な矩形を求める
Definition GxFontTable.cpp:1062
void getDrawHitString(GxFontTable::GxDrawHitQuery &dstQuery, const GxSize &drawArea, const GxPoint2 &position, GX_CSTR string, f32 fontScale, f32 scaleWidth=1.0f, b32 isSjis=false, b32 isUseLineBreak=true, b32 isReferencePointIsBaseLine=false, b32 isUseTextTag=false, TEXT_ALIGN align=TEXT_ALIGN::LEFT_TOP, s32 lineOffset=0)
当たりに必要な情報を求める
Definition GxFontTable.cpp:1487
GX_FORCE_INLINE b32 isDistanceFont(void) const
距離フォントか判定
Definition GxFontTable.h:614
constexpr GxResTexture * getFontTexture(u32 no) const
フォントテクスチャ取得
Definition GxFontTable.h:598
constexpr f32 getTmDescent(void) const
文字の下部の高さを取得
Definition GxFontTable.h:610
void getOuterRect(const GxFontInformation &information, GxFloat2 &leftTop, GxFloat2 &rightBottom, b32 isReferencePointIsBaseLine=false)
フォントの外側を求める (_tmHeight x _gmCellIncX の大きさ)
Definition GxFontTable.cpp:970
void getMaxInnerRect(const GxFontInformation &information, GxFloat2 &leftTop, GxFloat2 &rightBottom, b32 isReferencePointIsBaseLine=false)
フォントの最大内側を求める (高さ情報は登録されているフォントを包括するサイズ)
Definition GxFontTable.cpp:992
FONT_INFOMATION
テーブル情報用定義
Definition GxFontTable.h:46
@ DESCENT
基準ラインから下の高さ
@ MARGIN_U
U方向のマージン
@ MAX_BLACKBOX_Y
内包する高さ
@ USE_ICON
ユーザーアイコン
@ FONTSIZE
フォントサイズ
@ TEXTURE_NUM
テクスチャ番号
@ IS_DISTANCE
距離フォントか
@ MAX_ORIGIN_Y
基準ラインからの高さ
@ MARGIN_V
V方向のマージン
constexpr GxFontInformation * getFontInformationTableIcon(void) const
フォントアイコンテーブルを取得
Definition GxFontTable.h:618
constexpr u32 getFontSize(void) const
フォントサイズ取得
Definition GxFontTable.h:612
ICON_INFOMATION
設定.csv用定義
Definition GxFontTable.h:75
void getDrawQueryString(GxFontTable::GxDrawFontQuery &dstQuery, const GxSize &drawArea, const GxPoint2 &position, GX_CSTR string, f32 fontScale, f32 scaleWidth=1.0f, b32 isSjis=false, b32 isUseLineBreak=true, b32 isReferencePointIsBaseLine=false, b32 isUseTextTag=false, TEXT_ALIGN align=TEXT_ALIGN::LEFT_TOP, s32 lineOffset=0)
描画に必要な情報を求める
Definition GxFontTable.cpp:1086
void setResource(GxFontTableInformation *pFontTableInformation, GxFontIconTableInformation *pIconTableInformation)
リソースを設定する
Definition GxFontTable.cpp:716
テクスチャリソース
Definition GxResTexture.h:23
2次元浮動小数点数クラス
Definition GxStruct.h:22
フォント情報
Definition GxFontTable.h:170
f32 _gmCellIncX
セルのX座標
Definition GxFontTable.h:196
u32 _startU
テクスチャのピクセル数での値
Definition GxFontTable.h:189
u32 _code
文字コード
Definition GxFontTable.h:187
f32 _gmBlackBoxY
内包矩形Y座標
Definition GxFontTable.h:193
u32 _textureId
使用テクスチャID
Definition GxFontTable.h:188
f32 _gmGlyphOriginX
基準X座標
Definition GxFontTable.h:194
u32 _startV
テクスチャのピクセル数での値
Definition GxFontTable.h:190
f32 _gmGlyphOriginY
基準Y座標
Definition GxFontTable.h:195
f32 _gmBlackBoxX
内包矩形X座標
Definition GxFontTable.h:192
行走査条件
Definition GxFontTable.h:551
f32 _fontHeight
フォントの高さ
Definition GxFontTable.h:566
TEXT_ALIGN _alignArea
エリア全体のアライン情報
Definition GxFontTable.h:574
u32 _startIndex
開始インデックス
Definition GxFontTable.h:565
TEXT_ALIGN _align
今の行のアライン情報
Definition GxFontTable.h:573
s32 _widthMax
幅の最大値
Definition GxFontTable.h:569
b32 _isReferencePointIsBaseLine
参照位置がベースラインか
Definition GxFontTable.h:570
f32 _scaleBySizeTag
今の行のサイズタグの値
Definition GxFontTable.h:568
f32 _fontScaleWidth
フォント幅の拡大率
Definition GxFontTable.h:567
b32 _isUseLineBreak
改行を使用するか
Definition GxFontTable.h:571
b32 _isUseTextTag
テキストタグを使用するか
Definition GxFontTable.h:572
行情報
Definition GxFontTable.h:517
TEXT_ALIGN _alignNext
次行のアライン情報
Definition GxFontTable.h:544
GxLineInfo(void)
コンストラクタ
Definition GxFontTable.h:524
u32 _numChar
行の文字数
Definition GxFontTable.h:540
s32 _offsetX
横アラインメントによる位置のずれ量
Definition GxFontTable.h:543
u32 _endIndex
行終了の文字列位置
Definition GxFontTable.h:538
u8 _sizeCRLF
改行文字のバイトサイズ
Definition GxFontTable.h:539
s32 _height
行高さ
Definition GxFontTable.h:542
u32 _lineBreakIndex
行の文字数
Definition GxFontTable.h:541
Definition GxFontTable.h:140
TagInfo(void)
コンストラクタ
Definition GxFontTable.h:147
u32 _fontSize
フォントサイズ
Definition GxFontTable.h:161
u32 _iconIndex
アイコンインデックス
Definition GxFontTable.h:162
TAG_TYPE _type
タグの種類
Definition GxFontTable.h:158
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173