1 // -------------------------------------------------------------------------------
2 //
3 //         DXライブラリ        ヘッダファイル
4 //
5 //                 Ver 3.22a
6 //
7 // -------------------------------------------------------------------------------
8 module dxlib_d.dxlib;
9 
10 
11 private static import core.stdc.config;
12 private static import core.stdc.stdarg;
13 public import dxlib_d.dxcompileconfig;
14 public import dxlib_d.dxdatatype;
15 
16 nothrow @nogc:
17 
18 // DXライブラリのバージョン
19 
20 /**
21  * DXライブラリのバージョン
22  */
23 enum DXLIB_VERSION = 0x322A;
24 
25 version (Unicode) {
26 	enum DXLIB_VERSION_STR_T = "3.22a"w;
27 } else {
28 	enum DXLIB_VERSION_STR_T = "3.22a";
29 }
30 
31 enum DXLIB_VERSION_STR_W = "3.22a"w;
32 
33 // 設定 -----------------------------------------------------------------------
34 
35 // DXライブラリに必要な lib ファイルを、プロジェクトのカレントフォルダや
36 // コンパイラのデフォルト LIB パスに設定せずに使用される場合は以下の
37 // コメントを外してください
38 //#define DX_LIB_NOT_DEFAULTPATH
39 
40 version (DX_MAKE) {
41 } else {
42 	// 描画関連の関数を一切使用されない場合は以下のコメントを外して下さい
43 	//#define DX_NOTUSE_DRAWFUNCTION
44 }
45 
46 // 定義---------------------------------------------------------------------------
47 
48 /**
49  * π
50  */
51 enum
52 {
53 	/**
54 	 * π
55 	 */
56 	DX_PI = 3.1415926535897932384626433832795,
57 
58 	/**
59 	 * π
60 	 */
61 	DX_PI_F = 3.1415926535897932384626433832795f,
62 
63 	/**
64 	 * π
65 	 */
66 	DX_TWO_PI = 3.1415926535897932384626433832795 * 2.0,
67 
68 	/**
69 	 * π
70 	 */
71 	DX_TWO_PI_F = 3.1415926535897932384626433832795f * 2.0f,
72 }
73 
74 /**
75  * ?
76  */
77 alias DX_CHAR = char;
78 
79 /**
80  * 最大数
81  */
82 enum
83 {
84 	/**
85 	 * 同時に持てるグラフィックハンドルの最大数( ハンドルエラーチェックのマスクに使用しているので 0x040000 以下の 2 のべき乗にして下さい )
86 	 */
87 	MAX_IMAGE_NUM = 0x040000,
88 
89 	/**
90 	 * 画像分割の最大数
91 	 */
92 	MAX_IMAGE_DIVNUM = 64,
93 
94 	/**
95 	 * シャドウマップデータの最大数
96 	 */
97 	MAX_SHADOWMAP_NUM = 8192,
98 
99 	/**
100 	 * 同時に持てるソフトイメージハンドルの最大数( ハンドルエラーチェックのマスクに使用しているので 0x040000 以下の 2 のべき乗にして下さい )
101 	 */
102 	MAX_SOFTIMAGE_NUM = 8192,
103 
104 	/**
105 	 * 同時に持てるサウンドハンドルの最大数
106 	 */
107 	MAX_SOUND_NUM = 32768,
108 
109 	/**
110 	 * 同時に持てるソフトウエアサウンドハンドルの最大数
111 	 */
112 	MAX_SOFTSOUND_NUM = 8192,
113 
114 	/**
115 	 * 同時に持てるミュージックハンドルの最大数
116 	 */
117 	MAX_MUSIC_NUM = 256,
118 
119 	/**
120 	 * 同時に持てるムービーハンドルの最大数
121 	 */
122 	MAX_MOVIE_NUM = 100,
123 
124 	/**
125 	 * 同時に持てるマスクハンドルの最大数
126 	 */
127 	MAX_MASK_NUM = 32768,
128 
129 	/**
130 	 * 同時に持てるフォントハンドルの最大数
131 	 */
132 	MAX_FONT_NUM = 40,
133 
134 	/**
135 	 * 同時に持てる文字列入力ハンドルの最大数
136 	 */
137 	MAX_INPUT_NUM = 256,
138 
139 	/**
140 	 * 同時に持てる通信ハンドルの最大数
141 	 */
142 	MAX_SOCKET_NUM = 8192,
143 
144 	/**
145 	 * 同時に持てるライトハンドルの最大数
146 	 */
147 	MAX_LIGHT_NUM = 4096,
148 
149 	/**
150 	 * 同時に持てるシェーダーハンドルの最大数
151 	 */
152 	MAX_SHADER_NUM = 4096,
153 
154 	/**
155 	 * 同時に持てる定数バッファハンドルの最大数
156 	 */
157 	MAX_CONSTANT_BUFFER_NUM = 32768,
158 
159 	/**
160 	 * 同時に持てる3Dモデル基本データハンドルの最大数
161 	 */
162 	MAX_MODEL_BASE_NUM = 32768,
163 
164 	/**
165 	 * 同時に持てる3Dモデルデータハンドルの最大数
166 	 */
167 	MAX_MODEL_NUM = 32768,
168 
169 	/**
170 	 * 同時に持てる頂点バッファハンドルの最大数
171 	 */
172 	MAX_VERTEX_BUFFER_NUM = 16384,
173 
174 	/**
175 	 * 同時に持てるインデックスバッファの最大数
176 	 */
177 	MAX_INDEX_BUFFER_NUM = 16384,
178 
179 	/**
180 	 * 同時に持てるファイルハンドルの最大数
181 	 */
182 	MAX_FILE_NUM = 32768,
183 
184 	/**
185 	 * 同時に持てる Live2D Cubism 4 Model ハンドルの最大数
186 	 */
187 	MAX_LIVE2D_CUBISM4_MODEL_NUM = 32768,
188 
189 	/**
190 	 * ジョイパッドの最大数
191 	 */
192 	MAX_JOYPAD_NUM = 16,
193 
194 	/**
195 	 * ユーザーが登録できるグラフィックロード関数の最大数
196 	 */
197 	MAX_USERIMAGEREAD_FUNCNUM = 10,
198 }
199 
200 /**
201  * デフォルト値
202  */
203 enum
204 {
205 	/**
206 	 * デフォルトの画面の幅
207 	 */
208 	DEFAULT_SCREEN_SIZE_X = 640,
209 
210 	/**
211 	 * デフォルトの画面の高さ
212 	 */
213 	DEFAULT_SCREEN_SIZE_Y = 480,
214 
215 	/**
216 	 * デフォルトの色ビット深度
217 	 */
218 	DEFAULT_COLOR_BITDEPTH = 16,
219 
220 	/**
221 	 * デフォルトのZバッファビット深度
222 	 */
223 	DEFAULT_ZBUFFER_BITDEPTH = 16,
224 
225 	/**
226 	 * デフォルトの視野角
227 	 */
228 	DEFAULT_FOV = 60.0F * 3.1415926535897932384626433832795F / 180.0F,
229 
230 	/**
231 	 * tan( FOV * 0.5 )
232 	 */
233 	DEFAULT_TAN_FOV_HALF = 0.57735026918962576450914878050196F,
234 
235 	/**
236 	 * NEARクリップ面
237 	 */
238 	DEFAULT_NEAR = 0.0F,
239 
240 	/**
241 	 * FARクリップ面
242 	 */
243 	DEFAULT_FAR = 20000.0F,
244 
245 	/**
246 	 * デフォルトフォントを示す値
247 	 */
248 	DX_DEFAULT_FONT_HANDLE = -2,
249 
250 	/**
251 	 * フォントのデフォルトのサイズ
252 	 */
253 	DEFAULT_FONT_SIZE = 16,
254 
255 	/**
256 	 * フォントのデフォルトの太さ
257 	 */
258 	DEFAULT_FONT_THINCK = 6,
259 
260 	/**
261 	 * フォントのデフォルトの形態
262 	 */
263 	DEFAULT_FONT_TYPE = DX_FONTTYPE_NORMAL,
264 
265 	/**
266 	 * フォントのデフォルトの太さ
267 	 */
268 	DEFAULT_FONT_EDGESIZE = 1,
269 }
270 
271 /**
272  * WINDOWSのバージョンマクロ
273  */
274 enum
275 {
276 	/**
277 	 * WINDOWSのバージョンマクロ
278 	 */
279 	DX_WINDOWSVERSION_31 = 0x0000,
280 
281 	/**
282 	 * WINDOWSのバージョンマクロ
283 	 */
284 	DX_WINDOWSVERSION_95 = 0x0001,
285 
286 	/**
287 	 * WINDOWSのバージョンマクロ
288 	 */
289 	DX_WINDOWSVERSION_98 = 0x0002,
290 
291 	/**
292 	 * WINDOWSのバージョンマクロ
293 	 */
294 	DX_WINDOWSVERSION_ME = 0x0003,
295 
296 	/**
297 	 * WINDOWSのバージョンマクロ
298 	 */
299 	DX_WINDOWSVERSION_NT31 = 0x0104,
300 
301 	/**
302 	 * WINDOWSのバージョンマクロ
303 	 */
304 	DX_WINDOWSVERSION_NT40 = 0x0105,
305 
306 	/**
307 	 * WINDOWSのバージョンマクロ
308 	 */
309 	DX_WINDOWSVERSION_2000 = 0x0106,
310 
311 	/**
312 	 * WINDOWSのバージョンマクロ
313 	 */
314 	DX_WINDOWSVERSION_XP = 0x0107,
315 
316 	/**
317 	 * WINDOWSのバージョンマクロ
318 	 */
319 	DX_WINDOWSVERSION_VISTA = 0x0108,
320 
321 	/**
322 	 * WINDOWSのバージョンマクロ
323 	 */
324 	DX_WINDOWSVERSION_7 = 0x0109,
325 
326 	/**
327 	 * WINDOWSのバージョンマクロ
328 	 */
329 	DX_WINDOWSVERSION_8 = 0x010A,
330 
331 	/**
332 	 * WINDOWSのバージョンマクロ
333 	 */
334 	DX_WINDOWSVERSION_8_1 = 0x010B,
335 
336 	/**
337 	 * WINDOWSのバージョンマクロ
338 	 */
339 	DX_WINDOWSVERSION_10 = 0x010C,
340 
341 	/**
342 	 * WINDOWSのバージョンマクロ
343 	 */
344 	DX_WINDOWSVERSION_NT_TYPE = 0x0100,
345 }
346 
347 /**
348  * DirectXのバージョン
349  */
350 enum
351 {
352 	/**
353 	 * DirectXのバージョン
354 	 */
355 	DX_DIRECTXVERSION_NON = 0,
356 
357 	/**
358 	 * DirectXのバージョン
359 	 */
360 	DX_DIRECTXVERSION_1 = 0x010000,
361 
362 	/**
363 	 * DirectXのバージョン
364 	 */
365 	DX_DIRECTXVERSION_2 = 0x020000,
366 
367 	/**
368 	 * DirectXのバージョン
369 	 */
370 	DX_DIRECTXVERSION_3 = 0x030000,
371 
372 	/**
373 	 * DirectXのバージョン
374 	 */
375 	DX_DIRECTXVERSION_4 = 0x040000,
376 
377 	/**
378 	 * DirectXのバージョン
379 	 */
380 	DX_DIRECTXVERSION_5 = 0x050000,
381 
382 	/**
383 	 * DirectXのバージョン
384 	 */
385 	DX_DIRECTXVERSION_6 = 0x060000,
386 
387 	/**
388 	 * DirectXのバージョン
389 	 */
390 	DX_DIRECTXVERSION_6_1 = 0x060100,
391 
392 	/**
393 	 * DirectXのバージョン
394 	 */
395 	DX_DIRECTXVERSION_7 = 0x070000,
396 
397 	/**
398 	 * DirectXのバージョン
399 	 */
400 	DX_DIRECTXVERSION_8 = 0x080000,
401 
402 	/**
403 	 * DirectXのバージョン
404 	 */
405 	DX_DIRECTXVERSION_8_1 = 0x080100,
406 }
407 
408 /**
409  * Direct3Dのバージョン
410  */
411 enum
412 {
413 	/**
414 	 * Direct3Dのバージョン
415 	 */
416 	DX_DIRECT3D_NONE = 0,
417 
418 	/**
419 	 * Direct3Dのバージョン
420 	 */
421 	DX_DIRECT3D_9 = 1,
422 
423 	/**
424 	 * Direct3Dのバージョン
425 	 */
426 	DX_DIRECT3D_9EX = 2,
427 
428 	/**
429 	 * Direct3Dのバージョン
430 	 */
431 	DX_DIRECT3D_11 = 3,
432 }
433 
434 /**
435  * Direct3D11 の Feature Level
436  */
437 enum
438 {
439 	/**
440 	 * Direct3D11 の Feature Level
441 	 */
442 	DX_DIRECT3D_11_FEATURE_LEVEL_9_1 = 0x9100,
443 
444 	/**
445 	 * Direct3D11 の Feature Level
446 	 */
447 	DX_DIRECT3D_11_FEATURE_LEVEL_9_2 = 0x9200,
448 
449 	/**
450 	 * Direct3D11 の Feature Level
451 	 */
452 	DX_DIRECT3D_11_FEATURE_LEVEL_9_3 = 0x9300,
453 
454 	/**
455 	 * Direct3D11 の Feature Level
456 	 */
457 	DX_DIRECT3D_11_FEATURE_LEVEL_10_0 = 0xA000,
458 
459 	/**
460 	 * Direct3D11 の Feature Level
461 	 */
462 	DX_DIRECT3D_11_FEATURE_LEVEL_10_1 = 0xA100,
463 
464 	/**
465 	 * Direct3D11 の Feature Level
466 	 */
467 	DX_DIRECT3D_11_FEATURE_LEVEL_11_0 = 0xB000,
468 
469 	/**
470 	 * Direct3D11 の Feature Level
471 	 */
472 	DX_DIRECT3D_11_FEATURE_LEVEL_11_1 = 0xB100,
473 }
474 
475 /**
476  * 文字セット
477  */
478 enum
479 {
480 	/**
481 	 * デフォルト文字セット
482 	 */
483 	DX_CHARSET_DEFAULT = 0,
484 
485 	/**
486 	 * シフトJIS
487 	 */
488 	DX_CHARSET_SHFTJIS = 1,
489 
490 	/**
491 	 * ハングル文字セット
492 	 */
493 	DX_CHARSET_HANGEUL = 2,
494 
495 	/**
496 	 * 繁体文字セット
497 	 */
498 	DX_CHARSET_BIG5 = 3,
499 
500 	/**
501 	 * 簡体文字セット
502 	 */
503 	DX_CHARSET_GB2312 = 4,
504 
505 	/**
506 	 * 欧文(ラテン文字の文字コード)
507 	 */
508 	DX_CHARSET_WINDOWS_1252 = 5,
509 
510 	/**
511 	 * 欧文(ラテン文字の文字コード)
512 	 */
513 	DX_CHARSET_ISO_IEC_8859_15 = 6,
514 
515 	/**
516 	 * UTF-8
517 	 */
518 	DX_CHARSET_UTF8 = 7,
519 
520 	/**
521 	 * 文字セットの数
522 	 */
523 	DX_CHARSET_NUM = 8,
524 }
525 
526 /**
527  * 文字コード形式
528  */
529 enum
530 {
531 	/**
532 	 * シフトJISコード
533 	 */
534 	DX_CHARCODEFORMAT_SHIFTJIS = 932,
535 
536 	/**
537 	 * 簡体字文字コード
538 	 */
539 	DX_CHARCODEFORMAT_GB2312 = 936,
540 
541 	/**
542 	 * ハングル文字コード
543 	 */
544 	DX_CHARCODEFORMAT_UHC = 949,
545 
546 	/**
547 	 * 繁体文字コード
548 	 */
549 	DX_CHARCODEFORMAT_BIG5 = 950,
550 
551 	/**
552 	 * UTF-16 リトルエンディアン
553 	 */
554 	DX_CHARCODEFORMAT_UTF16LE = 1200,
555 
556 	/**
557 	 * UTF-16 ビッグエンディアン
558 	 */
559 	DX_CHARCODEFORMAT_UTF16BE = 1201,
560 
561 	/**
562 	 * 欧文(ラテン文字の文字コード)
563 	 */
564 	DX_CHARCODEFORMAT_WINDOWS_1252 = 1252,
565 
566 	/**
567 	 * 欧文(ラテン文字の文字コード)
568 	 */
569 	DX_CHARCODEFORMAT_ISO_IEC_8859_15 = 32764,
570 
571 	/**
572 	 * UTF-8
573 	 */
574 	DX_CHARCODEFORMAT_UTF8 = 65001,
575 
576 	/**
577 	 * アスキー文字コード
578 	 */
579 	DX_CHARCODEFORMAT_ASCII = 32765,
580 
581 	/**
582 	 * UTF-32 リトルエンディアン
583 	 */
584 	DX_CHARCODEFORMAT_UTF32LE = 32766,
585 
586 	/**
587 	 * UTF-32 ビッグエンディアン
588 	 */
589 	DX_CHARCODEFORMAT_UTF32BE = 32767,
590 }
591 
592 /**
593  * MIDIの演奏モード定義
594  */
595 enum
596 {
597 	/**
598 	 * MCIによる演奏
599 	 */
600 	DX_MIDIMODE_MCI = 0,
601 
602 	/**
603 	 * DirectMusicによる演奏
604 	 */
605 	DX_MIDIMODE_DM = 1,
606 
607 	/**
608 	 * DirectMusic(リバーブあり)による演奏
609 	 */
610 	DX_MIDIMODE_DIRECT_MUSIC_REVERB = 1,
611 
612 	/**
613 	 * DirectMusic(リバーブなし)による演奏
614 	 */
615 	DX_MIDIMODE_DIRECT_MUSIC_NORMAL = 2,
616 
617 	/**
618 	 * MIDIの演奏モードの数
619 	 */
620 	DX_MIDIMODE_NUM = 3,
621 }
622 
623 /**
624  * 描画モード定義
625  */
626 enum
627 {
628 	/**
629 	 * ネアレストネイバー法で描画
630 	 */
631 	DX_DRAWMODE_NEAREST = 0,
632 
633 	/**
634 	 * バイリニア法で描画する
635 	 */
636 	DX_DRAWMODE_BILINEAR = 1,
637 
638 	/**
639 	 * 異方性フィルタリング法で描画する
640 	 */
641 	DX_DRAWMODE_ANISOTROPIC = 2,
642 
643 	/**
644 	 * それ以外
645 	 */
646 	DX_DRAWMODE_OTHER = 3,
647 
648 	/**
649 	 * 描画モードの数
650 	 */
651 	DX_DRAWMODE_NUM = 4,
652 }
653 
654 /**
655  * フォントのタイプ
656  */
657 enum
658 {
659 	/**
660 	 * ノーマルフォント
661 	 */
662 	DX_FONTTYPE_NORMAL = 0x00,
663 
664 	/**
665 	 * エッジつきフォント
666 	 */
667 	DX_FONTTYPE_EDGE = 0x01,
668 
669 	/**
670 	 * アンチエイリアスフォント( 標準機能アンチエイリアス )
671 	 */
672 	DX_FONTTYPE_ANTIALIASING = 0x02,
673 
674 	/**
675 	 * アンチエイリアスフォント( 4x4サンプリング )
676 	 */
677 	DX_FONTTYPE_ANTIALIASING_4X4 = 0x12,
678 
679 	/**
680 	 * アンチエイリアスフォント( 8x8サンプリング )
681 	 */
682 	DX_FONTTYPE_ANTIALIASING_8X8 = 0x22,
683 
684 	/**
685 	 * アンチエイリアス&エッジ付きフォント( 標準機能アンチエイリアス )
686 	 */
687 	DX_FONTTYPE_ANTIALIASING_EDGE = 0x03,
688 
689 	/**
690 	 * アンチエイリアス&エッジ付きフォント( 4x4サンプリング )
691 	 */
692 	DX_FONTTYPE_ANTIALIASING_EDGE_4X4 = 0x13,
693 
694 	/**
695 	 * アンチエイリアス&エッジ付きフォント( 8x8サンプリング )
696 	 */
697 	DX_FONTTYPE_ANTIALIASING_EDGE_8X8 = 0x23,
698 }
699 
700 /**
701  * フォント画像の階調ビット数
702  */
703 enum
704 {
705 	/**
706 	 * フォント画像の階調ビット数
707 	 */
708 	DX_FONTIMAGE_BIT_1 = 0,
709 
710 	/**
711 	 * フォント画像の階調ビット数
712 	 */
713 	DX_FONTIMAGE_BIT_4 = 1,
714 
715 	/**
716 	 * フォント画像の階調ビット数
717 	 */
718 	DX_FONTIMAGE_BIT_8 = 2,
719 }
720 
721 /**
722  * 描画ブレンドモード定義
723  */
724 enum
725 	{
726 	/**
727 	 * ノーブレンド
728 	 */
729 	DX_BLENDMODE_NOBLEND = 0,
730 
731 	/**
732 	 * αブレンド
733 	 */
734 	DX_BLENDMODE_ALPHA = 1,
735 
736 	/**
737 	 * 加算ブレンド
738 	 */
739 	DX_BLENDMODE_ADD = 2,
740 
741 	/**
742 	 * 減算ブレンド
743 	 */
744 	DX_BLENDMODE_SUB = 3,
745 
746 	/**
747 	 * 乗算ブレンド
748 	 */
749 	DX_BLENDMODE_MUL = 4,
750 
751 	// (内部処理用)
752 
753 	/**
754 	 * 内部処理用減算ブレンド2
755 	 */
756 	DX_BLENDMODE_SUB2 = 5,
757 
758 	// 境界線ぼかし
759 	//DX_BLENDMODE_BLINEALPHA = 7,
760 
761 	/**
762 	 * XORブレンド( ソフトウエアレンダリングモードでのみ有効 )
763 	 */
764 	DX_BLENDMODE_XOR = 6,
765 
766 	/**
767 	 * カラーは更新されない
768 	 */
769 	DX_BLENDMODE_DESTCOLOR = 8,
770 
771 	/**
772 	 * 描画先の色の反転値を掛ける
773 	 */
774 	DX_BLENDMODE_INVDESTCOLOR = 9,
775 
776 	/**
777 	 * 描画元の色を反転する
778 	 */
779 	DX_BLENDMODE_INVSRC = 10,
780 
781 	/**
782 	 * アルファチャンネル考慮付き乗算ブレンド
783 	 */
784 	DX_BLENDMODE_MULA = 11,
785 
786 	/**
787 	 * αブレンドの描画元の輝度を最大4倍にできるモード
788 	 */
789 	DX_BLENDMODE_ALPHA_X4 = 12,
790 
791 	/**
792 	 * 加算ブレンドの描画元の輝度を最大4倍にできるモード
793 	 */
794 	DX_BLENDMODE_ADD_X4 = 13,
795 
796 	/**
797 	 * 描画元のカラーでそのまま描画される
798 	 */
799 	DX_BLENDMODE_SRCCOLOR = 14,
800 
801 	/**
802 	 * 半加算ブレンド
803 	 */
804 	DX_BLENDMODE_HALF_ADD = 15,
805 
806 	/**
807 	 * 内部処理用減算ブレンド1
808 	 */
809 	DX_BLENDMODE_SUB1 = 16,
810 
811 	/**
812 	 * 乗算済みαブレンドモードのαブレンド
813 	 */
814 	DX_BLENDMODE_PMA_ALPHA = 17,
815 
816 	/**
817 	 * 乗算済みαブレンドモードの加算ブレンド
818 	 */
819 	DX_BLENDMODE_PMA_ADD = 18,
820 
821 	/**
822 	 * 乗算済みαブレンドモードの減算ブレンド
823 	 */
824 	DX_BLENDMODE_PMA_SUB = 19,
825 
826 	/**
827 	 * 乗算済みαブレンドモードの描画元の色を反転する
828 	 */
829 	DX_BLENDMODE_PMA_INVSRC = 20,
830 
831 	/**
832 	 * 乗算済みαブレンドモードのαブレンドの描画元の輝度を最大4倍にできるモード
833 	 */
834 	DX_BLENDMODE_PMA_ALPHA_X4 = 21,
835 
836 	/**
837 	 * 乗算済みαブレンドモードの加算ブレンドの描画元の輝度を最大4倍にできるモード
838 	 */
839 	DX_BLENDMODE_PMA_ADD_X4 = 22,
840 
841 	/**
842 	 * Live2D のブレンドモード Zero 用
843 	 */
844 	DX_BLENDMODE_LIVE2D_ZERO = 23,
845 
846 	/**
847 	 * Live2D のブレンドモード Normal 用
848 	 */
849 	DX_BLENDMODE_LIVE2D_NORMAL = 24,
850 
851 	/**
852 	 * Live2D のブレンドモード Add 用
853 	 */
854 	DX_BLENDMODE_LIVE2D_ADD = 25,
855 
856 	/**
857 	 * Live2D のブレンドモード Mult 用
858 	 */
859 	DX_BLENDMODE_LIVE2D_MULT = 26,
860 
861 	/**
862 	 * Live2D のブレンドモード Mask 用
863 	 */
864 	DX_BLENDMODE_LIVE2D_MASK = 27,
865 
866 	/**
867 	 * ブレンドモードの数
868 	 */
869 	DX_BLENDMODE_NUM = 28,
870 }
871 
872 /**
873  * DrawGraphF 等の浮動小数点値で座標を指定する関数における座標タイプ
874  */
875 enum
876 {
877 	/**
878 	 * Direct3D9タイプ( -0.5f の補正を行わないとテクスチャのピクセルが綺麗にマップされないタイプ )
879 	 */
880 	DX_DRAWFLOATCOORDTYPE_DIRECT3D9 = 0,
881 
882 	/**
883 	 * Direct3D10タイプ( -0.5f の補正を行わななくてもテクスチャのピクセルが綺麗にマップされるタイプ )
884 	 */
885 	DX_DRAWFLOATCOORDTYPE_DIRECT3D10 = 1,
886 }
887 
888 /**
889  * 画像合成タイプ
890  */
891 enum
892 {
893 	/**
894 	 * 通常合成
895 	 */
896 	DX_BLENDGRAPHTYPE_NORMAL = 0,
897 
898 	/**
899 	 * ワイプ処理
900 	 */
901 	DX_BLENDGRAPHTYPE_WIPE = 1,
902 
903 	/**
904 	 * ブレンド画像のα値と元画像のα値を掛け合わせる
905 	 */
906 	DX_BLENDGRAPHTYPE_ALPHA = 2,
907 
908 	/**
909 	 * ?
910 	 */
911 	DX_BLENDGRAPHTYPE_NUM = 3,
912 }
913 
914 /**
915  * 画像合成座標タイプ
916  */
917 enum
918 {
919 	/**
920 	 * 描画する画像基準で合成画像の座標を決定
921 	 */
922 	DX_BLENDGRAPH_POSMODE_DRAWGRAPH = 0,
923 
924 	/**
925 	 * スクリーン座標基準で合成画像の座標を決定
926 	 */
927 	DX_BLENDGRAPH_POSMODE_SCREEN = 1,
928 
929 	/**
930 	 * ?
931 	 */
932 	DX_BLENDGRAPH_POSMODE_NUM = 2,
933 }
934 
935 /**
936  * グラフィックフィルタータイプ
937  */
938 enum
939 {
940 	/**
941 	 * モノトーンフィルタ
942 	 */
943 	DX_GRAPH_FILTER_MONO = 0,
944 
945 	/**
946 	 * ガウスフィルタ
947 	 */
948 	DX_GRAPH_FILTER_GAUSS = 1,
949 
950 	/**
951 	 * 縮小フィルタ
952 	 */
953 	DX_GRAPH_FILTER_DOWN_SCALE = 2,
954 
955 	/**
956 	 * 明るさクリップフィルタ
957 	 */
958 	DX_GRAPH_FILTER_BRIGHT_CLIP = 3,
959 
960 	/**
961 	 * 指定の明るさ領域を拡大するフィルタ
962 	 */
963 	DX_GRAPH_FILTER_BRIGHT_SCALE = 4,
964 
965 	/**
966 	 * 色相・彩度・明度フィルタ
967 	 */
968 	DX_GRAPH_FILTER_HSB = 5,
969 
970 	/**
971 	 * 階調の反転フィルタ
972 	 */
973 	DX_GRAPH_FILTER_INVERT = 6,
974 
975 	/**
976 	 * レベル補正フィルタ
977 	 */
978 	DX_GRAPH_FILTER_LEVEL = 7,
979 
980 	/**
981 	 * 2階調化フィルタ
982 	 */
983 	DX_GRAPH_FILTER_TWO_COLOR = 8,
984 
985 	/**
986 	 * グラデーションマップフィルタ
987 	 */
988 	DX_GRAPH_FILTER_GRADIENT_MAP = 9,
989 
990 	/**
991 	 * 色の置換
992 	 */
993 	DX_GRAPH_FILTER_REPLACEMENT = 10,
994 
995 	/**
996 	 * 通常のアルファチャンネル付き画像を乗算済みアルファ画像に変換するフィルタ
997 	 */
998 	DX_GRAPH_FILTER_PREMUL_ALPHA = 11,
999 
1000 	/**
1001 	 * 乗算済みα画像を通常のアルファチャンネル付き画像に変換するフィルタ
1002 	 */
1003 	DX_GRAPH_FILTER_INTERP_ALPHA = 12,
1004 
1005 	/**
1006 	 * YUVカラーをRGBカラーに変換するフィルタ
1007 	 */
1008 	DX_GRAPH_FILTER_YUV_TO_RGB = 13,
1009 
1010 	/**
1011 	 * YUVカラーをRGBカラーに変換するフィルタ( UV成分が Y成分の半分・又は4分の1( 横・縦片方若しくは両方 )の解像度しかない場合用 )
1012 	 */
1013 	DX_GRAPH_FILTER_Y2UV1_TO_RGB = 14,
1014 
1015 	/**
1016 	 * YUVカラーをRGBカラーに変換するフィルタ( 且つ右側半分のRの値をアルファ値として扱う )
1017 	 */
1018 	DX_GRAPH_FILTER_YUV_TO_RGB_RRA = 15,
1019 
1020 	/**
1021 	 * YUVカラーをRGBカラーに変換するフィルタ( UV成分が Y成分の半分・又は4分の1( 横・縦片方若しくは両方 )の解像度しかない場合用 )( 且つ右側半分のRの値をアルファ値として扱う )
1022 	 */
1023 	DX_GRAPH_FILTER_Y2UV1_TO_RGB_RRA = 16,
1024 
1025 	/**
1026 	 * バイキュービックを使用した拡大・縮小フィルタ
1027 	 */
1028 	DX_GRAPH_FILTER_BICUBIC_SCALE = 17,
1029 
1030 	/**
1031 	 * Lanczos-3を使用した拡大・縮小フィルタ
1032 	 */
1033 	DX_GRAPH_FILTER_LANCZOS3_SCALE = 18,
1034 
1035 	/**
1036 	 * 明るさクリップフィルタ(乗算済みアルファ画像用)
1037 	 */
1038 	DX_GRAPH_FILTER_PMA_BRIGHT_CLIP = 19,
1039 
1040 	/**
1041 	 * 指定の明るさ領域を拡大するフィルタ(乗算済みアルファ画像用)
1042 	 */
1043 	DX_GRAPH_FILTER_PMA_BRIGHT_SCALE = 20,
1044 
1045 	/**
1046 	 * 色相・彩度・明度フィルタ(乗算済みアルファ画像用)
1047 	 */
1048 	DX_GRAPH_FILTER_PMA_HSB = 21,
1049 
1050 	/**
1051 	 * 階調の反転フィルタ(乗算済みアルファ画像用)
1052 	 */
1053 	DX_GRAPH_FILTER_PMA_INVERT = 22,
1054 
1055 	/**
1056 	 * レベル補正フィルタ(乗算済みアルファ画像用)
1057 	 */
1058 	DX_GRAPH_FILTER_PMA_LEVEL = 23,
1059 
1060 	/**
1061 	 * 2階調化フィルタ(乗算済みアルファ画像用)
1062 	 */
1063 	DX_GRAPH_FILTER_PMA_TWO_COLOR = 24,
1064 
1065 	/**
1066 	 * グラデーションマップフィルタ(乗算済みアルファ画像用)
1067 	 */
1068 	DX_GRAPH_FILTER_PMA_GRADIENT_MAP = 25,
1069 
1070 	/**
1071 	 * 色の置換(乗算済みアルファ画像用)
1072 	 */
1073 	DX_GRAPH_FILTER_PMA_REPLACEMENT = 26,
1074 
1075 	/**
1076 	 * グラフィックフィルタータイプの数
1077 	 */
1078 	DX_GRAPH_FILTER_NUM = 27,
1079 }
1080 
1081 /**
1082  * グラフィックブレンドタイプ
1083  */
1084 enum
1085 {
1086 	/**
1087 	 * 通常
1088 	 */
1089 	DX_GRAPH_BLEND_NORMAL = 0,
1090 
1091 	/**
1092 	 * RGBAの要素を選択して合成
1093 	 */
1094 	DX_GRAPH_BLEND_RGBA_SELECT_MIX = 1,
1095 
1096 	/**
1097 	 * 乗算
1098 	 */
1099 	DX_GRAPH_BLEND_MULTIPLE = 2,
1100 
1101 	/**
1102 	 * 減算
1103 	 */
1104 	DX_GRAPH_BLEND_DIFFERENCE = 3,
1105 
1106 	/**
1107 	 * 加算
1108 	 */
1109 	DX_GRAPH_BLEND_ADD = 4,
1110 
1111 	/**
1112 	 * スクリーン
1113 	 */
1114 	DX_GRAPH_BLEND_SCREEN = 5,
1115 
1116 	/**
1117 	 * オーバーレイ
1118 	 */
1119 	DX_GRAPH_BLEND_OVERLAY = 6,
1120 
1121 	/**
1122 	 * 覆い焼き
1123 	 */
1124 	DX_GRAPH_BLEND_DODGE = 7,
1125 
1126 	/**
1127 	 * 焼き込み
1128 	 */
1129 	DX_GRAPH_BLEND_BURN = 8,
1130 
1131 	/**
1132 	 * 比較(暗)
1133 	 */
1134 	DX_GRAPH_BLEND_DARKEN = 9,
1135 
1136 	/**
1137 	 * 比較(明)
1138 	 */
1139 	DX_GRAPH_BLEND_LIGHTEN = 10,
1140 
1141 	/**
1142 	 * ソフトライト
1143 	 */
1144 	DX_GRAPH_BLEND_SOFTLIGHT = 11,
1145 
1146 	/**
1147 	 * ハードライト
1148 	 */
1149 	DX_GRAPH_BLEND_HARDLIGHT = 12,
1150 
1151 	/**
1152 	 * 除外
1153 	 */
1154 	DX_GRAPH_BLEND_EXCLUSION = 13,
1155 
1156 	/**
1157 	 * αチャンネル付き画像の通常合成
1158 	 */
1159 	DX_GRAPH_BLEND_NORMAL_ALPHACH = 14,
1160 
1161 	/**
1162 	 * αチャンネル付き画像の加算合成
1163 	 */
1164 	DX_GRAPH_BLEND_ADD_ALPHACH = 15,
1165 
1166 	/**
1167 	 * アルファチャンネルのみの乗算
1168 	 */
1169 	DX_GRAPH_BLEND_MULTIPLE_A_ONLY = 16,
1170 
1171 	/**
1172 	 * 通常( 乗算済みα画像用 )
1173 	 */
1174 	DX_GRAPH_BLEND_PMA_NORMAL = 17,
1175 
1176 	/**
1177 	 * RGBAの要素を選択して合成( 乗算済みα画像用 )
1178 	 */
1179 	DX_GRAPH_BLEND_PMA_RGBA_SELECT_MIX = 18,
1180 
1181 	/**
1182 	 * 乗算( 乗算済みα画像用 )
1183 	 */
1184 	DX_GRAPH_BLEND_PMA_MULTIPLE = 19,
1185 
1186 	/**
1187 	 * 減算( 乗算済みα画像用 )
1188 	 */
1189 	DX_GRAPH_BLEND_PMA_DIFFERENCE = 20,
1190 
1191 	/**
1192 	 * 加算( 乗算済みα画像用 )
1193 	 */
1194 	DX_GRAPH_BLEND_PMA_ADD = 21,
1195 
1196 	/**
1197 	 * スクリーン( 乗算済みα画像用 )
1198 	 */
1199 	DX_GRAPH_BLEND_PMA_SCREEN = 22,
1200 
1201 	/**
1202 	 * オーバーレイ( 乗算済みα画像用 )
1203 	 */
1204 	DX_GRAPH_BLEND_PMA_OVERLAY = 23,
1205 
1206 	/**
1207 	 * 覆い焼き( 乗算済みα画像用 )
1208 	 */
1209 	DX_GRAPH_BLEND_PMA_DODGE = 24,
1210 
1211 	/**
1212 	 * 焼き込み( 乗算済みα画像用 )
1213 	 */
1214 	DX_GRAPH_BLEND_PMA_BURN = 25,
1215 
1216 	/**
1217 	 * 比較(暗)( 乗算済みα画像用 )
1218 	 */
1219 	DX_GRAPH_BLEND_PMA_DARKEN = 26,
1220 
1221 	/**
1222 	 * 比較(明)( 乗算済みα画像用 )
1223 	 */
1224 	DX_GRAPH_BLEND_PMA_LIGHTEN = 27,
1225 
1226 	/**
1227 	 * ソフトライト( 乗算済みα画像用 )
1228 	 */
1229 	DX_GRAPH_BLEND_PMA_SOFTLIGHT = 28,
1230 
1231 	/**
1232 	 * ハードライト( 乗算済みα画像用 )
1233 	 */
1234 	DX_GRAPH_BLEND_PMA_HARDLIGHT = 29,
1235 
1236 	/**
1237 	 * 除外( 乗算済みα画像用 )
1238 	 */
1239 	DX_GRAPH_BLEND_PMA_EXCLUSION = 30,
1240 
1241 	/**
1242 	 * αチャンネル付き画像の通常合成( 乗算済みα画像用 )
1243 	 */
1244 	DX_GRAPH_BLEND_PMA_NORMAL_ALPHACH = 31,
1245 
1246 	/**
1247 	 * αチャンネル付き画像の加算合成( 乗算済みα画像用 )
1248 	 */
1249 	DX_GRAPH_BLEND_PMA_ADD_ALPHACH = 32,
1250 
1251 	/**
1252 	 * アルファチャンネルのみの乗算( 乗算済みα画像用 )
1253 	 */
1254 	DX_GRAPH_BLEND_PMA_MULTIPLE_A_ONLY = 33,
1255 
1256 	/**
1257 	 * ?
1258 	 */
1259 	DX_GRAPH_BLEND_NUM = 34,
1260 }
1261 
1262 /**
1263  * DX_GRAPH_BLEND_RGBA_SELECT_MIX 用の色選択用定義
1264  */
1265 enum
1266 {
1267 	/**
1268 	 * 元画像の赤成分
1269 	 */
1270 	DX_RGBA_SELECT_SRC_R = 0,
1271 
1272 	/**
1273 	 * 元画像の緑成分
1274 	 */
1275 	DX_RGBA_SELECT_SRC_G = 1,
1276 
1277 	/**
1278 	 * 元画像の青成分
1279 	 */
1280 	DX_RGBA_SELECT_SRC_B = 2,
1281 
1282 	/**
1283 	 * 元画像のα成分
1284 	 */
1285 	DX_RGBA_SELECT_SRC_A = 3,
1286 
1287 	/**
1288 	 * ブレンド画像の赤成分
1289 	 */
1290 	DX_RGBA_SELECT_BLEND_R = 4,
1291 
1292 	/**
1293 	 * ブレンド画像の緑成分
1294 	 */
1295 	DX_RGBA_SELECT_BLEND_G = 5,
1296 
1297 	/**
1298 	 * ブレンド画像の青成分
1299 	 */
1300 	DX_RGBA_SELECT_BLEND_B = 6,
1301 
1302 	/**
1303 	 * ブレンド画像のα成分
1304 	 */
1305 	DX_RGBA_SELECT_BLEND_A = 7,
1306 
1307 	/**
1308 	 * 元画像の赤成分を反転したもの
1309 	 */
1310 	DX_RGBA_SELECT_SRC_INV_R = 8,
1311 
1312 	/**
1313 	 * 元画像の緑成分を反転したもの
1314 	 */
1315 	DX_RGBA_SELECT_SRC_INV_G = 9,
1316 
1317 	/**
1318 	 * 元画像の青成分を反転したもの
1319 	 */
1320 	DX_RGBA_SELECT_SRC_INV_B = 10,
1321 
1322 	/**
1323 	 * 元画像のα成分を反転したもの
1324 	 */
1325 	DX_RGBA_SELECT_SRC_INV_A = 11,
1326 
1327 	/**
1328 	 * ブレンド画像の赤成分を反転したもの
1329 	 */
1330 	DX_RGBA_SELECT_BLEND_INV_R = 12,
1331 
1332 	/**
1333 	 * ブレンド画像の緑成分を反転したもの
1334 	 */
1335 	DX_RGBA_SELECT_BLEND_INV_G = 13,
1336 
1337 	/**
1338 	 * ブレンド画像の青成分を反転したもの
1339 	 */
1340 	DX_RGBA_SELECT_BLEND_INV_B = 14,
1341 
1342 	/**
1343 	 * ブレンド画像のα成分を反転したもの
1344 	 */
1345 	DX_RGBA_SELECT_BLEND_INV_A = 15,
1346 }
1347 
1348 /**
1349  * フィルモード
1350  */
1351 enum
1352 {
1353 	/**
1354 	 * ワイヤーフレーム
1355 	 */
1356 	DX_FILL_WIREFRAME = 2,
1357 
1358 	/**
1359 	 * ポリゴン
1360 	 */
1361 	DX_FILL_SOLID = 3,
1362 }
1363 
1364 /**
1365  * ポリゴンカリングモード
1366  */
1367 enum
1368 {
1369 	/**
1370 	 * カリングなし
1371 	 */
1372 	DX_CULLING_NONE = 0,
1373 
1374 	/**
1375 	 * 背面を左回りでカリング
1376 	 */
1377 	DX_CULLING_LEFT = 1,
1378 
1379 	/**
1380 	 * 背面を右回りでカリング
1381 	 */
1382 	DX_CULLING_RIGHT = 2,
1383 
1384 	/**
1385 	 * カリングモードの数
1386 	 */
1387 	DX_CULLING_NUM = 3,
1388 }
1389 
1390 /**
1391  * クリッピング方向
1392  */
1393 enum
1394 {
1395 	/**
1396 	 * 画面左方向にクリップ
1397 	 */
1398 	DX_CAMERACLIP_LEFT = 0x01,
1399 
1400 	/**
1401 	 * 画面右方向にクリップ
1402 	 */
1403 	DX_CAMERACLIP_RIGHT = 0x02,
1404 
1405 	/**
1406 	 * 画面下方向にクリップ
1407 	 */
1408 	DX_CAMERACLIP_BOTTOM = 0x04,
1409 
1410 	/**
1411 	 * 画面上方向にクリップ
1412 	 */
1413 	DX_CAMERACLIP_TOP = 0x08,
1414 
1415 	/**
1416 	 * 画面後方向にクリップ
1417 	 */
1418 	DX_CAMERACLIP_BACK = 0x10,
1419 
1420 	/**
1421 	 * 画面前方向にクリップ
1422 	 */
1423 	DX_CAMERACLIP_FRONT = 0x20,
1424 }
1425 
1426 /**
1427  * MV1モデルの頂点タイプ
1428  */
1429 enum
1430 {
1431 	/**
1432 	 * 1フレームの影響を受ける頂点
1433 	 */
1434 	DX_MV1_VERTEX_TYPE_1FRAME = 0,
1435 
1436 	/**
1437 	 * 1〜4フレームの影響を受ける頂点
1438 	 */
1439 	DX_MV1_VERTEX_TYPE_4FRAME = 1,
1440 
1441 	/**
1442 	 * 5〜8フレームの影響を受ける頂点
1443 	 */
1444 	DX_MV1_VERTEX_TYPE_8FRAME = 2,
1445 
1446 	/**
1447 	 * 9フレーム以上の影響を受ける頂点
1448 	 */
1449 	DX_MV1_VERTEX_TYPE_FREE_FRAME = 3,
1450 
1451 	/**
1452 	 * 法線マップ用の情報が含まれる1フレームの影響を受ける頂点
1453 	 */
1454 	DX_MV1_VERTEX_TYPE_NMAP_1FRAME = 4,
1455 
1456 	/**
1457 	 * 法線マップ用の情報が含まれる1〜4フレームの影響を受ける頂点
1458 	 */
1459 	DX_MV1_VERTEX_TYPE_NMAP_4FRAME = 5,
1460 
1461 	/**
1462 	 * 法線マップ用の情報が含まれる5〜8フレームの影響を受ける頂点
1463 	 */
1464 	DX_MV1_VERTEX_TYPE_NMAP_8FRAME = 6,
1465 
1466 	/**
1467 	 * 法線マップ用の情報が含まれる9フレーム以上の影響を受ける頂点
1468 	 */
1469 	DX_MV1_VERTEX_TYPE_NMAP_FREE_FRAME = 7,
1470 
1471 	/**
1472 	 * 頂点タイプの数
1473 	 */
1474 	DX_MV1_VERTEX_TYPE_NUM = 8,
1475 }
1476 
1477 /**
1478  * メッシュの種類
1479  */
1480 enum
1481 {
1482 	/**
1483 	 * 普通のメッシュ
1484 	 */
1485 	DX_MV1_MESHCATEGORY_NORMAL = 0,
1486 
1487 	/**
1488 	 * 輪郭線描画用メッシュ
1489 	 */
1490 	DX_MV1_MESHCATEGORY_OUTLINE = 1,
1491 
1492 	/**
1493 	 * 輪郭線描画用メッシュ( オリジナルシェーダーでの描画用 )
1494 	 */
1495 	DX_MV1_MESHCATEGORY_OUTLINE_ORIG_SHADER = 2,
1496 
1497 	/**
1498 	 * メッシュの種類の数
1499 	 */
1500 	DX_MV1_MESHCATEGORY_NUM = 3,
1501 }
1502 
1503 /**
1504  * シェイプ率の適用タイプ
1505  */
1506 enum
1507 {
1508 	/**
1509 	 * 元の値に加算
1510 	 */
1511 	DX_MV1_SHAPERATE_ADD = 0,
1512 
1513 	/**
1514 	 * 元の値に上書き
1515 	 */
1516 	DX_MV1_SHAPERATE_OVERWRITE = 1,
1517 }
1518 
1519 /**
1520  * MV1ファイルの保存タイプ
1521  */
1522 enum
1523 {
1524 	/**
1525 	 * メッシュ情報のみ保存
1526 	 */
1527 	MV1_SAVETYPE_MESH = 0x0001,
1528 
1529 	/**
1530 	 * アニメーション情報のみ保存
1531 	 */
1532 	MV1_SAVETYPE_ANIM = 0x0002,
1533 
1534 	/**
1535 	 * 通常保存
1536 	 */
1537 	MV1_SAVETYPE_NORMAL = MV1_SAVETYPE_MESH | MV1_SAVETYPE_ANIM,
1538 }
1539 
1540 /**
1541  * アニメーションキーデータタイプ
1542  */
1543 enum
1544 {
1545 	/**
1546 	 * 回転
1547 	 */
1548 	MV1_ANIMKEY_DATATYPE_ROTATE = 0,
1549 
1550 	/**
1551 	 * 回転X
1552 	 */
1553 	MV1_ANIMKEY_DATATYPE_ROTATE_X = 1,
1554 
1555 	/**
1556 	 * 回転Y
1557 	 */
1558 	MV1_ANIMKEY_DATATYPE_ROTATE_Y = 2,
1559 
1560 	/**
1561 	 * 回転Z
1562 	 */
1563 	MV1_ANIMKEY_DATATYPE_ROTATE_Z = 3,
1564 
1565 	/**
1566 	 * 拡大
1567 	 */
1568 	MV1_ANIMKEY_DATATYPE_SCALE = 5,
1569 
1570 	/**
1571 	 * スケールX
1572 	 */
1573 	MV1_ANIMKEY_DATATYPE_SCALE_X = 6,
1574 
1575 	/**
1576 	 * スケールY
1577 	 */
1578 	MV1_ANIMKEY_DATATYPE_SCALE_Y = 7,
1579 
1580 	/**
1581 	 * スケールZ
1582 	 */
1583 	MV1_ANIMKEY_DATATYPE_SCALE_Z = 8,
1584 
1585 	/**
1586 	 * 平行移動
1587 	 */
1588 	MV1_ANIMKEY_DATATYPE_TRANSLATE = 10,
1589 
1590 	/**
1591 	 * 平行移動X
1592 	 */
1593 	MV1_ANIMKEY_DATATYPE_TRANSLATE_X = 11,
1594 
1595 	/**
1596 	 * 平行移動Y
1597 	 */
1598 	MV1_ANIMKEY_DATATYPE_TRANSLATE_Y = 12,
1599 
1600 	/**
1601 	 * 平行移動Z
1602 	 */
1603 	MV1_ANIMKEY_DATATYPE_TRANSLATE_Z = 13,
1604 
1605 	/**
1606 	 * 4×4行列の4列目( 0,0,0,1 )固定版
1607 	 */
1608 	MV1_ANIMKEY_DATATYPE_MATRIX4X4C = 15,
1609 
1610 	/**
1611 	 * 3×3行列
1612 	 */
1613 	MV1_ANIMKEY_DATATYPE_MATRIX3X3 = 17,
1614 
1615 	/**
1616 	 * シェイプ
1617 	 */
1618 	MV1_ANIMKEY_DATATYPE_SHAPE = 18,
1619 
1620 	/**
1621 	 * その他
1622 	 */
1623 	MV1_ANIMKEY_DATATYPE_OTHRE = 20,
1624 }
1625 
1626 /**
1627  * タイムタイプ
1628  */
1629 enum
1630 {
1631 	/**
1632 	 * 時間情報は全体で1つ
1633 	 */
1634 	MV1_ANIMKEY_TIME_TYPE_ONE = 0,
1635 
1636 	/**
1637 	 * 時間情報は各キーに1つ
1638 	 */
1639 	MV1_ANIMKEY_TIME_TYPE_KEY = 1,
1640 }
1641 
1642 /**
1643  * アニメーションキータイプ
1644  */
1645 enum
1646 {
1647 	/**
1648 	 * クォータニオン( Xファイルタイプ )
1649 	 */
1650 	MV1_ANIMKEY_TYPE_QUATERNION_X = 0,
1651 
1652 	/**
1653 	 * ベクター
1654 	 */
1655 	MV1_ANIMKEY_TYPE_VECTOR = 1,
1656 
1657 	/**
1658 	 * 4×4行列の4列目( 0,0,0,1 )固定版
1659 	 */
1660 	MV1_ANIMKEY_TYPE_MATRIX4X4C = 2,
1661 
1662 	/**
1663 	 * 3×3行列
1664 	 */
1665 	MV1_ANIMKEY_TYPE_MATRIX3X3 = 3,
1666 
1667 	/**
1668 	 * フラット
1669 	 */
1670 	MV1_ANIMKEY_TYPE_FLAT = 4,
1671 
1672 	/**
1673 	 * 線形補間
1674 	 */
1675 	MV1_ANIMKEY_TYPE_LINEAR = 5,
1676 
1677 	/**
1678 	 * 混合
1679 	 */
1680 	MV1_ANIMKEY_TYPE_BLEND = 6,
1681 
1682 	/**
1683 	 * クォータニオン( VMDタイプ )
1684 	 */
1685 	MV1_ANIMKEY_TYPE_QUATERNION_VMD = 7,
1686 }
1687 
1688 /**
1689  * 描画先画面指定用定義
1690  */
1691 enum
1692 {
1693 	/**
1694 	 * ?
1695 	 */
1696 	DX_SCREEN_FRONT = 0xFFFFFFFC,
1697 
1698 	/**
1699 	 * ?
1700 	 */
1701 	DX_SCREEN_BACK = 0xFFFFFFFE,
1702 
1703 	/**
1704 	 * ?
1705 	 */
1706 	DX_SCREEN_WORK = 0xFFFFFFFD,
1707 
1708 	/**
1709 	 * ?
1710 	 */
1711 	DX_SCREEN_TEMPFRONT = 0xFFFFFFF0,
1712 
1713 	/**
1714 	 * ?
1715 	 */
1716 	DX_SCREEN_OTHER = 0xFFFFFFFA,
1717 }
1718 
1719 /**
1720  * グラフィックなしハンドル
1721  */
1722 enum DX_NONE_GRAPH = 0xFFFFFFFB;
1723 
1724 /**
1725  * グラフィック減色時の画像劣化緩和処理モード
1726  */
1727 enum
1728 {
1729 	/**
1730 	 * 画像劣化緩和処理を行わない
1731 	 */
1732 	DX_SHAVEDMODE_NONE = 0,
1733 
1734 	/**
1735 	 * ディザリング
1736 	 */
1737 	DX_SHAVEDMODE_DITHER = 1,
1738 
1739 	/**
1740 	 * 誤差拡散
1741 	 */
1742 	DX_SHAVEDMODE_DIFFUS = 2,
1743 }
1744 
1745 /**
1746  * 画像の保存タイプ
1747  */
1748 enum
1749 {
1750 	/**
1751 	 * bitmap
1752 	 */
1753 	DX_IMAGESAVETYPE_BMP = 0,
1754 
1755 	/**
1756 	 * jpeg
1757 	 */
1758 	DX_IMAGESAVETYPE_JPEG = 1,
1759 
1760 	/**
1761 	 * Png
1762 	 */
1763 	DX_IMAGESAVETYPE_PNG = 2,
1764 
1765 	/**
1766 	 * Direct Draw Surface
1767 	 */
1768 	DX_IMAGESAVETYPE_DDS = 3,
1769 }
1770 
1771 /**
1772  * サウンド再生形態指定用定義
1773  */
1774 enum
1775 {
1776 	/**
1777 	 * ループ再生ビット
1778 	 */
1779 	DX_PLAYTYPE_LOOPBIT = 0x0002,
1780 
1781 	/**
1782 	 * バックグラウンド再生ビット
1783 	 */
1784 	DX_PLAYTYPE_BACKBIT = 0x0001,
1785 
1786 	/**
1787 	 * ノーマル再生
1788 	 */
1789 	DX_PLAYTYPE_NORMAL = 0,
1790 
1791 	/**
1792 	 * バックグラウンド再生
1793 	 */
1794 	DX_PLAYTYPE_BACK = DX_PLAYTYPE_BACKBIT,
1795 
1796 	/**
1797 	 * ループ再生
1798 	 */
1799 	DX_PLAYTYPE_LOOP = DX_PLAYTYPE_LOOPBIT | DX_PLAYTYPE_BACKBIT,
1800 }
1801 
1802 /**
1803  * 動画再生タイプ定義
1804  */
1805 enum
1806 {
1807 	/**
1808 	 * ボタンキャンセルあり
1809 	 */
1810 	DX_MOVIEPLAYTYPE_BCANCEL = 0,
1811 
1812 	/**
1813 	 * ボタンキャンセルなし
1814 	 */
1815 	DX_MOVIEPLAYTYPE_NORMAL = 1,
1816 }
1817 
1818 /**
1819  * サウンドのタイプ
1820  */
1821 enum
1822 {
1823 	/**
1824 	 * ノーマルサウンド形式
1825 	 */
1826 	DX_SOUNDTYPE_NORMAL = 0,
1827 
1828 	/**
1829 	 * ストリーム風サウンド形式
1830 	 */
1831 	DX_SOUNDTYPE_STREAMSTYLE = 1,
1832 }
1833 
1834 /**
1835  * サウンドデータタイプのマクロ
1836  */
1837 enum
1838 {
1839 	/**
1840 	 * 圧縮された全データは再生が始まる前にサウンドメモリにすべて解凍され、格納される
1841 	 */
1842 	DX_SOUNDDATATYPE_MEMNOPRESS = 0,
1843 
1844 	/**
1845 	 * 圧縮された全データはシステムメモリに格納され、再生しながら逐次解凍され、最終的にすべてサウンドメモリに格納される(その後システムメモリに存在する圧縮データは破棄される)
1846 	 */
1847 	DX_SOUNDDATATYPE_MEMNOPRESS_PLUS = 1,
1848 
1849 	/**
1850 	 * 圧縮された全データはシステムメモリに格納され、再生する部分だけ逐次解凍しながらサウンドメモリに格納する(鳴らし終わると解凍したデータは破棄されるので何度も解凍処理が行われる)
1851 	 */
1852 	DX_SOUNDDATATYPE_MEMPRESS = 2,
1853 
1854 	/**
1855 	 * 圧縮されたデータの再生する部分だけファイルから逐次読み込み解凍され、サウンドメモリに格納される(鳴らし終わると解凍したデータは破棄されるので何度も解凍処理が行われる)
1856 	 */
1857 	DX_SOUNDDATATYPE_FILE = 3,
1858 }
1859 
1860 /**
1861  * サウンドの取得する再生時間タイプ
1862  */
1863 enum
1864 {
1865 	/**
1866 	 * 低レベルAPIを使用してより正確な再生時間を取得する
1867 	 */
1868 	DX_SOUNDCURRENTTIME_TYPE_LOW_LEVEL = 0,
1869 
1870 	/**
1871 	 * APIは使用せず、ソフトウェア処理レベルでの再生時間を取得する
1872 	 */
1873 	DX_SOUNDCURRENTTIME_TYPE_SOFT = 1,
1874 }
1875 
1876 /**
1877  * 読み込み処理のタイプ
1878  */
1879 enum
1880 {
1881 	/**
1882 	 * PCM の読み込み処理
1883 	 */
1884 	DX_READSOUNDFUNCTION_PCM = 1 << 0,
1885 
1886 	/**
1887 	 * Ogg Vorbis の読み込み処理
1888 	 */
1889 	DX_READSOUNDFUNCTION_OGG = 1 << 1,
1890 
1891 	/**
1892 	 * Opus の読み込み処理
1893 	 */
1894 	DX_READSOUNDFUNCTION_OPUS = 1 << 2,
1895 
1896 	/**
1897 	 * 環境非依存の読み込み処理タイプの数
1898 	 */
1899 	DX_READSOUNDFUNCTION_DEFAULT_NUM = 3,
1900 }
1901 
1902 /**
1903  * 3Dサウンドリバーブエフェクトのプリセット
1904  */
1905 enum
1906 {
1907 	/**
1908 	 * デフォルト
1909 	 */
1910 	DX_REVERB_PRESET_DEFAULT = 0,
1911 
1912 	/**
1913 	 * 一般的な空間
1914 	 */
1915 	DX_REVERB_PRESET_GENERIC = 1,
1916 
1917 	/**
1918 	 * 精神病患者室(?)
1919 	 */
1920 	DX_REVERB_PRESET_PADDEDCELL = 2,
1921 
1922 	/**
1923 	 * 部屋
1924 	 */
1925 	DX_REVERB_PRESET_ROOM = 3,
1926 
1927 	/**
1928 	 * バスルーム
1929 	 */
1930 	DX_REVERB_PRESET_BATHROOM = 4,
1931 
1932 	/**
1933 	 * リビングルーム
1934 	 */
1935 	DX_REVERB_PRESET_LIVINGROOM = 5,
1936 
1937 	/**
1938 	 * 石の部屋
1939 	 */
1940 	DX_REVERB_PRESET_STONEROOM = 6,
1941 
1942 	/**
1943 	 * 講堂
1944 	 */
1945 	DX_REVERB_PRESET_AUDITORIUM = 7,
1946 
1947 	/**
1948 	 * コンサートホール
1949 	 */
1950 	DX_REVERB_PRESET_CONCERTHALL = 8,
1951 
1952 	/**
1953 	 * 洞穴
1954 	 */
1955 	DX_REVERB_PRESET_CAVE = 9,
1956 
1957 	/**
1958 	 * 舞台
1959 	 */
1960 	DX_REVERB_PRESET_ARENA = 10,
1961 
1962 	/**
1963 	 * 格納庫
1964 	 */
1965 	DX_REVERB_PRESET_HANGAR = 11,
1966 
1967 	/**
1968 	 * カーペットが敷かれた玄関
1969 	 */
1970 	DX_REVERB_PRESET_CARPETEDHALLWAY = 12,
1971 
1972 	/**
1973 	 * 玄関
1974 	 */
1975 	DX_REVERB_PRESET_HALLWAY = 13,
1976 
1977 	/**
1978 	 * 石の廊下
1979 	 */
1980 	DX_REVERB_PRESET_STONECORRIDOR = 14,
1981 
1982 	/**
1983 	 * 裏通り
1984 	 */
1985 	DX_REVERB_PRESET_ALLEY = 15,
1986 
1987 	/**
1988 	 * 森
1989 	 */
1990 	DX_REVERB_PRESET_FOREST = 16,
1991 
1992 	/**
1993 	 * 都市
1994 	 */
1995 	DX_REVERB_PRESET_CITY = 17,
1996 
1997 	/**
1998 	 * 山
1999 	 */
2000 	DX_REVERB_PRESET_MOUNTAINS = 18,
2001 
2002 	/**
2003 	 * 採石場
2004 	 */
2005 	DX_REVERB_PRESET_QUARRY = 19,
2006 
2007 	/**
2008 	 * 平原
2009 	 */
2010 	DX_REVERB_PRESET_PLAIN = 20,
2011 
2012 	/**
2013 	 * 駐車場
2014 	 */
2015 	DX_REVERB_PRESET_PARKINGLOT = 21,
2016 
2017 	/**
2018 	 * 下水管
2019 	 */
2020 	DX_REVERB_PRESET_SEWERPIPE = 22,
2021 
2022 	/**
2023 	 * 水面下
2024 	 */
2025 	DX_REVERB_PRESET_UNDERWATER = 23,
2026 
2027 	/**
2028 	 * 小部屋
2029 	 */
2030 	DX_REVERB_PRESET_SMALLROOM = 24,
2031 
2032 	/**
2033 	 * 中部屋
2034 	 */
2035 	DX_REVERB_PRESET_MEDIUMROOM = 25,
2036 
2037 	/**
2038 	 * 大部屋
2039 	 */
2040 	DX_REVERB_PRESET_LARGEROOM = 26,
2041 
2042 	/**
2043 	 * 中ホール
2044 	 */
2045 	DX_REVERB_PRESET_MEDIUMHALL = 27,
2046 
2047 	/**
2048 	 * 大ホール
2049 	 */
2050 	DX_REVERB_PRESET_LARGEHALL = 28,
2051 
2052 	/**
2053 	 * 板
2054 	 */
2055 	DX_REVERB_PRESET_PLATE = 29,
2056 
2057 	/**
2058 	 * プリセットの数
2059 	 */
2060 	DX_REVERB_PRESET_NUM = 30,
2061 }
2062 
2063 /**
2064  * マスク透過色モード
2065  */
2066 enum
2067 {
2068 	/**
2069 	 * マスク画像の白い部分を透過色とする
2070 	 */
2071 	DX_MASKTRANS_WHITE = 0,
2072 
2073 	/**
2074 	 * マスク画像の黒い部分を透過色とする
2075 	 */
2076 	DX_MASKTRANS_BLACK = 1,
2077 
2078 	/**
2079 	 * 透過色なし
2080 	 */
2081 	DX_MASKTRANS_NONE = 2,
2082 }
2083 
2084 /**
2085  * マスク画像チャンネル
2086  */
2087 enum
2088 {
2089 	/**
2090 	 * アルファ
2091 	 */
2092 	DX_MASKGRAPH_CH_A = 0,
2093 
2094 	/**
2095 	 * 赤
2096 	 */
2097 	DX_MASKGRAPH_CH_R = 1,
2098 
2099 	/**
2100 	 * 緑
2101 	 */
2102 	DX_MASKGRAPH_CH_G = 2,
2103 
2104 	/**
2105 	 * 青
2106 	 */
2107 	DX_MASKGRAPH_CH_B = 3,
2108 }
2109 
2110 /**
2111  * Zバッファ書き込みモード
2112  */
2113 enum
2114 {
2115 	/**
2116 	 * 書き込めないようにマスクする
2117 	 */
2118 	DX_ZWRITE_MASK = 0,
2119 
2120 	/**
2121 	 * 書き込めるようにマスクをクリアする
2122 	 */
2123 	DX_ZWRITE_CLEAR = 1,
2124 }
2125 
2126 /**
2127  * 比較モード
2128  */
2129 enum
2130 {
2131 	/**
2132 	 * FALSE
2133 	 */
2134 	DX_CMP_NEVER = 1,
2135 
2136 	/**
2137 	 * Src <  Dest        DrawAlpha <  TestParam
2138 	 */
2139 	DX_CMP_LESS = 2,
2140 
2141 	/**
2142 	 * Src == Dest        DrawAlpha == TestParam
2143 	 */
2144 	DX_CMP_EQUAL = 3,
2145 
2146 	/**
2147 	 * Src <= Dest        DrawAlpha <= TestParam
2148 	 */
2149 	DX_CMP_LESSEQUAL = 4,
2150 
2151 	/**
2152 	 * Src >  Dest        DrawAlpha >  TestParam
2153 	 */
2154 	DX_CMP_GREATER = 5,
2155 
2156 	/**
2157 	 * Src != Dest        DrawAlpha != TestParam
2158 	 */
2159 	DX_CMP_NOTEQUAL = 6,
2160 
2161 	/**
2162 	 * Src >= Dest        DrawAlpha >= TestParam
2163 	 */
2164 	DX_CMP_GREATEREQUAL = 7,
2165 
2166 	/**
2167 	 * TRUE
2168 	 */
2169 	DX_CMP_ALWAYS = 8,
2170 
2171 	/**
2172 	 * ?
2173 	 */
2174 	DX_ZCMP_DEFAULT = DX_CMP_LESSEQUAL,
2175 
2176 	/**
2177 	 * ?
2178 	 */
2179 	DX_ZCMP_REVERSE = DX_CMP_GREATEREQUAL,
2180 }
2181 
2182 /**
2183  * シェーディングモード
2184  */
2185 enum
2186 {
2187 	/**
2188 	 * D_D3DSHADE_FLAT
2189 	 */
2190 	DX_SHADEMODE_FLAT = 1,
2191 
2192 	/**
2193 	 * D_D3DSHADE_GOURAUD
2194 	 */
2195 	DX_SHADEMODE_GOURAUD = 2,
2196 }
2197 
2198 /**
2199  * フォグモード
2200  */
2201 enum
2202 {
2203 	/**
2204 	 * D_D3DFOG_NONE
2205 	 */
2206 	DX_FOGMODE_NONE = 0,
2207 
2208 	/**
2209 	 * D_D3DFOG_EXP
2210 	 */
2211 	DX_FOGMODE_EXP = 1,
2212 
2213 	/**
2214 	 * D_D3DFOG_EXP2
2215 	 */
2216 	DX_FOGMODE_EXP2 = 2,
2217 
2218 	/**
2219 	 * D_D3DFOG_LINEAR
2220 	 */
2221 	DX_FOGMODE_LINEAR = 3,
2222 }
2223 
2224 /**
2225  * マテリアルタイプ
2226  */
2227 enum
2228 {
2229 	/**
2230 	 * 標準マテリアル
2231 	 */
2232 	DX_MATERIAL_TYPE_NORMAL = 0,
2233 
2234 	/**
2235 	 * トゥーンレンダリング用マテリアル
2236 	 */
2237 	DX_MATERIAL_TYPE_TOON = 1,
2238 
2239 	/**
2240 	 * トゥーンレンダリング用マテリアル_タイプ2( MMD互換 )
2241 	 */
2242 	DX_MATERIAL_TYPE_TOON_2 = 2,
2243 
2244 	/**
2245 	 * マテリアルのスペキュラ色の輝度の指定の範囲の値を 0.0f 〜 1.0f の値に正規化して書き込むマテリアル
2246 	 */
2247 	DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_UNORM = 3,
2248 
2249 	/**
2250 	 * DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_UNORM に『指定の値未満の場合は書き込む値を 0.0f にする』という処理を加えたマテリアル
2251 	 */
2252 	DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_CLIP_UNORM = 4,
2253 
2254 	/**
2255 	 * マテリアルのスペキュラ色の輝度が指定の閾値以上 の場合は 1.0f を、未満の場合は 0.0f を書き込むマテリアル
2256 	 */
2257 	DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_CMP_GREATEREQUAL = 5,
2258 
2259 	/**
2260 	 * マテリアルのスペキュラハイライトの鮮明度の指定の範囲の値を 0.0f 〜 1.0f の値に正規化して書き込むマテリアル
2261 	 */
2262 	DX_MATERIAL_TYPE_MAT_SPEC_POWER_UNORM = 6,
2263 
2264 	/**
2265 	 * DX_MATERIAL_TYPE_MAT_SPEC_POWER_UNORM に『指定の値未満の場合は書き込む値を 0.0f にする』という処理を加えたマテリアル
2266 	 */
2267 	DX_MATERIAL_TYPE_MAT_SPEC_POWER_CLIP_UNORM = 7,
2268 
2269 	/**
2270 	 * マテリアルのスペキュラハイライトの鮮明度が指定の閾値以上 の場合は 1.0f を、未満の場合は 0.0f を書き込むマテリアル
2271 	 */
2272 	DX_MATERIAL_TYPE_MAT_SPEC_POWER_CMP_GREATEREQUAL = 8,
2273 
2274 	/**
2275 	 * ?
2276 	 */
2277 	DX_MATERIAL_TYPE_NUM = 9,
2278 }
2279 
2280 /**
2281  * マテリアルブレンドタイプ
2282  */
2283 enum
2284 {
2285 	/**
2286 	 * アルファ合成
2287 	 */
2288 	DX_MATERIAL_BLENDTYPE_TRANSLUCENT = 0,
2289 
2290 	/**
2291 	 * 加算
2292 	 */
2293 	DX_MATERIAL_BLENDTYPE_ADDITIVE = 1,
2294 
2295 	/**
2296 	 * 乗算
2297 	 */
2298 	DX_MATERIAL_BLENDTYPE_MODULATE = 2,
2299 
2300 	/**
2301 	 * 無効
2302 	 */
2303 	DX_MATERIAL_BLENDTYPE_NONE = 3,
2304 }
2305 
2306 /**
2307  * テクスチャアドレスタイプ
2308  */
2309 enum
2310 {
2311 	/**
2312 	 * D_D3DTADDRESS_WRAP
2313 	 */
2314 	DX_TEXADDRESS_WRAP = 1,
2315 
2316 	/**
2317 	 * D_D3DTADDRESS_MIRROR
2318 	 */
2319 	DX_TEXADDRESS_MIRROR = 2,
2320 
2321 	/**
2322 	 * D_D3DTADDRESS_CLAMP
2323 	 */
2324 	DX_TEXADDRESS_CLAMP = 3,
2325 
2326 	/**
2327 	 * D_D3DTADDRESS_BORDER
2328 	 */
2329 	DX_TEXADDRESS_BORDER = 4,
2330 
2331 	/**
2332 	 * テクスチャアドレスタイプの数
2333 	 */
2334 	DX_TEXADDRESS_NUM = 5,
2335 }
2336 
2337 /**
2338  * シェーダータイプ
2339  */
2340 enum
2341 {
2342 	/**
2343 	 * 頂点シェーダー
2344 	 */
2345 	DX_SHADERTYPE_VERTEX = 0,
2346 
2347 	/**
2348 	 * ピクセルシェーダー
2349 	 */
2350 	DX_SHADERTYPE_PIXEL = 1,
2351 
2352 	/**
2353 	 * ジオメトリシェーダー
2354 	 */
2355 	DX_SHADERTYPE_GEOMETRY = 2,
2356 
2357 	/**
2358 	 * コンピュートシェーダー
2359 	 */
2360 	DX_SHADERTYPE_COMPUTE = 3,
2361 
2362 	/**
2363 	 * ドメインシェーダー
2364 	 */
2365 	DX_SHADERTYPE_DOMAIN = 4,
2366 
2367 	/**
2368 	 * ハルシェーダー
2369 	 */
2370 	DX_SHADERTYPE_HULL = 5,
2371 }
2372 
2373 /**
2374  * 頂点データタイプ
2375  */
2376 enum
2377 {
2378 	/**
2379 	 * VERTEX3D構造体形式
2380 	 */
2381 	DX_VERTEX_TYPE_NORMAL_3D = 0,
2382 
2383 	/**
2384 	 * VERTEX3DSHADER構造体形式
2385 	 */
2386 	DX_VERTEX_TYPE_SHADER_3D = 1,
2387 
2388 	/**
2389 	 * ?
2390 	 */
2391 	DX_VERTEX_TYPE_NUM = 2,
2392 }
2393 
2394 /**
2395  * インデックスデータタイプ
2396  */
2397 enum
2398 {
2399 	/**
2400 	 * 16bitインデックス
2401 	 */
2402 	DX_INDEX_TYPE_16BIT = 0,
2403 
2404 	/**
2405 	 * 32bitインデックス
2406 	 */
2407 	DX_INDEX_TYPE_32BIT = 1,
2408 }
2409 
2410 /**
2411  * モデルファイル読み込み時の物理演算モード
2412  */
2413 enum
2414 {
2415 	/**
2416 	 * 物理演算を使用しない
2417 	 */
2418 	DX_LOADMODEL_PHYSICS_DISABLE = 1,
2419 
2420 	/**
2421 	 * 読み込み時に計算
2422 	 */
2423 	DX_LOADMODEL_PHYSICS_LOADCALC = 0,
2424 
2425 	/**
2426 	 * 実行時計算
2427 	 */
2428 	DX_LOADMODEL_PHYSICS_REALTIME = 2,
2429 }
2430 
2431 /**
2432  * モデルファイル読み込み時の物理演算無効名前ワードのモード
2433  */
2434 enum
2435 {
2436 	/**
2437 	 * 全てのファイルに対して無効名ワードを適用する
2438 	 */
2439 	DX_LOADMODEL_PHYSICS_DISABLENAMEWORD_ALWAYS = 0,
2440 
2441 	/**
2442 	 * vmdファイル名に NP を含めた「物理演算無効」のファイルに対してのみ無効名ワードを適用する( この場合、無効名ワードが適用されない剛体については物理演算が行われる )
2443 	 */
2444 	DX_LOADMODEL_PHYSICS_DISABLENAMEWORD_DISABLEPHYSICSFILEONLY = 1,
2445 
2446 	/**
2447 	 * ?
2448 	 */
2449 	DX_LOADMODEL_PHYSICS_DISABLENAMEWORD_NUM = 2,
2450 }
2451 
2452 /**
2453  * PMD, PMX ファイル読み込み時のアニメーションの FPS モード( 主に IK 部分の精度に影響します )
2454  */
2455 enum
2456 {
2457 	/**
2458 	 * アニメーションを 30FPS で読み込む( IK部分の精度:低  データサイズ:小 )( デフォルト )
2459 	 */
2460 	DX_LOADMODEL_PMD_PMX_ANIMATION_FPSMODE_30 = 0,
2461 
2462 	/**
2463 	 * アニメーションを 60FPS で読み込む( IK部分の精度:高  データサイズ:大 )
2464 	 */
2465 	DX_LOADMODEL_PMD_PMX_ANIMATION_FPSMODE_60 = 1,
2466 }
2467 
2468 /**
2469  * モデルの半透明要素がある箇所に関する描画モード
2470  */
2471 enum
2472 {
2473 	/**
2474 	 * 半透明かどうか関係なく描画する
2475 	 */
2476 	DX_SEMITRANSDRAWMODE_ALWAYS = 0,
2477 
2478 	/**
2479 	 * 半透明のもののみ描画する
2480 	 */
2481 	DX_SEMITRANSDRAWMODE_SEMITRANS_ONLY = 1,
2482 
2483 	/**
2484 	 * 半透明ではないもののみ描画する
2485 	 */
2486 	DX_SEMITRANSDRAWMODE_NOT_SEMITRANS_ONLY = 2,
2487 }
2488 
2489 /**
2490  * キューブマップの面番号
2491  */
2492 enum
2493 {
2494 	/**
2495 	 * ?
2496 	 */
2497 	DX_CUBEMAP_FACE_POSITIVE_X = 0,
2498 
2499 	/**
2500 	 * ?
2501 	 */
2502 	DX_CUBEMAP_FACE_NEGATIVE_X = 1,
2503 
2504 	/**
2505 	 * ?
2506 	 */
2507 	DX_CUBEMAP_FACE_POSITIVE_Y = 2,
2508 
2509 	/**
2510 	 * ?
2511 	 */
2512 	DX_CUBEMAP_FACE_NEGATIVE_Y = 3,
2513 
2514 	/**
2515 	 * ?
2516 	 */
2517 	DX_CUBEMAP_FACE_POSITIVE_Z = 4,
2518 
2519 	/**
2520 	 * ?
2521 	 */
2522 	DX_CUBEMAP_FACE_NEGATIVE_Z = 5,
2523 }
2524 
2525 /**
2526  * ポリゴン描画タイプ
2527  */
2528 enum
2529 {
2530 	/**
2531 	 * D_D3DPT_POINTLIST
2532 	 */
2533 	DX_PRIMTYPE_POINTLIST = 1,
2534 
2535 	/**
2536 	 * D_D3DPT_LINELIST
2537 	 */
2538 	DX_PRIMTYPE_LINELIST = 2,
2539 
2540 	/**
2541 	 * D_D3DPT_LINESTRIP
2542 	 */
2543 	DX_PRIMTYPE_LINESTRIP = 3,
2544 
2545 	/**
2546 	 * D_D3DPT_TRIANGLELIST
2547 	 */
2548 	DX_PRIMTYPE_TRIANGLELIST = 4,
2549 
2550 	/**
2551 	 * D_D3DPT_TRIANGLESTRIP
2552 	 */
2553 	DX_PRIMTYPE_TRIANGLESTRIP = 5,
2554 
2555 	/**
2556 	 * D_D3DPT_TRIANGLEFAN
2557 	 */
2558 	DX_PRIMTYPE_TRIANGLEFAN = 6,
2559 
2560 	/**
2561 	 * ?
2562 	 */
2563 	DX_PRIMTYPE_MIN = 1,
2564 
2565 	/**
2566 	 * ?
2567 	 */
2568 	DX_PRIMTYPE_MAX = 6,
2569 }
2570 
2571 /**
2572  * ライトタイプ
2573  */
2574 enum
2575 {
2576 	/**
2577 	 * D_D3DLIGHT_POINT
2578 	 */
2579 	DX_LIGHTTYPE_D3DLIGHT_POINT = 1,
2580 
2581 	/**
2582 	 * D_D3DLIGHT_SPOT
2583 	 */
2584 	DX_LIGHTTYPE_D3DLIGHT_SPOT = 2,
2585 
2586 	/**
2587 	 * D_D3DLIGHT_DIRECTIONAL
2588 	 */
2589 	DX_LIGHTTYPE_D3DLIGHT_DIRECTIONAL = 3,
2590 
2591 	/**
2592 	 * D_D3DLIGHT_POINT
2593 	 */
2594 	DX_LIGHTTYPE_POINT = 1,
2595 
2596 	/**
2597 	 * D_D3DLIGHT_SPOT
2598 	 */
2599 	DX_LIGHTTYPE_SPOT = 2,
2600 
2601 	/**
2602 	 * D_D3DLIGHT_DIRECTIONAL
2603 	 */
2604 	DX_LIGHTTYPE_DIRECTIONAL = 3,
2605 }
2606 
2607 /**
2608  * グラフィックイメージフォーマットの定義
2609  */
2610 enum
2611 {
2612 	/**
2613 	 * 16色パレットカラー標準
2614 	 */
2615 	DX_GRAPHICSIMAGE_FORMAT_3D_PAL4 = 0,
2616 
2617 	/**
2618 	 * 256色パレットカラー標準
2619 	 */
2620 	DX_GRAPHICSIMAGE_FORMAT_3D_PAL8 = 1,
2621 
2622 	/**
2623 	 * αチャンネルつき16色パレットカラー標準
2624 	 */
2625 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHA_PAL4 = 2,
2626 
2627 	/**
2628 	 * αチャンネルつき256色パレットカラー標準
2629 	 */
2630 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHA_PAL8 = 3,
2631 
2632 	/**
2633 	 * αテストつき16色パレットカラー標準
2634 	 */
2635 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHATEST_PAL4 = 4,
2636 
2637 	/**
2638 	 * αテストつき256色パレットカラー標準
2639 	 */
2640 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHATEST_PAL8 = 5,
2641 
2642 	/**
2643 	 * 16ビットカラー標準
2644 	 */
2645 	DX_GRAPHICSIMAGE_FORMAT_3D_RGB16 = 6,
2646 
2647 	/**
2648 	 * 32ビットカラー標準
2649 	 */
2650 	DX_GRAPHICSIMAGE_FORMAT_3D_RGB32 = 7,
2651 
2652 	/**
2653 	 * αチャンネル付き16ビットカラー
2654 	 */
2655 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHA_RGB16 = 8,
2656 
2657 	/**
2658 	 * αチャンネル付き32ビットカラー
2659 	 */
2660 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHA_RGB32 = 9,
2661 
2662 	/**
2663 	 * αテスト付き16ビットカラー
2664 	 */
2665 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHATEST_RGB16 = 10,
2666 
2667 	/**
2668 	 * αテスト付き32ビットカラー
2669 	 */
2670 	DX_GRAPHICSIMAGE_FORMAT_3D_ALPHATEST_RGB32 = 11,
2671 
2672 	/**
2673 	 * DXT1
2674 	 */
2675 	DX_GRAPHICSIMAGE_FORMAT_3D_DXT1 = 12,
2676 
2677 	/**
2678 	 * DXT2
2679 	 */
2680 	DX_GRAPHICSIMAGE_FORMAT_3D_DXT2 = 13,
2681 
2682 	/**
2683 	 * DXT3
2684 	 */
2685 	DX_GRAPHICSIMAGE_FORMAT_3D_DXT3 = 14,
2686 
2687 	/**
2688 	 * DXT4
2689 	 */
2690 	DX_GRAPHICSIMAGE_FORMAT_3D_DXT4 = 15,
2691 
2692 	/**
2693 	 * DXT5
2694 	 */
2695 	DX_GRAPHICSIMAGE_FORMAT_3D_DXT5 = 16,
2696 
2697 	/**
2698 	 * BC7 UNORM
2699 	 */
2700 	DX_GRAPHICSIMAGE_FORMAT_3D_BC7_UNORM = 17,
2701 
2702 	/**
2703 	 * BC7 UNORM SRGB
2704 	 */
2705 	DX_GRAPHICSIMAGE_FORMAT_3D_BC7_UNORM_SRGB = 18,
2706 
2707 	/**
2708 	 * プラットフォーム依存フォーマット0
2709 	 */
2710 	DX_GRAPHICSIMAGE_FORMAT_3D_PLATFORM0 = 19,
2711 
2712 	/**
2713 	 * プラットフォーム依存フォーマット1
2714 	 */
2715 	DX_GRAPHICSIMAGE_FORMAT_3D_PLATFORM1 = 20,
2716 
2717 	/**
2718 	 * プラットフォーム依存フォーマット2
2719 	 */
2720 	DX_GRAPHICSIMAGE_FORMAT_3D_PLATFORM2 = 21,
2721 
2722 	/**
2723 	 * プラットフォーム依存フォーマット3
2724 	 */
2725 	DX_GRAPHICSIMAGE_FORMAT_3D_PLATFORM3 = 22,
2726 
2727 	/**
2728 	 * YUVフォーマット
2729 	 */
2730 	DX_GRAPHICSIMAGE_FORMAT_3D_YUV = 23,
2731 
2732 	/**
2733 	 * ARGB整数16ビット型カラー
2734 	 */
2735 	DX_GRAPHICSIMAGE_FORMAT_3D_ABGR_I16 = 24,
2736 
2737 	/**
2738 	 * ARGB浮動小数点16ビット型カラー
2739 	 */
2740 	DX_GRAPHICSIMAGE_FORMAT_3D_ABGR_F16 = 25,
2741 
2742 	/**
2743 	 * ARGB浮動小数点32ビット型カラー
2744 	 */
2745 	DX_GRAPHICSIMAGE_FORMAT_3D_ABGR_F32 = 26,
2746 
2747 	/**
2748 	 * 1チャンネル整数8ビット型カラー
2749 	 */
2750 	DX_GRAPHICSIMAGE_FORMAT_3D_ONE_I8 = 27,
2751 
2752 	/**
2753 	 * 1チャンネル整数16ビット型カラー
2754 	 */
2755 	DX_GRAPHICSIMAGE_FORMAT_3D_ONE_I16 = 28,
2756 
2757 	/**
2758 	 * 1チャンネル浮動少数16ビット型カラー
2759 	 */
2760 	DX_GRAPHICSIMAGE_FORMAT_3D_ONE_F16 = 29,
2761 
2762 	/**
2763 	 * 1チャンネル浮動少数32ビット型カラー
2764 	 */
2765 	DX_GRAPHICSIMAGE_FORMAT_3D_ONE_F32 = 30,
2766 
2767 	/**
2768 	 * 2チャンネル整数8ビット型カラー
2769 	 */
2770 	DX_GRAPHICSIMAGE_FORMAT_3D_TWO_I8 = 31,
2771 
2772 	/**
2773 	 * 2チャンネル整数16ビット型カラー
2774 	 */
2775 	DX_GRAPHICSIMAGE_FORMAT_3D_TWO_I16 = 32,
2776 
2777 	/**
2778 	 * 2チャンネル浮動少数16ビット型カラー
2779 	 */
2780 	DX_GRAPHICSIMAGE_FORMAT_3D_TWO_F16 = 33,
2781 
2782 	/**
2783 	 * 2チャンネル浮動少数32ビット型カラー
2784 	 */
2785 	DX_GRAPHICSIMAGE_FORMAT_3D_TWO_F32 = 34,
2786 
2787 	/**
2788 	 * 描画可能16ビットカラー
2789 	 */
2790 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_RGB16 = 35,
2791 
2792 	/**
2793 	 * 描画可能32ビットカラー
2794 	 */
2795 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_RGB32 = 36,
2796 
2797 	/**
2798 	 * 描画可能α付き32ビットカラー
2799 	 */
2800 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ALPHA_RGB32 = 37,
2801 
2802 	/**
2803 	 * 描画可能ARGB整数16ビット型カラー
2804 	 */
2805 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ABGR_I16 = 38,
2806 
2807 	/**
2808 	 * 描画可能ARGB浮動小数点16ビット型カラー
2809 	 */
2810 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ABGR_F16 = 39,
2811 
2812 	/**
2813 	 * 描画可能ARGB浮動小数点32ビット型カラー
2814 	 */
2815 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ABGR_F32 = 40,
2816 
2817 	/**
2818 	 * 描画可能1チャンネル整数8ビット型カラー
2819 	 */
2820 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ONE_I8 = 41,
2821 
2822 	/**
2823 	 * 描画可能1チャンネル整数16ビット型カラー
2824 	 */
2825 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ONE_I16 = 42,
2826 
2827 	/**
2828 	 * 描画可能1チャンネル浮動少数16ビット型カラー
2829 	 */
2830 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ONE_F16 = 43,
2831 
2832 	/**
2833 	 * 描画可能1チャンネル浮動少数32ビット型カラー
2834 	 */
2835 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_ONE_F32 = 44,
2836 
2837 	/**
2838 	 * 描画可能2チャンネル整数8ビット型カラー
2839 	 */
2840 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_TWO_I8 = 45,
2841 
2842 	/**
2843 	 * 描画可能2チャンネル整数16ビット型カラー
2844 	 */
2845 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_TWO_I16 = 46,
2846 
2847 	/**
2848 	 * 描画可能2チャンネル浮動少数16ビット型カラー
2849 	 */
2850 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_TWO_F16 = 47,
2851 
2852 	/**
2853 	 * 描画可能2チャンネル浮動少数32ビット型カラー
2854 	 */
2855 	DX_GRAPHICSIMAGE_FORMAT_3D_DRAWVALID_TWO_F32 = 48,
2856 
2857 	/**
2858 	 * ?
2859 	 */
2860 	DX_GRAPHICSIMAGE_FORMAT_3D_NUM = 49,
2861 
2862 	/**
2863 	 * 標準( DirectDrawSurface の場合はこれのみ )
2864 	 */
2865 	DX_GRAPHICSIMAGE_FORMAT_2D = 50,
2866 
2867 	/**
2868 	 * R5G6B5( MEMIMG 用 )
2869 	 */
2870 	DX_GRAPHICSIMAGE_FORMAT_R5G6B5 = 51,
2871 
2872 	/**
2873 	 * X8A8R5G6B5( MEMIMG 用 )
2874 	 */
2875 	DX_GRAPHICSIMAGE_FORMAT_X8A8R5G6B5 = 52,
2876 
2877 	/**
2878 	 * X8R8G8B8( MEMIMG 用 )
2879 	 */
2880 	DX_GRAPHICSIMAGE_FORMAT_X8R8G8B8 = 53,
2881 
2882 	/**
2883 	 * A8R8G8B8( MEMIMG 用 )
2884 	 */
2885 	DX_GRAPHICSIMAGE_FORMAT_A8R8G8B8 = 54,
2886 
2887 	/**
2888 	 * グラフィックフォーマットの種類の数
2889 	 */
2890 	DX_GRAPHICSIMAGE_FORMAT_NUM = 55,
2891 }
2892 
2893 /**
2894  * 基本イメージのピクセルフォーマット
2895  */
2896 enum
2897 {
2898 	/**
2899 	 * 普通の画像
2900 	 */
2901 	DX_BASEIMAGE_FORMAT_NORMAL = 0,
2902 
2903 	/**
2904 	 * DXT1
2905 	 */
2906 	DX_BASEIMAGE_FORMAT_DXT1 = 1,
2907 
2908 	/**
2909 	 * DXT2
2910 	 */
2911 	DX_BASEIMAGE_FORMAT_DXT2 = 2,
2912 
2913 	/**
2914 	 * DXT3
2915 	 */
2916 	DX_BASEIMAGE_FORMAT_DXT3 = 3,
2917 
2918 	/**
2919 	 * DXT4
2920 	 */
2921 	DX_BASEIMAGE_FORMAT_DXT4 = 4,
2922 
2923 	/**
2924 	 * DXT5
2925 	 */
2926 	DX_BASEIMAGE_FORMAT_DXT5 = 5,
2927 
2928 	/**
2929 	 * BC7 UNORM
2930 	 */
2931 	DX_BASEIMAGE_FORMAT_BC7_UNORM = 6,
2932 
2933 	/**
2934 	 * BC7 UNORM SRGB
2935 	 */
2936 	DX_BASEIMAGE_FORMAT_BC7_UNORM_SRGB = 7,
2937 
2938 	/**
2939 	 * プラットフォーム依存フォーマット0
2940 	 */
2941 	DX_BASEIMAGE_FORMAT_PLATFORM0 = 8,
2942 
2943 	/**
2944 	 * プラットフォーム依存フォーマット1
2945 	 */
2946 	DX_BASEIMAGE_FORMAT_PLATFORM1 = 9,
2947 
2948 	/**
2949 	 * プラットフォーム依存フォーマット2
2950 	 */
2951 	DX_BASEIMAGE_FORMAT_PLATFORM2 = 10,
2952 
2953 	/**
2954 	 * プラットフォーム依存フォーマット3
2955 	 */
2956 	DX_BASEIMAGE_FORMAT_PLATFORM3 = 11,
2957 
2958 	/**
2959 	 * YUV
2960 	 */
2961 	DX_BASEIMAGE_FORMAT_YUV = 12,
2962 }
2963 
2964 /**
2965  * ムービーのサーフェスモード
2966  */
2967 enum
2968 {
2969 	/**
2970 	 * ?
2971 	 */
2972 	DX_MOVIESURFACE_NORMAL = 0,
2973 
2974 	/**
2975 	 * ?
2976 	 */
2977 	DX_MOVIESURFACE_OVERLAY = 1,
2978 
2979 	/**
2980 	 * ?
2981 	 */
2982 	DX_MOVIESURFACE_FULLCOLOR = 2,
2983 }
2984 
2985 /**
2986  * SetUserScreenImage で渡す画面のピクセルフォーマット
2987  */
2988 enum
2989 {
2990 	/**
2991 	 * R5G6B5( DXライブラリの描画関数も使用できます( ソフトウェアレンダリングモード相当 ) )
2992 	 */
2993 	DX_USER_SCREEN_PIXEL_FORMAT_R5G6B5 = 0,
2994 
2995 	/**
2996 	 * R5G5B5X1( DXライブラリの描画関数は使用できなくなります )
2997 	 */
2998 	DX_USER_SCREEN_PIXEL_FORMAT_R5G5B5X1 = 1,
2999 
3000 	/**
3001 	 * X1R5G5B5( DXライブラリの描画関数は使用できなくなります )
3002 	 */
3003 	DX_USER_SCREEN_PIXEL_FORMAT_X1R5G5B5 = 2,
3004 
3005 	/**
3006 	 * X8B8G8R8( DXライブラリの描画関数は使用できなくなります )
3007 	 */
3008 	DX_USER_SCREEN_PIXEL_FORMAT_X8B8G8R8 = 3,
3009 
3010 	/**
3011 	 * X8R8G8B8( DXライブラリの描画関数も使用できます( ソフトウェアレンダリングモード相当 ) )
3012 	 */
3013 	DX_USER_SCREEN_PIXEL_FORMAT_X8R8G8B8 = 4,
3014 
3015 	/**
3016 	 * ?
3017 	 */
3018 	DX_USER_SCREEN_PIXEL_FORMAT_NUM = 5,
3019 }
3020 
3021 /**
3022  * ウインドウの奥行き位置設定タイプ
3023  */
3024 enum
3025 {
3026 	/**
3027 	 * 通常設定
3028 	 */
3029 	DX_WIN_ZTYPE_NORMAL = 0,
3030 
3031 	/**
3032 	 * 全てのウインドウの一番奥に配置する
3033 	 */
3034 	DX_WIN_ZTYPE_BOTTOM = 1,
3035 
3036 	/**
3037 	 * 全てのウインドウの一番手前に配置する
3038 	 */
3039 	DX_WIN_ZTYPE_TOP = 2,
3040 
3041 	/**
3042 	 * 全てのウインドウの一番手前に配置する( ウインドウがアクティブではないときも最前面に表示される )
3043 	 */
3044 	DX_WIN_ZTYPE_TOPMOST = 3,
3045 }
3046 
3047 /**
3048  * ツールバーのボタンの状態
3049  */
3050 enum
3051 {
3052 	/**
3053 	 * 入力可能な状態
3054 	 */
3055 	TOOLBUTTON_STATE_ENABLE = 0,
3056 
3057 	/**
3058 	 * 押されている状態
3059 	 */
3060 	TOOLBUTTON_STATE_PRESSED = 1,
3061 
3062 	/**
3063 	 * 入力不可能な状態
3064 	 */
3065 	TOOLBUTTON_STATE_DISABLE = 2,
3066 
3067 	/**
3068 	 * 押されている状態で、入力不可能な状態
3069 	 */
3070 	TOOLBUTTON_STATE_PRESSED_DISABLE = 3,
3071 
3072 	/**
3073 	 * ツールバーのボタンの状態の数
3074 	 */
3075 	TOOLBUTTON_STATE_NUM = 4,
3076 }
3077 
3078 /**
3079  * ツールバーのボタンのタイプ
3080  */
3081 enum
3082 {
3083 	/**
3084 	 * 普通のボタン
3085 	 */
3086 	TOOLBUTTON_TYPE_NORMAL = 0,
3087 
3088 	/**
3089 	 * 押すごとにON/OFFが切り替わるボタン
3090 	 */
3091 	TOOLBUTTON_TYPE_CHECK = 1,
3092 
3093 	/**
3094 	 * 別の TOOLBUTTON_TYPE_GROUP タイプのボタンが押されるとOFFになるタイプのボタン(グループの区切りは隙間で)
3095 	 */
3096 	TOOLBUTTON_TYPE_GROUP = 2,
3097 
3098 	/**
3099 	 * 隙間(ボタンではありません)
3100 	 */
3101 	TOOLBUTTON_TYPE_SEP = 3,
3102 
3103 	/**
3104 	 * ツールバーのボタンのタイプの数
3105 	 */
3106 	TOOLBUTTON_TYPE_NUM = 4,
3107 }
3108 
3109 /**
3110  * 親メニューのID
3111  */
3112 enum MENUITEM_IDTOP = 0xABABABAB;
3113 
3114 /**
3115  * メニューに追加する際のタイプ
3116  */
3117 enum
3118 {
3119 	/**
3120 	 * 指定の項目の子として追加する
3121 	 */
3122 	MENUITEM_ADD_CHILD = 0,
3123 
3124 	/**
3125 	 * 指定の項目と指定の項目より1つ上の項目の間に追加する
3126 	 */
3127 	MENUITEM_ADD_INSERT = 1,
3128 }
3129 
3130 /**
3131  * メニューの横に付くマークタイプ
3132  */
3133 enum
3134 {
3135 	/**
3136 	 * 何も付け無い
3137 	 */
3138 	MENUITEM_MARK_NONE = 0,
3139 
3140 	/**
3141 	 * チェックマーク
3142 	 */
3143 	MENUITEM_MARK_CHECK = 1,
3144 
3145 	/**
3146 	 * ラジオボタン
3147 	 */
3148 	MENUITEM_MARK_RADIO = 2,
3149 }
3150 
3151 /**
3152  * 文字変換タイプ定義
3153  */
3154 enum
3155 {
3156 	/**
3157 	 * 10進数
3158 	 */
3159 	DX_NUMMODE_10 = 0,
3160 
3161 	/**
3162 	 * 16進数
3163 	 */
3164 	DX_NUMMODE_16 = 1,
3165 
3166 	/**
3167 	 * 空きを0で埋めない
3168 	 */
3169 	DX_STRMODE_NOT0 = 2,
3170 
3171 	/**
3172 	 * 空きを0で埋める
3173 	 */
3174 	DX_STRMODE_USE0 = 3,
3175 }
3176 
3177 /**
3178  * CheckHitKeyAll で調べる入力タイプ
3179  */
3180 enum
3181 {
3182 	/**
3183 	 * キー入力を調べる
3184 	 */
3185 	DX_CHECKINPUT_KEY = 0x0001,
3186 
3187 	/**
3188 	 * パッド入力を調べる
3189 	 */
3190 	DX_CHECKINPUT_PAD = 0x0002,
3191 
3192 	/**
3193 	 * マウスボタン入力を調べる
3194 	 */
3195 	DX_CHECKINPUT_MOUSE = 0x0004,
3196 
3197 	/**
3198 	 * すべての入力を調べる
3199 	 */
3200 	DX_CHECKINPUT_ALL = DX_CHECKINPUT_KEY | DX_CHECKINPUT_PAD | DX_CHECKINPUT_MOUSE,
3201 }
3202 
3203 /**
3204  * パッド入力取得パラメータ
3205  */
3206 enum
3207 {
3208 	/**
3209 	 * キー入力とパッド1入力
3210 	 */
3211 	DX_INPUT_KEY_PAD1 = 0x1001,
3212 
3213 	/**
3214 	 * パッド1入力
3215 	 */
3216 	DX_INPUT_PAD1 = 0x0001,
3217 
3218 	/**
3219 	 * パッド2入力
3220 	 */
3221 	DX_INPUT_PAD2 = 0x0002,
3222 
3223 	/**
3224 	 * パッド3入力
3225 	 */
3226 	DX_INPUT_PAD3 = 0x0003,
3227 
3228 	/**
3229 	 * パッド4入力
3230 	 */
3231 	DX_INPUT_PAD4 = 0x0004,
3232 
3233 	/**
3234 	 * パッド5入力
3235 	 */
3236 	DX_INPUT_PAD5 = 0x0005,
3237 
3238 	/**
3239 	 * パッド6入力
3240 	 */
3241 	DX_INPUT_PAD6 = 0x0006,
3242 
3243 	/**
3244 	 * パッド7入力
3245 	 */
3246 	DX_INPUT_PAD7 = 0x0007,
3247 
3248 	/**
3249 	 * パッド8入力
3250 	 */
3251 	DX_INPUT_PAD8 = 0x0008,
3252 
3253 	/**
3254 	 * パッド9入力
3255 	 */
3256 	DX_INPUT_PAD9 = 0x0009,
3257 
3258 	/**
3259 	 * パッド10入力
3260 	 */
3261 	DX_INPUT_PAD10 = 0x000A,
3262 
3263 	/**
3264 	 * パッド11入力
3265 	 */
3266 	DX_INPUT_PAD11 = 0x000B,
3267 
3268 	/**
3269 	 * パッド12入力
3270 	 */
3271 	DX_INPUT_PAD12 = 0x000C,
3272 
3273 	/**
3274 	 * パッド13入力
3275 	 */
3276 	DX_INPUT_PAD13 = 0x000D,
3277 
3278 	/**
3279 	 * パッド14入力
3280 	 */
3281 	DX_INPUT_PAD14 = 0x000E,
3282 
3283 	/**
3284 	 * パッド15入力
3285 	 */
3286 	DX_INPUT_PAD15 = 0x000F,
3287 
3288 	/**
3289 	 * パッド16入力
3290 	 */
3291 	DX_INPUT_PAD16 = 0x0010,
3292 
3293 	/**
3294 	 * キー入力
3295 	 */
3296 	DX_INPUT_KEY = 0x1000,
3297 
3298 	/**
3299 	 * タッチの同時接触検出対応最大数
3300 	 */
3301 	TOUCHINPUTPOINT_MAX = 16,
3302 }
3303 
3304 /**
3305  * パッド入力定義
3306  */
3307 enum
3308 {
3309 	/**
3310 	 * ↓チェックマスク
3311 	 */
3312 	PAD_INPUT_DOWN = 0x00000001,
3313 
3314 	/**
3315 	 * ←チェックマスク
3316 	 */
3317 	PAD_INPUT_LEFT = 0x00000002,
3318 
3319 	/**
3320 	 * →チェックマスク
3321 	 */
3322 	PAD_INPUT_RIGHT = 0x00000004,
3323 
3324 	/**
3325 	 * ↑チェックマスク
3326 	 */
3327 	PAD_INPUT_UP = 0x00000008,
3328 
3329 	/**
3330 	 * Aボタンチェックマスク
3331 	 */
3332 	PAD_INPUT_A = 0x00000010,
3333 
3334 	/**
3335 	 * Bボタンチェックマスク
3336 	 */
3337 	PAD_INPUT_B = 0x00000020,
3338 
3339 	/**
3340 	 * Cボタンチェックマスク
3341 	 */
3342 	PAD_INPUT_C = 0x00000040,
3343 
3344 	/**
3345 	 * Xボタンチェックマスク
3346 	 */
3347 	PAD_INPUT_X = 0x00000080,
3348 
3349 	/**
3350 	 * Yボタンチェックマスク
3351 	 */
3352 	PAD_INPUT_Y = 0x00000100,
3353 
3354 	/**
3355 	 * Zボタンチェックマスク
3356 	 */
3357 	PAD_INPUT_Z = 0x00000200,
3358 
3359 	/**
3360 	 * Lボタンチェックマスク
3361 	 */
3362 	PAD_INPUT_L = 0x00000400,
3363 
3364 	/**
3365 	 * Rボタンチェックマスク
3366 	 */
3367 	PAD_INPUT_R = 0x00000800,
3368 
3369 	/**
3370 	 * STARTボタンチェックマスク
3371 	 */
3372 	PAD_INPUT_START = 0x00001000,
3373 
3374 	/**
3375 	 * Mボタンチェックマスク
3376 	 */
3377 	PAD_INPUT_M = 0x00002000,
3378 
3379 	/**
3380 	 * ?
3381 	 */
3382 	PAD_INPUT_D = 0x00004000,
3383 
3384 	/**
3385 	 * ?
3386 	 */
3387 	PAD_INPUT_F = 0x00008000,
3388 
3389 	/**
3390 	 * ?
3391 	 */
3392 	PAD_INPUT_G = 0x00010000,
3393 
3394 	/**
3395 	 * ?
3396 	 */
3397 	PAD_INPUT_H = 0x00020000,
3398 
3399 	/**
3400 	 * ?
3401 	 */
3402 	PAD_INPUT_I = 0x00040000,
3403 
3404 	/**
3405 	 * ?
3406 	 */
3407 	PAD_INPUT_J = 0x00080000,
3408 
3409 	/**
3410 	 * ?
3411 	 */
3412 	PAD_INPUT_K = 0x00100000,
3413 
3414 	/**
3415 	 * ?
3416 	 */
3417 	PAD_INPUT_LL = 0x00200000,
3418 
3419 	/**
3420 	 * ?
3421 	 */
3422 	PAD_INPUT_N = 0x00400000,
3423 
3424 	/**
3425 	 * ?
3426 	 */
3427 	PAD_INPUT_O = 0x00800000,
3428 
3429 	/**
3430 	 * ?
3431 	 */
3432 	PAD_INPUT_P = 0x01000000,
3433 
3434 	/**
3435 	 * ?
3436 	 */
3437 	PAD_INPUT_RR = 0x02000000,
3438 
3439 	/**
3440 	 * ?
3441 	 */
3442 	PAD_INPUT_S = 0x04000000,
3443 
3444 	/**
3445 	 * ?
3446 	 */
3447 	PAD_INPUT_T = 0x08000000,
3448 
3449 	/**
3450 	 * ?
3451 	 */
3452 	PAD_INPUT_U = 0x10000000,
3453 
3454 	/**
3455 	 * ?
3456 	 */
3457 	PAD_INPUT_V = 0x20000000,
3458 
3459 	/**
3460 	 * ?
3461 	 */
3462 	PAD_INPUT_W = 0x40000000,
3463 
3464 	/**
3465 	 * ?
3466 	 */
3467 	PAD_INPUT_XX = 0x80000000,
3468 
3469 	/**
3470 	 * ?
3471 	 */
3472 	PAD_INPUT_1 = 0x00000010,
3473 
3474 	/**
3475 	 * ?
3476 	 */
3477 	PAD_INPUT_2 = 0x00000020,
3478 
3479 	/**
3480 	 * ?
3481 	 */
3482 	PAD_INPUT_3 = 0x00000040,
3483 
3484 	/**
3485 	 * ?
3486 	 */
3487 	PAD_INPUT_4 = 0x00000080,
3488 
3489 	/**
3490 	 * ?
3491 	 */
3492 	PAD_INPUT_5 = 0x00000100,
3493 
3494 	/**
3495 	 * ?
3496 	 */
3497 	PAD_INPUT_6 = 0x00000200,
3498 
3499 	/**
3500 	 * ?
3501 	 */
3502 	PAD_INPUT_7 = 0x00000400,
3503 
3504 	/**
3505 	 * ?
3506 	 */
3507 	PAD_INPUT_8 = 0x00000800,
3508 
3509 	/**
3510 	 * ?
3511 	 */
3512 	PAD_INPUT_9 = 0x00001000,
3513 
3514 	/**
3515 	 * ?
3516 	 */
3517 	PAD_INPUT_10 = 0x00002000,
3518 
3519 	/**
3520 	 * ?
3521 	 */
3522 	PAD_INPUT_11 = 0x00004000,
3523 
3524 	/**
3525 	 * ?
3526 	 */
3527 	PAD_INPUT_12 = 0x00008000,
3528 
3529 	/**
3530 	 * ?
3531 	 */
3532 	PAD_INPUT_13 = 0x00010000,
3533 
3534 	/**
3535 	 * ?
3536 	 */
3537 	PAD_INPUT_14 = 0x00020000,
3538 
3539 	/**
3540 	 * ?
3541 	 */
3542 	PAD_INPUT_15 = 0x00040000,
3543 
3544 	/**
3545 	 * ?
3546 	 */
3547 	PAD_INPUT_16 = 0x00080000,
3548 
3549 	/**
3550 	 * ?
3551 	 */
3552 	PAD_INPUT_17 = 0x00100000,
3553 
3554 	/**
3555 	 * ?
3556 	 */
3557 	PAD_INPUT_18 = 0x00200000,
3558 
3559 	/**
3560 	 * ?
3561 	 */
3562 	PAD_INPUT_19 = 0x00400000,
3563 
3564 	/**
3565 	 * ?
3566 	 */
3567 	PAD_INPUT_20 = 0x00800000,
3568 
3569 	/**
3570 	 * ?
3571 	 */
3572 	PAD_INPUT_21 = 0x01000000,
3573 
3574 	/**
3575 	 * ?
3576 	 */
3577 	PAD_INPUT_22 = 0x02000000,
3578 
3579 	/**
3580 	 * ?
3581 	 */
3582 	PAD_INPUT_23 = 0x04000000,
3583 
3584 	/**
3585 	 * ?
3586 	 */
3587 	PAD_INPUT_24 = 0x08000000,
3588 
3589 	/**
3590 	 * ?
3591 	 */
3592 	PAD_INPUT_25 = 0x10000000,
3593 
3594 	/**
3595 	 * ?
3596 	 */
3597 	PAD_INPUT_26 = 0x20000000,
3598 
3599 	/**
3600 	 * ?
3601 	 */
3602 	PAD_INPUT_27 = 0x40000000,
3603 
3604 	/**
3605 	 * ?
3606 	 */
3607 	PAD_INPUT_28 = 0x80000000,
3608 }
3609 
3610 /**
3611  * XInputボタン入力定義
3612  */
3613 enum
3614 {
3615 	/**
3616 	 * デジタル方向ボタン上
3617 	 */
3618 	XINPUT_BUTTON_DPAD_UP = 0,
3619 
3620 	/**
3621 	 * デジタル方向ボタン下
3622 	 */
3623 	XINPUT_BUTTON_DPAD_DOWN = 1,
3624 
3625 	/**
3626 	 * デジタル方向ボタン左
3627 	 */
3628 	XINPUT_BUTTON_DPAD_LEFT = 2,
3629 
3630 	/**
3631 	 * デジタル方向ボタン右
3632 	 */
3633 	XINPUT_BUTTON_DPAD_RIGHT = 3,
3634 
3635 	/**
3636 	 * STARTボタン
3637 	 */
3638 	XINPUT_BUTTON_START = 4,
3639 
3640 	/**
3641 	 * BACKボタン
3642 	 */
3643 	XINPUT_BUTTON_BACK = 5,
3644 
3645 	/**
3646 	 * 左スティック押し込み
3647 	 */
3648 	XINPUT_BUTTON_LEFT_THUMB = 6,
3649 
3650 	/**
3651 	 * 右スティック押し込み
3652 	 */
3653 	XINPUT_BUTTON_RIGHT_THUMB = 7,
3654 
3655 	/**
3656 	 * LBボタン
3657 	 */
3658 	XINPUT_BUTTON_LEFT_SHOULDER = 8,
3659 
3660 	/**
3661 	 * RBボタン
3662 	 */
3663 	XINPUT_BUTTON_RIGHT_SHOULDER = 9,
3664 
3665 	/**
3666 	 * Aボタン
3667 	 */
3668 	XINPUT_BUTTON_A = 12,
3669 
3670 	/**
3671 	 * Bボタン
3672 	 */
3673 	XINPUT_BUTTON_B = 13,
3674 
3675 	/**
3676 	 * Xボタン
3677 	 */
3678 	XINPUT_BUTTON_X = 14,
3679 
3680 	/**
3681 	 * Yボタン
3682 	 */
3683 	XINPUT_BUTTON_Y = 15,
3684 }
3685 
3686 /**
3687  * マウス入力定義
3688  */
3689 enum
3690 {
3691 	/**
3692 	 * マウス左ボタン
3693 	 */
3694 	MOUSE_INPUT_LEFT = 0x0001,
3695 
3696 	/**
3697 	 * マウス右ボタン
3698 	 */
3699 	MOUSE_INPUT_RIGHT = 0x0002,
3700 
3701 	/**
3702 	 * マウス中央ボタン
3703 	 */
3704 	MOUSE_INPUT_MIDDLE = 0x0004,
3705 
3706 	/**
3707 	 * マウス1ボタン
3708 	 */
3709 	MOUSE_INPUT_1 = 0x0001,
3710 
3711 	/**
3712 	 * マウス2ボタン
3713 	 */
3714 	MOUSE_INPUT_2 = 0x0002,
3715 
3716 	/**
3717 	 * マウス3ボタン
3718 	 */
3719 	MOUSE_INPUT_3 = 0x0004,
3720 
3721 	/**
3722 	 * マウス4ボタン
3723 	 */
3724 	MOUSE_INPUT_4 = 0x0008,
3725 
3726 	/**
3727 	 * マウス5ボタン
3728 	 */
3729 	MOUSE_INPUT_5 = 0x0010,
3730 
3731 	/**
3732 	 * マウス6ボタン
3733 	 */
3734 	MOUSE_INPUT_6 = 0x0020,
3735 
3736 	/**
3737 	 * マウス7ボタン
3738 	 */
3739 	MOUSE_INPUT_7 = 0x0040,
3740 
3741 	/**
3742 	 * マウス8ボタン
3743 	 */
3744 	MOUSE_INPUT_8 = 0x0080,
3745 }
3746 
3747 /**
3748  * マウスのログ情報タイプ
3749  */
3750 enum
3751 {
3752 	/**
3753 	 * ボタンを押した
3754 	 */
3755 	MOUSE_INPUT_LOG_DOWN = 0,
3756 
3757 	/**
3758 	 * ボタンを離した
3759 	 */
3760 	MOUSE_INPUT_LOG_UP = 1,
3761 }
3762 
3763 /**
3764  * キー定義
3765  */
3766 enum
3767 {
3768 	/**
3769 	 * BackSpaceキー    D_DIK_BACK
3770 	 */
3771 	KEY_INPUT_BACK = 0x0E,
3772 
3773 	/**
3774 	 * Tabキー            D_DIK_TAB
3775 	 */
3776 	KEY_INPUT_TAB = 0x0F,
3777 
3778 	/**
3779 	 * Enterキー        D_DIK_RETURN
3780 	 */
3781 	KEY_INPUT_RETURN = 0x1C,
3782 
3783 	/**
3784 	 * 左Shiftキー        D_DIK_LSHIFT
3785 	 */
3786 	KEY_INPUT_LSHIFT = 0x2A,
3787 
3788 	/**
3789 	 * 右Shiftキー        D_DIK_RSHIFT
3790 	 */
3791 	KEY_INPUT_RSHIFT = 0x36,
3792 
3793 	/**
3794 	 * 左Ctrlキー        D_DIK_LCONTROL
3795 	 */
3796 	KEY_INPUT_LCONTROL = 0x1D,
3797 
3798 	/**
3799 	 * 右Ctrlキー        D_DIK_RCONTROL
3800 	 */
3801 	KEY_INPUT_RCONTROL = 0x9D,
3802 
3803 	/**
3804 	 * Escキー            D_DIK_ESCAPE
3805 	 */
3806 	KEY_INPUT_ESCAPE = 0x01,
3807 
3808 	/**
3809 	 * スペースキー        D_DIK_SPACE
3810 	 */
3811 	KEY_INPUT_SPACE = 0x39,
3812 
3813 	/**
3814 	 * PageUpキー        D_DIK_PGUP
3815 	 */
3816 	KEY_INPUT_PGUP = 0xC9,
3817 
3818 	/**
3819 	 * PageDownキー        D_DIK_PGDN
3820 	 */
3821 	KEY_INPUT_PGDN = 0xD1,
3822 
3823 	/**
3824 	 * Endキー            D_DIK_END
3825 	 */
3826 	KEY_INPUT_END = 0xCF,
3827 
3828 	/**
3829 	 * Homeキー            D_DIK_HOME
3830 	 */
3831 	KEY_INPUT_HOME = 0xC7,
3832 
3833 	/**
3834 	 * 左キー            D_DIK_LEFT
3835 	 */
3836 	KEY_INPUT_LEFT = 0xCB,
3837 
3838 	/**
3839 	 * 上キー            D_DIK_UP
3840 	 */
3841 	KEY_INPUT_UP = 0xC8,
3842 
3843 	/**
3844 	 * 右キー            D_DIK_RIGHT
3845 	 */
3846 	KEY_INPUT_RIGHT = 0xCD,
3847 
3848 	/**
3849 	 * 下キー            D_DIK_DOWN
3850 	 */
3851 	KEY_INPUT_DOWN = 0xD0,
3852 
3853 	/**
3854 	 * Insertキー        D_DIK_INSERT
3855 	 */
3856 	KEY_INPUT_INSERT = 0xD2,
3857 
3858 	/**
3859 	 * Deleteキー        D_DIK_DELETE
3860 	 */
3861 	KEY_INPUT_DELETE = 0xD3,
3862 
3863 	/**
3864 	 * -キー            D_DIK_MINUS
3865 	 */
3866 	KEY_INPUT_MINUS = 0x0C,
3867 
3868 	/**
3869 	 * ¥キー            D_DIK_YEN
3870 	 */
3871 	KEY_INPUT_YEN = 0x7D,
3872 
3873 	/**
3874 	 * ^キー            D_DIK_PREVTRACK
3875 	 */
3876 	KEY_INPUT_PREVTRACK = 0x90,
3877 
3878 	/**
3879 	 * .キー            D_DIK_PERIOD
3880 	 */
3881 	KEY_INPUT_PERIOD = 0x34,
3882 
3883 	/**
3884 	 * /キー            D_DIK_SLASH
3885 	 */
3886 	KEY_INPUT_SLASH = 0x35,
3887 
3888 	/**
3889 	 * 左Altキー        D_DIK_LALT
3890 	 */
3891 	KEY_INPUT_LALT = 0x38,
3892 
3893 	/**
3894 	 * 右Altキー        D_DIK_RALT
3895 	 */
3896 	KEY_INPUT_RALT = 0xB8,
3897 
3898 	/**
3899 	 * ScrollLockキー    D_DIK_SCROLL
3900 	 */
3901 	KEY_INPUT_SCROLL = 0x46,
3902 
3903 	/**
3904 	 * ;キー            D_DIK_SEMICOLON
3905 	 */
3906 	KEY_INPUT_SEMICOLON = 0x27,
3907 
3908 	/**
3909 	 * :キー            D_DIK_COLON
3910 	 */
3911 	KEY_INPUT_COLON = 0x92,
3912 
3913 	/**
3914 	 * [キー            D_DIK_LBRACKET
3915 	 */
3916 	KEY_INPUT_LBRACKET = 0x1A,
3917 
3918 	/**
3919 	 * ]キー            D_DIK_RBRACKET
3920 	 */
3921 	KEY_INPUT_RBRACKET = 0x1B,
3922 
3923 	/**
3924 	 * @キー            D_DIK_AT
3925 	 */
3926 	KEY_INPUT_AT = 0x91,
3927 
3928 	/**
3929 	 * \キー            D_DIK_BACKSLASH
3930 	 */
3931 	KEY_INPUT_BACKSLASH = 0x2B,
3932 
3933 	/**
3934 	 * ,キー            D_DIK_COMMA
3935 	 */
3936 	KEY_INPUT_COMMA = 0x33,
3937 
3938 	/**
3939 	 * 漢字キー            D_DIK_KANJI
3940 	 */
3941 	KEY_INPUT_KANJI = 0x94,
3942 
3943 	/**
3944 	 * 変換キー            D_DIK_CONVERT
3945 	 */
3946 	KEY_INPUT_CONVERT = 0x79,
3947 
3948 	/**
3949 	 * 無変換キー        D_DIK_NOCONVERT
3950 	 */
3951 	KEY_INPUT_NOCONVERT = 0x7B,
3952 
3953 	/**
3954 	 * カナキー            D_DIK_KANA
3955 	 */
3956 	KEY_INPUT_KANA = 0x70,
3957 
3958 	/**
3959 	 * アプリケーションメニューキー        D_DIK_APPS
3960 	 */
3961 	KEY_INPUT_APPS = 0xDD,
3962 
3963 	/**
3964 	 * CaspLockキー        D_DIK_CAPSLOCK
3965 	 */
3966 	KEY_INPUT_CAPSLOCK = 0x3A,
3967 
3968 	/**
3969 	 * PrintScreenキー    D_DIK_SYSRQ
3970 	 */
3971 	KEY_INPUT_SYSRQ = 0xB7,
3972 
3973 	/**
3974 	 * PauseBreakキー    D_DIK_PAUSE
3975 	 */
3976 	KEY_INPUT_PAUSE = 0xC5,
3977 
3978 	/**
3979 	 * 左Winキー        D_DIK_LWIN
3980 	 */
3981 	KEY_INPUT_LWIN = 0xDB,
3982 
3983 	/**
3984 	 * 右Winキー        D_DIK_RWIN
3985 	 */
3986 	KEY_INPUT_RWIN = 0xDC,
3987 
3988 	/**
3989 	 * テンキーNumLockキー        D_DIK_NUMLOCK
3990 	 */
3991 	KEY_INPUT_NUMLOCK = 0x45,
3992 
3993 	/**
3994 	 * テンキー0                D_DIK_NUMPAD0
3995 	 */
3996 	KEY_INPUT_NUMPAD0 = 0x52,
3997 
3998 	/**
3999 	 * テンキー1                D_DIK_NUMPAD1
4000 	 */
4001 	KEY_INPUT_NUMPAD1 = 0x4F,
4002 
4003 	/**
4004 	 * テンキー2                D_DIK_NUMPAD2
4005 	 */
4006 	KEY_INPUT_NUMPAD2 = 0x50,
4007 
4008 	/**
4009 	 * テンキー3                D_DIK_NUMPAD3
4010 	 */
4011 	KEY_INPUT_NUMPAD3 = 0x51,
4012 
4013 	/**
4014 	 * テンキー4                D_DIK_NUMPAD4
4015 	 */
4016 	KEY_INPUT_NUMPAD4 = 0x4B,
4017 
4018 	/**
4019 	 * テンキー5                D_DIK_NUMPAD5
4020 	 */
4021 	KEY_INPUT_NUMPAD5 = 0x4C,
4022 
4023 	/**
4024 	 * テンキー6                D_DIK_NUMPAD6
4025 	 */
4026 	KEY_INPUT_NUMPAD6 = 0x4D,
4027 
4028 	/**
4029 	 * テンキー7                D_DIK_NUMPAD7
4030 	 */
4031 	KEY_INPUT_NUMPAD7 = 0x47,
4032 
4033 	/**
4034 	 * テンキー8                D_DIK_NUMPAD8
4035 	 */
4036 	KEY_INPUT_NUMPAD8 = 0x48,
4037 
4038 	/**
4039 	 * テンキー9                D_DIK_NUMPAD9
4040 	 */
4041 	KEY_INPUT_NUMPAD9 = 0x49,
4042 
4043 	/**
4044 	 * テンキー*キー            D_DIK_MULTIPLY
4045 	 */
4046 	KEY_INPUT_MULTIPLY = 0x37,
4047 
4048 	/**
4049 	 * テンキー+キー            D_DIK_ADD
4050 	 */
4051 	KEY_INPUT_ADD = 0x4E,
4052 
4053 	/**
4054 	 * テンキー-キー            D_DIK_SUBTRACT
4055 	 */
4056 	KEY_INPUT_SUBTRACT = 0x4A,
4057 
4058 	/**
4059 	 * テンキー.キー            D_DIK_DECIMAL
4060 	 */
4061 	KEY_INPUT_DECIMAL = 0x53,
4062 
4063 	/**
4064 	 * テンキー/キー            D_DIK_DIVIDE
4065 	 */
4066 	KEY_INPUT_DIVIDE = 0xB5,
4067 
4068 	/**
4069 	 * テンキーのエンターキー    D_DIK_NUMPADENTER
4070 	 */
4071 	KEY_INPUT_NUMPADENTER = 0x9C,
4072 
4073 	/**
4074 	 * F1キー            D_DIK_F1
4075 	 */
4076 	KEY_INPUT_F1 = 0x3B,
4077 
4078 	/**
4079 	 * F2キー            D_DIK_F2
4080 	 */
4081 	KEY_INPUT_F2 = 0x3C,
4082 
4083 	/**
4084 	 * F3キー            D_DIK_F3
4085 	 */
4086 	KEY_INPUT_F3 = 0x3D,
4087 
4088 	/**
4089 	 * F4キー            D_DIK_F4
4090 	 */
4091 	KEY_INPUT_F4 = 0x3E,
4092 
4093 	/**
4094 	 * F5キー            D_DIK_F5
4095 	 */
4096 	KEY_INPUT_F5 = 0x3F,
4097 
4098 	/**
4099 	 * F6キー            D_DIK_F6
4100 	 */
4101 	KEY_INPUT_F6 = 0x40,
4102 
4103 	/**
4104 	 * F7キー            D_DIK_F7
4105 	 */
4106 	KEY_INPUT_F7 = 0x41,
4107 
4108 	/**
4109 	 * F8キー            D_DIK_F8
4110 	 */
4111 	KEY_INPUT_F8 = 0x42,
4112 
4113 	/**
4114 	 * F9キー            D_DIK_F9
4115 	 */
4116 	KEY_INPUT_F9 = 0x43,
4117 
4118 	/**
4119 	 * F10キー        D_DIK_F10
4120 	 */
4121 	KEY_INPUT_F10 = 0x44,
4122 
4123 	/**
4124 	 * F11キー        D_DIK_F11
4125 	 */
4126 	KEY_INPUT_F11 = 0x57,
4127 
4128 	/**
4129 	 * F12キー        D_DIK_F12
4130 	 */
4131 	KEY_INPUT_F12 = 0x58,
4132 
4133 	/**
4134 	 * Aキー            D_DIK_A
4135 	 */
4136 	KEY_INPUT_A = 0x1E,
4137 
4138 	/**
4139 	 * Bキー            D_DIK_B
4140 	 */
4141 	KEY_INPUT_B = 0x30,
4142 
4143 	/**
4144 	 * Cキー            D_DIK_C
4145 	 */
4146 	KEY_INPUT_C = 0x2E,
4147 
4148 	/**
4149 	 * Dキー            D_DIK_D
4150 	 */
4151 	KEY_INPUT_D = 0x20,
4152 
4153 	/**
4154 	 * Eキー            D_DIK_E
4155 	 */
4156 	KEY_INPUT_E = 0x12,
4157 
4158 	/**
4159 	 * Fキー            D_DIK_F
4160 	 */
4161 	KEY_INPUT_F = 0x21,
4162 
4163 	/**
4164 	 * Gキー            D_DIK_G
4165 	 */
4166 	KEY_INPUT_G = 0x22,
4167 
4168 	/**
4169 	 * Hキー            D_DIK_H
4170 	 */
4171 	KEY_INPUT_H = 0x23,
4172 
4173 	/**
4174 	 * Iキー            D_DIK_I
4175 	 */
4176 	KEY_INPUT_I = 0x17,
4177 
4178 	/**
4179 	 * Jキー            D_DIK_J
4180 	 */
4181 	KEY_INPUT_J = 0x24,
4182 
4183 	/**
4184 	 * Kキー            D_DIK_K
4185 	 */
4186 	KEY_INPUT_K = 0x25,
4187 
4188 	/**
4189 	 * Lキー            D_DIK_L
4190 	 */
4191 	KEY_INPUT_L = 0x26,
4192 
4193 	/**
4194 	 * Mキー            D_DIK_M
4195 	 */
4196 	KEY_INPUT_M = 0x32,
4197 
4198 	/**
4199 	 * Nキー            D_DIK_N
4200 	 */
4201 	KEY_INPUT_N = 0x31,
4202 
4203 	/**
4204 	 * Oキー            D_DIK_O
4205 	 */
4206 	KEY_INPUT_O = 0x18,
4207 
4208 	/**
4209 	 * Pキー            D_DIK_P
4210 	 */
4211 	KEY_INPUT_P = 0x19,
4212 
4213 	/**
4214 	 * Qキー            D_DIK_Q
4215 	 */
4216 	KEY_INPUT_Q = 0x10,
4217 
4218 	/**
4219 	 * Rキー            D_DIK_R
4220 	 */
4221 	KEY_INPUT_R = 0x13,
4222 
4223 	/**
4224 	 * Sキー            D_DIK_S
4225 	 */
4226 	KEY_INPUT_S = 0x1F,
4227 
4228 	/**
4229 	 * Tキー            D_DIK_T
4230 	 */
4231 	KEY_INPUT_T = 0x14,
4232 
4233 	/**
4234 	 * Uキー            D_DIK_U
4235 	 */
4236 	KEY_INPUT_U = 0x16,
4237 
4238 	/**
4239 	 * Vキー            D_DIK_V
4240 	 */
4241 	KEY_INPUT_V = 0x2F,
4242 
4243 	/**
4244 	 * Wキー            D_DIK_W
4245 	 */
4246 	KEY_INPUT_W = 0x11,
4247 
4248 	/**
4249 	 * Xキー            D_DIK_X
4250 	 */
4251 	KEY_INPUT_X = 0x2D,
4252 
4253 	/**
4254 	 * Yキー            D_DIK_Y
4255 	 */
4256 	KEY_INPUT_Y = 0x15,
4257 
4258 	/**
4259 	 * Zキー            D_DIK_Z
4260 	 */
4261 	KEY_INPUT_Z = 0x2C,
4262 
4263 	/**
4264 	 * 0キー            D_DIK_0
4265 	 */
4266 	KEY_INPUT_0 = 0x0B,
4267 
4268 	/**
4269 	 * 1キー            D_DIK_1
4270 	 */
4271 	KEY_INPUT_1 = 0x02,
4272 
4273 	/**
4274 	 * 2キー            D_DIK_2
4275 	 */
4276 	KEY_INPUT_2 = 0x03,
4277 
4278 	/**
4279 	 * 3キー            D_DIK_3
4280 	 */
4281 	KEY_INPUT_3 = 0x04,
4282 
4283 	/**
4284 	 * 4キー            D_DIK_4
4285 	 */
4286 	KEY_INPUT_4 = 0x05,
4287 
4288 	/**
4289 	 * 5キー            D_DIK_5
4290 	 */
4291 	KEY_INPUT_5 = 0x06,
4292 
4293 	/**
4294 	 * 6キー            D_DIK_6
4295 	 */
4296 	KEY_INPUT_6 = 0x07,
4297 
4298 	/**
4299 	 * 7キー            D_DIK_7
4300 	 */
4301 	KEY_INPUT_7 = 0x08,
4302 
4303 	/**
4304 	 * 8キー            D_DIK_8
4305 	 */
4306 	KEY_INPUT_8 = 0x09,
4307 
4308 	/**
4309 	 * 9キー            D_DIK_9
4310 	 */
4311 	KEY_INPUT_9 = 0x0A,
4312 }
4313 
4314 /**
4315  * アスキーコントロールキーコード
4316  */
4317 enum
4318 {
4319 	/**
4320 	 * バックスペース
4321 	 */
4322 	CTRL_CODE_BS = 0x08,
4323 
4324 	/**
4325 	 * タブ
4326 	 */
4327 	CTRL_CODE_TAB = 0x09,
4328 
4329 	/**
4330 	 * 改行
4331 	 */
4332 	CTRL_CODE_CR = 0x0D,
4333 
4334 	/**
4335 	 * DELキー
4336 	 */
4337 	CTRL_CODE_DEL = 0x10,
4338 
4339 	/**
4340 	 * コピー
4341 	 */
4342 	CTRL_CODE_COPY = 0x03,
4343 
4344 	/**
4345 	 * ペースト
4346 	 */
4347 	CTRL_CODE_PASTE = 0x16,
4348 
4349 	/**
4350 	 * カット
4351 	 */
4352 	CTRL_CODE_CUT = 0x18,
4353 
4354 	/**
4355 	 * 全て選択
4356 	 */
4357 	CTRL_CODE_ALL = 0x01,
4358 
4359 	/**
4360 	 * ←キー
4361 	 */
4362 	CTRL_CODE_LEFT = 0x1D,
4363 
4364 	/**
4365 	 * →キー
4366 	 */
4367 	CTRL_CODE_RIGHT = 0x1C,
4368 
4369 	/**
4370 	 * ↑キー
4371 	 */
4372 	CTRL_CODE_UP = 0x1E,
4373 
4374 	/**
4375 	 * ↓キー
4376 	 */
4377 	CTRL_CODE_DOWN = 0x1F,
4378 
4379 	/**
4380 	 * HOMEボタン
4381 	 */
4382 	CTRL_CODE_HOME = 0x1A,
4383 
4384 	/**
4385 	 * ENDボタン
4386 	 */
4387 	CTRL_CODE_END = 0x19,
4388 
4389 	/**
4390 	 * PAGE UP
4391 	 */
4392 	CTRL_CODE_PAGE_UP = 0x17,
4393 
4394 	/**
4395 	 * PAGE DOWN
4396 	 */
4397 	CTRL_CODE_PAGE_DOWN = 0x15,
4398 
4399 	/**
4400 	 * ESCキー
4401 	 */
4402 	CTRL_CODE_ESC = 0x1B,
4403 
4404 	/**
4405 	 * 制御コード敷居値
4406 	 */
4407 	CTRL_CODE_CMP = 0x20,
4408 }
4409 
4410 /**
4411  * SetKeyInputStringColor2 に渡す色変更対象を指定するための識別子
4412  */
4413 enum
4414 {
4415 	/**
4416 	 * 入力文字列の色
4417 	 */
4418 	DX_KEYINPSTRCOLOR_NORMAL_STR = 0,
4419 
4420 	/**
4421 	 * 入力文字列の縁の色
4422 	 */
4423 	DX_KEYINPSTRCOLOR_NORMAL_STR_EDGE = 1,
4424 
4425 	/**
4426 	 * IME非使用時のカーソルの色
4427 	 */
4428 	DX_KEYINPSTRCOLOR_NORMAL_CURSOR = 2,
4429 
4430 	/**
4431 	 * 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の色
4432 	 */
4433 	DX_KEYINPSTRCOLOR_SELECT_STR = 3,
4434 
4435 	/**
4436 	 * 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の縁の色
4437 	 */
4438 	DX_KEYINPSTRCOLOR_SELECT_STR_EDGE = 4,
4439 
4440 	/**
4441 	 * 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の周りの色
4442 	 */
4443 	DX_KEYINPSTRCOLOR_SELECT_STR_BACK = 5,
4444 
4445 	/**
4446 	 * IME使用時の入力文字列の色
4447 	 */
4448 	DX_KEYINPSTRCOLOR_IME_STR = 6,
4449 
4450 	/**
4451 	 * IME使用時の入力文字列の縁の色
4452 	 */
4453 	DX_KEYINPSTRCOLOR_IME_STR_EDGE = 7,
4454 
4455 	/**
4456 	 * IME使用時の入力文字列の周りの色
4457 	 */
4458 	DX_KEYINPSTRCOLOR_IME_STR_BACK = 8,
4459 
4460 	/**
4461 	 * IME使用時のカーソルの色
4462 	 */
4463 	DX_KEYINPSTRCOLOR_IME_CURSOR = 9,
4464 
4465 	/**
4466 	 * IME使用時の変換文字列の下線の色
4467 	 */
4468 	DX_KEYINPSTRCOLOR_IME_LINE = 10,
4469 
4470 	/**
4471 	 * IME使用時の選択対象の変換候補文字列の色
4472 	 */
4473 	DX_KEYINPSTRCOLOR_IME_SELECT_STR = 11,
4474 
4475 	/**
4476 	 * IME使用時の選択対象の変換候補文字列の縁の色
4477 	 */
4478 	DX_KEYINPSTRCOLOR_IME_SELECT_STR_EDGE = 12,
4479 
4480 	/**
4481 	 * IME使用時の選択対象の変換候補文字列の周りの色
4482 	 */
4483 	DX_KEYINPSTRCOLOR_IME_SELECT_STR_BACK = 13,
4484 
4485 	/**
4486 	 * IME使用時の変換候補ウインドウ内の文字列の色
4487 	 */
4488 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_STR = 14,
4489 
4490 	/**
4491 	 * IME使用時の変換候補ウインドウ内の文字列の縁の色
4492 	 */
4493 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_STR_EDGE = 15,
4494 
4495 	/**
4496 	 * IME使用時の変換候補ウインドウ内で選択している文字列の色
4497 	 */
4498 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR = 16,
4499 
4500 	/**
4501 	 * IME使用時の変換候補ウインドウ内で選択している文字列の縁の色
4502 	 */
4503 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR_EDGE = 17,
4504 
4505 	/**
4506 	 * IME使用時の変換候補ウインドウ内で選択している文字列の周りの色
4507 	 */
4508 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR_BACK = 18,
4509 
4510 	/**
4511 	 * IME使用時の変換候補ウインドウの縁の色
4512 	 */
4513 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_EDGE = 19,
4514 
4515 	/**
4516 	 * IME使用時の変換候補ウインドウの下地の色
4517 	 */
4518 	DX_KEYINPSTRCOLOR_IME_CONV_WIN_BACK = 20,
4519 
4520 	/**
4521 	 * IME使用時の入力モード文字列の色(『全角ひらがな』等)
4522 	 */
4523 	DX_KEYINPSTRCOLOR_IME_MODE_STR = 21,
4524 
4525 	/**
4526 	 * IME使用時の入力モード文字列の縁の色
4527 	 */
4528 	DX_KEYINPSTRCOLOR_IME_MODE_STR_EDGE = 22,
4529 
4530 	/**
4531 	 * ?
4532 	 */
4533 	DX_KEYINPSTRCOLOR_NUM = 23,
4534 }
4535 
4536 /**
4537  * 文字列入力処理の入力文字数が限界に達している状態で、文字列の末端部分で入力が行われた場合の処理モード
4538  */
4539 enum
4540 {
4541 	/**
4542 	 * 文字数が限界に達している状態で文字列の末端で文字が入力された場合は、最後の文字を上書き( デフォルト )
4543 	 */
4544 	DX_KEYINPSTR_ENDCHARAMODE_OVERWRITE = 0,
4545 
4546 	/**
4547 	 * 文字数が限界に達している状態で文字列の末端で文字が入力された場合は、何も変化しない
4548 	 */
4549 	DX_KEYINPSTR_ENDCHARAMODE_NOTCHANGE = 1,
4550 }
4551 
4552 /**
4553  * フルスクリーン解像度モード定義
4554  */
4555 enum
4556 {
4557 	/**
4558 	 * モニターの画面モードをデスクトップ画面と同じにしてDXライブラリ画面を拡大して表示するモード
4559 	 */
4560 	DX_FSRESOLUTIONMODE_DESKTOP = 0,
4561 
4562 	/**
4563 	 * モニターの解像度をDXライブラリ画面の解像度に合わせるモード
4564 	 */
4565 	DX_FSRESOLUTIONMODE_NATIVE = 1,
4566 
4567 	/**
4568 	 * モニターの解像度を最大にしてDXライブラリ画面を拡大して表示するモード
4569 	 */
4570 	DX_FSRESOLUTIONMODE_MAXIMUM = 2,
4571 }
4572 
4573 /**
4574  * フルスクリーン拡大モード定義
4575  */
4576 enum
4577 {
4578 	/**
4579 	 * バイリニアモード( ピクセルが滲んでピクセルとピクセルの区切りがはっきりしない )
4580 	 */
4581 	DX_FSSCALINGMODE_BILINEAR = 0,
4582 
4583 	/**
4584 	 * 最近点モード( ピクセルが四角くくっきり表示される )
4585 	 */
4586 	DX_FSSCALINGMODE_NEAREST = 1,
4587 }
4588 
4589 /**
4590  * SetGraphMode 戻り値定義
4591  */
4592 enum
4593 {
4594 	/**
4595 	 * 画面変更は成功した
4596 	 */
4597 	DX_CHANGESCREEN_OK = 0,
4598 
4599 	/**
4600 	 * 画面の変更は失敗し、元の画面モードに戻された
4601 	 */
4602 	DX_CHANGESCREEN_RETURN = -1,
4603 
4604 	/**
4605 	 * 画面の変更は失敗しデフォルトの画面モードに変更された
4606 	 */
4607 	DX_CHANGESCREEN_DEFAULT = -2,
4608 
4609 	/**
4610 	 * 画面の変更は成功したが、リフレッシュレートの変更は失敗した
4611 	 */
4612 	DX_CHANGESCREEN_REFRESHNORMAL = -3,
4613 }
4614 
4615 // ストリームデータ読み込み処理コード簡略化関連
4616 /+
4617 #define STTELL(st) ((st)->ReadShred.Tell((st)->DataPoint))
4618 #define STSEEK(st, pos, type) ((st)->ReadShred.Seek((st)->DataPoint, (pos), (type)))
4619 #define STREAD(buf, length, num, st) ((st)->ReadShred.Read((buf), (length), (num), (st)->DataPoint))
4620 #define STWRITE(buf, length, num, st) ((st)->ReadShred.Write((buf), (length), (num), (st)->DataPoint))
4621 #define STEOF(st) ((st)->ReadShred.Eof((st)->DataPoint))
4622 #define STCLOSE(st) ((st)->ReadShred.Close((st)->DataPoint))
4623 +/
4624 
4625 /**
4626  * ストリームデータ制御のシークタイプ定義
4627  */
4628 enum
4629 {
4630 	/**
4631 	 * ?
4632 	 */
4633 	STREAM_SEEKTYPE_SET = SEEK_SET,
4634 
4635 	/**
4636 	 * ?
4637 	 */
4638 	STREAM_SEEKTYPE_END = SEEK_END,
4639 
4640 	/**
4641 	 * ?
4642 	 */
4643 	STREAM_SEEKTYPE_CUR = SEEK_CUR,
4644 }
4645 
4646 /**
4647  * グラフィックロード時のイメージタイプ
4648  */
4649 enum
4650 {
4651 	/**
4652 	 * イメージはファイルである
4653 	 */
4654 	LOADIMAGE_TYPE_FILE = 0,
4655 
4656 	/**
4657 	 * イメージはメモリである
4658 	 */
4659 	LOADIMAGE_TYPE_MEM = 1,
4660 
4661 	/**
4662 	 * イメージは無い
4663 	 */
4664 	LOADIMAGE_TYPE_NONE = -1,
4665 }
4666 
4667 version (DX_NON_NETWORK) {
4668 } else {
4669 	/**
4670 	 * HTTP エラー
4671 	 */
4672 	enum
4673 	{
4674 		/**
4675 		 * サーバーエラー
4676 		 */
4677 		HTTP_ERR_SERVER = 0,
4678 
4679 		/**
4680 		 * ファイルが見つからなかった
4681 		 */
4682 		HTTP_ERR_NOTFOUND = 1,
4683 
4684 		/**
4685 		 * メモリ確保の失敗
4686 		 */
4687 		HTTP_ERR_MEMORY = 2,
4688 
4689 		/**
4690 		 * 途中で切断された
4691 		 */
4692 		HTTP_ERR_LOST = 3,
4693 
4694 		/**
4695 		 * エラーは報告されていない
4696 		 */
4697 		HTTP_ERR_NONE = -1,
4698 	}
4699 
4700 	/**
4701 	 * HTTP 処理の結果
4702 	 */
4703 	enum
4704 	{
4705 		/**
4706 		 * 処理完了
4707 		 */
4708 		HTTP_RES_COMPLETE = 0,
4709 
4710 		/**
4711 		 * 処理中止
4712 		 */
4713 		HTTP_RES_STOP = 1,
4714 
4715 		/**
4716 		 * エラー終了
4717 		 */
4718 		HTTP_RES_ERROR = 2,
4719 
4720 		/**
4721 		 * 現在進行中
4722 		 */
4723 		HTTP_RES_NOW = -1,
4724 	}
4725 }
4726 
4727 // データ型定義-------------------------------------------------------------------
4728 
4729 // WAVEFORMATEX の定義
4730 version (_WAVEFORMATEX_) {
4731 } else {
4732 	package struct tWAVEFORMATEX
4733 	{
4734 		/**
4735 		 * フォーマット( WAVE_FORMAT_PCM( 値は 1 ) 等 )
4736 		 */
4737 		dxlib_d.dxdatatype.WORD wFormatTag;
4738 
4739 		/**
4740 		 * チャンネル数
4741 		 */
4742 		dxlib_d.dxdatatype.WORD nChannels;
4743 
4744 		/**
4745 		 * 1秒辺りのサンプル数
4746 		 */
4747 		dxlib_d.dxdatatype.DWORD nSamplesPerSec;
4748 
4749 		/**
4750 		 * 1秒辺りのバイト数( PCMの場合 nSamplesPerSec * nBlockAlign )
4751 		 */
4752 		dxlib_d.dxdatatype.DWORD nAvgBytesPerSec;
4753 
4754 		/**
4755 		 * 全チャンネルの1サンプルを合わせたバイト数( wBitsPerSample / 8 * nChannels )
4756 		 */
4757 		dxlib_d.dxdatatype.WORD nBlockAlign;
4758 
4759 		/**
4760 		 * 1サンプル辺りのビット数
4761 		 */
4762 		dxlib_d.dxdatatype.WORD wBitsPerSample;
4763 
4764 		/**
4765 		 * 拡張情報のバイト数( 拡張情報が無い場合は 0 )
4766 		 */
4767 		dxlib_d.dxdatatype.WORD cbSize;
4768 	}
4769 
4770 	public alias WAVEFORMATEX = .tWAVEFORMATEX;
4771 	public alias PWAVEFORMATEX = .tWAVEFORMATEX*;
4772 	public alias NPWAVEFORMATEX = /* NEAR */ .tWAVEFORMATEX*;
4773 	public alias LPWAVEFORMATEX = /* FAR */ .tWAVEFORMATEX*;
4774 }
4775 
4776 // WAVEFORMAT の定義
4777 version (WAVE_FORMAT_PCM) {
4778 } else {
4779 	package struct waveformat_tag
4780 	{
4781 		/**
4782 		 * フォーマット( WAVE_FORMAT_PCM( 値は 1 ) 等 )
4783 		 */
4784 		dxlib_d.dxdatatype.WORD wFormatTag;
4785 
4786 		/**
4787 		 * チャンネル数
4788 		 */
4789 		dxlib_d.dxdatatype.WORD nChannels;
4790 
4791 		/**
4792 		 * 1秒辺りのサンプル数
4793 		 */
4794 		dxlib_d.dxdatatype.DWORD nSamplesPerSec;
4795 
4796 		/**
4797 		 * 1秒辺りのバイト数( PCMの場合 nSamplesPerSec * nBlockAlign )
4798 		 */
4799 		dxlib_d.dxdatatype.DWORD nAvgBytesPerSec;
4800 
4801 		/**
4802 		 * 全チャンネルの1サンプルを合わせたバイト数( wBitsPerSample / 8 * nChannels )
4803 		 */
4804 		dxlib_d.dxdatatype.WORD nBlockAlign;
4805 	}
4806 
4807 	public alias WAVEFORMAT = .waveformat_tag;
4808 	public alias PWAVEFORMAT = .waveformat_tag*;
4809 	public alias NPWAVEFORMAT = /* NEAR */ .waveformat_tag*;
4810 	public alias LPWAVEFORMAT = /* FAR */ .waveformat_tag*;
4811 
4812 	enum WAVE_FORMAT_PCM = 1;
4813 }
4814 
4815 extern (C++, DxLib) {
4816 	/**
4817 	 * IME入力文字列の描画に必要な情報の内の文節情報
4818 	 */
4819 	package struct tagIMEINPUTCLAUSEDATA
4820 	{
4821 		/**
4822 		 * 何文字目から
4823 		 */
4824 		int Position;
4825 
4826 		/**
4827 		 * 何文字か
4828 		 */
4829 		int Length;
4830 	}
4831 
4832 	public alias IMEINPUTCLAUSEDATA = .tagIMEINPUTCLAUSEDATA;
4833 	public alias LPIMEINPUTCLAUSEDATA = .tagIMEINPUTCLAUSEDATA*;
4834 
4835 	/**
4836 	 * IME入力文字列の描画に必要な情報
4837 	 */
4838 	package struct tagIMEINPUTDATA
4839 	{
4840 		/**
4841 		 * 入力中の文字列
4842 		 */
4843 		const (dxlib_d.dxdatatype.TCHAR)* InputString;
4844 
4845 		/**
4846 		 * カーソルの入力文字列中の位置(バイト単位)
4847 		 */
4848 		int CursorPosition;
4849 
4850 		/**
4851 		 * 文節情報
4852 		 */
4853 		const (.IMEINPUTCLAUSEDATA)* ClauseData;
4854 
4855 		/**
4856 		 * 文節情報の数
4857 		 */
4858 		int ClauseNum;
4859 
4860 		/**
4861 		 * 選択中の分節( -1 の場合はどの文節にも属していない( 末尾にカーソルがある ) )
4862 		 */
4863 		int SelectClause;
4864 
4865 		/**
4866 		 * 変換候補の数( 0の場合は変換中ではない )
4867 		 */
4868 		int CandidateNum;
4869 
4870 		/**
4871 		 * 変換候補文字列リスト( 例:n番目の候補を描画する場合  DrawString(0, 0, data.CandidateList[ n ], GetColor(255,255,255)); )
4872 		 */
4873 		const (dxlib_d.dxdatatype.TCHAR)** CandidateList;
4874 
4875 		/**
4876 		 * 選択中の変換候補
4877 		 */
4878 		int SelectCandidate;
4879 
4880 		/**
4881 		 * 文字変換中かどうか( TRUE:変換中  FALSE:変換中ではない( 文字単位でカーソルが移動できる状態 ) )
4882 		 */
4883 		int ConvertFlag;
4884 	}
4885 
4886 	public alias IMEINPUTDATA = .tagIMEINPUTDATA;
4887 	public alias LPIMEINPUTDATA = .tagIMEINPUTDATA*;
4888 
4889 	/**
4890 	 * 描画文字列1文字の情報
4891 	 */
4892 	package struct tagDRAWCHARINFO
4893 	{
4894 		/**
4895 		 * 文字
4896 		 */
4897 		dxlib_d.dxdatatype.TCHAR[14] Char;
4898 
4899 		/**
4900 		 * 文字のバイト数
4901 		 */
4902 		dxlib_d.dxdatatype.WORD Bytes;
4903 
4904 		/**
4905 		 * 描画位置 X
4906 		 */
4907 		float DrawX;
4908 
4909 		/**
4910 		 * 描画位置 Y
4911 		 */
4912 		float DrawY;
4913 
4914 		/**
4915 		 * 描画サイズ Y
4916 		 */
4917 		float SizeX;
4918 
4919 		/**
4920 		 * 描画サイズ Y
4921 		 */
4922 		float SizeY;
4923 	}
4924 
4925 	public alias DRAWCHARINFO = .tagDRAWCHARINFO;
4926 	public alias LPDRAWCHARINFO = .tagDRAWCHARINFO*;
4927 
4928 	/**
4929 	 * 画面モード情報データ型
4930 	 */
4931 	package struct tagDISPLAYMODEDATA
4932 	{
4933 		/**
4934 		 * 水平解像度
4935 		 */
4936 		int Width;
4937 
4938 		/**
4939 		 * 垂直解像度
4940 		 */
4941 		int Height;
4942 
4943 		/**
4944 		 * 色ビット深度
4945 		 */
4946 		int ColorBitDepth;
4947 
4948 		/**
4949 		 * リフレッシュレート( -1 の場合は規定値 )
4950 		 */
4951 		int RefreshRate;
4952 	}
4953 
4954 	public alias DISPLAYMODEDATA = .tagDISPLAYMODEDATA;
4955 	public alias LPDISPLAYMODEDATA = .tagDISPLAYMODEDATA*;
4956 
4957 	/**
4958 	 * タイムデータ型
4959 	 */
4960 	package struct tagDATEDATA
4961 	{
4962 		/**
4963 		 * 年
4964 		 */
4965 		int Year;
4966 
4967 		/**
4968 		 * 月
4969 		 */
4970 		int Mon;
4971 
4972 		/**
4973 		 * 日
4974 		 */
4975 		int Day;
4976 
4977 		/**
4978 		 * 時間
4979 		 */
4980 		int Hour;
4981 
4982 		/**
4983 		 * 分
4984 		 */
4985 		int Min;
4986 
4987 		/**
4988 		 * 秒
4989 		 */
4990 		int Sec;
4991 	}
4992 
4993 	public alias DATEDATA = .tagDATEDATA;
4994 	public alias LPDATEDATA = .tagDATEDATA*;
4995 
4996 	/**
4997 	 * ファイル情報構造体
4998 	 */
4999 	package struct tagFILEINFO
5000 	{
5001 		/**
5002 		 * オブジェクト名
5003 		 */
5004 		dxlib_d.dxdatatype.TCHAR[260] Name;
5005 
5006 		/**
5007 		 * ディレクトリかどうか( TRUE:ディレクトリ  FALSE:ファイル )
5008 		 */
5009 		int DirFlag;
5010 
5011 		/**
5012 		 * サイズ
5013 		 */
5014 		dxlib_d.dxdatatype.LONGLONG Size;
5015 
5016 		/**
5017 		 * 作成日時
5018 		 */
5019 		.DATEDATA CreationTime;
5020 
5021 		/**
5022 		 * 最終更新日時
5023 		 */
5024 		.DATEDATA LastWriteTime;
5025 	}
5026 
5027 	public alias FILEINFO = .tagFILEINFO;
5028 	public alias LPFILEINFO = .tagFILEINFO*;
5029 
5030 	/**
5031 	 * ファイル情報構造体( wchar_t 版 )
5032 	 */
5033 	package struct tagFILEINFOW
5034 	{
5035 		/**
5036 		 * オブジェクト名
5037 		 */
5038 		.wchar_t[260] Name;
5039 
5040 		/**
5041 		 * ディレクトリかどうか( TRUE:ディレクトリ  FALSE:ファイル )
5042 		 */
5043 		int DirFlag;
5044 
5045 		/**
5046 		 * サイズ
5047 		 */
5048 		dxlib_d.dxdatatype.LONGLONG Size;
5049 
5050 		/**
5051 		 * 作成日時
5052 		 */
5053 		.DATEDATA CreationTime;
5054 
5055 		/**
5056 		 * 最終更新日時
5057 		 */
5058 		.DATEDATA LastWriteTime;
5059 	}
5060 
5061 	public alias FILEINFOW = .tagFILEINFOW;
5062 	public alias LPFILEINFOW = .tagFILEINFOW*;
5063 
5064 	/**
5065 	 * 行列構造体
5066 	 */
5067 	package struct tagMATRIX
5068 	{
5069 		float[4][4] m;
5070 	}
5071 
5072 	public alias MATRIX = .tagMATRIX;
5073 	public alias LPMATRIX = .tagMATRIX*;
5074 
5075 	package struct tagMATRIX_D
5076 	{
5077 		double[4][4] m;
5078 	}
5079 
5080 	public alias MATRIX_D = .tagMATRIX_D;
5081 	public alias LPMATRIX_D = .tagMATRIX_D*;
5082 
5083 	/**
5084 	 * ベクトルデータ型
5085 	 */
5086 	package struct tagVECTOR
5087 	{
5088 		float x;
5089 		float y;
5090 		float z;
5091 	}
5092 
5093 	public alias VECTOR = .tagVECTOR;
5094 	public alias LPVECTOR = .tagVECTOR*;
5095 	public alias FLOAT3 = .tagVECTOR;
5096 	public alias LPFLOAT3 = .tagVECTOR*;
5097 
5098 	package struct tagVECTOR_D
5099 	{
5100 		double x;
5101 		double y;
5102 		double z;
5103 	}
5104 
5105 	public alias VECTOR_D = .tagVECTOR_D;
5106 	public alias LPVECTOR_D = .tagVECTOR_D*;
5107 	public alias DOUBLE3 = .tagVECTOR_D;
5108 	public alias LPDOUBLE3 = .tagVECTOR_D*;
5109 
5110 	/**
5111 	 * FLOAT2個データ型
5112 	 */
5113 	package struct tagFLOAT2
5114 	{
5115 		float u;
5116 		float v;
5117 	}
5118 
5119 	public alias FLOAT2 = .tagFLOAT2;
5120 
5121 	/**
5122 	 * float 型のカラー値
5123 	 */
5124 	package struct tagCOLOR_F
5125 	{
5126 		float r;
5127 		float g;
5128 		float b;
5129 		float a;
5130 	}
5131 
5132 	public alias COLOR_F = .tagCOLOR_F;
5133 	public alias LPCOLOR_F = .tagCOLOR_F*;
5134 
5135 	/**
5136 	 * ubyte 型のカラー値
5137 	 */
5138 	package struct tagCOLOR_U8
5139 	{
5140 		dxlib_d.dxdatatype.BYTE b;
5141 		dxlib_d.dxdatatype.BYTE g;
5142 		dxlib_d.dxdatatype.BYTE r;
5143 		dxlib_d.dxdatatype.BYTE a;
5144 	}
5145 
5146 	public alias COLOR_U8 = .tagCOLOR_U8;
5147 
5148 	/**
5149 	 * FLOAT4個データ型
5150 	 */
5151 	package struct tagFLOAT4
5152 	{
5153 		float x;
5154 		float y;
5155 		float z;
5156 		float w;
5157 	}
5158 
5159 	public alias FLOAT4 = .tagFLOAT4;
5160 	public alias LPFLOAT4 = .tagFLOAT4*;
5161 
5162 	/**
5163 	 * DOUBLE4個データ型
5164 	 */
5165 	package struct tagDOUBLE4
5166 	{
5167 		double x;
5168 		double y;
5169 		double z;
5170 		double w;
5171 	}
5172 
5173 	public alias DOUBLE4 = .tagDOUBLE4;
5174 	public alias LPDOUBLE4 = .tagDOUBLE4*;
5175 
5176 	/**
5177 	 * INT4個データ型
5178 	 */
5179 	package struct tagINT4
5180 	{
5181 		int x;
5182 		int y;
5183 		int z;
5184 		int w;
5185 	}
5186 
5187 	public alias INT4 = .tagINT4;
5188 
5189 	version (DX_NOTUSE_DRAWFUNCTION) {
5190 	} else {
5191 		/**
5192 		 * 2D描画に使用する頂点データ型(DrawPrimitive2D用)
5193 		 */
5194 		package struct tagVERTEX2D
5195 		{
5196 			.VECTOR pos;
5197 			float rhw;
5198 			.COLOR_U8 dif;
5199 			float u;
5200 			float v;
5201 		}
5202 
5203 		public alias VERTEX2D = .tagVERTEX2D;
5204 		public alias LPVERTEX2D = .tagVERTEX2D*;
5205 
5206 		/**
5207 		 * 2D描画に使用する頂点データ型(DrawPrimitive2DToShader用)
5208 		 */
5209 		package struct tagVERTEX2DSHADER
5210 		{
5211 			.VECTOR pos;
5212 			float rhw;
5213 			.COLOR_U8 dif;
5214 			.COLOR_U8 spc;
5215 			float u;
5216 			float v;
5217 			float su;
5218 			float sv;
5219 		}
5220 
5221 		public alias VERTEX2DSHADER = .tagVERTEX2DSHADER;
5222 		public alias LPVERTEX2DSHADER = .tagVERTEX2DSHADER*;
5223 
5224 		/**
5225 		 * 2D描画に使用する頂点データ型(公開用)
5226 		 */
5227 		package struct tagVERTEX
5228 		{
5229 			float x;
5230 			float y;
5231 			float u;
5232 			float v;
5233 			ubyte b;
5234 			ubyte g;
5235 			ubyte r;
5236 			ubyte a;
5237 		}
5238 
5239 		public alias VERTEX = .tagVERTEX;
5240 
5241 		/**
5242 		 * 3D描画に使用する頂点データ型( 旧バージョンのもの )
5243 		 */
5244 		package struct tagVERTEX_3D
5245 		{
5246 			.VECTOR pos;
5247 			ubyte b;
5248 			ubyte g;
5249 			ubyte r;
5250 			ubyte a;
5251 			float u;
5252 			float v;
5253 		}
5254 
5255 		public alias VERTEX_3D = .tagVERTEX_3D;
5256 		public alias LPVERTEX_3D = .tagVERTEX_3D*;
5257 
5258 		/**
5259 		 * 3D描画に使用する頂点データ型
5260 		 */
5261 		package struct tagVERTEX3D
5262 		{
5263 			/**
5264 			 * 座標
5265 			 */
5266 			.VECTOR pos;
5267 
5268 			/**
5269 			 * 法線
5270 			 */
5271 			.VECTOR norm;
5272 
5273 			/**
5274 			 * ディフューズカラー
5275 			 */
5276 			.COLOR_U8 dif;
5277 
5278 			/**
5279 			 * スペキュラカラー
5280 			 */
5281 			.COLOR_U8 spc;
5282 
5283 			/**
5284 			 * テクスチャ座標
5285 			 */
5286 			float u;
5287 
5288 			/**
5289 			 * テクスチャ座標
5290 			 */
5291 			float v;
5292 
5293 			/**
5294 			 * 補助テクスチャ座標
5295 			 */
5296 			float su;
5297 
5298 			/**
5299 			 * 補助テクスチャ座標
5300 			 */
5301 			float sv;
5302 		}
5303 
5304 		public alias VERTEX3D = .tagVERTEX3D;
5305 		public alias LPVERTEX3D = .tagVERTEX3D*;
5306 
5307 		/**
5308 		 * 3D描画に使用する頂点データ型( DrawPrimitive3DToShader用 )
5309 		 * 注意…メンバ変数に追加があるかもしれませんので、宣言時の初期化( VERTEX3DSHADER Vertex = { 0.0f, 0.0f, ... というようなもの )はしない方が良いです
5310 		 */
5311 		package struct tagVERTEX3DSHADER
5312 		{
5313 			/**
5314 			 * 座標
5315 			 */
5316 			.VECTOR pos;
5317 
5318 			/**
5319 			 * 補助座標
5320 			 */
5321 			.FLOAT4 spos;
5322 
5323 			/**
5324 			 * 法線
5325 			 */
5326 			.VECTOR norm;
5327 
5328 			/**
5329 			 * 接線
5330 			 */
5331 			.VECTOR tan;
5332 
5333 			/**
5334 			 * 従法線
5335 			 */
5336 			.VECTOR binorm;
5337 
5338 			/**
5339 			 * ディフューズカラー
5340 			 */
5341 			.COLOR_U8 dif;
5342 
5343 			/**
5344 			 * スペキュラカラー
5345 			 */
5346 			.COLOR_U8 spc;
5347 
5348 			/**
5349 			 * テクスチャ座標
5350 			 */
5351 			float u;
5352 
5353 			/**
5354 			 * テクスチャ座標
5355 			 */
5356 			float v;
5357 
5358 			/**
5359 			 * 補助テクスチャ座標
5360 			 */
5361 			float su;
5362 
5363 			/**
5364 			 * 補助テクスチャ座標
5365 			 */
5366 			float sv;
5367 		}
5368 
5369 		public alias VERTEX3DSHADER = .tagVERTEX3DSHADER;
5370 		public alias LPVERTEX3DSHADER = .tagVERTEX3DSHADER*;
5371 
5372 		/**
5373 		 * ライトパラメータ
5374 		 */
5375 		package struct tagLIGHTPARAM
5376 		{
5377 			/**
5378 			 * ライトのタイプ( DX_LIGHTTYPE_D3DLIGHT_POINT 等 )
5379 			 */
5380 			int LightType;
5381 
5382 			/**
5383 			 * ディフューズカラー
5384 			 */
5385 			.COLOR_F Diffuse;
5386 
5387 			/**
5388 			 * スペキュラカラー
5389 			 */
5390 			.COLOR_F Specular;
5391 
5392 			/**
5393 			 * アンビエント色
5394 			 */
5395 			.COLOR_F Ambient;
5396 
5397 			/**
5398 			 * 位置
5399 			 */
5400 			.VECTOR Position;
5401 
5402 			/**
5403 			 * 方向
5404 			 */
5405 			.VECTOR Direction;
5406 
5407 			/**
5408 			 * 有効距離
5409 			 */
5410 			float Range;
5411 
5412 			/**
5413 			 * フォールオフ 1.0f にしておくのが好ましい
5414 			 */
5415 			float Falloff;
5416 
5417 			/**
5418 			 * 距離による減衰係数0
5419 			 */
5420 			float Attenuation0;
5421 
5422 			/**
5423 			 * 距離による減衰係数1
5424 			 */
5425 			float Attenuation1;
5426 
5427 			/**
5428 			 * 距離による減衰係数2
5429 			 */
5430 			float Attenuation2;
5431 
5432 			/**
5433 			 * スポットライトの内部コーンの照明角度( ラジアン )
5434 			 */
5435 			float Theta;
5436 
5437 			/**
5438 			 * スポットライトの外部コーンの照明角度
5439 			 */
5440 			float Phi;
5441 		}
5442 
5443 		alias LIGHTPARAM = .tagLIGHTPARAM;
5444 
5445 		/**
5446 		 * マテリアルパラメータ
5447 		 */
5448 		package struct tagMATERIALPARAM
5449 		{
5450 			/**
5451 			 * ディフューズカラー
5452 			 */
5453 			.COLOR_F Diffuse;
5454 
5455 			/**
5456 			 * アンビエントカラー
5457 			 */
5458 			.COLOR_F Ambient;
5459 
5460 			/**
5461 			 * スペキュラカラー
5462 			 */
5463 			.COLOR_F Specular;
5464 
5465 			/**
5466 			 * エミッシブカラー
5467 			 */
5468 			.COLOR_F Emissive;
5469 
5470 			/**
5471 			 * スペキュラハイライトの鮮明度
5472 			 */
5473 			float Power;
5474 		}
5475 
5476 		alias MATERIALPARAM = .tagMATERIALPARAM;
5477 	}
5478 
5479 	/**
5480 	 * ラインヒットチェック結果格納用構造体
5481 	 */
5482 	package struct tagHITRESULT_LINE
5483 	{
5484 		/**
5485 		 * 当たったかどうか( 1:当たった  0:当たらなかった )
5486 		 */
5487 		int HitFlag;
5488 
5489 		/**
5490 		 * 当たった座標
5491 		 */
5492 		.VECTOR Position;
5493 	}
5494 
5495 	public alias HITRESULT_LINE = .tagHITRESULT_LINE;
5496 
5497 	/**
5498 	 * ラインヒットチェック結果格納用構造体
5499 	 */
5500 	package struct tagHITRESULT_LINE_D
5501 	{
5502 		/**
5503 		 * 当たったかどうか( 1:当たった  0:当たらなかった )
5504 		 */
5505 		int HitFlag;
5506 
5507 		/**
5508 		 * 当たった座標
5509 		 */
5510 		.VECTOR_D Position;
5511 	}
5512 
5513 	public alias HITRESULT_LINE_D = .tagHITRESULT_LINE_D;
5514 
5515 	/**
5516 	 * 関数 Segment_Segment_Analyse の結果を受け取る為の構造体
5517 	 */
5518 	package struct tagSEGMENT_SEGMENT_RESULT
5519 	{
5520 		/**
5521 		 * 線分Aと線分Bが最も接近する座標間の距離の二乗
5522 		 */
5523 		float SegA_SegB_MinDist_Square;
5524 
5525 		/**
5526 		 * 線分Aと線分Bに最も接近する座標の線分Aの t ( 0.0f 〜 1.0f 、最近点座標 = (( SegAPos2 - SegAPos1 ) * t) + SegAPos1 )
5527 		 */
5528 		float SegA_MinDist_Pos1_Pos2_t;
5529 
5530 		/**
5531 		 * 線分Bが線分Aに最も接近する座標の線分Bの t ( 0.0f 〜 1.0f 、最近点座標 = (( SegBPos2 - SegBPos1 ) * t) + SegBPos1 )
5532 		 */
5533 		float SegB_MinDist_Pos1_Pos2_t;
5534 
5535 		/**
5536 		 * 線分Aが線分Bに最も接近する線分A上の座標
5537 		 */
5538 		.VECTOR SegA_MinDist_Pos;
5539 
5540 		/**
5541 		 * 線分Bが線分Aに最も接近する線分B上の座標
5542 		 */
5543 		.VECTOR SegB_MinDist_Pos;
5544 	}
5545 
5546 	public alias SEGMENT_SEGMENT_RESULT = .tagSEGMENT_SEGMENT_RESULT;
5547 
5548 	/**
5549 	 * 関数 Segment_Segment_Analyse の結果を受け取る為の構造体
5550 	 */
5551 	package struct tagSEGMENT_SEGMENT_RESULT_D
5552 	{
5553 		/**
5554 		 * 線分Aと線分Bが最も接近する座標間の距離の二乗
5555 		 */
5556 		double SegA_SegB_MinDist_Square;
5557 
5558 		/**
5559 		 * 線分Aと線分Bに最も接近する座標の線分Aの t ( 0.0 〜 1.0 、最近点座標 = (( SegAPos2 - SegAPos1 ) * t) + SegAPos1 )
5560 		 */
5561 		double SegA_MinDist_Pos1_Pos2_t;
5562 
5563 		/**
5564 		 * 線分Bが線分Aに最も接近する座標の線分Bの t ( 0.0 〜 1.0 、最近点座標 = (( SegBPos2 - SegBPos1 ) * t) + SegBPos1 )
5565 		 */
5566 		double SegB_MinDist_Pos1_Pos2_t;
5567 
5568 		/**
5569 		 * 線分Aが線分Bに最も接近する線分A上の座標
5570 		 */
5571 		.VECTOR_D SegA_MinDist_Pos;
5572 
5573 		/**
5574 		 * 線分Bが線分Aに最も接近する線分B上の座標
5575 		 */
5576 		.VECTOR_D SegB_MinDist_Pos;
5577 	}
5578 
5579 	public alias SEGMENT_SEGMENT_RESULT_D = .tagSEGMENT_SEGMENT_RESULT_D;
5580 
5581 	/**
5582 	 * 関数 Segment_Point_Analyse の結果を受け取る為の構造体
5583 	 */
5584 	package struct tagSEGMENT_POINT_RESULT
5585 	{
5586 		/**
5587 		 * 線分と点が最も接近する座標間の距離の二乗
5588 		 */
5589 		float Seg_Point_MinDist_Square;
5590 
5591 		/**
5592 		 * 線分が点に最も接近する座標の線分の t ( 0.0f 〜 1.0f 、最近点座標 = (( SegPos2 - SegPos1 ) * t) + SegPos1 )
5593 		 */
5594 		float Seg_MinDist_Pos1_Pos2_t;
5595 
5596 		/**
5597 		 * 線分が点に最も接近する線分上の座標
5598 		 */
5599 		.VECTOR Seg_MinDist_Pos;
5600 	}
5601 
5602 	public alias SEGMENT_POINT_RESULT = .tagSEGMENT_POINT_RESULT;
5603 
5604 	/**
5605 	 * 関数 Segment_Point_Analyse の結果を受け取る為の構造体
5606 	 */
5607 	package struct tagSEGMENT_POINT_RESULT_D
5608 	{
5609 		/**
5610 		 * 線分と点が最も接近する座標間の距離の二乗
5611 		 */
5612 		double Seg_Point_MinDist_Square;
5613 
5614 		/**
5615 		 * 線分が点に最も接近する座標の線分の t ( 0.0 〜 1.0 、最近点座標 = (( SegPos2 - SegPos1 ) * t) + SegPos1 )
5616 		 */
5617 		double Seg_MinDist_Pos1_Pos2_t;
5618 
5619 		/**
5620 		 * 線分が点に最も接近する線分上の座標
5621 		 */
5622 		.VECTOR_D Seg_MinDist_Pos;
5623 	}
5624 
5625 	public alias SEGMENT_POINT_RESULT_D = .tagSEGMENT_POINT_RESULT_D;
5626 
5627 	/**
5628 	 * 関数 Segment_Triangle_Analyse の結果を受け取る為の構造体
5629 	 */
5630 	package struct tagSEGMENT_TRIANGLE_RESULT
5631 	{
5632 		/**
5633 		 * 線分と三角形が最も接近する座標間の距離の二乗
5634 		 */
5635 		float Seg_Tri_MinDist_Square;
5636 
5637 		/**
5638 		 * 線分が三角形に最も接近する座標の線分の t ( 0.0f 〜 1.0f 、最近点座標 = (( SegPos2 - SegPos1 ) * t) + SegPos1 )
5639 		 */
5640 		float Seg_MinDist_Pos1_Pos2_t;
5641 
5642 		/**
5643 		 * 線分が三角形に最も接近する線分上の座標
5644 		 */
5645 		.VECTOR Seg_MinDist_Pos;
5646 
5647 		/**
5648 		 * 三角形が線分に最も接近する座標の三角形座標1の重み( 最近点座標 = (TriPos1 * TriPos1_w) + (TriPos2 * TriPos2_w) + (TriPos3 * TriPos3_w) )
5649 		 */
5650 		float Tri_MinDist_Pos1_w;
5651 
5652 		/**
5653 		 * 三角形が線分に最も接近する座標の三角形座標2の重み
5654 		 */
5655 		float Tri_MinDist_Pos2_w;
5656 
5657 		/**
5658 		 * 三角形が線分に最も接近する座標の三角形座標3の重み
5659 		 */
5660 		float Tri_MinDist_Pos3_w;
5661 
5662 		/**
5663 		 * 三角形が線分に最も接近する三角形上の座標
5664 		 */
5665 		.VECTOR Tri_MinDist_Pos;
5666 	}
5667 
5668 	public alias SEGMENT_TRIANGLE_RESULT = .tagSEGMENT_TRIANGLE_RESULT;
5669 
5670 	/**
5671 	 * 関数 Segment_Triangle_Analyse の結果を受け取る為の構造体
5672 	 */
5673 	package struct tagSEGMENT_TRIANGLE_RESULT_D
5674 	{
5675 		/**
5676 		 * 線分と三角形が最も接近する座標間の距離の二乗
5677 		 */
5678 		double Seg_Tri_MinDist_Square;
5679 
5680 		/**
5681 		 * 線分が三角形に最も接近する座標の線分の t ( 0.0 〜 1.0 、最近点座標 = (( SegPos2 - SegPos1 ) * t) + SegPos1 )
5682 		 */
5683 		double Seg_MinDist_Pos1_Pos2_t;
5684 
5685 		/**
5686 		 * 線分が三角形に最も接近する線分上の座標
5687 		 */
5688 		.VECTOR_D Seg_MinDist_Pos;
5689 
5690 		/**
5691 		 * 三角形が線分に最も接近する座標の三角形座標1の重み( 最近点座標 = (TriPos1 * TriPos1_w) + (TriPos2 * TriPos2_w) + (TriPos3 * TriPos3_w) )
5692 		 */
5693 		double Tri_MinDist_Pos1_w;
5694 
5695 		/**
5696 		 * 三角形が線分に最も接近する座標の三角形座標2の重み
5697 		 */
5698 		double Tri_MinDist_Pos2_w;
5699 
5700 		/**
5701 		 * 三角形が線分に最も接近する座標の三角形座標3の重み
5702 		 */
5703 		double Tri_MinDist_Pos3_w;
5704 
5705 		/**
5706 		 * 三角形が線分に最も接近する三角形上の座標
5707 		 */
5708 		.VECTOR_D Tri_MinDist_Pos;
5709 	}
5710 
5711 	public alias SEGMENT_TRIANGLE_RESULT_D = .tagSEGMENT_TRIANGLE_RESULT_D;
5712 
5713 	/**
5714 	 * 関数 Triangle_Point_Analyse の結果を受け取る為の構造体
5715 	 */
5716 	package struct tagTRIANGLE_POINT_RESULT
5717 	{
5718 		/**
5719 		 * 三角形と点が最も接近する座標間の距離の二乗
5720 		 */
5721 		float Tri_Pnt_MinDist_Square;
5722 
5723 		/**
5724 		 * 三角形が点に最も接近する座標の三角形座標1の重み( 最近点座標 = (TriPos1 * TriPos1_w) + (TriPos2 * TriPos2_w) + (TriPos3 * TriPos3_w) )
5725 		 */
5726 		float Tri_MinDist_Pos1_w;
5727 
5728 		/**
5729 		 * 三角形が点に最も接近する座標の三角形座標2の重み
5730 		 */
5731 		float Tri_MinDist_Pos2_w;
5732 
5733 		/**
5734 		 * 三角形が点に最も接近する座標の三角形座標3の重み
5735 		 */
5736 		float Tri_MinDist_Pos3_w;
5737 
5738 		/**
5739 		 * 三角形が点に最も接近する三角形上の座標
5740 		 */
5741 		.VECTOR Tri_MinDist_Pos;
5742 	}
5743 
5744 	public alias TRIANGLE_POINT_RESULT = .tagTRIANGLE_POINT_RESULT;
5745 
5746 	/**
5747 	 * 関数 Triangle_Point_Analyse の結果を受け取る為の構造体
5748 	 */
5749 	package struct tagTRIANGLE_POINT_RESULT_D
5750 	{
5751 		/**
5752 		 * 三角形と点が最も接近する座標間の距離の二乗
5753 		 */
5754 		double Tri_Pnt_MinDist_Square;
5755 
5756 		/**
5757 		 * 三角形が点に最も接近する座標の三角形座標1の重み( 最近点座標 = (TriPos1 * TriPos1_w) + (TriPos2 * TriPos2_w) + (TriPos3 * TriPos3_w) )
5758 		 */
5759 		double Tri_MinDist_Pos1_w;
5760 
5761 		/**
5762 		 * 三角形が点に最も接近する座標の三角形座標2の重み
5763 		 */
5764 		double Tri_MinDist_Pos2_w;
5765 
5766 		/**
5767 		 * 三角形が点に最も接近する座標の三角形座標3の重み
5768 		 */
5769 		double Tri_MinDist_Pos3_w;
5770 
5771 		/**
5772 		 * 三角形が点に最も接近する三角形上の座標
5773 		 */
5774 		.VECTOR_D Tri_MinDist_Pos;
5775 	}
5776 
5777 	public alias TRIANGLE_POINT_RESULT_D = .tagTRIANGLE_POINT_RESULT_D;
5778 
5779 	/**
5780 	 * 関数 Plane_Point_Analyse の結果を受け取る為の構造体
5781 	 */
5782 	package struct tagPLANE_POINT_RESULT
5783 	{
5784 		/**
5785 		 * 点が平面の法線の側にあるかどうか( 1:法線の側にある  0:法線と反対側にある )
5786 		 */
5787 		int Pnt_Plane_Normal_Side;
5788 
5789 		/**
5790 		 * 平面と点の距離
5791 		 */
5792 		float Plane_Pnt_MinDist_Square;
5793 
5794 		/**
5795 		 * 平面上の点との最近点座標
5796 		 */
5797 		.VECTOR Plane_MinDist_Pos;
5798 	}
5799 
5800 	public alias PLANE_POINT_RESULT = .tagPLANE_POINT_RESULT;
5801 
5802 	/**
5803 	 * 関数 Plane_Point_Analyse の結果を受け取る為の構造体
5804 	 */
5805 	package struct tagPLANE_POINT_RESULT_D
5806 	{
5807 		/**
5808 		 * 点が平面の法線の側にあるかどうか( 1:法線の側にある  0:法線と反対側にある )
5809 		 */
5810 		int Pnt_Plane_Normal_Side;
5811 
5812 		/**
5813 		 * 平面と点の距離
5814 		 */
5815 		double Plane_Pnt_MinDist_Square;
5816 
5817 		/**
5818 		 * 平面上の点との最近点座標
5819 		 */
5820 		.VECTOR_D Plane_MinDist_Pos;
5821 	}
5822 
5823 	public alias PLANE_POINT_RESULT_D = .tagPLANE_POINT_RESULT_D;
5824 
5825 	version (DX_NOTUSE_DRAWFUNCTION) {
5826 	} else {
5827 		/**
5828 		 * コリジョン結果代入用ポリゴン
5829 		 */
5830 		package struct tagMV1_COLL_RESULT_POLY
5831 		{
5832 			/**
5833 			 * ( MV1CollCheck_Line でのみ有効 )ヒットフラグ( 1:ヒットした  0:ヒットしなかった )
5834 			 */
5835 			int HitFlag;
5836 
5837 			/**
5838 			 * ( MV1CollCheck_Line でのみ有効 )ヒット座標
5839 			 */
5840 			.VECTOR HitPosition;
5841 
5842 			/**
5843 			 * 当たったポリゴンが含まれるフレームの番号
5844 			 */
5845 			int FrameIndex;
5846 
5847 			/**
5848 			 * 当たったポリゴンが含まれるメッシュの番号( メッシュ単位で判定した場合のみ有効 )
5849 			 */
5850 			int MeshIndex;
5851 
5852 			/**
5853 			 * 当たったポリゴンの番号
5854 			 */
5855 			int PolygonIndex;
5856 
5857 			/**
5858 			 * 当たったポリゴンが使用しているマテリアルの番号
5859 			 */
5860 			int MaterialIndex;
5861 
5862 			/**
5863 			 * 当たったポリゴンを形成する三点の座標
5864 			 */
5865 			.VECTOR[3] Position;
5866 
5867 			/**
5868 			 * 当たったポリゴンの法線
5869 			 */
5870 			.VECTOR Normal;
5871 
5872 			/**
5873 			 * 当たった座標は、当たったポリゴンの三点それぞれどの割合で影響しているか、の値( 当たった座標 = (Position[ 0 ] * PositionWeight[ 0 ]) + (Position[ 1 ] * PositionWeight[ 1 ]) + (Position[ 2 ] * PositionWeight[ 2 ]) )
5874 			 */
5875 			float[3] PositionWeight;
5876 
5877 			/**
5878 			 * 当たったポリゴンの座標がそれぞれ最も影響を受けているフレームの番号
5879 			 */
5880 			int[3] PosMaxWeightFrameIndex;
5881 		}
5882 
5883 		public alias MV1_COLL_RESULT_POLY = .tagMV1_COLL_RESULT_POLY;
5884 
5885 		/**
5886 		 * コリジョン結果代入用ポリゴン配列
5887 		 */
5888 		package struct tagMV1_COLL_RESULT_POLY_DIM
5889 		{
5890 			/**
5891 			 * ヒットしたポリゴンの数
5892 			 */
5893 			int HitNum;
5894 
5895 			/**
5896 			 * ヒットしたポリゴンの配列( HitNum個分存在する )
5897 			 */
5898 			.MV1_COLL_RESULT_POLY* Dim;
5899 		}
5900 
5901 		public alias MV1_COLL_RESULT_POLY_DIM = .tagMV1_COLL_RESULT_POLY_DIM;
5902 
5903 		/**
5904 		 * 参照用頂点構造体
5905 		 */
5906 		package struct tagMV1_REF_VERTEX
5907 		{
5908 			/**
5909 			 * 位置
5910 			 */
5911 			.VECTOR Position;
5912 
5913 			/**
5914 			 * 法線
5915 			 */
5916 			.VECTOR Normal;
5917 
5918 			/**
5919 			 * テクスチャ座標
5920 			 */
5921 			.FLOAT2[2] TexCoord;
5922 
5923 			/**
5924 			 * ディフューズカラー
5925 			 */
5926 			.COLOR_U8 DiffuseColor;
5927 
5928 			/**
5929 			 * スペキュラカラー
5930 			 */
5931 			.COLOR_U8 SpecularColor;
5932 
5933 			/**
5934 			 * 最も大きな影響を与えているフレーム( スキニングメッシュ用 )
5935 			 */
5936 			int MaxWeightFrameIndex;
5937 		}
5938 
5939 		public alias MV1_REF_VERTEX = .tagMV1_REF_VERTEX;
5940 
5941 		/**
5942 		 * 参照用ポリゴン構造体
5943 		 */
5944 		package struct tagMV1_REF_POLYGON
5945 		{
5946 			/**
5947 			 * このポリゴンが属しているフレーム
5948 			 */
5949 			ushort FrameIndex;
5950 
5951 			/**
5952 			 * このポリゴンが属しているメッシュ
5953 			 */
5954 			ushort MeshIndex;
5955 
5956 			/**
5957 			 * 使用しているマテリアル
5958 			 */
5959 			ushort MaterialIndex;
5960 
5961 			/**
5962 			 * VIndex が指すインデックスの参照先( 1:フレーム  0:モデル全体 )
5963 			 */
5964 			ushort VIndexTarget;
5965 
5966 			/**
5967 			 * 3角形ポリゴンを成す参照頂点のインデックス
5968 			 */
5969 			int[3] VIndex;
5970 
5971 			/**
5972 			 * ポリゴンを成す頂点座標の最小値
5973 			 */
5974 			.VECTOR MinPosition;
5975 
5976 			/**
5977 			 * ポリゴンを成す頂点座標の最大値
5978 			 */
5979 			.VECTOR MaxPosition;
5980 		}
5981 
5982 		public alias MV1_REF_POLYGON = .tagMV1_REF_POLYGON;
5983 
5984 		/**
5985 		 * 参照用ポリゴンデータ構造体
5986 		 */
5987 		package struct tagMV1_REF_POLYGONLIST
5988 		{
5989 			/**
5990 			 * 参照用ポリゴンの数
5991 			 */
5992 			int PolygonNum;
5993 
5994 			/**
5995 			 * 頂点の数
5996 			 */
5997 			int VertexNum;
5998 
5999 			/**
6000 			 * 頂点座標の最小値
6001 			 */
6002 			.VECTOR MinPosition;
6003 
6004 			/**
6005 			 * 頂点座標の最大値
6006 			 */
6007 			.VECTOR MaxPosition;
6008 
6009 			/**
6010 			 * 参照用ポリゴン配列
6011 			 */
6012 			.MV1_REF_POLYGON* Polygons;
6013 
6014 			/**
6015 			 * 参照用頂点配列
6016 			 */
6017 			.MV1_REF_VERTEX* Vertexs;
6018 		}
6019 
6020 		public alias MV1_REF_POLYGONLIST = .tagMV1_REF_POLYGONLIST;
6021 	}
6022 
6023 	/**
6024 	 * 3Dサウンドリバーブエフェクトパラメータ構造体
6025 	 * ( 注釈は MSDN の XAUDIO2FX_REVERB_PARAMETERS 構造体の解説をほぼ引用しています )
6026 	 */
6027 	package struct tagSOUND3D_REVERB_PARAM
6028 	{
6029 		/**
6030 		 * リバーブとなる出力の割合( 指定可能範囲 0.0f 〜 100.0f )
6031 		 */
6032 		float WetDryMix;
6033 
6034 		/**
6035 		 * ダイレクト パスに対する初期反射の遅延時間、単位はミリ秒( 指定可能範囲 0 〜 300 )
6036 		 */
6037 		uint ReflectionsDelay;
6038 
6039 		/**
6040 		 * 初期反射に対するリバーブの遅延時間、単位はミリ秒( 指定可能範囲 0 〜 85 )
6041 		 */
6042 		dxlib_d.dxdatatype.BYTE ReverbDelay;
6043 
6044 		/**
6045 		 * 左後方出力および右後方出力の遅延時間、単位はミリ秒( 指定可能範囲 0 〜 5 )
6046 		 */
6047 		dxlib_d.dxdatatype.BYTE RearDelay;
6048 
6049 		/**
6050 		 * シミュレーション空間における視聴者に対する左入力の位置( 指定可能範囲 0 〜 30 )
6051 		 * PositionLeft を最小値に設定した場合、左入力は視聴者の近くに配置されます。
6052 		 * この位置では、サウンド フィールドにおいて初期反射が優勢になり、残響減衰は弱まって、振幅が小さくなります。
6053 		 * PositionLeft を最大値に設定した場合、左入力はシミュレーション室内で視聴者から最大限遠い位置に配置されます。
6054 		 * PositionLeft は残響減衰時間 (部屋の残響効果) に影響せず、視聴者に対する音源の見かけの位置のみに影響します。
6055 		 */
6056 		dxlib_d.dxdatatype.BYTE PositionLeft;
6057 
6058 		/**
6059 		 * PositionLeft と同効果の右入力値( 指定可能範囲 0 〜 30 )、右入力にのみ影響を与える
6060 		 */
6061 		dxlib_d.dxdatatype.BYTE PositionRight;
6062 
6063 		/**
6064 		 * 音源から視聴者までの距離によるインプレッションを増減させる値( 指定可能範囲 0 〜 30 )
6065 		 */
6066 		dxlib_d.dxdatatype.BYTE PositionMatrixLeft;
6067 
6068 		/**
6069 		 * 音源から視聴者までの距離によるインプレッションを増減させま値( 指定可能範囲 0 〜 30 )
6070 		 */
6071 		dxlib_d.dxdatatype.BYTE PositionMatrixRight;
6072 
6073 		/**
6074 		 * 個々の壁の反射特性値( 指定可能範囲 0 〜 15 )、( 堅く平らな表面をシミュレートするには小さな値を設定し、散乱性の表面をシミュレートするには大きな値を設定します。)
6075 		 */
6076 		dxlib_d.dxdatatype.BYTE EarlyDiffusion;
6077 
6078 		/**
6079 		 * 個々の壁のリバーブ特性値( 指定可能範囲 0 〜 15 )、( 堅く平らな表面をシミュレートするには小さな値を設定し、散乱性の表面をシミュレートするには大きな値を設定します。)
6080 		 */
6081 		dxlib_d.dxdatatype.BYTE LateDiffusion;
6082 
6083 		/**
6084 		 * 1 kHz における減衰時間を基準にして低周波数の減衰時間調整値( 指定可能範囲 0 〜 12 )
6085 		 *
6086 		 * 値とゲイン (dB) の関係
6087 		 * 値          0  1  2  3  4  5  6  7  8  9 10 11 12
6088 		 * ゲイン(dB) -8 -7 -6 -5 -4 -3 -2 -1  0 +1 +2 +3 +4
6089 		 * LowEQGain の値が 8 の場合、低周波数の減衰時間と 1 kHz における減衰時間が等しくなることに注意してください
6090 		 */
6091 		dxlib_d.dxdatatype.BYTE LowEQGain;
6092 
6093 		/**
6094 		 * LowEQGain パラメーターにより制御されるローパス フィルターの折点周波数の設定値( 指定可能範囲 0 〜 9 )
6095 		 *
6096 		 * 値と周波数 (Hz) の関係
6097 		 * 値          0   1   2   3   4   5   6   7   8   9
6098 		 * 周波数(Hz) 50 100 150 200 250 300 350 400 450 500
6099 		 */
6100 		dxlib_d.dxdatatype.BYTE LowEQCutoff;
6101 
6102 		/**
6103 		 * 1 kHz における減衰時間を基準にして高周波数の減衰時間調整値( 指定可能範囲 0 〜 8 )
6104 		 *
6105 		 * 値とゲイン (dB) の関係
6106 		 * 値          0  1  2  3  4  5  6  7 8
6107 		 * ゲイン(dB) -8 -7 -6 -5 -4 -3 -2 -1 0
6108 		 * 0 に設定すると、高周波数の音が 1 kHz の場合と同じ割合で減衰します。最大値に設定すると、高周波数の音が 1 kHz の場合よりもはるかに高い割合で減衰します。
6109 		 */
6110 		dxlib_d.dxdatatype.BYTE HighEQGain;
6111 
6112 		/**
6113 		 * HighEQGain パラメーターにより制御されるハイパス フィルターの折点周波数設定値( 指定可能範囲 0 〜 14 )
6114 		 *
6115 		 * 値と周波数 (kHz) の関係
6116 		 * 値          0    1    2     3    4     5    6     7    8     9   10    11   12    13   14
6117 		 * 周波数(kHz) 1  1.5    2   2.5    3   3.5    4   4.5    5   5.5    6   6.5    7   7.5    8
6118 		 */
6119 		dxlib_d.dxdatatype.BYTE HighEQCutoff;
6120 
6121 		/**
6122 		 * 室内エフェクトのローパス フィルターの折点周波数、単位は Hz ( 指定可能範囲 20.0f 〜 20000.0f )
6123 		 */
6124 		float RoomFilterFreq;
6125 
6126 		/**
6127 		 * 初期反射と後期フィールド残響の両方に適用されるローパス フィルターのパス バンド強度レベル、単位は dB ( 指定可能範囲 -100.0f 〜 0.0f )
6128 		 */
6129 		float RoomFilterMain;
6130 
6131 		/**
6132 		 * 折点周波数 (RoomFilterFreq) での初期反射と後期フィールド残響の両方に適用されるローパス フィルターのパス バンド強度レベル、単位は dB ( 指定可能範囲 -100.0f 〜 0.0f )
6133 		 */
6134 		float RoomFilterHF;
6135 
6136 		/**
6137 		 * 初期反射の強度/レベルを調整値、単位は dB ( 指定可能範囲 -100.0f 〜 20.0f )
6138 		 */
6139 		float ReflectionsGain;
6140 
6141 		/**
6142 		 * リバーブの強度/レベルを調整値、単位は dB ( 指定可能範囲 -100.0f 〜 20.0f )
6143 		 */
6144 		float ReverbGain;
6145 
6146 		/**
6147 		 * 1 kHz における残響減衰時間、単位は秒 ( 指定可能範囲 0.1f 〜 上限値特になし )、これは、フル スケールの入力信号が 60 dB 減衰するまでの時間です。
6148 		 */
6149 		float DecayTime;
6150 
6151 		/**
6152 		 * 後期フィールド残響のモード密度を制御値、単位はパーセント( 指定可能範囲 0.0f 〜 100.0f )
6153 		 * 無色 (colorless) の空間では、Density を最大値 (100.0f ) に設定する必要があります。
6154 		 * Density を小さくすると、サウンドはくぐもった音 (くし形フィルターが適用された音) になります。
6155 		 * これはサイロをシミュレーションするときに有効なエフェクトです。
6156 		 */
6157 		float Density;
6158 
6159 		/**
6160 		 * 音響空間の見かけ上のサイズ、単位はフィート( 指定可能範囲 1.0f (30.48 cm) 〜 100.0f (30.48 m) )
6161 		 */
6162 		float RoomSize;
6163 	}
6164 
6165 	public alias SOUND3D_REVERB_PARAM = .tagSOUND3D_REVERB_PARAM;
6166 
6167 	/**
6168 	 * ストリームデータ制御用関数ポインタ構造体タイプ2
6169 	 */
6170 	package struct tagSTREAMDATASHREDTYPE2
6171 	{
6172 		dxlib_d.dxdatatype.DWORD_PTR function(const (dxlib_d.dxdatatype.TCHAR)* Path, int UseCacheFlag, int BlockReadFlag, int UseASyncReadFlag) Open;
6173 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) Close;
6174 		dxlib_d.dxdatatype.LONGLONG function(dxlib_d.dxdatatype.DWORD_PTR Handle) Tell;
6175 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle, dxlib_d.dxdatatype.LONGLONG SeekPoint, int SeekType) Seek;
6176 		size_t function(void* Buffer, size_t BlockSize, size_t DataNum, dxlib_d.dxdatatype.DWORD_PTR Handle) Read;
6177 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) Eof;
6178 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) IdleCheck;
6179 		int function(const (dxlib_d.dxdatatype.TCHAR)* Path) ChDir;
6180 		int function(dxlib_d.dxdatatype.TCHAR* Buffer) GetDir;
6181 		int function(dxlib_d.dxdatatype.TCHAR* Buffer, size_t BufferSize) GetDirS;
6182 
6183 		/**
6184 		 * Returns: -1:エラー  -1以外:FindHandle
6185 		 */
6186 		dxlib_d.dxdatatype.DWORD_PTR function(const (dxlib_d.dxdatatype.TCHAR)* FilePath, .FILEINFO* Buffer) FindFirst;
6187 
6188 		/**
6189 		 * Returns: -1:エラー  0:成功
6190 		 */
6191 		int function(dxlib_d.dxdatatype.DWORD_PTR FindHandle, .FILEINFO* Buffer) FindNext;
6192 
6193 		/**
6194 		 * Returns: -1:エラー  0:成功
6195 		 */
6196 		int function(dxlib_d.dxdatatype.DWORD_PTR FindHandle) FindClose;
6197 	}
6198 
6199 	public alias STREAMDATASHREDTYPE2 = .tagSTREAMDATASHREDTYPE2;
6200 
6201 	/**
6202 	 * ストリームデータ制御用関数ポインタ構造体タイプ2の wchar_t 使用版
6203 	 */
6204 	package struct tagSTREAMDATASHREDTYPE2W
6205 	{
6206 		dxlib_d.dxdatatype.DWORD_PTR function(const (.wchar_t)* Path, int UseCacheFlag, int BlockReadFlag, int UseASyncReadFlag) Open;
6207 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) Close;
6208 		dxlib_d.dxdatatype.LONGLONG function(dxlib_d.dxdatatype.DWORD_PTR Handle) Tell;
6209 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle, dxlib_d.dxdatatype.LONGLONG SeekPoint, int SeekType) Seek;
6210 		size_t function(void* Buffer, size_t BlockSize, size_t DataNum, dxlib_d.dxdatatype.DWORD_PTR Handle) Read;
6211 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) Eof;
6212 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) IdleCheck;
6213 
6214 		/**
6215 		 * Returns: -1:エラー  0:DXアーカイブファイル内のファイルではない  1:DXアーカイブファイル内のファイル
6216 		 */
6217 		int function(dxlib_d.dxdatatype.DWORD_PTR Handle) IsDXA;
6218 
6219 		int function(const (.wchar_t)* Path) ChDir;
6220 		int function(.wchar_t* Buffer) GetDir;
6221 		int function(.wchar_t* Buffer, size_t BufferSize) GetDirS;
6222 
6223 		/**
6224 		 * Returns: -1:エラー  -1以外:FindHandle
6225 		 */
6226 		dxlib_d.dxdatatype.DWORD_PTR function(const (.wchar_t)* FilePath, .FILEINFOW* Buffer) FindFirst;
6227 
6228 		/**
6229 		 * Returns: -1:エラー  0:成功
6230 		 */
6231 		int function(dxlib_d.dxdatatype.DWORD_PTR FindHandle, .FILEINFOW* Buffer) FindNext;
6232 
6233 		/**
6234 		 * Returns: -1:エラー  0:成功
6235 		 */
6236 		int function(dxlib_d.dxdatatype.DWORD_PTR FindHandle) FindClose;
6237 	}
6238 
6239 	public alias STREAMDATASHREDTYPE2W = .tagSTREAMDATASHREDTYPE2W;
6240 
6241 	/**
6242 	 * ストリームデータ制御用関数ポインタ構造体
6243 	 */
6244 	package struct tagSTREAMDATASHRED
6245 	{
6246 		dxlib_d.dxdatatype.LONGLONG function(dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) Tell;
6247 		int function(dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint, dxlib_d.dxdatatype.LONGLONG SeekPoint, int SeekType) Seek;
6248 		size_t function(void* Buffer, size_t BlockSize, size_t DataNum, dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) Read;
6249 		// size_t function(void* Buffer, size_t BlockSize, size_t DataNum, dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) Write;
6250 		int function(dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) Eof;
6251 		int function(dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) IdleCheck;
6252 		int function(dxlib_d.dxdatatype.DWORD_PTR StreamDataPoint) Close;
6253 	}
6254 
6255 	public alias STREAMDATASHRED = .tagSTREAMDATASHRED;
6256 	public alias LPSTREAMDATASHRED = .tagSTREAMDATASHRED*;
6257 
6258 	/**
6259 	 * ストリームデータ制御用データ構造体
6260 	 */
6261 	package struct tagSTREAMDATA
6262 	{
6263 		.STREAMDATASHRED ReadShred;
6264 		dxlib_d.dxdatatype.DWORD_PTR DataPoint;
6265 	}
6266 
6267 	public alias STREAMDATA = .tagSTREAMDATA;
6268 
6269 	/**
6270 	 * パレット情報構造体
6271 	 */
6272 	package struct tagCOLORPALETTEDATA
6273 	{
6274 		ubyte Blue;
6275 		ubyte Green;
6276 		ubyte Red;
6277 		ubyte Alpha;
6278 	}
6279 
6280 	public alias COLORPALETTEDATA = .tagCOLORPALETTEDATA;
6281 
6282 	/**
6283 	 * カラー構造情報構造体
6284 	 */
6285 	package struct tagCOLORDATA
6286 	{
6287 		/**
6288 		 * フォーマット( DX_BASEIMAGE_FORMAT_NORMAL 等 )
6289 		 */
6290 		ubyte Format;
6291 
6292 		/**
6293 		 * チャンネル数
6294 		 */
6295 		ubyte ChannelNum;
6296 
6297 		/**
6298 		 * 1チャンネル辺りのビット深度
6299 		 */
6300 		ubyte ChannelBitDepth;
6301 
6302 		/**
6303 		 * 浮動小数点型かどうか( TRUE:浮動小数点型  FALSE:整数型 )
6304 		 */
6305 		ubyte FloatTypeFlag;
6306 
6307 		/**
6308 		 * 1ピクセルあたりのバイト数
6309 		 */
6310 		ubyte PixelByte;
6311 
6312 		// 以下は ChannelNum 又は ChannelBitDepth が 0 の時のみ有効
6313 
6314 		/**
6315 		 * ビット深度
6316 		 */
6317 		ubyte ColorBitDepth;
6318 
6319 		/**
6320 		 * 使われていないビットのアドレスと幅
6321 		 */
6322 		ubyte NoneLoc;
6323 
6324 		/**
6325 		 * 使われていないビットのアドレスと幅
6326 		 */
6327 		ubyte NoneWidth;
6328 
6329 		/**
6330 		 * ビット幅
6331 		 */
6332 		ubyte RedWidth;
6333 
6334 		/**
6335 		 * ビット幅
6336 		 */
6337 		ubyte GreenWidth;
6338 
6339 		/**
6340 		 * ビット幅
6341 		 */
6342 		ubyte BlueWidth;
6343 
6344 		/**
6345 		 * ビット幅
6346 		 */
6347 		ubyte AlphaWidth;
6348 
6349 		/**
6350 		 * 配置されているビットアドレス
6351 		 */
6352 		ubyte RedLoc;
6353 
6354 		/**
6355 		 * 配置されているビットアドレス
6356 		 */
6357 		ubyte GreenLoc;
6358 
6359 		/**
6360 		 * 配置されているビットアドレス
6361 		 */
6362 		ubyte BlueLoc;
6363 
6364 		/**
6365 		 * 配置されているビットアドレス
6366 		 */
6367 		ubyte AlphaLoc;
6368 
6369 		/**
6370 		 * ビットマスク
6371 		 */
6372 		uint RedMask;
6373 
6374 		/**
6375 		 * ビットマスク
6376 		 */
6377 		uint GreenMask;
6378 
6379 		/**
6380 		 * ビットマスク
6381 		 */
6382 		uint BlueMask;
6383 
6384 		/**
6385 		 * ビットマスク
6386 		 */
6387 		uint AlphaMask;
6388 
6389 		/**
6390 		 * 使われていないビットのマスク
6391 		 */
6392 		uint NoneMask;
6393 
6394 		/**
6395 		 * 使用しているパレット番号の最大値( 0 の場合は 255 とみなす )
6396 		 */
6397 		int MaxPaletteNo;
6398 
6399 		// memo: ここより上にメンバー変数を追加したら DxBaseImage.cpp の NS_GraphColorMatchBltVer2 のアセンブラでのパレットデータ参照のリテラル値を修正する必要あり
6400 
6401 		/**
6402 		 * パレット( ColorBitDepth が8以下の場合のみ有効 )
6403 		 */
6404 		.COLORPALETTEDATA[256] Palette;
6405 	}
6406 
6407 	public alias COLORDATA = .tagCOLORDATA;
6408 	public alias LPCOLORDATA = .tagCOLORDATA*;
6409 
6410 	/**
6411 	 * 基本イメージデータ構造体
6412 	 */
6413 	package struct tagBASEIMAGE
6414 	{
6415 		/**
6416 		 * 色情報
6417 		 */
6418 		.COLORDATA ColorData;
6419 
6420 		/**
6421 		 * 幅
6422 		 */
6423 		int Width;
6424 
6425 		/**
6426 		 * 高さ
6427 		 */
6428 		int Height;
6429 
6430 		/**
6431 		 * ピッチ
6432 		 */
6433 		int Pitch;
6434 
6435 		/**
6436 		 * グラフィックイメージ
6437 		 */
6438 		void* GraphData;
6439 
6440 		/**
6441 		 * ミップマップの数
6442 		 */
6443 		int MipMapCount;
6444 
6445 		/**
6446 		 * グラフィックイメージの数
6447 		 */
6448 		int GraphDataCount;
6449 	}
6450 
6451 	public alias BASEIMAGE = .tagBASEIMAGE;
6452 	public alias GRAPHIMAGE = .tagBASEIMAGE;
6453 	public alias LPGRAPHIMAGE = .tagBASEIMAGE*;
6454 
6455 	/**
6456 	 * ラインデータ型
6457 	 */
6458 	package struct tagLINEDATA
6459 	{
6460 		/**
6461 		 * 座標
6462 		 */
6463 		int x1;
6464 
6465 		/**
6466 		 * 座標
6467 		 */
6468 		int y1;
6469 
6470 		/**
6471 		 * 座標
6472 		 */
6473 		int x2;
6474 
6475 		/**
6476 		 * 座標
6477 		 */
6478 		int y2;
6479 
6480 		/**
6481 		 * 色
6482 		 */
6483 		uint color;
6484 
6485 		/**
6486 		 * パラメータ
6487 		 */
6488 		int pal;
6489 	}
6490 
6491 	public alias LINEDATA = .tagLINEDATA;
6492 	public alias LPLINEDATA = .tagLINEDATA*;
6493 
6494 	/**
6495 	 * 座標データ型
6496 	 */
6497 	package struct tagPOINTDATA
6498 	{
6499 		/**
6500 		 * 座標
6501 		 */
6502 		int x;
6503 
6504 		/**
6505 		 * 座標
6506 		 */
6507 		int y;
6508 
6509 		/**
6510 		 * 色
6511 		 */
6512 		uint color;
6513 
6514 		/**
6515 		 * パラメータ
6516 		 */
6517 		int pal;
6518 	}
6519 
6520 	public alias POINTDATA = .tagPOINTDATA;
6521 	public alias LPPOINTDATA = .tagPOINTDATA*;
6522 
6523 	/**
6524 	 * 立方体データ型
6525 	 */
6526 	package struct tagCUBEDATA
6527 	{
6528 		/**
6529 		 * 座標1
6530 		 */
6531 		.VECTOR Pos1;
6532 
6533 		/**
6534 		 * 座標2
6535 		 */
6536 		.VECTOR Pos2;
6537 
6538 		/**
6539 		 * ディフューズカラー
6540 		 */
6541 		.COLOR_U8 DifColor;
6542 
6543 		/**
6544 		 * スペキュラカラー
6545 		 */
6546 		.COLOR_U8 SpcColor;
6547 	}
6548 
6549 	public alias CUBEDATA = .tagCUBEDATA;
6550 	public alias LPCUBEDATA = .tagCUBEDATA*;
6551 
6552 	version (DX_NOTUSE_DRAWFUNCTION) {
6553 	} else {
6554 		/**
6555 		 * イメージフォーマットデータ
6556 		 */
6557 		package struct tagIMAGEFORMATDESC
6558 		{
6559 			/**
6560 			 * テクスチャか、フラグ( TRUE:テクスチャ  FALSE:標準サーフェス )
6561 			 */
6562 			ubyte TextureFlag;
6563 
6564 			/**
6565 			 * キューブマップテクスチャか、フラグ( TRUE:キューブマップテクスチャ FALSE:それ以外 )
6566 			 */
6567 			ubyte CubeMapTextureFlag;
6568 
6569 			/**
6570 			 * αチャンネルはあるか、フラグ    ( TRUE:ある  FALSE:ない )
6571 			 */
6572 			ubyte AlphaChFlag;
6573 
6574 			/**
6575 			 * 描画可能か、フラグ( TRUE:可能  FALSE:不可能 )
6576 			 */
6577 			ubyte DrawValidFlag;
6578 
6579 			/**
6580 			 * システムメモリ上に存在しているか、フラグ( TRUE:システムメモリ上  FALSE:VRAM上 )( 標準サーフェスの時のみ有効 )
6581 			 */
6582 			ubyte SystemMemFlag;
6583 
6584 			/**
6585 			 * マネージドテクスチャを使用するか、フラグ
6586 			 */
6587 			ubyte UseManagedTextureFlag;
6588 
6589 			/**
6590 			 * テクスチャのメモリデータ配置にリニアが選択できる場合はデータ配置方式をリニアにするかどうか( TRUE:リニアが可能な場合はリニアにする  FALSE:リニアが可能な場合も特にリニアを指定しない )
6591 			 */
6592 			ubyte UseLinearMapTextureFlag;
6593 
6594 			/**
6595 			 * 環境依存のテクスチャフォーマットを直接指定するために使用するための変数( DX_TEXTUREFORMAT_DIRECT3D9_R8G8B8 など )
6596 			 */
6597 			ubyte PlatformTextureFormat;
6598 
6599 			/**
6600 			 * 基本フォーマット( DX_BASEIMAGE_FORMAT_NORMAL 等 )
6601 			 */
6602 			ubyte BaseFormat;
6603 
6604 			/**
6605 			 * ミップマップの数
6606 			 */
6607 			ubyte MipMapCount;
6608 
6609 			/**
6610 			 * αテストチャンネルはあるか、フラグ( TRUE:ある  FALSE:ない )( テクスチャの場合のみ有効 )
6611 			 */
6612 			ubyte AlphaTestFlag;
6613 
6614 			/**
6615 			 * 浮動小数点型かどうか
6616 			 */
6617 			ubyte FloatTypeFlag;
6618 
6619 			/**
6620 			 * 色深度( テクスチャの場合のみ有効 )
6621 			 */
6622 			ubyte ColorBitDepth;
6623 
6624 			/**
6625 			 * チャンネルの数
6626 			 */
6627 			ubyte ChannelNum;
6628 
6629 			/**
6630 			 * 1チャンネル辺りのビット深度( テクスチャの場合のみ有効、0 の場合は ColorBitDepth が使用される )
6631 			 */
6632 			ubyte ChannelBitDepth;
6633 
6634 			/**
6635 			 * ブレンド用画像か、フラグ
6636 			 */
6637 			ubyte BlendGraphFlag;
6638 
6639 			/**
6640 			 * パレットを使用しているか、フラグ( SystemMemFlag が TRUE の場合のみ有効 )
6641 			 */
6642 			ubyte UsePaletteFlag;
6643 
6644 			/**
6645 			 * マルチサンプリング数( 描画対象の場合使用 )
6646 			 */
6647 			ubyte MSSamples;
6648 
6649 			/**
6650 			 * マルチサンプリングクオリティ( 描画対象の場合使用 )
6651 			 */
6652 			ubyte MSQuality;
6653 		}
6654 
6655 		public alias IMAGEFORMATDESC = .tagIMAGEFORMATDESC;
6656 	}
6657 
6658 	/**
6659 	 * DirectInput のジョイパッド入力情報
6660 	 */
6661 	package struct tagDINPUT_JOYSTATE
6662 	{
6663 		/**
6664 		 * スティックのX軸パラメータ( -1000〜1000 )
6665 		 */
6666 		int X;
6667 
6668 		/**
6669 		 * スティックのY軸パラメータ( -1000〜1000 )
6670 		 */
6671 		int Y;
6672 
6673 		/**
6674 		 * スティックのZ軸パラメータ( -1000〜1000 )
6675 		 */
6676 		int Z;
6677 
6678 		/**
6679 		 * スティックのX軸回転パラメータ( -1000〜1000 )
6680 		 */
6681 		int Rx;
6682 
6683 		/**
6684 		 * スティックのY軸回転パラメータ( -1000〜1000 )
6685 		 */
6686 		int Ry;
6687 
6688 		/**
6689 		 * スティックのZ軸回転パラメータ( -1000〜1000 )
6690 		 */
6691 		int Rz;
6692 
6693 		/**
6694 		 * スライダー二つ( 0〜65535 )
6695 		 */
6696 		int[2] Slider;
6697 
6698 		/**
6699 		 * ハットスイッチ4つ( 0xFFFFFFFF:入力なし 0:上 4500:右上 9000:右 13500:右下 18000:下 22500:左下 27000:左 31500:左上 )
6700 		 */
6701 		uint[4] POV;
6702 
6703 		/**
6704 		 * ボタン32個( 押されたボタンは 128 になる )
6705 		 */
6706 		ubyte[32] Buttons;
6707 	}
6708 
6709 	public alias DINPUT_JOYSTATE = .tagDINPUT_JOYSTATE;
6710 
6711 	/**
6712 	 * XInput のジョイパッド入力情報
6713 	 */
6714 	package struct tagXINPUT_STATE
6715 	{
6716 		/**
6717 		 * ボタン16個( 添字には XINPUT_BUTTON_DPAD_UP 等を使用する、0:押されていない  1:押されている )
6718 		 */
6719 		ubyte[16] Buttons;
6720 
6721 		/**
6722 		 * 左トリガー( 0〜255 )
6723 		 */
6724 		ubyte LeftTrigger;
6725 
6726 		/**
6727 		 * 右トリガー( 0〜255 )
6728 		 */
6729 		ubyte RightTrigger;
6730 
6731 		/**
6732 		 * 左スティックの横軸値( -32768 〜 32767 )
6733 		 */
6734 		short ThumbLX;
6735 
6736 		/**
6737 		 * 左スティックの縦軸値( -32768 〜 32767 )
6738 		 */
6739 		short ThumbLY;
6740 
6741 		/**
6742 		 * 右スティックの横軸値( -32768 〜 32767 )
6743 		 */
6744 		short ThumbRX;
6745 
6746 		/**
6747 		 * 右スティックの縦軸値( -32768 〜 32767 )
6748 		 */
6749 		short ThumbRY;
6750 	}
6751 
6752 	public alias XINPUT_STATE = .tagXINPUT_STATE;
6753 
6754 	/**
6755 	 * タッチパネルの1箇所分のタッチの情報
6756 	 */
6757 	package struct tagTOUCHINPUTPOINT
6758 	{
6759 		/**
6760 		 * タッチされたデバイス
6761 		 */
6762 		dxlib_d.dxdatatype.DWORD Device;
6763 
6764 		/**
6765 		 * タッチを判別するためのID
6766 		 */
6767 		dxlib_d.dxdatatype.DWORD ID;
6768 
6769 		/**
6770 		 * タッチされた座標X
6771 		 */
6772 		int PositionX;
6773 
6774 		/**
6775 		 * タッチされた座標Y
6776 		 */
6777 		int PositionY;
6778 	}
6779 
6780 	public alias TOUCHINPUTPOINT = .tagTOUCHINPUTPOINT;
6781 
6782 	/**
6783 	 * タッチパネルのタッチの情報
6784 	 */
6785 	package struct tagTOUCHINPUTDATA
6786 	{
6787 		/**
6788 		 * 情報の時間
6789 		 */
6790 		dxlib_d.dxdatatype.LONGLONG Time;
6791 
6792 		/**
6793 		 * 有効なタッチ情報の数
6794 		 */
6795 		int PointNum;
6796 
6797 		/**
6798 		 * タッチ情報
6799 		 */
6800 		.TOUCHINPUTPOINT[TOUCHINPUTPOINT_MAX] Point;
6801 	}
6802 
6803 	public alias TOUCHINPUTDATA = .tagTOUCHINPUTDATA;
6804 
6805 	/**
6806 	 * WinSockets使用時のアドレス指定用構造体
6807 	 */
6808 	package struct tagIPDATA
6809 	{
6810 		/**
6811 		 * アドレス値
6812 		 */
6813 		ubyte d1;
6814 
6815 		/**
6816 		 * アドレス値
6817 		 */
6818 		ubyte d2;
6819 
6820 		/**
6821 		 * アドレス値
6822 		 */
6823 		ubyte d3;
6824 
6825 		/**
6826 		 * アドレス値
6827 		 */
6828 		ubyte d4;
6829 	}
6830 
6831 	public alias IPDATA = .tagIPDATA;
6832 	public alias LPIPDATA = .tagIPDATA*;
6833 
6834 	package struct tagIPDATA_IPv6
6835 	{
6836 		union {
6837 			ubyte[16] Byte;
6838 			ushort[8] Word;
6839 		}
6840 		core.stdc.config.c_ulong ScopeID;
6841 	}
6842 
6843 	public alias IPDATA_IPv6 = .tagIPDATA_IPv6;
6844 
6845 /+
6846 }
6847 
6848 // 関数プロトタイプ宣言------------------------------------------------------------------
6849 
6850 //#ifdef WINDOWS_DESKTOP_OS
6851 version (Windows) {
6852 	public import dxlib_d.dxfunctionwin;
6853 }
6854 
6855 //#ifdef __ANDROID__
6856 version (Android) {
6857 	public import dxlib_d.dxfunctionandroid;
6858 }
6859 
6860 //#ifdef __APPLE__
6861 version (iOS) {
6862 	//#include "TargetConditionals.h"
6863 
6864 	//#if TARGET_OS_IPHONE
6865 		public import dxlib_d.dxfunctionios;
6866 	//#endif
6867 }
6868 
6869 extern (C++, DxLib) {
6870 +/
6871 	// DxSystem.cpp関数プロトタイプ宣言
6872 
6873 	// 初期化終了系関数
6874 
6875 	/**
6876 	 * ライブラリ初期化を行う
6877 	 */
6878 	extern int DxLib_Init();
6879 
6880 	/**
6881 	 * ライブラリ使用の後始末を行う
6882 	 */
6883 	extern int DxLib_End();
6884 
6885 	/**
6886 	 * ライブラリの内部で使用している構造体をゼロ初期化して、DxLib_Init の前に行った設定を無効化する( DxLib_Init の前でのみ有効 )
6887 	 */
6888 	extern int DxLib_GlobalStructInitialize();
6889 
6890 	/**
6891 	 * ライブラリが初期化されているかどうかを取得する
6892 	 *
6893 	 * Returns: TRUE:初期化されている  FALSE:されていない
6894 	 */
6895 	extern int DxLib_IsInit();
6896 
6897 	// エラー関係関数
6898 
6899 	/**
6900 	 * 最後に発生したエラーのエラーコードを取得する
6901 	 *
6902 	 * Returns: 0:エラーが発生していない、又はエラーコード出力に対応したエラーが発生していない  0以外:エラーコード、DX_ERRORCODE_WIN_DESKTOP_24BIT_COLOR など
6903 	 */
6904 	extern int GetLastErrorCode();
6905 
6906 	/**
6907 	 * 最後に発生したエラーのエラーメッセージを指定の文字列バッファに取得する
6908 	 */
6909 	extern int GetLastErrorMessage(dxlib_d.dxdatatype.TCHAR* StringBuffer, int StringBufferBytes);
6910 
6911 	// メッセージ処理関数
6912 
6913 	/**
6914 	 * ウインドウズのメッセージループに代わる処理を行う
6915 	 */
6916 	extern int ProcessMessage();
6917 
6918 	// 設定系関数
6919 
6920 	/**
6921 	 * アプリが非アクティブ状態でも処理を実行するかどうかを設定する
6922 	 *
6923 	 * Params:
6924 	 *      Flag = TRUE:実行する  FALSE:停止する( デフォルト )
6925 	 */
6926 	extern int SetAlwaysRunFlag(int Flag);
6927 
6928 	// ウエイト系関数
6929 
6930 	/**
6931 	 * 指定の時間だけ処理をとめる
6932 	 */
6933 	extern int WaitTimer(int WaitTime);
6934 
6935 	version (DX_NON_INPUT) {
6936 	} else {
6937 		/**
6938 		 * キーの入力待ちを行う
6939 		 */
6940 		extern int WaitKey();
6941 	}
6942 
6943 	// カウンタ及び時刻取得系関数
6944 
6945 	/**
6946 	 * ミリ秒単位の精度を持つカウンタの現在の値を得る
6947 	 */
6948 	extern int GetNowCount(int UseRDTSCFlag = dxlib_d.dxdatatype.FALSE);
6949 
6950 	/**
6951 	 * GetNowCountの高精度バージョン( μ秒単位の精度を持つカウンタの現在の値を得る )
6952 	 */
6953 	extern dxlib_d.dxdatatype.LONGLONG GetNowHiPerformanceCount(int UseRDTSCFlag = dxlib_d.dxdatatype.FALSE);
6954 
6955 	/**
6956 	 * OSが提供する高精度カウンタの現在の値を得る
6957 	 */
6958 	extern dxlib_d.dxdatatype.ULONGLONG GetNowSysPerformanceCount();
6959 
6960 	/**
6961 	 * OSが提供する高精度カウンタの周波数( 1秒辺りのカウント数 )を得る
6962 	 */
6963 	extern dxlib_d.dxdatatype.ULONGLONG GetSysPerformanceFrequency();
6964 
6965 	/**
6966 	 * OSが提供する高精度カウンタの値を秒の値に変換する
6967 	 */
6968 	extern dxlib_d.dxdatatype.ULONGLONG ConvSysPerformanceCountToSeconds(dxlib_d.dxdatatype.ULONGLONG Count);
6969 
6970 	/**
6971 	 * OSが提供する高精度カウンタの値をミリ秒の値に変換する
6972 	 */
6973 	extern dxlib_d.dxdatatype.ULONGLONG ConvSysPerformanceCountToMilliSeconds(dxlib_d.dxdatatype.ULONGLONG Count);
6974 
6975 	/**
6976 	 * OSが提供する高精度カウンタの値をマイクロ秒の値に変換する
6977 	 */
6978 	extern dxlib_d.dxdatatype.ULONGLONG ConvSysPerformanceCountToMicroSeconds(dxlib_d.dxdatatype.ULONGLONG Count);
6979 
6980 	/**
6981 	 * OSが提供する高精度カウンタの値をナノ秒の値に変換する
6982 	 */
6983 	extern dxlib_d.dxdatatype.ULONGLONG ConvSysPerformanceCountToNanoSeconds(dxlib_d.dxdatatype.ULONGLONG Count);
6984 
6985 	/**
6986 	 * 秒の値をOSが提供する高精度カウンタの値に変換する
6987 	 */
6988 	extern dxlib_d.dxdatatype.ULONGLONG ConvSecondsToSysPerformanceCount(dxlib_d.dxdatatype.ULONGLONG Seconds);
6989 
6990 	/**
6991 	 * ミリ秒の値をOSが提供する高精度カウンタの値に変換する
6992 	 */
6993 	extern dxlib_d.dxdatatype.ULONGLONG ConvMilliSecondsToSysPerformanceCount(dxlib_d.dxdatatype.ULONGLONG MilliSeconds);
6994 
6995 	/**
6996 	 * マイクロ秒の値をOSが提供する高精度カウンタの値に変換する
6997 	 */
6998 	extern dxlib_d.dxdatatype.ULONGLONG ConvMicroSecondsToSysPerformanceCount(dxlib_d.dxdatatype.ULONGLONG MicroSeconds);
6999 
7000 	/**
7001 	 * ナノ秒の値をOSが提供する高精度カウンタの値に変換する
7002 	 */
7003 	extern dxlib_d.dxdatatype.ULONGLONG ConvNanoSecondsToSysPerformanceCount(dxlib_d.dxdatatype.ULONGLONG NanoSeconds);
7004 
7005 	/**
7006 	 * 現在時刻を取得する
7007 	 */
7008 	extern int GetDateTime(.DATEDATA* DateBuf);
7009 
7010 	// 乱数取得
7011 
7012 	/**
7013 	 * 乱数を取得する
7014 	 *
7015 	 * Params:
7016 	 *      RandMax = 返って来る値の最大値
7017 	 */
7018 	extern int GetRand(int RandMax);
7019 
7020 	/**
7021 	 * 乱数の初期値を設定する
7022 	 */
7023 	extern int SRand(int Seed);
7024 
7025 	// バッテリー関連
7026 
7027 	/**
7028 	 * 電池の残量を % で取得する
7029 	 *
7030 	 * Returns: 100:フル充電状態  0:充電残量無し
7031 	 */
7032 	extern int GetBatteryLifePercent();
7033 
7034 	// クリップボード関係
7035 
7036 	/**
7037 	 * クリップボードに格納されているテキストデータを読み出す
7038 	 *
7039 	 * Params:
7040 	 *      DestBuffer = 文字列を格納するバッファの先頭アドレス
7041 	 *
7042 	 * Returns: -1:クリップボードにテキストデータが無い  -1以外:クリップボードに格納されている文字列データのサイズ( 単位:byte )
7043 	 */
7044 	extern int GetClipboardText(dxlib_d.dxdatatype.TCHAR* DestBuffer);
7045 
7046 	/**
7047 	 * クリップボードにテキストデータを格納する
7048 	 */
7049 	extern int SetClipboardText(const (dxlib_d.dxdatatype.TCHAR)* Text);
7050 
7051 	/**
7052 	 * クリップボードにテキストデータを格納する
7053 	 */
7054 	extern int SetClipboardTextWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* Text, size_t TextLength);
7055 
7056 	// iniファイル関係
7057 
7058 	/**
7059 	 * GetPrivateProfileString のDXライブラリ版
7060 	 */
7061 	extern int GetPrivateProfileStringDx(const (dxlib_d.dxdatatype.TCHAR)* AppName, const (dxlib_d.dxdatatype.TCHAR)* KeyName, const (dxlib_d.dxdatatype.TCHAR)* Default, dxlib_d.dxdatatype.TCHAR* ReturnedStringBuffer, size_t ReturnedStringBufferBytes, const (dxlib_d.dxdatatype.TCHAR)* IniFilePath, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7062 
7063 	/**
7064 	 * GetPrivateProfileString のDXライブラリ版
7065 	 */
7066 	extern int GetPrivateProfileStringDxWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* AppName, size_t AppNameLength, const (dxlib_d.dxdatatype.TCHAR)* KeyName, size_t KeyNameLength, const (dxlib_d.dxdatatype.TCHAR)* Default, size_t DefaultLength, dxlib_d.dxdatatype.TCHAR* ReturnedStringBuffer, size_t ReturnedStringBufferBytes, const (dxlib_d.dxdatatype.TCHAR)* IniFilePath, size_t IniFilePathLength, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7067 
7068 	/**
7069 	 * GetPrivateProfileInt のDXライブラリ版
7070 	 */
7071 	extern int GetPrivateProfileIntDx(const (dxlib_d.dxdatatype.TCHAR)* AppName, const (dxlib_d.dxdatatype.TCHAR)* KeyName, int Default, const (dxlib_d.dxdatatype.TCHAR)* IniFilePath, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7072 
7073 	/**
7074 	 * GetPrivateProfileInt のDXライブラリ版
7075 	 */
7076 	extern int GetPrivateProfileIntDxWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* AppName, size_t AppNameLength, const (dxlib_d.dxdatatype.TCHAR)* KeyName, size_t KeyNameLength, int Default, const (dxlib_d.dxdatatype.TCHAR)* IniFilePath, size_t IniFilePathLength, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7077 
7078 	/**
7079 	 * GetPrivateProfileStringDx のメモリから読み込む版
7080 	 */
7081 	extern int GetPrivateProfileStringDxForMem(const (dxlib_d.dxdatatype.TCHAR)* AppName, const (dxlib_d.dxdatatype.TCHAR)* KeyName, const (dxlib_d.dxdatatype.TCHAR)* Default, dxlib_d.dxdatatype.TCHAR* ReturnedStringBuffer, size_t ReturnedStringBufferBytes, const (void)* IniFileImage, size_t IniFileImageBytes, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7082 
7083 	/**
7084 	 * GetPrivateProfileStringDx のメモリから読み込む版
7085 	 */
7086 	extern int GetPrivateProfileStringDxForMemWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* AppName, size_t AppNameLength, const (dxlib_d.dxdatatype.TCHAR)* KeyName, size_t KeyNameLength, const (dxlib_d.dxdatatype.TCHAR)* Default, size_t DefaultLength, dxlib_d.dxdatatype.TCHAR* ReturnedStringBuffer, size_t ReturnedStringBufferBytes, const (void)* IniFileImage, size_t IniFileImageBytes, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7087 
7088 	/**
7089 	 * GetPrivateProfileIntDx のメモリから読み込む版
7090 	 */
7091 	extern int GetPrivateProfileIntDxForMem(const (dxlib_d.dxdatatype.TCHAR)* AppName, const (dxlib_d.dxdatatype.TCHAR)* KeyName, int Default, const (void)* IniFileImage, size_t IniFileImageBytes, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7092 
7093 	/**
7094 	 * GetPrivateProfileIntDx のメモリから読み込む版
7095 	 */
7096 	extern int GetPrivateProfileIntDxForMemWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* AppName, size_t AppNameLength, const (dxlib_d.dxdatatype.TCHAR)* KeyName, size_t KeyNameLength, int Default, const (void)* IniFileImage, size_t IniFileImageBytes, int IniFileCharCodeFormat = -1 /* DX_CHARCODEFORMAT_SHIFTJIS 等、-1 でデフォルト */);
7097 
7098 	//#if defined(__APPLE__) || defined(__ANDROID__)
7099 	version (iOS) {
7100 		version = ENABLE_MAIL;
7101 	} else version (Android) {
7102 		version = ENABLE_MAIL;
7103 	}
7104 
7105 	version (ENABLE_MAIL) {
7106 		/**
7107 		 * メールアプリを送信メール編集状態で起動する
7108 		 *
7109 		 * Params:
7110 		 *      MailAddr = 宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7111 		 *      MailCCAddr = CC の宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7112 		 *      MailBCCAddr = BCC の宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7113 		 *      Subject = タイトル( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7114 		 *      Text = 本文( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7115 		 */
7116 		extern int MailApp_Send(const (dxlib_d.dxdatatype.TCHAR)* MailAddr = null, const (dxlib_d.dxdatatype.TCHAR)* MailCCAddr = null, const (dxlib_d.dxdatatype.TCHAR)* MailBCCAddr = null, const (dxlib_d.dxdatatype.TCHAR)* Subject = null, const (dxlib_d.dxdatatype.TCHAR)* Text = null);
7117 
7118 		/**
7119 		 * メールアプリを送信メール編集状態で起動する
7120 		 *
7121 		 * Params:
7122 		 *      MailAddr = 宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7123 		 *      MailAddrLength = ?
7124 		 *      MailCCAddr = CC の宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7125 		 *      MailCCAddrLength = ?
7126 		 *      MailBCCAddr = BCC の宛先( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7127 		 *      MailBCCAddrLength = ?
7128 		 *      Subject = タイトル( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7129 		 *      Text = 本文( null で無効 )、メールアドレスが複数ある場合はカンマ『,』で区切ってください
7130 		 */
7131 		extern int MailApp_SendWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* MailAddr = null, size_t MailAddrLength = 0, const (dxlib_d.dxdatatype.TCHAR)* MailCCAddr = null, size_t MailCCAddrLength = 0, const (dxlib_d.dxdatatype.TCHAR)* MailBCCAddr = null, size_t MailBCCAddrLength = 0, const (dxlib_d.dxdatatype.TCHAR)* Subject = null, size_t SubjectLength = 0, const (dxlib_d.dxdatatype.TCHAR)* Text = null, size_t TextLength = 0);
7132 	}
7133 
7134 	// DxLog.cpp関数プロトタイプ宣言
7135 
7136 	version (DX_NON_LOG) {
7137 	} else {
7138 		// ログファイル関数
7139 
7140 		/**
7141 		 * ログファイル( Log.txt ) に文字列を出力する
7142 		 */
7143 		extern int LogFileAdd(const (dxlib_d.dxdatatype.TCHAR)* String);
7144 
7145 		/**
7146 		 * ログファイル( Log.txt ) に文字列を出力する
7147 		 */
7148 		extern int LogFileAddWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
7149 
7150 		/**
7151 		 * 書式付きで ログファイル( Log.txt ) に文字列を出力する( 書式は printf と同じ )
7152 		 */
7153 		extern int LogFileFmtAdd(const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7154 
7155 		/**
7156 		 * ログファイル( Log.txt ) に出力する文字列の前に付けるタブの数を1つ増やす
7157 		 */
7158 		extern int LogFileTabAdd();
7159 
7160 		/**
7161 		 * ログファイル( Log.txt ) に出力する文字列の前に付けるタブの数を1つ減らす
7162 		 */
7163 		extern int LogFileTabSub();
7164 
7165 		/**
7166 		 * LogFileAdd の旧名称関数
7167 		 */
7168 		extern int ErrorLogAdd(const (dxlib_d.dxdatatype.TCHAR)* String);
7169 
7170 		/**
7171 		 * LogFileFmtAdd の旧名称関数
7172 		 */
7173 		extern int ErrorLogFmtAdd(const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7174 
7175 		/**
7176 		 * LogFileTabAdd の旧名称関数
7177 		 */
7178 		extern int ErrorLogTabAdd();
7179 
7180 		/**
7181 		 * LogFileTabSub の旧名称関数
7182 		 */
7183 		extern int ErrorLogTabSub();
7184 
7185 		/**
7186 		 * ログファイル( Log.txt ) に出力する文字列の前に起動してからの時間を付けるかどうかを設定する
7187 		 *
7188 		 * Params:
7189 		 *      UseFlag = TRUE:付ける( デフォルト)  FALSE:付けない
7190 		 */
7191 		extern int SetUseTimeStampFlag(int UseFlag);
7192 
7193 		/**
7194 		 * LogFileFmtAdd と同じ機能の関数
7195 		 */
7196 		extern int AppLogAdd(const (dxlib_d.dxdatatype.TCHAR)* String, ...);
7197 
7198 		// ログ出力設定関数
7199 
7200 		/**
7201 		 * ログファイル( Log.txt ) を作成するかどうかを設定する、DxLib_Init の前でのみ使用可能
7202 		 *
7203 		 * Params:
7204 		 *      Flag = TRUE:作成する( デフォルト )  FALSE:作成しない
7205 		 */
7206 		extern int SetOutApplicationLogValidFlag(int Flag);
7207 
7208 		/**
7209 		 * ログファイルの名前を設定する( Log.txt 以外にしたい場合に使用 )
7210 		 */
7211 		extern int SetApplicationLogFileName(const (dxlib_d.dxdatatype.TCHAR)* FileName);
7212 
7213 		/**
7214 		 * ログファイルの名前を設定する( Log.txt 以外にしたい場合に使用 )
7215 		 */
7216 		extern int SetApplicationLogFileNameWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
7217 
7218 		/**
7219 		 * ログファイル( Log.txt ) を保存するディレクトリパスを設定する
7220 		 */
7221 		extern int SetApplicationLogSaveDirectory(const (dxlib_d.dxdatatype.TCHAR)* DirectoryPath);
7222 
7223 		/**
7224 		 * ログファイル( Log.txt ) を保存するディレクトリパスを設定する
7225 		 */
7226 		extern int SetApplicationLogSaveDirectoryWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* DirectoryPath, size_t DirectoryPathLength);
7227 
7228 		/**
7229 		 * ログファイル名に日付をつけるかどうかをセットする
7230 		 *
7231 		 * Params:
7232 		 *      Flag = TRUE:付ける  FALSE:付けない( デフォルト )
7233 		 */
7234 		extern int SetUseDateNameLogFile(int Flag);
7235 
7236 		version (DX_NON_PRINTF_DX) {
7237 		} else {
7238 			// ログ出力機能関数
7239 
7240 			/**
7241 			 * printfDx の結果を画面に出力するかどうかを設定する、TRUE:出力を行う  FALSE:出力を行わない( printfDx を実行すると内部で SetLogDrawOutFlag(TRUE); が呼ばれます )
7242 			 */
7243 			extern int SetLogDrawOutFlag(int DrawFlag);
7244 
7245 			/**
7246 			 * printfDx の結果を画面に出力するかどうかの設定を取得する
7247 			 *
7248 			 * Returns: TRUE:出力を行う  FALSE:出力を行わない
7249 			 */
7250 			extern int GetLogDrawFlag();
7251 
7252 			/**
7253 			 * printfDx の結果を画面に出力する際に使用するフォントのサイズを設定する
7254 			 */
7255 			extern int SetLogFontSize(int Size);
7256 
7257 			/**
7258 			 * printfDx の結果を画面に出力する際に使用するフォントのハンドルを変更する
7259 			 */
7260 			extern int SetLogFontHandle(int FontHandle);
7261 
7262 			/**
7263 			 * printfDx の結果を画面に出力する際の描画する領域を設定する
7264 			 */
7265 			extern int SetLogDrawArea(int x1, int y1, int x2, int y2);
7266 
7267 			// 簡易画面出力関数
7268 
7269 			/**
7270 			 * printf と同じ引数で画面に文字列を表示するための関数
7271 			 */
7272 			extern int printfDx(const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7273 
7274 			/**
7275 			 * puts と同じ引数で画面に文字列を表示するための関数
7276 			 */
7277 			extern int putsDx(const (dxlib_d.dxdatatype.TCHAR)* String, int NewLine = dxlib_d.dxdatatype.TRUE);
7278 
7279 			/**
7280 			 * puts と同じ引数で画面に文字列を表示するための関数
7281 			 */
7282 			extern int putsDxWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int NewLine = dxlib_d.dxdatatype.TRUE);
7283 
7284 			/**
7285 			 * printfDx の結果をリセットするための関数
7286 			 */
7287 			extern int clsDx();
7288 		}
7289 	}
7290 
7291 	version (DX_NON_ASYNCLOAD) {
7292 	} else {
7293 		// DxASyncLoad.cpp関数プロトタイプ宣言
7294 
7295 		// 非同期読み込み関係
7296 
7297 		/**
7298 		 * 読み込み処理系の関数で非同期読み込みを行うかどうかを設定する( 非同期読み込みに対応している関数のみ有効 )
7299 		 *
7300 		 * Params:
7301 		 *      Flag = TRUE:非同期読み込みを行う  FALSE:非同期読み込みを行わない( デフォルト )
7302 		 */
7303 		extern int SetUseASyncLoadFlag(int Flag);
7304 
7305 		/**
7306 		 * 読み込み処理系の関数で非同期読み込みを行うかどうかを取得する( 非同期読み込みに対応している関数のみ有効 )
7307 		 *
7308 		 * Returns: TRUE:非同期読み込みを行う  FALSE:非同期読み込みを行わない( デフォルト )
7309 		 */
7310 		extern int GetUseASyncLoadFlag();
7311 
7312 		/**
7313 		 * ハンドルの非同期読み込みが完了しているかどうかを取得する
7314 		 *
7315 		 * Returns: TRUE:まだ完了していない  FALSE:完了している  -1:エラー
7316 		 */
7317 		extern int CheckHandleASyncLoad(int Handle);
7318 
7319 		/**
7320 		 * ハンドルの非同期読み込み処理の戻り値を取得する( 非同期読み込み中の場合は1つ前の非同期読み込み処理の戻り値が返ってきます )
7321 		 */
7322 		extern int GetHandleASyncLoadResult(int Handle);
7323 
7324 		/**
7325 		 * ハンドルの非同期読み込み処理が完了したらハンドルを削除するフラグを立てる
7326 		 */
7327 		extern int SetASyncLoadFinishDeleteFlag(int Handle);
7328 
7329 		/**
7330 		 * 非同期読み込み中の処理の数を取得する
7331 		 */
7332 		extern int GetASyncLoadNum();
7333 
7334 		/**
7335 		 * 非同期読み込み処理を行うスレッドの数を設定する( ThreadNum に指定できる数は 1 〜 32 )
7336 		 */
7337 		extern int SetASyncLoadThreadNum(int ThreadNum);
7338 	}
7339 
7340 	// DxHandle.cpp関数プロトタイプ宣言
7341 
7342 	/**
7343 	 * ハンドルが削除されたときに-1が設定される変数を登録する
7344 	 */
7345 	extern int SetDeleteHandleFlag(int Handle, int* DeleteFlag);
7346 
7347 	// マウス関係関数
7348 
7349 	/**
7350 	 * マウスポインタの表示状態を設定する( DispFlag:マウスポインタを表示するかどうか
7351 	 *
7352 	 * Params:
7353 	 *      DispFlag = TRUE:表示する  FALSE:表示しない
7354 	 */
7355 	extern int SetMouseDispFlag(int DispFlag);
7356 
7357 	version (DX_NON_INPUT) {
7358 	} else {
7359 		/**
7360 		 * マウスポインタの位置を取得する
7361 		 */
7362 		extern int GetMousePoint(int* XBuf, int* YBuf);
7363 
7364 		/**
7365 		 * マウスポインタの位置を設定する
7366 		 */
7367 		extern int SetMousePoint(int PointX, int PointY);
7368 
7369 		/**
7370 		 * マウスのボタンの押下状態を取得する
7371 		 */
7372 		extern int GetMouseInput();
7373 
7374 		/**
7375 		 * 垂直マウスホイールの回転量を取得する
7376 		 */
7377 		extern int GetMouseWheelRotVol(int CounterReset = dxlib_d.dxdatatype.TRUE);
7378 
7379 		/**
7380 		 * 水平マウスホイールの回転量を取得する
7381 		 */
7382 		extern int GetMouseHWheelRotVol(int CounterReset = dxlib_d.dxdatatype.TRUE);
7383 
7384 		/**
7385 		 * 垂直マウスホイールの回転量を取得する( 戻り値が float 型 )
7386 		 */
7387 		extern float GetMouseWheelRotVolF(int CounterReset = dxlib_d.dxdatatype.TRUE);
7388 
7389 		/**
7390 		 * 水平マウスホイールの回転量を取得する( 戻り値が float 型 )
7391 		 */
7392 		extern float GetMouseHWheelRotVolF(int CounterReset = dxlib_d.dxdatatype.TRUE);
7393 
7394 		/**
7395 		 * マウスのボタンを押した情報を1つ取得する
7396 		 *
7397 		 * Params:
7398 		 *      Button = 押されたボタン( MOUSE_INPUT_LEFT 等 )を格納する変数のアドレス
7399 		 *      ClickX = 押された時のX座標を格納する変数のアドレス
7400 		 *      ClickY = 押された時のY座標を格納する変数のアドレス
7401 		 *      LogDelete = 取得した押下情報1つ分をログから削除するかどうか( TRUE:削除する  FALSE:削除しない、つまり次にこの関数が呼ばれたときに同じ値を取得することになる )
7402 		 *
7403 		 * Returns: 0:押された情報取得できた -1:押された情報が無かった、つまり前回の呼び出し( または起動時から最初の呼び出し )の間に一度もマウスのボタンが押されなかった
7404 		 */
7405 		extern int GetMouseInputLog(int* Button, int* ClickX, int* ClickY, int LogDelete = dxlib_d.dxdatatype.TRUE);
7406 
7407 		/**
7408 		 * マウスのボタンを押したり離したりした情報を1つ取得する
7409 		 *
7410 		 * Params:
7411 		 *      Button = 押されたり離されたりしたボタン( MOUSE_INPUT_LEFT 等 )を格納する変数のアドレス
7412 		 *      ClickX = 押されたり離されたりした時のX座標を格納する変数のアドレス
7413 		 *      ClickY = 押されたり離されたりした時のY座標を格納する変数のアドレス
7414 		 *      LogType = 押されたのか( MOUSE_INPUT_LOG_DOWN )離されたのか( MOUSE_INPUT_LOG_UP )、等の情報を格納する変数のアドレス
7415 		 *      LogDelete = 取得した押されたり離されたりした情報1つ分をログから削除するかどうか( TRUE:削除する  FALSE:削除しない、つまり次にこの関数が呼ばれたときに同じ値を取得することになる )
7416 		 *
7417 		 * Returns: 0:押されたり離されたりした情報取得できた -1:押されたり離されたりした情報が無かった、つまり前回の呼び出し( または起動時から最初の呼び出し )の間に一度もマウスのボタンが押されたり離されたりしなかった
7418 		 */
7419 		extern int GetMouseInputLog2(int* Button, int* ClickX, int* ClickY, int* LogType, int LogDelete = dxlib_d.dxdatatype.TRUE);
7420 	}
7421 
7422 	// タッチパネル入力関係関数
7423 	version (DX_NON_INPUT) {
7424 	} else {
7425 		/**
7426 		 * タッチされている数を取得する
7427 		 */
7428 		extern int GetTouchInputNum();
7429 
7430 		/**
7431 		 * タッチの情報を取得する
7432 		 */
7433 		extern int GetTouchInput(int InputNo, int* PositionX, int* PositionY, int* ID = null, int* Device = null);
7434 
7435 		/**
7436 		 * ストックされているタッチ情報の数を取得する
7437 		 */
7438 		extern int GetTouchInputLogNum();
7439 
7440 		/**
7441 		 * ストックされているタッチ情報をクリアする
7442 		 */
7443 		extern int ClearTouchInputLog();
7444 
7445 		/**
7446 		 * ストックされているタッチ情報から一番古い情報をひとつ取得する
7447 		 */
7448 		extern .TOUCHINPUTDATA GetTouchInputLogOne(int PeekFlag = dxlib_d.dxdatatype.FALSE);
7449 
7450 		/**
7451 		 * ストックされているタッチ情報から古い順に指定数バッファに取得する
7452 		 *
7453 		 * Returns: -1:エラー  0以上:取得した情報の数
7454 		 */
7455 		extern int GetTouchInputLog(.TOUCHINPUTDATA* TouchData, int GetNum, int PeekFlag = dxlib_d.dxdatatype.FALSE);
7456 
7457 		/**
7458 		 * ストックされているタッチされ始めた情報の数を取得する
7459 		 */
7460 		extern int GetTouchInputDownLogNum();
7461 
7462 		/**
7463 		 * ストックされているタッチされ始めた情報をクリアする
7464 		 */
7465 		extern int ClearTouchInputDownLog();
7466 
7467 		/**
7468 		 * ストックされているタッチされ始めた情報から一番古い情報をひとつ取得する
7469 		 */
7470 		extern .TOUCHINPUTPOINT GetTouchInputDownLogOne(int PeekFlag = dxlib_d.dxdatatype.FALSE);
7471 
7472 		/**
7473 		 * ストックされているタッチされ始めた情報から古い順に指定数バッファに取得する
7474 		 *
7475 		 * Returns: -1:エラー  0以上:取得した情報の数
7476 		 */
7477 		extern int GetTouchInputDownLog(.TOUCHINPUTPOINT* PointData, int GetNum, int PeekFlag = dxlib_d.dxdatatype.FALSE);
7478 
7479 		/**
7480 		 * ストックされているタッチが離された情報の数を取得する
7481 		 */
7482 		extern int GetTouchInputUpLogNum();
7483 
7484 		/**
7485 		 * ストックされているタッチが離された情報をクリアする
7486 		 */
7487 		extern int ClearTouchInputUpLog();
7488 
7489 		/**
7490 		 * ストックされているタッチが離された情報から一番古い情報をひとつ取得する
7491 		 */
7492 		extern .TOUCHINPUTPOINT GetTouchInputUpLogOne(int PeekFlag = dxlib_d.dxdatatype.FALSE);
7493 
7494 		/**
7495 		 * ストックされているタッチが離された情報から古い順に指定数バッファに取得する
7496 		 *
7497 		 * Returns: -1:エラー  0以上:取得した情報の数
7498 		 */
7499 		extern int GetTouchInputUpLog(.TOUCHINPUTPOINT* PointData, int GetNum, int PeekFlag = dxlib_d.dxdatatype.FALSE);
7500 	}
7501 
7502 	// DxMemory.cpp関数プロトタイプ宣言
7503 
7504 	// メモリ確保系関数
7505 
7506 	/**
7507 	 * 指定のサイズのメモリを確保する
7508 	 *
7509 	 * Params:
7510 	 *      AllocSize = 確保するメモリのサイズ( 単位:byte )
7511 	 *      File = DxAllocを呼んだソースファイル名( デバッグ用 )
7512 	 *      Line = DxAllocを呼んだソースファイル中の行番号( デバッグ用 )
7513 	 *
7514 	 * Returns: null:メモリの確保失敗   NULL以外:確保したメモリ領域の先頭アドレス
7515 	 */
7516 	extern void* DxAlloc(size_t AllocSize, const (char)* File = null, int Line = -1);
7517 
7518 	/**
7519 	 * 指定のサイズのメモリを確保する( アライン指定版 )
7520 	 *
7521 	 * Params:
7522 	 *      AllocSize = 確保するメモリのサイズ( 単位:byte )
7523 	 *      Alignment = 確保するメモリ領域のアドレス値の倍数
7524 	 *      File = DxAllocを呼んだソースファイル名( デバッグ用 )
7525 	 *      Line = DxAllocを呼んだソースファイル中の行番号( デバッグ用 )
7526 	 *
7527 	 * Returns: null:メモリの確保失敗   NULL以外:確保したメモリ領域の先頭アドレス
7528 	 */
7529 	extern void* DxAllocAligned(size_t AllocSize, size_t Alignment, const (char)* File = null, int Line = -1);
7530 
7531 	/**
7532 	 * 指定のサイズのメモリを確保して、0で埋める、初期化後に0で埋める以外は DxAlloc と動作は同じ
7533 	 */
7534 	extern void* DxCalloc(size_t AllocSize, const (char)* File = null, int Line = -1);
7535 
7536 	/**
7537 	 * 指定のサイズのメモリを確保して、0で埋める、初期化後に0で埋める以外は DxAllocAligned と動作は同じ
7538 	 */
7539 	extern void* DxCallocAligned(size_t AllocSize, size_t Alignment, const (char)* File = null, int Line = -1);
7540 
7541 	/**
7542 	 * メモリの再確保を行う( FileとLine の説明は DxAlloc の注釈の通り )
7543 	 *
7544 	 * Params:
7545 	 *      Memory = 再確保を行うメモリ領域の先頭アドレス( DxAlloc の戻り値 )
7546 	 *      AllocSize = 新しい確保サイズ
7547 	 *      File = ?
7548 	 *      Line = ?
7549 	 *
7550 	 * Returns: null:メモリの再確保失敗 NULL以外:再確保した新しいメモリ領域の先頭アドレス
7551 	 */
7552 	extern void* DxRealloc(void* Memory, size_t AllocSize, const (char)* File = null, int Line = -1);
7553 
7554 	/**
7555 	 * メモリの再確保を行う( アライン指定版 )( FileとLine の説明は DxAlloc の注釈の通り )
7556 	 *
7557 	 * Params:
7558 	 *      Memory = 再確保を行うメモリ領域の先頭アドレス( DxAlloc の戻り値 )
7559 	 *      AllocSize = 新しい確保サイズ
7560 	 *      Alignment = 新しく確保するメモリ領域のアドレス値の倍数
7561 	 *      File = ?
7562 	 *      Line = ?
7563 	 *
7564 	 * Returns: null:メモリの再確保失敗 NULL以外:再確保した新しいメモリ領域の先頭アドレス
7565 	 */
7566 	extern void* DxReallocAligned(void* Memory, size_t AllocSize, size_t Alignment, const (char)* File = null, int Line = -1);
7567 
7568 	/**
7569 	 * メモリを解放する
7570 	 *
7571 	 * Params:
7572 	 *      Memory = 解放するメモリ領域の先頭アドレス( DxAlloc の戻り値 )
7573 	 */
7574 	extern void DxFree(void* Memory);
7575 
7576 	/**
7577 	 * 列挙対象にするメモリの確保容量をセットする
7578 	 */
7579 	extern size_t DxSetAllocSizeTrap(size_t Size);
7580 
7581 	/**
7582 	 * DXライブラリ内でメモリ確保が行われる時に情報を出力するかどうかをセットする
7583 	 */
7584 	extern int DxSetAllocPrintFlag(int Flag);
7585 
7586 	/**
7587 	 * DxAlloc や DxCalloc で確保しているメモリサイズを取得する
7588 	 */
7589 	extern size_t DxGetAllocSize();
7590 
7591 	/**
7592 	 * DxAlloc や DxCalloc で確保しているメモリの数を取得する
7593 	 */
7594 	extern int DxGetAllocNum();
7595 
7596 	/**
7597 	 * DxAlloc や DxCalloc で確保しているメモリを列挙する
7598 	 */
7599 	extern void DxDumpAlloc();
7600 
7601 	/**
7602 	 * DxAlloc や DxCalloc で確保しているメモリの状況を描画する
7603 	 */
7604 	extern void DxDrawAlloc(int x, int y, int Width, int Height);
7605 
7606 	/**
7607 	 * 確保したメモリ情報が破壊されていないか調べる
7608 	 *
7609 	 * Returns: -1:破壊あり  0:なし
7610 	 */
7611 	extern int DxErrorCheckAlloc();
7612 
7613 	/**
7614 	 * メモリが確保、解放が行われる度に確保しているメモリの容量を出力するかどうかのフラグをセットする
7615 	 */
7616 	extern int DxSetAllocSizeOutFlag(int Flag);
7617 
7618 	/**
7619 	 * メモリの確保、解放が行われる度に確保しているメモリ確保情報が破損していないか調べるかどうかのフラグをセットする
7620 	 */
7621 	extern int DxSetAllocMemoryErrorCheckFlag(int Flag);
7622 
7623 	// DxBaseFunc.cpp 関数プロトタイプ宣言
7624 
7625 	// 文字コード関係
7626 
7627 	/**
7628 	 * 文字列の先頭の文字のバイト数を取得する
7629 	 *
7630 	 * Params:
7631 	 *      CharCodeFormat = DX_CHARCODEFORMAT_SHIFTJIS 等
7632 	 *      String = ?
7633 	 */
7634 	extern int GetCharBytes(int CharCodeFormat, const (void)* String);
7635 
7636 	/**
7637 	 * 文字列の文字コード形式を別の文字コード形式に変換する
7638 	 *
7639 	 * Params:
7640 	 *      SrcCharCodeFormat = DX_CHARCODEFORMAT_SHIFTJIS 等
7641 	 *      SrcString = ?
7642 	 *      DestCharCodeFormat = DX_CHARCODEFORMAT_SHIFTJIS 等
7643 	 *      DestStringBuffer = ?
7644 	 */
7645 	extern int ConvertStringCharCodeFormat(int SrcCharCodeFormat, const (void)* SrcString, int DestCharCodeFormat, void* DestStringBuffer);
7646 
7647 	/**
7648 	 * 文字列の引数の文字コード形式を設定する( 文字列描画系関数とその他一部関数を除く )( UNICODE版では無効 )
7649 	 *
7650 	 * Params:
7651 	 *      CharCodeFormat = DX_CHARCODEFORMAT_SHIFTJIS 等
7652 	 */
7653 	extern int SetUseCharCodeFormat(int CharCodeFormat);
7654 
7655 	/**
7656 	 * 文字列の引数の文字コード形式を取得する( UNICODE版では無効 )
7657 	 *
7658 	 * Returns: 文字コード形式( DX_CHARCODEFORMAT_SHIFTJIS 等 )
7659 	 */
7660 	extern int GetUseCharCodeFormat();
7661 
7662 	/**
7663 	 * wchar_t型の文字コード形式を取得する
7664 	 *
7665 	 * Returns: DX_CHARCODEFORMAT_UTF16LE など
7666 	 */
7667 	extern int Get_wchar_t_CharCodeFormat();
7668 
7669 	// 文字列関係
7670 
7671 	/**
7672 	 * strcpy と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7673 	 */
7674 	extern void strcpyDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src);
7675 
7676 	/**
7677 	 * strcpy_s と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7678 	 */
7679 	extern void strcpy_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src);
7680 
7681 	/**
7682 	 * 位置指定付き strcpy、Pos はコピー開始位置 ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7683 	 */
7684 	extern void strpcpyDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos);
7685 
7686 	/**
7687 	 * 位置指定付き strcpy_s、Pos はコピー開始位置 ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7688 	 */
7689 	extern void strpcpy_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos);
7690 
7691 	/**
7692 	 * 位置指定付き strcpy、Pos はコピー開始位置( 全角文字も 1 扱い ) ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7693 	 */
7694 	extern void strpcpy2Dx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos);
7695 
7696 	/**
7697 	 * 位置指定付き strcpy_s、Pos はコピー開始位置( 全角文字も 1 扱い ) ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7698 	 */
7699 	extern void strpcpy2_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos);
7700 
7701 	/**
7702 	 * strncpy と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7703 	 */
7704 	extern void strncpyDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7705 
7706 	/**
7707 	 * strncpy_s と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7708 	 */
7709 	extern void strncpy_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7710 
7711 	/**
7712 	 * strncpy の Num が文字数( 全角文字も 1 扱い )になったもの、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7713 	 */
7714 	extern void strncpy2Dx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7715 
7716 	/**
7717 	 * strncpy_s の Num が文字数( 全角文字も 1 扱い )になったもの、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7718 	 */
7719 	extern void strncpy2_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7720 
7721 	/**
7722 	 * strncpy の文字列の終端からの文字数指定版( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7723 	 */
7724 	extern void strrncpyDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7725 
7726 	/**
7727 	 * strncpy_s の文字列の終端からの文字数指定版( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7728 	 */
7729 	extern void strrncpy_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7730 
7731 	/**
7732 	 * strncpy の文字列の終端からの文字数( 全角文字も 1 扱い )指定版、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7733 	 */
7734 	extern void strrncpy2Dx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7735 
7736 	/**
7737 	 * strncpy_s の文字列の終端からの文字数( 全角文字も 1 扱い )指定版、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7738 	 */
7739 	extern void strrncpy2_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Num);
7740 
7741 	/**
7742 	 * strncpy のコピー開始位置指定版、Pos はコピー開始位置、Num は文字数( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7743 	 */
7744 	extern void strpncpyDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos, int Num);
7745 
7746 	/**
7747 	 * strncpy_s のコピー開始位置指定版、Pos はコピー開始位置、Num は文字数( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7748 	 */
7749 	extern void strpncpy_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos, int Num);
7750 
7751 	/**
7752 	 * strncpy のコピー開始位置指定版、Pos はコピー開始位置( 全角文字も 1 扱い )、Num は文字数( 全角文字も 1 扱い )、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7753 	 */
7754 	extern void strpncpy2Dx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos, int Num);
7755 
7756 	/**
7757 	 * strncpy_s のコピー開始位置指定版、Pos はコピー開始位置( 全角文字も 1 扱い )、Num は文字数( 全角文字も 1 扱い )、終端に必ずヌル文字が代入される( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7758 	 */
7759 	extern void strpncpy2_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src, int Pos, int Num);
7760 
7761 	/**
7762 	 * strcat と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7763 	 */
7764 	extern void strcatDx(dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* Src);
7765 
7766 	/**
7767 	 * strcat_s と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7768 	 */
7769 	extern void strcat_sDx(dxlib_d.dxdatatype.TCHAR* Dest, size_t DestBytes, const (dxlib_d.dxdatatype.TCHAR)* Src);
7770 
7771 	/**
7772 	 * strlen と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7773 	 */
7774 	extern size_t strlenDx(const (dxlib_d.dxdatatype.TCHAR)* Str);
7775 
7776 	/**
7777 	 * strlen の戻り値が文字数( 全角文字も 1 扱い )になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7778 	 */
7779 	extern size_t strlen2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str);
7780 
7781 	/**
7782 	 * strcmp と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7783 	 */
7784 	extern int strcmpDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7785 
7786 	/**
7787 	 * stricmp と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7788 	 */
7789 	extern int stricmpDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7790 
7791 	/**
7792 	 * strncmp と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7793 	 */
7794 	extern int strncmpDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2, int Num);
7795 
7796 	/**
7797 	 * strncmp の Num が文字数( 全角文字も 1 扱い )になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7798 	 */
7799 	extern int strncmp2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2, int Num);
7800 
7801 	/**
7802 	 * strncmp の比較開始位置指定版、Pos が Str1 の比較開始位置、Num が文字数( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7803 	 */
7804 	extern int strpncmpDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2, int Pos, int Num);
7805 
7806 	/**
7807 	 * strncmp の比較開始位置指定版、Pos が Str1 の比較開始位置( 全角文字も 1 扱い )、Num が文字数( 全角文字も 1 扱い )( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7808 	 */
7809 	extern int strpncmp2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2, int Pos, int Num);
7810 
7811 	/**
7812 	 * 文字列の指定の位置の文字コードを取得する、Pos は取得する位置、CharNums は文字数を代入する変数のアドレス
7813 	 *
7814 	 * Returns: 文字コード( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7815 	 */
7816 	extern dxlib_d.dxdatatype.DWORD strgetchrDx(const (dxlib_d.dxdatatype.TCHAR)* Str, int Pos, int* CharNums = null);
7817 
7818 	/**
7819 	 * 文字列の指定の位置の文字コードを取得する、Pos は取得する位置( 全角文字も 1 扱い )、CharNums は文字数を代入する変数のアドレス、
7820 	 *
7821 	 * Returns: 文字コード( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7822 	 */
7823 	extern dxlib_d.dxdatatype.DWORD strgetchr2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str, int Pos, int* CharNums = null);
7824 
7825 	/**
7826 	 * 文字列の指定の位置に文字コードを書き込む、Pos は書き込む位置、CharCode は文字コード
7827 	 *
7828 	 * Returns: 書き込んだ文字数( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7829 	 */
7830 	extern int strputchrDx(dxlib_d.dxdatatype.TCHAR* Str, int Pos, dxlib_d.dxdatatype.DWORD CharCode);
7831 
7832 	/**
7833 	 * 文字列の指定の位置に文字コードを書き込む、Pos は書き込む位置( 全角文字も 1 扱い )、CharCode は文字コード
7834 	 *
7835 	 * Returns: 書き込んだ文字数( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7836 	 */
7837 	extern int strputchr2Dx(dxlib_d.dxdatatype.TCHAR* Str, int Pos, dxlib_d.dxdatatype.DWORD CharCode);
7838 
7839 	/**
7840 	 * 文字列の指定の位置のアドレスを取得する、Pos は取得する位置 ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7841 	 */
7842 	extern const (dxlib_d.dxdatatype.TCHAR)* strposDx(const (dxlib_d.dxdatatype.TCHAR)* Str, int Pos);
7843 
7844 	/**
7845 	 * 文字列の指定の位置のアドレスを取得する、Pos は取得する位置( 全角文字も 1 扱い ) ( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7846 	 */
7847 	extern const (dxlib_d.dxdatatype.TCHAR)* strpos2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str, int Pos);
7848 
7849 	/**
7850 	 * strstr と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7851 	 */
7852 	extern const (dxlib_d.dxdatatype.TCHAR)* strstrDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7853 
7854 	/**
7855 	 * strstr の戻り値が文字列先頭からの文字数( 全角文字も 1 扱い ) になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7856 	 */
7857 	extern int strstr2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7858 
7859 	/**
7860 	 * strrstr と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7861 	 */
7862 	extern const (dxlib_d.dxdatatype.TCHAR)* strrstrDx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7863 
7864 	/**
7865 	 * strrstr の戻り値が文字列先頭からの文字数( 全角文字も 1 扱い ) になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7866 	 */
7867 	extern int strrstr2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str1, const (dxlib_d.dxdatatype.TCHAR)* Str2);
7868 
7869 	/**
7870 	 * strchr と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7871 	 */
7872 	extern const (dxlib_d.dxdatatype.TCHAR)* strchrDx(const (dxlib_d.dxdatatype.TCHAR)* Str, dxlib_d.dxdatatype.DWORD CharCode);
7873 
7874 	/**
7875 	 * strchr の戻り値が文字列先頭からの文字数( 全角文字も 1 扱い ) になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7876 	 */
7877 	extern int strchr2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str, dxlib_d.dxdatatype.DWORD CharCode);
7878 
7879 	/**
7880 	 * strrchr と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7881 	 */
7882 	extern const (dxlib_d.dxdatatype.TCHAR)* strrchrDx(const (dxlib_d.dxdatatype.TCHAR)* Str, dxlib_d.dxdatatype.DWORD CharCode);
7883 
7884 	/**
7885 	 * strrchr の戻り値が文字列先頭からの文字数( 全角文字も 1 扱い ) になったもの( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7886 	 */
7887 	extern int strrchr2Dx(const (dxlib_d.dxdatatype.TCHAR)* Str, dxlib_d.dxdatatype.DWORD CharCode);
7888 
7889 	/**
7890 	 * strupr と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7891 	 */
7892 	extern dxlib_d.dxdatatype.TCHAR* struprDx(dxlib_d.dxdatatype.TCHAR* Str);
7893 
7894 	/**
7895 	 * vsprintf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7896 	 */
7897 	extern int vsprintfDx(dxlib_d.dxdatatype.TCHAR* Buffer, const (dxlib_d.dxdatatype.TCHAR)* FormatString, core.stdc.stdarg.va_list Arg);
7898 
7899 	/**
7900 	 * vsnprintf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7901 	 */
7902 	extern int vsnprintfDx(dxlib_d.dxdatatype.TCHAR* Buffer, size_t BufferSize, const (dxlib_d.dxdatatype.TCHAR)* FormatString, core.stdc.stdarg.va_list Arg);
7903 
7904 	/**
7905 	 * sprintf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7906 	 */
7907 	extern int sprintfDx(dxlib_d.dxdatatype.TCHAR* Buffer, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7908 
7909 	/**
7910 	 * snprintf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7911 	 */
7912 	extern int snprintfDx(dxlib_d.dxdatatype.TCHAR* Buffer, size_t BufferSize, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7913 
7914 	/**
7915 	 * itoa と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7916 	 */
7917 	extern dxlib_d.dxdatatype.TCHAR* itoaDx(int Value, dxlib_d.dxdatatype.TCHAR* Buffer, int Radix);
7918 
7919 	/**
7920 	 * itoa_s と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7921 	 */
7922 	extern dxlib_d.dxdatatype.TCHAR* itoa_sDx(int Value, dxlib_d.dxdatatype.TCHAR* Buffer, size_t BufferBytes, int Radix);
7923 
7924 	/**
7925 	 * atoi と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7926 	 */
7927 	extern int atoiDx(const (dxlib_d.dxdatatype.TCHAR)* Str);
7928 
7929 	/**
7930 	 * atof と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7931 	 */
7932 	extern double atofDx(const (dxlib_d.dxdatatype.TCHAR)* Str);
7933 
7934 	/**
7935 	 * vsscanf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7936 	 */
7937 	extern int vsscanfDx(const (dxlib_d.dxdatatype.TCHAR)* String, const (dxlib_d.dxdatatype.TCHAR)* FormatString, core.stdc.stdarg.va_list Arg);
7938 
7939 	/**
7940 	 * sscanf と同等の機能( マルチバイト文字列版では文字コード形式として SetUseCharCodeFormat で設定した形式が使用されます )
7941 	 */
7942 	extern int sscanfDx(const (dxlib_d.dxdatatype.TCHAR)* String, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
7943 
7944 	// DxNetwork.cpp関数プロトタイプ宣言
7945 
7946 	version (DX_NON_NETWORK) {
7947 	} else {
7948 		// 通信関係
7949 
7950 		/**
7951 		 * 通信メッセージの処理をする関数
7952 		 */
7953 		extern int ProcessNetMessage(int RunReleaseProcess = dxlib_d.dxdatatype.FALSE);
7954 
7955 		/**
7956 		 * DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv4版 )
7957 		 */
7958 		extern int GetHostIPbyName(const (dxlib_d.dxdatatype.TCHAR)* HostName, .IPDATA* IPDataBuf, int IPDataBufLength = 1, int* IPDataGetNum = null);
7959 
7960 		/**
7961 		 * DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv4版 )
7962 		 */
7963 		extern int GetHostIPbyNameWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* HostName, size_t HostNameLength, .IPDATA* IPDataBuf, int IPDataBufLength = 1, int* IPDataGetNum = null);
7964 
7965 		/**
7966 		 * DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv6版 )
7967 		 */
7968 		extern int GetHostIPbyName_IPv6(const (dxlib_d.dxdatatype.TCHAR)* HostName, .IPDATA_IPv6* IPDataBuf, int IPDataBufLength = 1, int* IPDataGetNum = null);
7969 
7970 		/**
7971 		 * DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv6版 )
7972 		 */
7973 		extern int GetHostIPbyName_IPv6WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* HostName, size_t HostNameLength, .IPDATA_IPv6* IPDataBuf, int IPDataBufLength = 1, int* IPDataGetNum = null);
7974 
7975 		/**
7976 		 * 他マシンに接続する( IPv4版 )
7977 		 */
7978 		extern int ConnectNetWork(.IPDATA IPData, int Port = -1);
7979 
7980 		/**
7981 		 * 他マシンに接続する( IPv6版 )
7982 		 */
7983 		extern int ConnectNetWork_IPv6(.IPDATA_IPv6 IPData, int Port = -1);
7984 
7985 		/**
7986 		 * 他マシンに接続する( IPv4版 )、非同期版
7987 		 */
7988 		extern int ConnectNetWork_ASync(.IPDATA IPData, int Port = -1);
7989 
7990 		/**
7991 		 * 他マシンに接続する( IPv6版 )、非同期版
7992 		 */
7993 		extern int ConnectNetWork_IPv6_ASync(.IPDATA_IPv6 IPData, int Port = -1);
7994 
7995 		/**
7996 		 * 接続を受けられる状態にする( IPv4版 )
7997 		 */
7998 		extern int PreparationListenNetWork(int Port = -1);
7999 
8000 		/**
8001 		 * 接続を受けられる状態にする( IPv6版 )
8002 		 */
8003 		extern int PreparationListenNetWork_IPv6(int Port = -1);
8004 
8005 		/**
8006 		 * 接続を受けつけ状態の解除
8007 		 */
8008 		extern int StopListenNetWork();
8009 
8010 		/**
8011 		 * 接続を終了する
8012 		 */
8013 		extern int CloseNetWork(int NetHandle);
8014 
8015 		/**
8016 		 * 接続状態を取得する
8017 		 */
8018 		extern int GetNetWorkAcceptState(int NetHandle);
8019 
8020 		/**
8021 		 * 受信データの量を得る
8022 		 */
8023 		extern int GetNetWorkDataLength(int NetHandle);
8024 
8025 		/**
8026 		 * 未送信のデータの量を得る
8027 		 */
8028 		extern int GetNetWorkSendDataLength(int NetHandle);
8029 
8030 		/**
8031 		 * 新たに接続した通信回線を得る
8032 		 */
8033 		extern int GetNewAcceptNetWork();
8034 
8035 		/**
8036 		 * 接続を切断された通信回線を得る
8037 		 */
8038 		extern int GetLostNetWork();
8039 
8040 		/**
8041 		 * 接続先のIPを得る( IPv4版 )
8042 		 */
8043 		extern int GetNetWorkIP(int NetHandle, .IPDATA* IpBuf);
8044 
8045 		/**
8046 		 * 接続先のIPを得る( IPv6版 )
8047 		 */
8048 		extern int GetNetWorkIP_IPv6(int NetHandle, .IPDATA_IPv6* IpBuf);
8049 
8050 		/**
8051 		 * 自分のIPv4を得る
8052 		 */
8053 		extern int GetMyIPAddress(.IPDATA* IpBuf, int IpBufLength = 1, int* IpNum = null);
8054 
8055 		/**
8056 		 * 自分のIPv6を得る
8057 		 */
8058 		extern int GetMyIPAddress_IPv6(.IPDATA_IPv6* IpBuf, int IpBufLength = 1, int* IpNum = null);
8059 
8060 		/**
8061 		 * 接続のタイムアウトまでの時間を設定する
8062 		 */
8063 		extern int SetConnectTimeOutWait(int Time);
8064 
8065 		/**
8066 		 * DXライブラリの通信形態を使うかどうかをセットする
8067 		 */
8068 		extern int SetUseDXNetWorkProtocol(int Flag);
8069 
8070 		/**
8071 		 * DXライブラリの通信形態を使うかどうかを取得する
8072 		 */
8073 		extern int GetUseDXNetWorkProtocol();
8074 
8075 		/**
8076 		 * SetUseDXNetWorkProtocol の別名
8077 		 */
8078 		extern int SetUseDXProtocol(int Flag);
8079 
8080 		/**
8081 		 * GetUseDXNetWorkProtocol の別名
8082 		 */
8083 		extern int GetUseDXProtocol();
8084 
8085 		/**
8086 		 * 接続が切断された直後に接続ハンドルを解放するかどうかのフラグをセットする
8087 		 */
8088 		extern int SetNetWorkCloseAfterLostFlag(int Flag);
8089 
8090 		/**
8091 		 * 接続が切断された直後に接続ハンドルを解放するかどうかのフラグを取得する
8092 		 */
8093 		extern int GetNetWorkCloseAfterLostFlag();
8094 
8095 		/*
8096 		 * HTTP通信で使用するプロキシ設定を行う
8097 		 */
8098 		//extern int SetProxySetting(int UseFlag, const (char)* Address, int Port);
8099 
8100 		/*
8101 		 * HTTP通信で使用するプロキシ設定を取得する
8102 		 */
8103 		//extern int GetProxySetting(int* UseFlagBuffer, char* AddressBuffer, int* PortBuffer);
8104 
8105 		/*
8106 		 * IEのプロキシ設定を適応する
8107 		 */
8108 		//extern int SetIEProxySetting(void);
8109 
8110 		/**
8111 		 * 受信したデータを読み込む
8112 		 */
8113 		extern int NetWorkRecv(int NetHandle, void* Buffer, int Length);
8114 
8115 		/**
8116 		 * 受信したデータを読み込む、読み込んだデータはバッファから削除されない
8117 		 */
8118 		extern int NetWorkRecvToPeek(int NetHandle, void* Buffer, int Length);
8119 
8120 		/**
8121 		 * 受信したデータをクリアする
8122 		 */
8123 		extern int NetWorkRecvBufferClear(int NetHandle);
8124 
8125 		/**
8126 		 * データを送信する
8127 		 */
8128 		extern int NetWorkSend(int NetHandle, const (void)* Buffer, int Length);
8129 
8130 		/**
8131 		 * UDPを使用した通信を行うソケットハンドルを作成する( RecvPort を -1 にすると送信専用のソケットハンドルになります )
8132 		 */
8133 		extern int MakeUDPSocket(int RecvPort = -1);
8134 
8135 		/**
8136 		 * UDPを使用した通信を行うソケットハンドルを作成する( RecvPort を -1 にすると送信専用のソケットハンドルになります )( IPv6版 )
8137 		 */
8138 		extern int MakeUDPSocket_IPv6(int RecvPort = -1);
8139 
8140 		/**
8141 		 * UDPを使用した通信を行うソケットハンドルを削除する
8142 		 */
8143 		extern int DeleteUDPSocket(int NetUDPHandle);
8144 
8145 		/**
8146 		 * UDPを使用した通信で指定のIPにデータを送信する、Length は最大65507、SendPort を -1 にすると MakeUDPSocket に RecvPort で渡したポートが使用されます
8147 		 *
8148 		 * Returns: 0以上;送信できたデータサイズ  -1:エラー  -2:送信データが大きすぎる  -3:送信準備ができていない
8149 		 */
8150 		extern int NetWorkSendUDP(int NetUDPHandle, .IPDATA SendIP, int SendPort, const (void)* Buffer, int Length);
8151 
8152 		/**
8153 		 * UDPを使用した通信で指定のIPにデータを送信する、Length は最大65507、SendPort を -1 にすると MakeUDPSocket に RecvPort で渡したポートが使用されます( IPv6版 )
8154 		 *
8155 		 * Returns: 0以上;送信できたデータサイズ  -1:エラー  -2:送信データが大きすぎる  -3:送信準備ができていない
8156 		 */
8157 		extern int NetWorkSendUDP_IPv6(int NetUDPHandle, .IPDATA_IPv6 SendIP, int SendPort, const (void)* Buffer, int Length);
8158 
8159 		/**
8160 		 * UDPを使用した通信でデータを受信する、Peek に TRUE を渡すと受信に成功してもデータを受信キューから削除しません
8161 		 *
8162 		 * Returns: 0以上:受信したデータのサイズ  -1:エラー  -2:バッファのサイズが足りない  -3:受信データがない
8163 		 */
8164 		extern int NetWorkRecvUDP(int NetUDPHandle, .IPDATA* RecvIP, int* RecvPort, void* Buffer, int Length, int Peek);
8165 
8166 		/**
8167 		 * UDPを使用した通信でデータを受信する、Peek に TRUE を渡すと受信に成功してもデータを受信キューから削除しません( IPv6版 )
8168 		 *
8169 		 * Returns: 0以上:受信したデータのサイズ  -1:エラー  -2:バッファのサイズが足りない  -3:受信データがない
8170 		 */
8171 		extern int NetWorkRecvUDP_IPv6(int NetUDPHandle, .IPDATA_IPv6* RecvIP, int* RecvPort, void* Buffer, int Length, int Peek);
8172 
8173 		/*
8174 		 * UDPを使用した通信でデータが送信できる状態かどうかを調べる
8175 		 *
8176 		 * Returns: -1:エラー  TRUE:送信可能  FALSE:送信不可能
8177 		 */
8178 		//extern int CheckNetWorkSendUDP(int NetUDPHandle);
8179 
8180 		/**
8181 		 * UDPを使用した通信で新たな受信データが存在するかどうかを調べる
8182 		 *
8183 		 * Returns: -1:エラー  TRUE:受信データあり  FALSE:受信データなし
8184 		 */
8185 		extern int CheckNetWorkRecvUDP(int NetUDPHandle);
8186 
8187 		//使用不可
8188 
8189 		/**
8190 		 * HTTP を使用してネットワーク上のファイルをダウンロードする
8191 		 */
8192 		@disable
8193 		extern int HTTP_FileDownload(const (char)* FileURL, const (char)* SavePath = null, void** SaveBufferP = null, int* FileSize = null, char** ParamList = null);
8194 
8195 		/**
8196 		 * HTTP を使用してネットワーク上のファイルのサイズを得る
8197 		 */
8198 		@disable
8199 		extern int HTTP_GetFileSize(const (char)* FileURL);
8200 
8201 		/**
8202 		 * HTTP を使用したネットワーク上のファイルをダウンロードする処理を開始する
8203 		 */
8204 		@disable
8205 		extern int HTTP_StartFileDownload(const (char)* FileURL, const (char)* SavePath, void** SaveBufferP = null, char** ParamList = null);
8206 
8207 		/**
8208 		 * HTTP を使用したネットワーク上のファイルのサイズを得る処理を開始する
8209 		 */
8210 		@disable
8211 		extern int HTTP_StartGetFileSize(const (char)* FileURL);
8212 
8213 		/**
8214 		 * HTTP の処理を終了し、ハンドルを解放する
8215 		 */
8216 		@disable
8217 		extern int HTTP_Close(int HttpHandle);
8218 
8219 		/**
8220 		 * 全てのハンドルに対して HTTP_Close を行う
8221 		 */
8222 		@disable
8223 		extern int HTTP_CloseAll();
8224 
8225 		/**
8226 		 * HTTP 処理の現在の状態を得る( NET_RES_COMPLETE 等 )
8227 		 */
8228 		@disable
8229 		extern int HTTP_GetState(int HttpHandle);
8230 
8231 		/**
8232 		 * HTTP 処理でエラーが発生した場合、エラーの内容を得る( HTTP_ERR_NONE 等 )
8233 		 */
8234 		@disable
8235 		extern int HTTP_GetError(int HttpHandle);
8236 
8237 		/**
8238 		 * HTTP 処理で対象となっているファイルのサイズを得る
8239 		 *
8240 		 * Returns: -1:エラー・若しくはまだファイルのサイズを取得していない  0以上:ファイルのサイズ
8241 		 */
8242 		@disable
8243 		extern int HTTP_GetDownloadFileSize(int HttpHandle);
8244 
8245 		/**
8246 		 * HTTP 処理で既にダウンロードしたファイルのサイズを取得する
8247 		 */
8248 		@disable
8249 		extern int HTTP_GetDownloadedFileSize(int HttpHandle);
8250 
8251 		/**
8252 		 * fgets のネットワークハンドル版( -1:取得できず 0:取得できた )
8253 		 */
8254 		@disable
8255 		extern int fgetsForNetHandle(int NetHandle, char* strbuffer);
8256 
8257 		/**
8258 		 * URLを解析する
8259 		 */
8260 		@disable
8261 		extern int URLAnalys(const (char)* URL, char* HostBuf = null, char* PathBuf = null, char* FileNameBuf = null, int* PortBuf = null);
8262 
8263 		/**
8264 		 * HTTP に渡せない記号が使われた文字列を渡せるような文字列に変換する
8265 		 *
8266 		 * Returns: -1:エラー  0以上:変換後の文字列のサイズ
8267 		 */
8268 		@disable
8269 		extern int URLConvert(char* URL, int ParamConvert = dxlib_d.dxdatatype.TRUE, int NonConvert = dxlib_d.dxdatatype.FALSE);
8270 
8271 		/**
8272 		 * HTTP 用パラメータリストから1つのパラメータ文字列を作成する
8273 		 *
8274 		 * Returns: -1:エラー  0以上:パラメータの文字列の長さ
8275 		 */
8276 		@disable
8277 		extern int URLParamAnalysis(char** ParamList, char** ParamStringP);
8278 	}
8279 
8280 	// DxInputString.cpp関数プロトタイプ宣言
8281 
8282 	version (DX_NON_INPUTSTRING) {
8283 	} else {
8284 		// 文字コードバッファ操作関係
8285 
8286 		/**
8287 		 * 文字コードバッファに文字コードをストックする
8288 		 */
8289 		extern int StockInputChar(dxlib_d.dxdatatype.TCHAR CharCode);
8290 
8291 		/**
8292 		 * 文字コードバッファをクリアする
8293 		 */
8294 		extern int ClearInputCharBuf();
8295 
8296 		/**
8297 		 * 文字コードバッファに溜まったデータから文字コードを1つ取得する
8298 		 */
8299 		extern dxlib_d.dxdatatype.TCHAR GetInputChar(int DeleteFlag);
8300 
8301 		/**
8302 		 * 文字コードバッファに溜まったデータから文字コードを1つ取得する、バッファになにも文字コードがない場合は文字コードがバッファに1文字分溜まるまで待つ
8303 		 */
8304 		extern dxlib_d.dxdatatype.TCHAR GetInputCharWait(int DeleteFlag);
8305 
8306 		/**
8307 		 * 文字コードバッファに溜まったデータから1文字分取得する
8308 		 */
8309 		extern int GetOneChar(dxlib_d.dxdatatype.TCHAR* CharBuffer, int DeleteFlag);
8310 
8311 		/**
8312 		 * 文字コードバッファに溜まったデータから1文字分取得する、バッファに何も文字コードがない場合は文字コードがバッファに1文字分溜まるまで待つ
8313 		 */
8314 		extern int GetOneCharWait(dxlib_d.dxdatatype.TCHAR* CharBuffer, int DeleteFlag);
8315 
8316 		/**
8317 		 * 指定の文字コードがアスキーコントロールコードか調べる
8318 		 */
8319 		extern int GetCtrlCodeCmp(dxlib_d.dxdatatype.TCHAR Char);
8320 	}
8321 
8322 	version (DX_NON_KEYEX) {
8323 	} else {
8324 		/**
8325 		 * 画面上に入力中の文字列を描画する
8326 		 */
8327 		extern int DrawIMEInputString(int x, int y, int SelectStringNum, int DrawCandidateList = dxlib_d.dxdatatype.TRUE);
8328 
8329 		/**
8330 		 * IMEを使用するかどうかを設定する
8331 		 */
8332 		extern int SetUseIMEFlag(int UseFlag);
8333 
8334 		/**
8335 		 * IMEを使用するかどうかの設定を取得する
8336 		 */
8337 		extern int GetUseIMEFlag();
8338 
8339 		/**
8340 		 * IMEで入力できる最大文字数を MakeKeyInput の設定に合わせるかどうかをセットする
8341 		 *
8342 		 * Params:
8343 		 *      Flag = TRUE:あわせる  FALSE:あわせない(デフォルト)
8344 		 */
8345 		extern int SetInputStringMaxLengthIMESync(int Flag);
8346 
8347 		/**
8348 		 * IMEで一度に入力できる最大文字数を設定する( 0:制限なし  1以上:指定の文字数で制限 )
8349 		 *
8350 		 * Params:
8351 		 *      Length = ?
8352 		 */
8353 		extern int SetIMEInputStringMaxLength(int Length);
8354 	}
8355 
8356 	/**
8357 	 * 全角文字、半角文字入り乱れる中から指定の文字数での半角文字数を得る
8358 	 */
8359 	extern int GetStringPoint(const (dxlib_d.dxdatatype.TCHAR)* String, int Point);
8360 
8361 	/**
8362 	 * 全角文字、半角文字入り乱れる中から指定の文字数での半角文字数を得る
8363 	 */
8364 	extern int GetStringPointWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int Point);
8365 
8366 	/**
8367 	 * 全角文字、半角文字入り乱れる中から指定の半角文字数での文字数を得る
8368 	 */
8369 	extern int GetStringPoint2(const (dxlib_d.dxdatatype.TCHAR)* String, int Point);
8370 
8371 	/**
8372 	 * 全角文字、半角文字入り乱れる中から指定の半角文字数での文字数を得る
8373 	 */
8374 	extern int GetStringPoint2WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int Point);
8375 
8376 	/**
8377 	 * 全角文字、半角文字入り乱れる中から文字数を取得する
8378 	 */
8379 	extern int GetStringLength(const (dxlib_d.dxdatatype.TCHAR)* String);
8380 
8381 	version (DX_NON_FONT) {
8382 	} else {
8383 		/**
8384 		 * 描画可能領域に収まるように改行しながら文字列を描画
8385 		 */
8386 		extern int DrawObtainsString(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, uint StrColor, uint StrEdgeColor = 0, int FontHandle = -1, uint SelectBackColor = 0xFFFFFFFF, uint SelectStrColor = 0, uint SelectStrEdgeColor = 0xFFFFFFFF, int SelectStart = -1, int SelectEnd = -1);
8387 
8388 		/**
8389 		 * 描画可能領域に収まるように改行しながら文字列を描画
8390 		 */
8391 		extern int DrawObtainsNString(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint StrColor, uint StrEdgeColor = 0, int FontHandle = -1, uint SelectBackColor = 0xFFFFFFFF, uint SelectStrColor = 0, uint SelectStrEdgeColor = 0xFFFFFFFF, int SelectStart = -1, int SelectEnd = -1);
8392 
8393 		/**
8394 		 * 描画可能領域に収まるように改行しながら文字列を描画( クリップが文字単位 )
8395 		 */
8396 		extern int DrawObtainsString_CharClip(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, uint StrColor, uint StrEdgeColor = 0, int FontHandle = -1, uint SelectBackColor = 0xFFFFFFFF, uint SelectStrColor = 0, uint SelectStrEdgeColor = 0xFFFFFFFF, int SelectStart = -1, int SelectEnd = -1);
8397 
8398 		/**
8399 		 * 描画可能領域に収まるように改行しながら文字列を描画( クリップが文字単位 )
8400 		 */
8401 		extern int DrawObtainsNString_CharClip(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint StrColor, uint StrEdgeColor = 0, int FontHandle = -1, uint SelectBackColor = 0xFFFFFFFF, uint SelectStrColor = 0, uint SelectStrEdgeColor = 0xFFFFFFFF, int SelectStart = -1, int SelectEnd = -1);
8402 
8403 		/**
8404 		 * 描画可能領域に収まるように改行しながら文字列を描画した場合の文字列の末端の座標を取得する
8405 		 */
8406 		extern int GetObtainsStringCharPosition(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int* PosX, int* PosY, int FontHandle = -1);
8407 
8408 		/**
8409 		 * 描画可能領域に収まるように改行しながら文字列を描画した場合の文字列の末端の座標を取得する( クリップが文字単位 )
8410 		 */
8411 		extern int GetObtainsStringCharPosition_CharClip(int x, int y, int AddY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int* PosX, int* PosY, int FontHandle = -1);
8412 	}
8413 
8414 	/**
8415 	 * 描画可能領域に収まるように補正を加えながら矩形を描画
8416 	 */
8417 	extern int DrawObtainsBox(int x1, int y1, int x2, int y2, int AddY, uint Color, int FillFlag);
8418 
8419 	version (DX_NON_KEYEX) {
8420 	} else {
8421 		/**
8422 		 * 文字列の入力取得
8423 		 */
8424 		extern int InputStringToCustom(int x, int y, size_t BufLength, dxlib_d.dxdatatype.TCHAR* StrBuffer, int CancelValidFlag, int SingleCharOnlyFlag, int NumCharOnlyFlag, int DoubleCharOnlyFlag = dxlib_d.dxdatatype.FALSE, int EnableNewLineFlag = dxlib_d.dxdatatype.FALSE, int DisplayCandidateList = dxlib_d.dxdatatype.TRUE);
8425 
8426 		/**
8427 		 * 文字列の入力取得
8428 		 */
8429 		extern int KeyInputString(int x, int y, size_t CharMaxLength, dxlib_d.dxdatatype.TCHAR* StrBuffer, int CancelValidFlag);
8430 
8431 		/**
8432 		 * 半角文字列のみの入力取得
8433 		 */
8434 		extern int KeyInputSingleCharString(int x, int y, size_t CharMaxLength, dxlib_d.dxdatatype.TCHAR* StrBuffer, int CancelValidFlag);
8435 
8436 		/**
8437 		 * 数値の入力取得
8438 		 */
8439 		extern int KeyInputNumber(int x, int y, int MaxNum, int MinNum, int CancelValidFlag);
8440 
8441 		/**
8442 		 * IMEの入力モード文字列を取得する
8443 		 */
8444 		extern int GetIMEInputModeStr(dxlib_d.dxdatatype.TCHAR* GetBuffer);
8445 
8446 		/**
8447 		 * IMEで入力中の文字列の情報を取得する
8448 		 */
8449 		extern const (.IMEINPUTDATA)* GetIMEInputData();
8450 
8451 		/**
8452 		 * ( SetKeyInputStringColor2 の旧関数 )InputString関数使用時の文字の各色を変更する
8453 		 */
8454 		extern int SetKeyInputStringColor(dxlib_d.dxdatatype.ULONGLONG NmlStr, dxlib_d.dxdatatype.ULONGLONG NmlCur, dxlib_d.dxdatatype.ULONGLONG IMEStrBack, dxlib_d.dxdatatype.ULONGLONG IMECur, dxlib_d.dxdatatype.ULONGLONG IMELine, dxlib_d.dxdatatype.ULONGLONG IMESelectStr, dxlib_d.dxdatatype.ULONGLONG IMEModeStr, dxlib_d.dxdatatype.ULONGLONG NmlStrE = 0, dxlib_d.dxdatatype.ULONGLONG IMESelectStrE = 0, dxlib_d.dxdatatype.ULONGLONG IMEModeStrE = 0, dxlib_d.dxdatatype.ULONGLONG IMESelectWinE = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG IMESelectWinF = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG SelectStrBackColor = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG SelectStrColor = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG SelectStrEdgeColor = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG IMEStr = 0xFFFFFFFFFFFFFFFFUL, dxlib_d.dxdatatype.ULONGLONG IMEStrE = 0xFFFFFFFFFFFFFFFFUL);
8455 
8456 		/**
8457 		 * InputString関数使用時の文字の各色を変更する
8458 		 */
8459 		extern int SetKeyInputStringColor2(int TargetColor /* DX_KEYINPSTRCOLOR_NORMAL_STR 等 */, uint Color);
8460 
8461 		/**
8462 		 * SetKeyInputStringColor2 で設定した色をデフォルトに戻す
8463 		 */
8464 		extern int ResetKeyInputStringColor2(int TargetColor /* DX_KEYINPSTRCOLOR_NORMAL_STR 等 */);
8465 
8466 		/**
8467 		 * キー入力文字列描画関連で使用するフォントのハンドルを変更する(-1でデフォルトのフォントハンドル)
8468 		 */
8469 		extern int SetKeyInputStringFont(int FontHandle);
8470 
8471 		/**
8472 		 * キー入力文字列処理の入力文字数が限界に達している状態で、文字列の末端部分で入力が行われた場合の処理モードを変更する
8473 		 */
8474 		extern int SetKeyInputStringEndCharaMode(int EndCharaMode /* DX_KEYINPSTR_ENDCHARAMODE_OVERWRITE 等 */);
8475 
8476 		/**
8477 		 * 入力モード文字列を描画する
8478 		 */
8479 		extern int DrawKeyInputModeString(int x, int y);
8480 
8481 		/**
8482 		 * キー入力データ初期化
8483 		 */
8484 		extern int InitKeyInput();
8485 
8486 		/**
8487 		 * 新しいキー入力ハンドルの作成
8488 		 */
8489 		extern int MakeKeyInput(size_t MaxStrLength, int CancelValidFlag, int SingleCharOnlyFlag, int NumCharOnlyFlag, int DoubleCharOnlyFlag = dxlib_d.dxdatatype.FALSE, int EnableNewLineFlag = dxlib_d.dxdatatype.FALSE);
8490 
8491 		/**
8492 		 * キー入力ハンドルの削除
8493 		 */
8494 		extern int DeleteKeyInput(int InputHandle);
8495 
8496 		/**
8497 		 * 指定のキー入力ハンドルをアクティブにする( -1 を指定するとアクティブなキー入力ハンドルが無い状態になります )
8498 		 */
8499 		extern int SetActiveKeyInput(int InputHandle);
8500 
8501 		/**
8502 		 * 現在アクティブになっているキー入力ハンドルを取得する
8503 		 */
8504 		extern int GetActiveKeyInput();
8505 
8506 		/**
8507 		 * キー入力ハンドルの入力が終了しているか取得する
8508 		 */
8509 		extern int CheckKeyInput(int InputHandle);
8510 
8511 		/**
8512 		 * 入力が完了したキー入力ハンドルを再度編集状態に戻す
8513 		 */
8514 		extern int ReStartKeyInput(int InputHandle);
8515 
8516 		/**
8517 		 * キー入力ハンドル処理関数
8518 		 */
8519 		extern int ProcessActKeyInput();
8520 
8521 		/**
8522 		 * キー入力ハンドルの入力中情報の描画
8523 		 */
8524 		extern int DrawKeyInputString(int x, int y, int InputHandle, int DrawCandidateList = dxlib_d.dxdatatype.TRUE);
8525 
8526 		/**
8527 		 * キー入力ハンドルの入力中文字列を描画する際の描画範囲を設定する
8528 		 */
8529 		extern int SetKeyInputDrawArea(int x1, int y1, int x2, int y2, int InputHandle);
8530 
8531 		/**
8532 		 * キー入力ハンドルの指定の領域を選択状態にする( SelectStart と SelectEnd に -1 を指定すると選択状態が解除されます )
8533 		 */
8534 		extern int SetKeyInputSelectArea(int SelectStart, int SelectEnd, int InputHandle);
8535 
8536 		/**
8537 		 * キー入力ハンドルの選択領域を取得する
8538 		 */
8539 		extern int GetKeyInputSelectArea(int* SelectStart, int* SelectEnd, int InputHandle);
8540 
8541 		/**
8542 		 * キー入力ハンドルの描画開始文字位置を設定する
8543 		 */
8544 		extern int SetKeyInputDrawStartPos(int DrawStartPos, int InputHandle);
8545 
8546 		/**
8547 		 * キー入力ハンドルの描画開始文字位置を取得する
8548 		 */
8549 		extern int GetKeyInputDrawStartPos(int InputHandle);
8550 
8551 		/**
8552 		 * キー入力ハンドルのキー入力時のカーソルの点滅する早さをセットする
8553 		 */
8554 		extern int SetKeyInputCursorBrinkTime(int Time);
8555 
8556 		/**
8557 		 * キー入力ハンドルのキー入力時のカーソルを点滅させるかどうかをセットする
8558 		 */
8559 		extern int SetKeyInputCursorBrinkFlag(int Flag);
8560 
8561 		/**
8562 		 * キー入力ハンドルに指定の文字列をセットする
8563 		 */
8564 		extern int SetKeyInputString(const (dxlib_d.dxdatatype.TCHAR)* String, int InputHandle);
8565 
8566 		/**
8567 		 * キー入力ハンドルに指定の文字列をセットする
8568 		 */
8569 		extern int SetKeyInputStringWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int InputHandle);
8570 
8571 		/**
8572 		 * キー入力ハンドルに指定の数値を文字に置き換えてセットする
8573 		 */
8574 		extern int SetKeyInputNumber(int Number, int InputHandle);
8575 
8576 		/**
8577 		 * キー入力ハンドルに指定の浮動小数点値を文字に置き換えてセットする
8578 		 */
8579 		extern int SetKeyInputNumberToFloat(float Number, int InputHandle);
8580 
8581 		/**
8582 		 * キー入力ハンドルの入力中の文字列を取得する
8583 		 */
8584 		extern int GetKeyInputString(dxlib_d.dxdatatype.TCHAR* StrBuffer, int InputHandle);
8585 
8586 		/**
8587 		 * キー入力ハンドルの入力中の文字列を整数値として取得する
8588 		 */
8589 		extern int GetKeyInputNumber(int InputHandle);
8590 
8591 		/**
8592 		 * キー入力ハンドルの入力中の文字列を浮動小数点値として取得する
8593 		 */
8594 		extern float GetKeyInputNumberToFloat(int InputHandle);
8595 
8596 		/**
8597 		 * キー入力ハンドルの現在のカーソル位置を設定する
8598 		 */
8599 		extern int SetKeyInputCursorPosition(int Position, int InputHandle);
8600 
8601 		/**
8602 		 * キー入力ハンドルの現在のカーソル位置を取得する
8603 		 */
8604 		extern int GetKeyInputCursorPosition(int InputHandle);
8605 	}
8606 
8607 	// DxFile.cpp関数プロトタイプ宣言
8608 
8609 	// ファイルアクセス関数
8610 
8611 	/**
8612 	 * ファイルを開く
8613 	 */
8614 	extern int FileRead_open(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int ASync = dxlib_d.dxdatatype.FALSE);
8615 
8616 	/**
8617 	 * ファイルを開く
8618 	 */
8619 	extern int FileRead_open_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int ASync = dxlib_d.dxdatatype.FALSE);
8620 
8621 	/**
8622 	 * メモリに展開されたファイルを開く
8623 	 */
8624 	extern int FileRead_open_mem(const (void)* FileImage, size_t FileImageSize);
8625 
8626 	/**
8627 	 * ファイルのサイズを取得する
8628 	 */
8629 	extern dxlib_d.dxdatatype.LONGLONG FileRead_size(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
8630 
8631 	/**
8632 	 * ファイルのサイズを取得する
8633 	 */
8634 	extern dxlib_d.dxdatatype.LONGLONG FileRead_size_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
8635 
8636 	/**
8637 	 * ファイルを閉じる
8638 	 */
8639 	extern int FileRead_close(int FileHandle);
8640 
8641 	/**
8642 	 * ファイルポインタの読み込み位置を取得する
8643 	 */
8644 	extern dxlib_d.dxdatatype.LONGLONG FileRead_tell(int FileHandle);
8645 
8646 	/**
8647 	 * ファイルポインタの読み込み位置を変更する
8648 	 */
8649 	extern int FileRead_seek(int FileHandle, dxlib_d.dxdatatype.LONGLONG Offset, int Origin);
8650 
8651 	/**
8652 	 * ファイルからデータを読み込む
8653 	 */
8654 	extern int FileRead_read(void* Buffer, int ReadSize, int FileHandle);
8655 
8656 	/**
8657 	 * ファイル読み込みが完了しているかどうかを取得する
8658 	 */
8659 	extern int FileRead_idle_chk(int FileHandle);
8660 
8661 	/**
8662 	 * ファイルの読み込み位置が終端に達しているかどうかを取得する
8663 	 */
8664 	extern int FileRead_eof(int FileHandle);
8665 
8666 	/**
8667 	 * ファイルの文字コード形式を設定する( テキストファイル用 )
8668 	 */
8669 	extern int FileRead_set_format(int FileHandle, int CharCodeFormat /* DX_CHARCODEFORMAT_SHIFTJIS 等 */);
8670 
8671 	/**
8672 	 * ファイルから文字列を読み出す
8673 	 */
8674 	extern int FileRead_gets(dxlib_d.dxdatatype.TCHAR* Buffer, int BufferSize, int FileHandle);
8675 
8676 	/**
8677 	 * ファイルから1文字読み出す
8678 	 */
8679 	extern dxlib_d.dxdatatype.TCHAR FileRead_getc(int FileHandle);
8680 
8681 	/**
8682 	 * ファイルから書式化されたデータを読み出す
8683 	 */
8684 	extern int FileRead_scanf(int FileHandle, const (dxlib_d.dxdatatype.TCHAR)* Format, ...);
8685 
8686 	/**
8687 	 * ファイル情報ハンドルを作成する
8688 	 *
8689 	 * Returns: -1:エラー  -1以外:ファイル情報ハンドル
8690 	 */
8691 	extern dxlib_d.dxdatatype.DWORD_PTR FileRead_createInfo(const (dxlib_d.dxdatatype.TCHAR)* ObjectPath);
8692 
8693 	/**
8694 	 * ファイル情報ハンドルを作成する
8695 	 *
8696 	 * Returns: -1:エラー  -1以外:ファイル情報ハンドル
8697 	 */
8698 	extern dxlib_d.dxdatatype.DWORD_PTR FileRead_createInfo_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* ObjectPath, size_t ObjectPathLength);
8699 
8700 	/**
8701 	 * ファイル情報ハンドル中のファイルの数を取得する
8702 	 */
8703 	extern int FileRead_getInfoNum(dxlib_d.dxdatatype.DWORD_PTR FileInfoHandle);
8704 
8705 	/**
8706 	 * ファイル情報ハンドル中のファイルの情報を取得する
8707 	 */
8708 	extern int FileRead_getInfo(int Index, .FILEINFO* Buffer, dxlib_d.dxdatatype.DWORD_PTR FileInfoHandle);
8709 
8710 	/**
8711 	 * ファイル情報ハンドルを削除する
8712 	 */
8713 	extern int FileRead_deleteInfo(dxlib_d.dxdatatype.DWORD_PTR FileInfoHandle);
8714 
8715 	/**
8716 	 * 指定のファイル又はフォルダの情報を取得し、ファイル検索ハンドルも作成する
8717 	 *
8718 	 * Returns: -1:エラー  -1以外:ファイル検索ハンドル
8719 	 */
8720 	extern dxlib_d.dxdatatype.DWORD_PTR FileRead_findFirst(const (dxlib_d.dxdatatype.TCHAR)* FilePath, .FILEINFO* Buffer);
8721 
8722 	/**
8723 	 * 指定のファイル又はフォルダの情報を取得し、ファイル検索ハンドルも作成する
8724 	 *
8725 	 * Returns: -1:エラー  -1以外:ファイル検索ハンドル
8726 	 */
8727 	extern dxlib_d.dxdatatype.DWORD_PTR FileRead_findFirst_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, .FILEINFO* Buffer);
8728 
8729 	/**
8730 	 * 条件の合致する次のファイルの情報を取得する
8731 	 *
8732 	 * Returns: -1:エラー  0:成功
8733 	 */
8734 	extern int FileRead_findNext(dxlib_d.dxdatatype.DWORD_PTR FindHandle, .FILEINFO* Buffer);
8735 
8736 	/**
8737 	 * ファイル検索ハンドルを閉じる
8738 	 *
8739 	 * Returns: -1:エラー  0:成功
8740 	 */
8741 	extern int FileRead_findClose(dxlib_d.dxdatatype.DWORD_PTR FindHandle);
8742 
8743 	/**
8744 	 * 指定のファイルの内容を全てメモリに読み込み、その情報のアクセスに必要なハンドルを返す、使い終わったらハンドルは FileRead_fullyLoad_delete で削除する必要があります
8745 	 *
8746 	 * Returns: -1:エラー  -1以外:ハンドル
8747 	 */
8748 	extern int FileRead_fullyLoad(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
8749 
8750 	/**
8751 	 * 指定のファイルの内容を全てメモリに読み込み、その情報のアクセスに必要なハンドルを返す、使い終わったらハンドルは FileRead_fullyLoad_delete で削除する必要があります
8752 	 *
8753 	 * Returns: -1:エラー  -1以外:ハンドル
8754 	 */
8755 	extern int FileRead_fullyLoad_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
8756 
8757 	/**
8758 	 * FileRead_fullyLoad で読み込んだファイルのハンドルを削除する
8759 	 */
8760 	extern int FileRead_fullyLoad_delete(int FLoadHandle);
8761 
8762 	/**
8763 	 * FileRead_fullyLoad で読み込んだファイルの内容を格納したメモリアドレスを取得する
8764 	 */
8765 	extern const (void)* FileRead_fullyLoad_getImage(int FLoadHandle);
8766 
8767 	/**
8768 	 * FileRead_fullyLoad で読み込んだファイルのサイズを取得する
8769 	 */
8770 	extern dxlib_d.dxdatatype.LONGLONG FileRead_fullyLoad_getSize(int FLoadHandle);
8771 
8772 	// 設定関係関数
8773 
8774 	/**
8775 	 * DXライブラリでストリームデータアクセスに使用する関数がデフォルトのものか調べる
8776 	 *
8777 	 * Returns: TRUE:デフォルトのもの  FALSE:デフォルトではない
8778 	 */
8779 	extern int GetStreamFunctionDefault();
8780 
8781 	/**
8782 	 * DXライブラリでストリームデータアクセスに使用する関数を変更する
8783 	 */
8784 	extern int ChangeStreamFunction(const (.STREAMDATASHREDTYPE2)* StreamThread);
8785 
8786 	/**
8787 	 * DXライブラリでストリームデータアクセスに使用する関数を変更する( wchar_t 使用版 )
8788 	 */
8789 	extern int ChangeStreamFunctionW(const (.STREAMDATASHREDTYPE2W)* StreamThreadW);
8790 
8791 	// 補助関係関数
8792 
8793 	/**
8794 	 * フルパスではないパス文字列をフルパスに変換する( CurrentDir はフルパスである必要がある(語尾に『\』があっても無くても良い) )( CurrentDir が null の場合は現在のカレントディレクトリを使用する )
8795 	 */
8796 	extern int ConvertFullPath(const (dxlib_d.dxdatatype.TCHAR)* Src, dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* CurrentDir = null);
8797 
8798 	/**
8799 	 * フルパスではないパス文字列をフルパスに変換する( CurrentDir はフルパスである必要がある(語尾に『\』があっても無くても良い) )( CurrentDir が null の場合は現在のカレントディレクトリを使用する )
8800 	 */
8801 	extern int ConvertFullPathWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* Src, size_t SrcLength, dxlib_d.dxdatatype.TCHAR* Dest, const (dxlib_d.dxdatatype.TCHAR)* CurrentDir = null, size_t CurrentDirLength = 0);
8802 
8803 	// DxInput.cpp関数プロトタイプ宣言
8804 
8805 	version (DX_NON_INPUT) {
8806 	} else {
8807 		// 入力状態取得関数
8808 
8809 		/**
8810 		 * キーボードの押下状態を取得する
8811 		 */
8812 		extern int CheckHitKey(int KeyCode);
8813 
8814 		/**
8815 		 * どれか1つでもキーが押されているかどうかを取得
8816 		 *
8817 		 * Returns: 押されていたら 0 以外
8818 		 */
8819 		extern int CheckHitKeyAll(int CheckType = DX_CHECKINPUT_ALL);
8820 
8821 		/**
8822 		 * すべてのキーの押下状態を取得する
8823 		 *
8824 		 * Params:
8825 		 *      KeyStateBuf = char型256個分の配列の先頭アドレス
8826 		 */
8827 		extern int GetHitKeyStateAll(DX_CHAR* KeyStateArray);
8828 
8829 		/**
8830 		 * ジョイパッドが接続されている数を取得する
8831 		 */
8832 		extern int GetJoypadNum();
8833 
8834 		/**
8835 		 * ジョイパッドのボタンの数を取得する
8836 		 */
8837 		extern int GetJoypadButtonNum(int InputType);
8838 
8839 		/**
8840 		 * ジョイパッドの入力状態を取得する
8841 		 */
8842 		extern int GetJoypadInputState(int InputType);
8843 
8844 		/**
8845 		 * ジョイパッドのアナログ的なスティック入力情報を得る
8846 		 */
8847 		extern int GetJoypadAnalogInput(int* XBuf, int* YBuf, int InputType);
8848 
8849 		/**
8850 		 * ( 使用非推奨 )ジョイパッドのアナログ的なスティック入力情報を得る(右スティック用)
8851 		 */
8852 		extern int GetJoypadAnalogInputRight(int* XBuf, int* YBuf, int InputType);
8853 
8854 		/**
8855 		 * DirectInput から得られるジョイパッドの生のデータを取得する( DX_INPUT_KEY や DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返す )
8856 		 */
8857 		extern int GetJoypadDirectInputState(int InputType, .DINPUT_JOYSTATE* DInputState);
8858 
8859 		/**
8860 		 * 指定の入力デバイスが XInput に対応しているかどうかを取得する( DX_INPUT_KEY や DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返す )
8861 		 *
8862 		 * Returns: TRUE:XInput対応の入力デバイス  FALSE:XInput非対応の入力デバイス   -1:エラー
8863 		 */
8864 		extern int CheckJoypadXInput(int InputType);
8865 
8866 		/**
8867 		 * XInput から得られる入力デバイス( Xbox360コントローラ等 )の生のデータを取得する( XInput非対応のパッドの場合はエラーとなり -1 を返す、DX_INPUT_KEY や DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返す )
8868 		 */
8869 		extern int GetJoypadXInputState(int InputType, .XINPUT_STATE* XInputState);
8870 
8871 		/**
8872 		 * ジョイパッドの入力に対応したキーボードの入力を設定する
8873 		 *
8874 		 * Params:
8875 		 *      InputType = 設定を変更するパッドの識別子( DX_INPUT_PAD1等 )
8876 		 *      PadInput = 設定を変更するパッドボタンの識別子( PAD_INPUT_1 等 )
8877 		 *      KeyInput1 = PadInput を押下したことにするキーコード( KEY_INPUT_A など )その1
8878 		 *      KeyInput2 = その2、-1で設定なし
8879 		 *      KeyInput3 = その3、-1で設定なし
8880 		 *      KeyInput4 = その4、-1で設定なし
8881 		 */
8882 		extern int SetJoypadInputToKeyInput(int InputType, int PadInput, int KeyInput1, int KeyInput2 = -1, int KeyInput3 = -1, int KeyInput4 = -1);
8883 
8884 		/**
8885 		 * ジョイパッドの無効ゾーンの設定を行う( InputType:設定を変更するパッドの識別子( DX_INPUT_PAD1等 )   Zone:新しい無効ゾーン( 0.0 〜 1.0 )、デフォルト値は 0.35 )
8886 		 *
8887 		 * Params:
8888 		 *      InputType = ?
8889 		 *      Zone = ?
8890 		 */
8891 		extern int SetJoypadDeadZone(int InputType, double Zone);
8892 
8893 		/**
8894 		 * ジョイパッドの無効ゾーンの設定を取得する
8895 		 *
8896 		 * Params:
8897 		 *      InputType = 設定を変更するパッドの識別子( DX_INPUT_PAD1等 )
8898 		 *
8899 		 * Returns: 無効ゾーン( 0.0 〜 1.0 )
8900 		 */
8901 		extern double GetJoypadDeadZone(int InputType);
8902 
8903 		/**
8904 		 * ジョイパッドの振動を開始する
8905 		 */
8906 		extern int StartJoypadVibration(int InputType, int Power, int Time, int EffectIndex = -1);
8907 
8908 		/**
8909 		 * ジョイパッドの振動を停止する
8910 		 */
8911 		extern int StopJoypadVibration(int InputType, int EffectIndex = -1);
8912 
8913 		/**
8914 		 * ジョイパッドのPOV入力の状態を得る
8915 		 *
8916 		 * Returns: 指定のPOVデータの角度、単位は角度の100倍( 90度なら 9000 ) 中心位置にある場合は -1 が返る
8917 		 */
8918 		extern int GetJoypadPOVState(int InputType, int POVNumber);
8919 
8920 		/**
8921 		 * ジョイパッドの再セットアップを行う( 新たに接続されたジョイパッドがあったら検出される )
8922 		 */
8923 		extern int ReSetupJoypad();
8924 
8925 		/**
8926 		 * ジョイパッドの振動機能を使用するかどうかを設定する
8927 		 *
8928 		 * Params:
8929 		 *      Flag = TRUE:使用する  FALSE:使用しない
8930 		 */
8931 		extern int SetUseJoypadVibrationFlag(int Flag);
8932 	}
8933 
8934 	version (DX_NOTUSE_DRAWFUNCTION) {
8935 	} else {
8936 		// 画像処理系関数プロトタイプ宣言
8937 
8938 		// グラフィックハンドル作成関係関数
8939 
8940 		/**
8941 		 * 指定サイズのグラフィックハンドルを作成する
8942 		 */
8943 		extern int MakeGraph(int SizeX, int SizeY, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
8944 
8945 		/**
8946 		 * SetDrawScreen で描画対象にできるグラフィックハンドルを作成する
8947 		 */
8948 		extern int MakeScreen(int SizeX, int SizeY, int UseAlphaChannel = dxlib_d.dxdatatype.FALSE);
8949 
8950 		/**
8951 		 * 指定のグラフィックハンドルの指定部分だけを抜き出して新たなグラフィックハンドルを作成する
8952 		 */
8953 		extern int DerivationGraph(int SrcX, int SrcY, int Width, int Height, int SrcGraphHandle);
8954 
8955 		/**
8956 		 * 指定のグラフィックハンドルの指定部分だけを抜き出して新たなグラフィックハンドルを作成する( float版 )
8957 		 */
8958 		extern int DerivationGraphF(float SrcX, float SrcY, float Width, float Height, int SrcGraphHandle);
8959 
8960 		/**
8961 		 * グラフィックハンドルを削除する
8962 		 */
8963 		extern int DeleteGraph(int GrHandle, int LogOutFlag = dxlib_d.dxdatatype.FALSE);
8964 
8965 		/**
8966 		 * 指定のグラフィックハンドルと、同じグラフィックハンドルから派生しているグラフィックハンドル( DerivationGraph で派生したハンドル、LoadDivGraph 読み込んで作成された複数のハンドル )を一度に削除する
8967 		 */
8968 		extern int DeleteSharingGraph(int GrHandle);
8969 
8970 		/**
8971 		 * 有効なグラフィックハンドルの数を取得する
8972 		 */
8973 		extern int GetGraphNum();
8974 
8975 		/**
8976 		 * グラフィックハンドルを指定の色で塗りつぶす
8977 		 */
8978 		extern int FillGraph(int GrHandle, int Red, int Green, int Blue, int Alpha = 255);
8979 
8980 		/**
8981 		 * グラフィックハンドルの指定の範囲を指定の色で塗りつぶす
8982 		 */
8983 		extern int FillRectGraph(int GrHandle, int x, int y, int Width, int Height, int Red, int Green, int Blue, int Alpha = 255);
8984 
8985 		/**
8986 		 * 指定のグラフィックハンドルが削除された際に 1 にする変数のアドレスを設定する
8987 		 */
8988 		extern int SetGraphLostFlag(int GrHandle, int* LostFlag);
8989 
8990 		/**
8991 		 * すべてのグラフィックハンドルを削除する
8992 		 */
8993 		extern int InitGraph(int LogOutFlag = dxlib_d.dxdatatype.FALSE);
8994 
8995 		/**
8996 		 * ファイルから画像を読み込んだ全てのグラフィックハンドルについて、再度ファイルから画像を読み込む
8997 		 */
8998 		extern int ReloadFileGraphAll();
8999 
9000 		// シャドウマップハンドル関係関数
9001 
9002 		/**
9003 		 * シャドウマップハンドルを作成する
9004 		 */
9005 		extern int MakeShadowMap(int SizeX, int SizeY);
9006 
9007 		/**
9008 		 * シャドウマップハンドルを削除する
9009 		 */
9010 		extern int DeleteShadowMap(int SmHandle);
9011 
9012 		/**
9013 		 * シャドウマップが想定するライトの方向を設定する
9014 		 */
9015 		extern int SetShadowMapLightDirection(int SmHandle, .VECTOR Direction);
9016 
9017 		/**
9018 		 * シャドウマップへの描画の準備を行う
9019 		 */
9020 		extern int ShadowMap_DrawSetup(int SmHandle);
9021 
9022 		/**
9023 		 * シャドウマップへの描画を終了する
9024 		 */
9025 		extern int ShadowMap_DrawEnd();
9026 
9027 		/**
9028 		 * 描画で使用するシャドウマップを指定する、有効なスロットは0〜2、SmHandle に -1 を渡すと指定のスロットのシャドウマップを解除
9029 		 */
9030 		extern int SetUseShadowMap(int SmSlotIndex, int SmHandle);
9031 
9032 		/**
9033 		 * シャドウマップに描画する際の範囲を設定する( この関数で描画範囲を設定しない場合は視錐台を拡大した範囲が描画範囲となる )
9034 		 */
9035 		extern int SetShadowMapDrawArea(int SmHandle, .VECTOR MinPosition, .VECTOR MaxPosition);
9036 
9037 		/**
9038 		 * SetShadowMapDrawArea の設定を解除する
9039 		 */
9040 		extern int ResetShadowMapDrawArea(int SmHandle);
9041 
9042 		/**
9043 		 * シャドウマップを使用した描画時の補正深度を設定する
9044 		 */
9045 		extern int SetShadowMapAdjustDepth(int SmHandle, float Depth);
9046 
9047 		/**
9048 		 * シャドウマップ作成時や適用時に使用するビュー行列と射影行列を乗算した行列を取得する
9049 		 */
9050 		extern int GetShadowMapViewProjectionMatrix(int SmHandle, .MATRIX* MatrixBuffer);
9051 
9052 		/**
9053 		 * シャドウマップを画面にテスト描画する
9054 		 */
9055 		extern int TestDrawShadowMap(int SmHandle, int x1, int y1, int x2, int y2);
9056 
9057 		// グラフィックハンドルへの画像転送関数
9058 
9059 		/**
9060 		 * BMPの内容をグラフィックハンドルに転送
9061 		 */
9062 		extern int BltBmpToGraph(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int CopyPointX, int CopyPointY, int GrHandle);
9063 
9064 		/**
9065 		 * BMPの内容を分割作成したグラフィックハンドルたちに転送
9066 		 */
9067 		extern int BltBmpToDivGraph(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int AllNum, int XNum, int YNum, int Width, int Height, const (int)* GrHandle, int ReverseFlag);
9068 
9069 		/**
9070 		 * BMP か BASEIMAGE をグラフィックハンドルに転送
9071 		 */
9072 		extern int BltBmpOrGraphImageToGraph(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int BmpFlag, const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int CopyPointX, int CopyPointY, int GrHandle);
9073 
9074 		/**
9075 		 * BMP か BASEIMAGE の指定の領域をグラフィックハンドルに転送
9076 		 */
9077 		extern int BltBmpOrGraphImageToGraph2(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int BmpFlag, const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, const (dxlib_d.dxdatatype.RECT)* SrcRect, int DestX, int DestY, int GrHandle);
9078 
9079 		/**
9080 		 * BMP か BASEIMAGE を分割作成したグラフィックハンドルたちに転送
9081 		 */
9082 		extern int BltBmpOrGraphImageToDivGraph(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int BmpFlag, const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, int Width, int Height, const (int)* GrHandle, int ReverseFlag);
9083 
9084 		/**
9085 		 * BMP か BASEIMAGE を分割作成したグラフィックハンドルたちに転送( float型 )
9086 		 */
9087 		extern int BltBmpOrGraphImageToDivGraphF(const (.COLORDATA)* BmpColorData, dxlib_d.dxdatatype.HBITMAP RgbBmp, dxlib_d.dxdatatype.HBITMAP AlphaBmp, int BmpFlag, const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, float Width, float Height, const (int)* GrHandle, int ReverseFlag);
9088 
9089 		// 画像からグラフィックハンドルを作成する関数
9090 
9091 		/**
9092 		 * 画像ファイルからグラフィックハンドルを作成する
9093 		 */
9094 		extern int LoadBmpToGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int TextureFlag, int ReverseFlag, int SurfaceMode = DX_MOVIESURFACE_NORMAL);
9095 
9096 		/**
9097 		 * 画像ファイルからグラフィックハンドルを作成する
9098 		 */
9099 		extern int LoadBmpToGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int TextureFlag, int ReverseFlag, int SurfaceMode = DX_MOVIESURFACE_NORMAL);
9100 
9101 		/**
9102 		 * 画像ファイルからグラフィックハンドルを作成する
9103 		 */
9104 		extern int LoadGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9105 
9106 		/**
9107 		 * 画像ファイルからグラフィックハンドルを作成する
9108 		 */
9109 		extern int LoadGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9110 
9111 		/**
9112 		 * 画像ファイルを反転したものでグラフィックハンドルを作成する
9113 		 */
9114 		extern int LoadReverseGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9115 
9116 		/**
9117 		 * 画像ファイルを反転したものでグラフィックハンドルを作成する
9118 		 */
9119 		extern int LoadReverseGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9120 
9121 		/**
9122 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9123 		 */
9124 		extern int LoadDivGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9125 
9126 		/**
9127 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9128 		 */
9129 		extern int LoadDivGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9130 
9131 		/**
9132 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9133 		 */
9134 		extern int LoadDivGraphF(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, float XSize, float YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9135 
9136 		/**
9137 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9138 		 */
9139 		extern int LoadDivGraphFWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, float XSize, float YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9140 
9141 		/**
9142 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9143 		 */
9144 		extern int LoadDivBmpToGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag, int ReverseFlag);
9145 
9146 		/**
9147 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9148 		 */
9149 		extern int LoadDivBmpToGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag, int ReverseFlag);
9150 
9151 		/**
9152 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9153 		 */
9154 		extern int LoadDivBmpToGraphF(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag, int ReverseFlag);
9155 
9156 		/**
9157 		 * 画像ファイルを分割してグラフィックハンドルを作成する
9158 		 */
9159 		extern int LoadDivBmpToGraphFWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag, int ReverseFlag);
9160 
9161 		/**
9162 		 * 画像ファイルを反転したものを分割してグラフィックハンドルを作成する
9163 		 */
9164 		extern int LoadReverseDivGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9165 
9166 		/**
9167 		 * 画像ファイルを反転したものを分割してグラフィックハンドルを作成する
9168 		 */
9169 		extern int LoadReverseDivGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9170 
9171 		/**
9172 		 * 画像ファイルを反転したものを分割してグラフィックハンドルを作成する
9173 		 */
9174 		extern int LoadReverseDivGraphF(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, float XSize, float YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9175 
9176 		/**
9177 		 * 画像ファイルを反転したものを分割してグラフィックハンドルを作成する
9178 		 */
9179 		extern int LoadReverseDivGraphFWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, float XSize, float YSize, int* HandleArray, int NotUse3DFlag = dxlib_d.dxdatatype.FALSE);
9180 
9181 		/**
9182 		 * 画像ファイルからブレンド用グラフィックハンドルを作成する
9183 		 */
9184 		extern int LoadBlendGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName);
9185 
9186 		/**
9187 		 * 画像ファイルからブレンド用グラフィックハンドルを作成する
9188 		 */
9189 		extern int LoadBlendGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
9190 
9191 		/**
9192 		 * メモリ上の画像イメージからグラフィックハンドルを作成する
9193 		 */
9194 		extern int CreateGraphFromMem(const (void)* RGBFileImage, int RGBFileImageSize, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9195 
9196 		/**
9197 		 * メモリ上の画像イメージから既存のグラフィックハンドルにデータを転送する
9198 		 */
9199 		extern int ReCreateGraphFromMem(const (void)* RGBFileImage, int RGBFileImageSize, int GrHandle, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9200 
9201 		/**
9202 		 * メモリ上の画像イメージから分割グラフィックハンドルを作成する
9203 		 */
9204 		extern int CreateDivGraphFromMem(const (void)* RGBFileImage, int RGBFileImageSize, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0);
9205 
9206 		/**
9207 		 * メモリ上の画像イメージから分割グラフィックハンドルを作成する( float版 )
9208 		 */
9209 		extern int CreateDivGraphFFromMem(const (void)* RGBFileImage, int RGBFileImageSize, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0);
9210 
9211 		/**
9212 		 * メモリ上の画像イメージから既存の分割グラフィックハンドルにデータを転送する
9213 		 */
9214 		extern int ReCreateDivGraphFromMem(const (void)* RGBFileImage, int RGBFileImageSize, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0);
9215 
9216 		/**
9217 		 * メモリ上の画像イメージから既存の分割グラフィックハンドルにデータを転送する( float版 )
9218 		 */
9219 		extern int ReCreateDivGraphFFromMem(const (void)* RGBFileImage, int RGBFileImageSize, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (void)* AlphaFileImage = null, int AlphaFileImageSize = 0);
9220 
9221 		/**
9222 		 * ビットマップデータからグラフィックハンドルを作成する
9223 		 */
9224 		extern int CreateGraphFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9225 
9226 		/**
9227 		 * ビットマップデータから既存のグラフィックハンドルにデータを転送する
9228 		 */
9229 		extern int ReCreateGraphFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, int GrHandle, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9230 
9231 		/**
9232 		 * ビットマップデータから分割グラフィックハンドルを作成する
9233 		 */
9234 		extern int CreateDivGraphFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null);
9235 
9236 		/**
9237 		 * ビットマップデータから分割グラフィックハンドルを作成する( float版 )
9238 		 */
9239 		extern int CreateDivGraphFFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null);
9240 
9241 		/**
9242 		 * ビットマップデータから既存の分割グラフィックハンドルにデータを転送する
9243 		 */
9244 		extern int ReCreateDivGraphFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null);
9245 
9246 		/**
9247 		 * ビットマップデータから既存の分割グラフィックハンドルにデータを転送する( float版 )
9248 		 */
9249 		extern int ReCreateDivGraphFFromBmp(const (dxlib_d.dxdatatype.BITMAPINFO)* RGBBmpInfo, const (void)* RGBBmpImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.BITMAPINFO)* AlphaBmpInfo = null, const (void)* AlphaBmpImage = null);
9250 
9251 		/**
9252 		 * 基本イメージデータからサイズを割り出し、それに合ったグラフィックハンドルを作成する
9253 		 */
9254 		extern int CreateDXGraph(const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int TextureFlag);
9255 
9256 		/**
9257 		 * 基本イメージデータからグラフィックハンドルを作成する
9258 		 */
9259 		extern int CreateGraphFromGraphImage(const (.BASEIMAGE)* RgbBaseImage, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9260 
9261 		/**
9262 		 * 基本イメージデータからグラフィックハンドルを作成する
9263 		 */
9264 		extern int CreateGraphFromGraphImage(const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9265 
9266 		/**
9267 		 * 基本イメージデータから既存のグラフィックハンドルにデータを転送する
9268 		 */
9269 		extern int ReCreateGraphFromGraphImage(const (.BASEIMAGE)* RgbBaseImage, int GrHandle, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9270 
9271 		/**
9272 		 * 基本イメージデータから既存のグラフィックハンドルにデータを転送する
9273 		 */
9274 		extern int ReCreateGraphFromGraphImage(const (.BASEIMAGE)* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int GrHandle, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9275 
9276 		/**
9277 		 * 基本イメージデータから分割グラフィックハンドルを作成する
9278 		 */
9279 		extern int CreateDivGraphFromGraphImage(.BASEIMAGE* RgbBaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9280 
9281 		/**
9282 		 * 基本イメージデータから分割グラフィックハンドルを作成する( float版 )
9283 		 */
9284 		extern int CreateDivGraphFFromGraphImage(.BASEIMAGE* RgbBaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9285 
9286 		/**
9287 		 * 基本イメージデータから分割グラフィックハンドルを作成する
9288 		 */
9289 		extern int CreateDivGraphFromGraphImage(.BASEIMAGE* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9290 
9291 		/**
9292 		 * 基本イメージデータから分割グラフィックハンドルを作成する( float版 )
9293 		 */
9294 		extern int CreateDivGraphFFromGraphImage(.BASEIMAGE* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9295 
9296 		/**
9297 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する
9298 		 */
9299 		extern int ReCreateDivGraphFromGraphImage(.BASEIMAGE* RgbBaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9300 
9301 		/**
9302 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する( float版 )
9303 		 */
9304 		extern int ReCreateDivGraphFFromGraphImage(.BASEIMAGE* RgbBaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9305 
9306 		/**
9307 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する
9308 		 */
9309 		extern int ReCreateDivGraphFromGraphImage(.BASEIMAGE* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9310 
9311 		/**
9312 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する( float版 )
9313 		 */
9314 		extern int ReCreateDivGraphFFromGraphImage(.BASEIMAGE* RgbBaseImage, const (.BASEIMAGE)* AlphaBaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray, int TextureFlag = dxlib_d.dxdatatype.TRUE, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9315 
9316 		/**
9317 		 * メモリ上のビットマップイメージからグラフィックハンドルを作成する
9318 		 */
9319 		extern int CreateGraph(int Width, int Height, int Pitch, const (void)* RGBImage, const (void)* AlphaImage = null, int GrHandle = -1);
9320 
9321 		/**
9322 		 * メモリ上のビットマップイメージから分割グラフィックハンドルを作成する
9323 		 */
9324 		extern int CreateDivGraph(int Width, int Height, int Pitch, const (void)* RGBImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray, const (void)* AlphaImage = null);
9325 
9326 		/**
9327 		 * メモリ上のビットマップイメージから分割グラフィックハンドルを作成する( float版 )
9328 		 */
9329 		extern int CreateDivGraphF(int Width, int Height, int Pitch, const (void)* RGBImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray, const (void)* AlphaImage = null);
9330 
9331 		/**
9332 		 * メモリ上のビットマップイメージからグラフィックハンドルを再作成する
9333 		 */
9334 		extern int ReCreateGraph(int Width, int Height, int Pitch, const (void)* RGBImage, int GrHandle, const (void)* AlphaImage = null);
9335 
9336 		version (DX_NON_SOFTIMAGE) {
9337 		} else {
9338 			/**
9339 			 * ソフトウエアで扱うイメージからブレンド用画像グラフィックハンドルを作成する
9340 			 *
9341 			 * Returns: -1:エラー  -1以外:ブレンド用グラフィックハンドル
9342 			 */
9343 			extern int CreateBlendGraphFromSoftImage(int SIHandle);
9344 
9345 			/**
9346 			 * ソフトウエアで扱うイメージからグラフィックハンドルを作成する
9347 			 *
9348 			 * Returns: -1:エラー  -1以外:グラフィックハンドル
9349 			 */
9350 			extern int CreateGraphFromSoftImage(int SIHandle);
9351 
9352 			/**
9353 			 * ソフトウエアで扱うイメージの指定の領域を使ってグラフィックハンドルを作成する
9354 			 *
9355 			 * Returns: -1:エラー  -1以外:グラフィックハンドル
9356 			 */
9357 			extern int CreateGraphFromRectSoftImage(int SIHandle, int x, int y, int SizeX, int SizeY);
9358 
9359 			/**
9360 			 * ソフトウエアで扱うイメージから既存のグラフィックハンドルに画像データを転送する
9361 			 */
9362 			extern int ReCreateGraphFromSoftImage(int SIHandle, int GrHandle);
9363 
9364 			/**
9365 			 * ソフトウエアで扱うイメージから既存のグラフィックハンドルに画像データを転送する
9366 			 */
9367 			extern int ReCreateGraphFromRectSoftImage(int SIHandle, int x, int y, int SizeX, int SizeY, int GrHandle);
9368 
9369 			/**
9370 			 * ソフトウエアで扱うイメージから分割グラフィックハンドルを作成する
9371 			 */
9372 			extern int CreateDivGraphFromSoftImage(int SIHandle, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray);
9373 
9374 			/**
9375 			 * ソフトウエアで扱うイメージから分割グラフィックハンドルを作成する( float版 )
9376 			 */
9377 			extern int CreateDivGraphFFromSoftImage(int SIHandle, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray);
9378 
9379 			/**
9380 			 * ソフトウエアで扱うイメージから既存の分割グラフィックハンドルにデータを転送する
9381 			 */
9382 			extern int ReCreateDivGraphFromSoftImage(int SIHandle, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray);
9383 
9384 			/**
9385 			 * ソフトウエアで扱うイメージから既存の分割グラフィックハンドルにデータを転送する( float版 )
9386 			 */
9387 			extern int ReCreateDivGraphFFromSoftImage(int SIHandle, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray);
9388 		}
9389 
9390 		/**
9391 		 * 基本イメージデータからグラフィックハンドルを作成する
9392 		 */
9393 		extern int CreateGraphFromBaseImage(const (.BASEIMAGE)* BaseImage);
9394 
9395 		/**
9396 		 * 基本イメージデータの指定の領域を使ってグラフィックハンドルを作成する
9397 		 */
9398 		extern int CreateGraphFromRectBaseImage(const (.BASEIMAGE)* BaseImage, int x, int y, int SizeX, int SizeY);
9399 
9400 		/**
9401 		 * 基本イメージデータから既存のグラフィックハンドルに画像データを転送する
9402 		 */
9403 		extern int ReCreateGraphFromBaseImage(const (.BASEIMAGE)* BaseImage, int GrHandle);
9404 
9405 		/**
9406 		 * 基本イメージデータの指定の領域を使って既存のグラフィックハンドルに画像データを転送する
9407 		 */
9408 		extern int ReCreateGraphFromRectBaseImage(const (.BASEIMAGE)* BaseImage, int x, int y, int SizeX, int SizeY, int GrHandle);
9409 
9410 		/**
9411 		 * 基本イメージデータから分割グラフィックハンドルを作成する
9412 		 */
9413 		extern int CreateDivGraphFromBaseImage(.BASEIMAGE* BaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, int* HandleArray);
9414 
9415 		/**
9416 		 * 基本イメージデータから分割グラフィックハンドルを作成する( float版 )
9417 		 */
9418 		extern int CreateDivGraphFFromBaseImage(.BASEIMAGE* BaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, int* HandleArray);
9419 
9420 		/**
9421 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する
9422 		 */
9423 		extern int ReCreateDivGraphFromBaseImage(.BASEIMAGE* BaseImage, int AllNum, int XNum, int YNum, int SizeX, int SizeY, const (int)* HandleArray);
9424 
9425 		/**
9426 		 * 基本イメージデータから既存の分割グラフィックハンドルにデータを転送する( float版 )
9427 		 */
9428 		extern int ReCreateDivGraphFFromBaseImage(.BASEIMAGE* BaseImage, int AllNum, int XNum, int YNum, float SizeX, float SizeY, const (int)* HandleArray);
9429 
9430 		/**
9431 		 * 画像ファイルからグラフィックハンドルへ画像データを転送する
9432 		 */
9433 		extern int ReloadGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int GrHandle, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9434 
9435 		/**
9436 		 * 画像ファイルからグラフィックハンドルへ画像データを転送する
9437 		 */
9438 		extern int ReloadGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int GrHandle, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9439 
9440 		/**
9441 		 * 画像ファイルからグラフィックハンドルたちへ画像データを分割転送する
9442 		 */
9443 		extern int ReloadDivGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int XSize, int YSize, const (int)* HandleArray, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9444 
9445 		/**
9446 		 * 画像ファイルからグラフィックハンドルたちへ画像データを分割転送する
9447 		 */
9448 		extern int ReloadDivGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int XSize, int YSize, const (int)* HandleArray, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9449 
9450 		/**
9451 		 * 画像ファイルからグラフィックハンドルたちへ画像データを分割転送する( float版 )
9452 		 */
9453 		extern int ReloadDivGraphF(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, float XSize, float YSize, const (int)* HandleArray, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9454 
9455 		/**
9456 		 * 画像ファイルからグラフィックハンドルたちへ画像データを分割転送する( float版 )
9457 		 */
9458 		extern int ReloadDivGraphFWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, float XSize, float YSize, const (int)* HandleArray, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
9459 
9460 		/**
9461 		 * ReloadGraph の画像反転処理追加版
9462 		 */
9463 		extern int ReloadReverseGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int GrHandle);
9464 
9465 		/**
9466 		 * ReloadGraph の画像反転処理追加版
9467 		 */
9468 		extern int ReloadReverseGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int GrHandle);
9469 
9470 		/**
9471 		 * ReloadDivGraph の画像反転処理追加版
9472 		 */
9473 		extern int ReloadReverseDivGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int XSize, int YSize, const (int)* HandleArray);
9474 
9475 		/**
9476 		 * ReloadDivGraph の画像反転処理追加版
9477 		 */
9478 		extern int ReloadReverseDivGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int XSize, int YSize, const (int)* HandleArray);
9479 
9480 		/**
9481 		 * ReloadDivGraph の画像反転処理追加版( float版 )
9482 		 */
9483 		extern int ReloadReverseDivGraphF(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, float XSize, float YSize, const (int)* HandleArray);
9484 
9485 		/**
9486 		 * ReloadDivGraph の画像反転処理追加版( float版 )
9487 		 */
9488 		extern int ReloadReverseDivGraphFWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, float XSize, float YSize, const (int)* HandleArray);
9489 
9490 		// グラフィックハンドル作成時設定係関数
9491 
9492 		/**
9493 		 * SetCreateGraphColorBitDepth の旧名称
9494 		 */
9495 		extern int SetGraphColorBitDepth(int ColorBitDepth);
9496 
9497 		/**
9498 		 * GetCreateGraphColorBitDepth の旧名称
9499 		 */
9500 		extern int GetGraphColorBitDepth();
9501 
9502 		/**
9503 		 * 作成するグラフィックハンドルの色深度を設定する
9504 		 */
9505 		extern int SetCreateGraphColorBitDepth(int BitDepth);
9506 
9507 		/**
9508 		 * 作成するグラフィックハンドルの色深度を取得する
9509 		 */
9510 		extern int GetCreateGraphColorBitDepth();
9511 
9512 		/**
9513 		 * 作成するグラフィックハンドルの1チャンネル辺りのビット深度を設定する
9514 		 */
9515 		extern int SetCreateGraphChannelBitDepth(int BitDepth);
9516 
9517 		/**
9518 		 * 作成するグラフィックハンドルの1チャンネル辺りのビット深度を取得する
9519 		 */
9520 		extern int GetCreateGraphChannelBitDepth();
9521 
9522 		/**
9523 		 * SetDrawScreen に引数として渡せる( 描画対象として使用できる )グラフィックハンドルを作成するかどうかを設定する
9524 		 *
9525 		 * Params:
9526 		 *      Flag = TRUE:描画可能グラフィックハンドルを作成する  FLASE:通常のグラフィックハンドルを作成する( デフォルト )
9527 		 */
9528 		extern int SetDrawValidGraphCreateFlag(int Flag);
9529 
9530 		/**
9531 		 * SetDrawScreen に引数として渡せる( 描画対象として使用できる )グラフィックハンドルを作成するかどうかを設定を取得する
9532 		 */
9533 		extern int GetDrawValidGraphCreateFlag();
9534 
9535 		/**
9536 		 * SetDrawValidGraphCreateFlag の旧名称
9537 		 */
9538 		extern int SetDrawValidFlagOf3DGraph(int Flag);
9539 
9540 		/**
9541 		 * 画像ファイルからグラフィックハンドルを作成する際に画像左上の色を透過色として扱うかどうかを設定する
9542 		 *
9543 		 * Params:
9544 		 *      Flag = TRUE:透過色として扱う  FALSE:透過色として扱わない( デフォルト )
9545 		 */
9546 		extern int SetLeftUpColorIsTransColorFlag(int Flag);
9547 
9548 		/**
9549 		 * 読み込む画像がパレット画像の場合、パレット画像として使用できる場合はパレット画像として使用するかどうかを設定する
9550 		 *
9551 		 * Params:
9552 		 *      Flag = TRUE:パレット画像として使用できる場合はパレット画像として使用する( デフォルト )  FALSE:パレット画像として使用できる場合もパレット画像としては使用しない( 通常タイプの画像に変換して使用する )
9553 		 */
9554 		extern int SetUsePaletteGraphFlag(int Flag);
9555 
9556 		/**
9557 		 * ブレンド処理用画像を作成するかどうか( 要は画像の赤成分をα成分として扱うかどうか )の設定を行う
9558 		 *
9559 		 * Params:
9560 		 *      Flag = TRUE:ブレンド画像として読み込む  FALSE:通常画像として読み込む( デフォルト )
9561 		 */
9562 		extern int SetUseBlendGraphCreateFlag(int Flag);
9563 
9564 		/**
9565 		 * ブレンド処理用画像を作成するかどうか( 要は画像の赤成分をα成分として扱うかどうか )の設定を取得する
9566 		 */
9567 		extern int GetUseBlendGraphCreateFlag();
9568 
9569 		/**
9570 		 * アルファテストを使用するグラフィックハンドルを作成するかどうかを設定する
9571 		 *
9572 		 * Params:
9573 		 *      Flag = TRUE:アルファテストを使用する( デフォルト )  FALSE:アルファテストを使用しない
9574 		 */
9575 		extern int SetUseAlphaTestGraphCreateFlag(int Flag);
9576 
9577 		/**
9578 		 * アルファテストを使用するグラフィックハンドルを作成するかどうかを取得する
9579 		 */
9580 		extern int GetUseAlphaTestGraphCreateFlag();
9581 
9582 		/**
9583 		 * SetUseAlphaTestGraphCreateFlag の旧名称
9584 		 */
9585 		extern int SetUseAlphaTestFlag(int Flag);
9586 
9587 		/**
9588 		 * GetUseAlphaTestGraphCreateFlag の旧名称
9589 		 */
9590 		extern int GetUseAlphaTestFlag();
9591 
9592 		/**
9593 		 * キューブマップテクスチャを作成するかどうかのフラグを設定する
9594 		 */
9595 		extern int SetCubeMapTextureCreateFlag(int Flag);
9596 
9597 		/**
9598 		 * キューブマップテクスチャを作成するかどうかのフラグを取得する
9599 		 */
9600 		extern int GetCubeMapTextureCreateFlag();
9601 
9602 		/**
9603 		 * SetDrawBlendMode 関数の第1引数に DX_BLENDMODE_NOBLEND を代入した際に、デフォルトでは第二引数は内部で255を指定したことになるが、その自動255化をしないかどうかを設定する。αチャンネル付き画像に対して描画を行う場合のみ意味がある関数
9604 		 *
9605 		 * Params:
9606 		 *      Flag = TRUE:しない(第二引数の値が使用される)   FALSE:する(第二引数の値は無視されて 255 が常に使用される)(デフォルト)
9607 		 */
9608 		extern int SetUseNoBlendModeParam(int Flag);
9609 
9610 		/**
9611 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )αチャンネル付きグラフィックハンドルを作成するかどうかを設定する( SetDrawValidGraphCreateFlag 関数で描画対象として使用できるグラフィックハンドルを作成するように設定されていないと効果ありません )
9612 		 *
9613 		 * Params:
9614 		 *      Flag = TRUE:αチャンネル付き   FALSE:αチャンネルなし( デフォルト )
9615 		 */
9616 		extern int SetDrawValidAlphaChannelGraphCreateFlag(int Flag);
9617 
9618 		/**
9619 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )αチャンネル付きグラフィックハンドルを作成するかどうかを取得する
9620 		 */
9621 		extern int GetDrawValidAlphaChannelGraphCreateFlag();
9622 
9623 		/**
9624 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )ピクセルフォーマットが浮動小数点型のグラフィックハンドルを作成するかどうかを設定する( SetDrawValidGraphCreateFlag 関数で描画対象として使用できるグラフィックハンドルを作成するように設定されていないと効果ありません )、グラフィックスデバイスが浮動小数点型のピクセルフォーマットに対応していない場合はグラフィックハンドルの作成に失敗する
9625 		 *
9626 		 * Params:
9627 		 *      Flag = TRUE:浮動小数点型  FALSE:整数型( デフォルト )
9628 		 */
9629 		extern int SetDrawValidFloatTypeGraphCreateFlag(int Flag);
9630 
9631 		/**
9632 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )ピクセルフォーマットが浮動小数点型のグラフィックハンドルを作成するかどうかを取得する
9633 		 */
9634 		extern int GetDrawValidFloatTypeGraphCreateFlag();
9635 
9636 		/**
9637 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルを作成する際に専用のZバッファも作成するかどうかを設定する
9638 		 *
9639 		 * Params:
9640 		 *      Flag = TRUE:専用のZバッファを作成する( デフォルト )  FALSE:専用のZバッファは作成しない
9641 		 */
9642 		extern int SetDrawValidGraphCreateZBufferFlag(int Flag);
9643 
9644 		/**
9645 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルを作成する際に専用のZバッファも作成するかどうかを取得する
9646 		 */
9647 		extern int GetDrawValidGraphCreateZBufferFlag();
9648 
9649 		/**
9650 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用するZバッファのビット深度を設定する( BitDepth:ビット深度( 指定可能な値は 16, 24, 32 の何れか( SetDrawValidGraphCreateFlag 関数で描画対象として使用できるグラフィックハンドルを作成するように設定されていないと効果ありません )
9651 		 *
9652 		 * Params:
9653 		 *      BitDepth = ?
9654 		 */
9655 		extern int SetCreateDrawValidGraphZBufferBitDepth(int BitDepth);
9656 
9657 		/**
9658 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用するZバッファのビット深度を取得する
9659 		 */
9660 		extern int GetCreateDrawValidGraphZBufferBitDepth();
9661 
9662 		/**
9663 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用するMipMapのレベルを設定する
9664 		 */
9665 		extern int SetCreateDrawValidGraphMipLevels(int MipLevels);
9666 
9667 		/**
9668 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用するMipMapのレベルを取得する
9669 		 */
9670 		extern int GetCreateDrawValidGraphMipLevels();
9671 
9672 		/**
9673 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用する色のチャンネル数を設定する( ChannelNum:チャンネル数( 指定可能な値は 1, 2, 4 の何れか( SetDrawValidGraphCreateFlag 関数で描画対象として使用できるグラフィックハンドルを作成するように設定されていないと効果ありません )
9674 		 *
9675 		 * Params:
9676 		 *      ChannelNum = ?
9677 		 */
9678 		extern int SetCreateDrawValidGraphChannelNum(int ChannelNum);
9679 
9680 		/**
9681 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用する色のチャンネル数を取得する
9682 		 */
9683 		extern int GetCreateDrawValidGraphChannelNum();
9684 
9685 		/**
9686 		 * SetDrawScreen の引数として渡せる( 描画対象として使用できる )グラフィックハンドルに適用するマルチサンプリング( アンチエイリアシング )設定を行う( Samples:マルチサンプル処理に使用するドット数( 多いほど重くなります )  Quality:マルチサンプル処理の品質 )
9687 		 *
9688 		 * Params:
9689 		 *      Samples = ?
9690 		 *      Quality = ?
9691 		 */
9692 		extern int SetCreateDrawValidGraphMultiSample(int Samples, int Quality);
9693 
9694 		/**
9695 		 * SetCreateDrawValidGraphMultiSample の旧名称
9696 		 */
9697 		extern int SetDrawValidMultiSample(int Samples, int Quality);
9698 
9699 		/**
9700 		 * 指定のマルチサンプル数で使用できる最大クオリティ値を取得する( 戻り値がマイナスの場合は引数のサンプル数が使用できないことを示します )
9701 		 */
9702 		extern int GetMultiSampleQuality(int Samples);
9703 
9704 		/**
9705 		 * 透過色機能を使用するかどうかを設定する
9706 		 *
9707 		 * Params:
9708 		 *      Flag = TRUE:使用する( デフォルト )  FALSE:使用しない
9709 		 */
9710 		extern int SetUseTransColor(int Flag);
9711 
9712 		/**
9713 		 * 透過色機能を使用することを前提とした画像データの読み込み処理を行うかどうかを設定する( TRUE にすると SetDrawMode(DX_DRAWMODE_BILINEAR); をした状態で DrawGraphF 等の浮動小数点型座標を受け取る関数で小数点以下の値を指定した場合に発生する描画結果の不自然を緩和する効果があります ( デフォルトは FALSE ) )
9714 		 */
9715 		extern int SetUseTransColorGraphCreateFlag(int Flag);
9716 
9717 		/**
9718 		 * SetUseAlphaChannelGraphCreateFlag の旧名称
9719 		 */
9720 		extern int SetUseGraphAlphaChannel(int Flag);
9721 
9722 		/**
9723 		 * GetUseAlphaChannelGraphCreateFlag の旧名称
9724 		 */
9725 		extern int GetUseGraphAlphaChannel();
9726 
9727 		/**
9728 		 * αチャンネル付きグラフィックハンドルを作成するかどうかを設定する
9729 		 *
9730 		 * Params:
9731 		 *      Flag = TRUE:αチャンネル付き   FALSE:αチャンネル無し
9732 		 */
9733 		extern int SetUseAlphaChannelGraphCreateFlag(int Flag);
9734 
9735 		/**
9736 		 * αチャンネル付きグラフィックハンドルを作成するかどうかを取得する
9737 		 *
9738 		 * Returns: TRUE:αチャンネル付き   FALSE:αチャンネル無し
9739 		 */
9740 		extern int GetUseAlphaChannelGraphCreateFlag();
9741 
9742 		/**
9743 		 * Direct3D の管理テクスチャ機能を使用するグラフィックハンドルを作成するかどうかを設定する、管理機能を使用するとグラフィックスデバイスのVRAM容量以上の画像を扱うことができる代わりにシステムメモリの使用量が増えます
9744 		 *
9745 		 * Params:
9746 		 *      Flag = TRUE:管理機能を使用する( デフォルト )  FALSE:管理機能を使用しない
9747 		 */
9748 		extern int SetUseNotManageTextureFlag(int Flag);
9749 
9750 		/**
9751 		 * Direct3D の管理テクスチャ機能を使用するグラフィックハンドルを作成するかどうかを取得する
9752 		 */
9753 		extern int GetUseNotManageTextureFlag();
9754 
9755 		/**
9756 		 * 作成するグラフィックハンドルで使用する環境依存のテクスチャフォーマットを指定する( Direct3D9環境なら DX_TEXTUREFORMAT_DIRECT3D9_R8G8B8 など、0 を渡すと解除 )
9757 		 */
9758 		extern int SetUsePlatformTextureFormat(int PlatformTextureFormat);
9759 
9760 		/**
9761 		 * 作成するグラフィックハンドルで使用する環境依存のテクスチャフォーマットを取得する
9762 		 */
9763 		extern int GetUsePlatformTextureFormat();
9764 
9765 		/**
9766 		 * 作成するグラフィックハンドルに適用する透過色を設定する
9767 		 *
9768 		 * Params:
9769 		 *      Red = 透過色を光の3原色で表したもの( 0〜255 )
9770 		 *      Green = 透過色を光の3原色で表したもの( 0〜255 )
9771 		 *      Blue = 透過色を光の3原色で表したもの( 0〜255 )
9772 		 */
9773 		extern int SetTransColor(int Red, int Green, int Blue);
9774 
9775 		/**
9776 		 * 作成するグラフィックハンドルに適用する透過色を取得する
9777 		 */
9778 		extern int GetTransColor(int* Red, int* Green, int* Blue);
9779 
9780 		/**
9781 		 * 2のn乗ではないサイズの画像を複数のテクスチャを使用してVRAMの無駄を省くかどうかを設定する、複数のテクスチャを使用する場合はVRAM容量の節約ができる代わりに速度の低下やバイリニアフィルタリング描画時にテクスチャとテクスチャの境目が良く見るとわかる等の弊害があります
9782 		 *
9783 		 * Params:
9784 		 *      Flag = TRUE:複数のテクスチャを使用する   FALSE:なるべく1枚のテクスチャで済ます( デフォルト )
9785 		 */
9786 		extern int SetUseDivGraphFlag(int Flag);
9787 
9788 		/**
9789 		 * LoadGraph などの際にファイル名の末尾に _a が付いたアルファチャンネル用の画像ファイルを追加で読み込む処理を行うかどうかを設定する
9790 		 *
9791 		 * Params:
9792 		 *      Flag = TRUE:行う( デフォルト )  FALSE:行わない
9793 		 */
9794 		extern int SetUseAlphaImageLoadFlag(int Flag);
9795 
9796 		/**
9797 		 * 使用するテクスチャーの最大サイズを設定する( デフォルトではグラフィックスデバイスが対応している最大テクスチャーサイズ、引数に 0 を渡すとデフォルト設定になります )
9798 		 */
9799 		extern int SetUseMaxTextureSize(int Size);
9800 
9801 		/**
9802 		 * グラフィックハンドルを作成する際に使用した画像データのバックアップをして Direct3DDevice のデバイスロスト時に使用するかどうかを設定する、バックアップをしないとメモリの節約になりますが、復帰に掛かる時間が長くなり、メモリ上のファイルイメージからグラフィックハンドルを作成した場合は自動復帰ができないなどの弊害があります
9803 		 *
9804 		 * Params:
9805 		 *      Flag = TRUE:バックアップをする( デフォルト )  FALSE:バックアップをしない
9806 		 */
9807 		extern int SetUseGraphBaseDataBackup(int Flag);
9808 
9809 		/**
9810 		 * グラフィックハンドルを作成する際に使用した画像データのバックアップをして Direct3DDevice のデバイスロスト時に使用するかどうかを取得する
9811 		 */
9812 		extern int GetUseGraphBaseDataBackup();
9813 
9814 		/**
9815 		 * ( 現在効果なし )グラフィックハンドルが持つ画像データをシステムメモリ上に作成するかどうかを設定する
9816 		 *
9817 		 * Params:
9818 		 *      Flag = TRUE:システムメモリ上に作成  FALSE:VRAM上に作成( デフォルト )
9819 		 */
9820 		extern int SetUseSystemMemGraphCreateFlag(int Flag);
9821 
9822 		/**
9823 		 * ( 現在効果なし )グラフィックハンドルが持つ画像データをシステムメモリ上に作成するかどうかを取得する
9824 		 */
9825 		extern int GetUseSystemMemGraphCreateFlag();
9826 
9827 		// 画像情報関係関数
9828 
9829 		/**
9830 		 * 指定のグラフィックハンドルのARGB8イメージを取得する( 現在動画ファイルをグラフィックハンドルで読み込んだ場合のみ使用可能 )
9831 		 */
9832 		extern const (uint)* GetFullColorImage(int GrHandle);
9833 
9834 		/**
9835 		 * グラフィックメモリ領域のロック
9836 		 */
9837 		extern int GraphLock(int GrHandle, int* PitchBuf, void** DataPointBuf, .COLORDATA** ColorDataPP = null, int WriteOnly = dxlib_d.dxdatatype.FALSE);
9838 
9839 		/**
9840 		 * グラフィックメモリ領域のロック解除
9841 		 */
9842 		extern int GraphUnLock(int GrHandle);
9843 
9844 		/**
9845 		 * グラフィックハンドル専用のZバッファを持つかどうかを設定する
9846 		 *
9847 		 * Params:
9848 		 *      GrHandle = 対象となるグラフィックハンドル( 描画対象として使用可能なグラフィックハンドルのみ有効 )
9849 		 *      UseFlag = 専用のZバッファを持つかどうか( TRUE:持つ( デフォルト )  FALSE:持たない )
9850 		 *      BitDepth = ビット深度( 16 or 24 or 32 )
9851 		 */
9852 		extern int SetUseGraphZBuffer(int GrHandle, int UseFlag, int BitDepth = -1);
9853 
9854 		/**
9855 		 * グラフィックハンドルのZバッファの状態を別のグラフィックハンドルのZバッファにコピーする( DestGrHandle も SrcGrHandle もZバッファを持っている描画対象にできるグラフィックハンドルで、サイズが同じであり、且つマルチサンプリング( アンチエイリアス )設定が無いことが条件 )
9856 		 */
9857 		extern int CopyGraphZBufferImage(int DestGrHandle, int SrcGrHandle);
9858 
9859 		/**
9860 		 * グラフィックスデバイスのデバイスロスト発生時に指定のグラフィックハンドルを削除するかどうかを設定する
9861 		 *
9862 		 * Params:
9863 		 *      GrHandle = ?
9864 		 *      DeleteFlag = TRUE:デバイスロスト時に削除する  FALSE:デバイスロストが発生しても削除しない
9865 		 */
9866 		extern int SetDeviceLostDeleteGraphFlag(int GrHandle, int DeleteFlag);
9867 
9868 		/**
9869 		 * グラフィックハンドルが持つ画像のサイズを得る
9870 		 */
9871 		extern int GetGraphSize(int GrHandle, int* SizeXBuf, int* SizeYBuf);
9872 
9873 		/**
9874 		 * グラフィックハンドルが持つ画像のサイズを得る( float型 )
9875 		 */
9876 		extern int GetGraphSizeF(int GrHandle, float* SizeXBuf, float* SizeYBuf);
9877 
9878 		/**
9879 		 * グラフィックハンドルが持つ1つ目のテクスチャのサイズを得る
9880 		 */
9881 		extern int GetGraphTextureSize(int GrHandle, int* SizeXBuf, int* SizeYBuf);
9882 
9883 		/**
9884 		 * LoadDivGraph や DerivationGraph で元画像の一部分を使用している場合に、指定のグラフィックハンドルが使用している元画像の範囲を取得する
9885 		 */
9886 		extern int GetGraphUseBaseGraphArea(int GrHandle, int* UseX, int* UseY, int* UseSizeX, int* UseSizeY);
9887 
9888 		/**
9889 		 * グラフィックハンドルが持つテクスチャのミップマップレベル数を取得する
9890 		 */
9891 		extern int GetGraphMipmapCount(int GrHandle);
9892 
9893 		/**
9894 		 * グラフィックハンドルが画像ファイルから読み込まれていた場合、その画像のファイルパスを取得する
9895 		 */
9896 		extern int GetGraphFilePath(int GrHandle, dxlib_d.dxdatatype.TCHAR* FilePathBuffer);
9897 
9898 		/**
9899 		 * 指定のグラフィックハンドルが描画対象にできる( SetDrawScreen の引数に渡せる )グラフィックハンドルかどうかを取得する
9900 		 *
9901 		 * Returns: TRUE:描画対象にできるグラフィックハンドル FALSE:描画対象にできないグラフィックハンドル
9902 		 */
9903 		extern int CheckDrawValidGraph(int GrHandle);
9904 
9905 		/**
9906 		 * カラーデータを得る
9907 		 */
9908 		extern const (.COLORDATA)* GetTexColorData(int AlphaCh, int AlphaTest, int ColorBitDepth, int DrawValid = dxlib_d.dxdatatype.FALSE);
9909 
9910 		/**
9911 		 * フォーマットに基づいたカラーデータを得る
9912 		 */
9913 		extern const (.COLORDATA)* GetTexColorData(const (.IMAGEFORMATDESC)* Format);
9914 
9915 		/**
9916 		 * 指定のフォーマットインデックスのカラーデータを得る
9917 		 */
9918 		extern const (.COLORDATA)* GetTexColorData(int FormatIndex);
9919 
9920 		/**
9921 		 * グラフィックスデバイスが対応している最大テクスチャサイズを取得する
9922 		 */
9923 		extern int GetMaxGraphTextureSize(int* SizeX, int* SizeY);
9924 
9925 		/**
9926 		 * グラフィックハンドルの画像を復元する関数が登録されているかどうかを取得する
9927 		 *
9928 		 * Returns: TRUE:登録されている  FALSE:登録されていない
9929 		 */
9930 		extern int GetValidRestoreShredPoint();
9931 
9932 		/**
9933 		 * ( 現在効果なし )これから新たにグラフィックを作成する場合に使用するカラー情報を取得する
9934 		 */
9935 		extern int GetCreateGraphColorData(.COLORDATA* ColorData, .IMAGEFORMATDESC* Format);
9936 
9937 		// 画像パレット操作関係関数( ソフトウエア画像のみ使用可能 )
9938 
9939 		/**
9940 		 * グラフィックハンドルのパレットを取得する( ソフトウエアレンダリングモードで、且つパレット画像の場合のみ使用可能 )
9941 		 */
9942 		extern int GetGraphPalette(int GrHandle, int ColorIndex, int* Red, int* Green, int* Blue);
9943 
9944 		/**
9945 		 * グラフィックハンドルの SetGraphPalette で変更する前のパレットを取得する( ソフトウエアレンダリングモードで、且つパレット画像の場合のみ使用可能 )
9946 		 */
9947 		extern int GetGraphOriginalPalette(int GrHandle, int ColorIndex, int* Red, int* Green, int* Blue);
9948 
9949 		/**
9950 		 * グラフィックハンドルのパレットを変更する( ソフトウエアレンダリングモードで、且つパレット画像の場合のみ使用可能 )
9951 		 */
9952 		extern int SetGraphPalette(int GrHandle, int ColorIndex, uint Color);
9953 
9954 		/**
9955 		 * SetGraphPalette で変更したパレットを全て元に戻す( ソフトウエアレンダリングモードで、且つパレット画像の場合のみ使用可能 )
9956 		 */
9957 		extern int ResetGraphPalette(int GrHandle);
9958 
9959 		// 図形描画関数
9960 
9961 		/**
9962 		 * 線を描画する
9963 		 */
9964 		extern int DrawLine(int x1, int y1, int x2, int y2, uint Color, int Thickness = 1);
9965 
9966 		/**
9967 		 * 線を描画する( アンチエイリアス付き )
9968 		 */
9969 		extern int DrawLineAA(float x1, float y1, float x2, float y2, uint Color, float Thickness = 1.0f);
9970 
9971 		/**
9972 		 * 四角形を描画する
9973 		 */
9974 		extern int DrawBox(int x1, int y1, int x2, int y2, uint Color, int FillFlag);
9975 
9976 		/**
9977 		 * 四角形を描画する( アンチエイリアス付き )
9978 		 */
9979 		extern int DrawBoxAA(float x1, float y1, float x2, float y2, uint Color, int FillFlag, float LineThickness = 1.0f);
9980 
9981 		/**
9982 		 * 中身を塗りつぶす四角形を描画する
9983 		 */
9984 		extern int DrawFillBox(int x1, int y1, int x2, int y2, uint Color);
9985 
9986 		/**
9987 		 * 枠だけの四角形の描画 する
9988 		 */
9989 		extern int DrawLineBox(int x1, int y1, int x2, int y2, uint Color);
9990 
9991 		/**
9992 		 * 円を描画する
9993 		 */
9994 		extern int DrawCircle(int x, int y, int r, uint Color, int FillFlag = dxlib_d.dxdatatype.TRUE, int LineThickness = 1);
9995 
9996 		/**
9997 		 * 円を描画する( アンチエイリアス付き )
9998 		 */
9999 		extern int DrawCircleAA(float x, float y, float r, int posnum, uint Color, int FillFlag = dxlib_d.dxdatatype.TRUE, float LineThickness = 1.0f);
10000 
10001 		/**
10002 		 * 楕円を描画する
10003 		 */
10004 		extern int DrawOval(int x, int y, int rx, int ry, uint Color, int FillFlag, int LineThickness = 1);
10005 
10006 		/**
10007 		 * 楕円を描画する( アンチエイリアス付き )
10008 		 */
10009 		extern int DrawOvalAA(float x, float y, float rx, float ry, int posnum, uint Color, int FillFlag, float LineThickness = 1.0f);
10010 
10011 		/**
10012 		 * 指定の矩形に収まる円( 楕円 )を描画する
10013 		 */
10014 		extern int DrawOval_Rect(int x1, int y1, int x2, int y2, uint Color, int FillFlag);
10015 
10016 		/**
10017 		 * 三角形を描画する
10018 		 */
10019 		extern int DrawTriangle(int x1, int y1, int x2, int y2, int x3, int y3, uint Color, int FillFlag);
10020 
10021 		/**
10022 		 * 三角形を描画する( アンチエイリアス付き )
10023 		 */
10024 		extern int DrawTriangleAA(float x1, float y1, float x2, float y2, float x3, float y3, uint Color, int FillFlag, float LineThickness = 1.0f);
10025 
10026 		/**
10027 		 * 四角形を描画する
10028 		 */
10029 		extern int DrawQuadrangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, int FillFlag);
10030 
10031 		/**
10032 		 * 四角形を描画する( アンチエイリアス付き )
10033 		 */
10034 		extern int DrawQuadrangleAA(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, int FillFlag, float LineThickness = 1.0f);
10035 
10036 		/**
10037 		 * 角の丸い四角形を描画する
10038 		 */
10039 		extern int DrawRoundRect(int x1, int y1, int x2, int y2, int rx, int ry, uint Color, int FillFlag);
10040 
10041 		/**
10042 		 * 角の丸い四角形を描画する( アンチエイリアス付き )
10043 		 */
10044 		extern int DrawRoundRectAA(float x1, float y1, float x2, float y2, float rx, float ry, int posnum, uint Color, int FillFlag, float LineThickness = 1.0f);
10045 
10046 		/**
10047 		 * DrawTriangleAA などのアンチエイリアス付き図形描画の準備を行う
10048 		 */
10049 		extern int BeginAADraw();
10050 
10051 		/**
10052 		 * DrawTriangleAA などのアンチエイリアス付き図形描画の後始末を行う
10053 		 */
10054 		extern int EndAADraw();
10055 
10056 		/**
10057 		 * 点を描画する
10058 		 */
10059 		extern int DrawPixel(int x, int y, uint Color);
10060 
10061 		/**
10062 		 * 指定点から境界色があるところまで塗りつぶす(境界色を -1 にすると指定点の色の領域を塗りつぶす)
10063 		 */
10064 		extern int Paint(int x, int y, uint FillColor, dxlib_d.dxdatatype.ULONGLONG BoundaryColor = 0xFFFFFFFFFFFFFFFFUL);
10065 
10066 		/**
10067 		 * 点の集合を描画する
10068 		 */
10069 		extern int DrawPixelSet(const (.POINTDATA)* PointDataArray, int Num);
10070 
10071 		/**
10072 		 * 線の集合を描画する
10073 		 */
10074 		extern int DrawLineSet(const (.LINEDATA)* LineDataArray, int Num);
10075 
10076 		/**
10077 		 * 3Dの点を描画する
10078 		 */
10079 		extern int DrawPixel3D(.VECTOR Pos, uint Color);
10080 
10081 		/**
10082 		 * 3Dの点を描画する
10083 		 */
10084 		extern int DrawPixel3DD(.VECTOR_D Pos, uint Color);
10085 
10086 		/**
10087 		 * 3Dの線分を描画する
10088 		 */
10089 		extern int DrawLine3D(.VECTOR Pos1, .VECTOR Pos2, uint Color);
10090 
10091 		/**
10092 		 * 3Dの線分を描画する
10093 		 */
10094 		extern int DrawLine3DD(.VECTOR_D Pos1, .VECTOR_D Pos2, uint Color);
10095 
10096 		/**
10097 		 * 3Dの三角形を描画する
10098 		 */
10099 		extern int DrawTriangle3D(.VECTOR Pos1, .VECTOR Pos2, .VECTOR Pos3, uint Color, int FillFlag);
10100 
10101 		/**
10102 		 * 3Dの三角形を描画する
10103 		 */
10104 		extern int DrawTriangle3DD(.VECTOR_D Pos1, .VECTOR_D Pos2, .VECTOR_D Pos3, uint Color, int FillFlag);
10105 
10106 		/**
10107 		 * 3Dの立方体を描画する
10108 		 */
10109 		extern int DrawCube3D(.VECTOR Pos1, .VECTOR Pos2, uint DifColor, uint SpcColor, int FillFlag);
10110 
10111 		/**
10112 		 * 3Dの立方体を描画する
10113 		 */
10114 		extern int DrawCube3DD(.VECTOR_D Pos1, .VECTOR_D Pos2, uint DifColor, uint SpcColor, int FillFlag);
10115 
10116 		/**
10117 		 * 3Dの立方体の集合を描画する
10118 		 */
10119 		extern int DrawCubeSet3D(.CUBEDATA* CubeDataArray, int Num, int FillFlag);
10120 
10121 		/**
10122 		 * 3Dの球体を描画する
10123 		 */
10124 		extern int DrawSphere3D(.VECTOR CenterPos, float r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10125 
10126 		/**
10127 		 * 3Dの球体を描画する
10128 		 */
10129 		extern int DrawSphere3DD(.VECTOR_D CenterPos, double r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10130 
10131 		/**
10132 		 * 3Dのカプセルを描画する
10133 		 */
10134 		extern int DrawCapsule3D(.VECTOR Pos1, .VECTOR Pos2, float r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10135 
10136 		/**
10137 		 * 3Dのカプセルを描画する
10138 		 */
10139 		extern int DrawCapsule3DD(.VECTOR_D Pos1, .VECTOR_D Pos2, double r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10140 
10141 		/**
10142 		 * 3Dの円錐を描画する
10143 		 */
10144 		extern int DrawCone3D(.VECTOR TopPos, .VECTOR BottomPos, float r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10145 
10146 		/**
10147 		 * 3Dの円錐を描画する
10148 		 */
10149 		extern int DrawCone3DD(.VECTOR_D TopPos, .VECTOR_D BottomPos, double r, int DivNum, uint DifColor, uint SpcColor, int FillFlag);
10150 
10151 		// 画像描画関数
10152 
10153 		/**
10154 		 * 画像ファイルを読みこんで画面に描画する
10155 		 */
10156 		extern int LoadGraphScreen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* GraphName, int TransFlag);
10157 
10158 		/**
10159 		 * 画像ファイルを読みこんで画面に描画する
10160 		 */
10161 		extern int LoadGraphScreenWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* GraphName, size_t GraphNameLength, int TransFlag);
10162 
10163 		/**
10164 		 * 画像の等倍描画
10165 		 */
10166 		extern int DrawGraph(int x, int y, int GrHandle, int TransFlag);
10167 
10168 		/**
10169 		 * 画像の拡大描画
10170 		 */
10171 		extern int DrawExtendGraph(int x1, int y1, int x2, int y2, int GrHandle, int TransFlag);
10172 
10173 		/**
10174 		 * 画像の回転描画
10175 		 */
10176 		extern int DrawRotaGraph(int x, int y, double ExRate, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10177 
10178 		/**
10179 		 * 画像の回転描画2( 回転中心指定付き )
10180 		 */
10181 		extern int DrawRotaGraph2(int x, int y, int cx, int cy, double ExtRate, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10182 
10183 		/**
10184 		 * 画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )
10185 		 */
10186 		extern int DrawRotaGraph3(int x, int y, int cx, int cy, double ExtRateX, double ExtRateY, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10187 
10188 		/**
10189 		 * 画像の回転描画( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10190 		 */
10191 		extern int DrawRotaGraphFast(int x, int y, float ExRate, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10192 
10193 		/**
10194 		 * 画像の回転描画2( 回転中心指定付き )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10195 		 */
10196 		extern int DrawRotaGraphFast2(int x, int y, int cx, int cy, float ExtRate, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10197 
10198 		/**
10199 		 * 画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10200 		 */
10201 		extern int DrawRotaGraphFast3(int x, int y, int cx, int cy, float ExtRateX, float ExtRateY, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10202 
10203 		/**
10204 		 * 画像の自由変形描画
10205 		 */
10206 		extern int DrawModiGraph(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int GrHandle, int TransFlag);
10207 
10208 		/**
10209 		 * 画像の左右反転描画
10210 		 */
10211 		extern int DrawTurnGraph(int x, int y, int GrHandle, int TransFlag);
10212 
10213 		/**
10214 		 * 画像の反転描画
10215 		 */
10216 		extern int DrawReverseGraph(int x, int y, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10217 
10218 		/**
10219 		 * 画像の描画( 座標指定が float 版 )
10220 		 */
10221 		extern int DrawGraphF(float xf, float yf, int GrHandle, int TransFlag);
10222 
10223 		/**
10224 		 * 画像の拡大描画( 座標指定が float 版 )
10225 		 */
10226 		extern int DrawExtendGraphF(float x1f, float y1f, float x2f, float y2, int GrHandle, int TransFlag);
10227 
10228 		/**
10229 		 * 画像の回転描画( 座標指定が float 版 )
10230 		 */
10231 		extern int DrawRotaGraphF(float xf, float yf, double ExRate, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10232 
10233 		/**
10234 		 * 画像の回転描画2( 回転中心指定付き )( 座標指定が float 版 )
10235 		 */
10236 		extern int DrawRotaGraph2F(float xf, float yf, float cxf, float cyf, double ExtRate, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10237 
10238 		/**
10239 		 * 画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 座標指定が float 版 )
10240 		 */
10241 		extern int DrawRotaGraph3F(float xf, float yf, float cxf, float cyf, double ExtRateX, double ExtRateY, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10242 
10243 		/**
10244 		 * 画像の回転描画( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10245 		 */
10246 		extern int DrawRotaGraphFastF(float xf, float yf, float ExRate, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10247 
10248 		/**
10249 		 * 画像の回転描画2( 回転中心指定付き )( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10250 		 */
10251 		extern int DrawRotaGraphFast2F(float xf, float yf, float cxf, float cyf, float ExtRate, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10252 
10253 		/**
10254 		 * 画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10255 		 */
10256 		extern int DrawRotaGraphFast3F(float xf, float yf, float cxf, float cyf, float ExtRateX, float ExtRateY, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10257 
10258 		/**
10259 		 * 画像の自由変形描画( 座標指定が float 版 )
10260 		 */
10261 		extern int DrawModiGraphF(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, int GrHandle, int TransFlag);
10262 
10263 		/**
10264 		 * 画像の左右反転描画( 座標指定が float 版 )
10265 		 */
10266 		extern int DrawTurnGraphF(float xf, float yf, int GrHandle, int TransFlag);
10267 
10268 		/**
10269 		 * 画像の反転描画( 座標指定が float 版 )
10270 		 */
10271 		extern int DrawReverseGraphF(float xf, float yf, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10272 
10273 		/**
10274 		 * チップ画像を使った2Dマップ描画
10275 		 */
10276 		extern int DrawChipMap(int Sx, int Sy, int XNum, int YNum, const (int)* MapData, int ChipTypeNum, int MapDataPitch, const (int)* ChipGrHandle, int TransFlag);
10277 
10278 		/**
10279 		 * チップ画像を使った2Dマップ描画
10280 		 */
10281 		extern int DrawChipMap(int MapWidth, int MapHeight, const (int)* MapData, int ChipTypeNum, const (int)* ChipGrHandle, int TransFlag, int MapDrawPointX, int MapDrawPointY, int MapDrawWidth, int MapDrawHeight, int ScreenX, int ScreenY);
10282 
10283 		/**
10284 		 * 画像を指定領域にタイル状に描画する
10285 		 */
10286 		extern int DrawTile(int x1, int y1, int x2, int y2, int Tx, int Ty, double ExtRate, double Angle, int GrHandle, int TransFlag);
10287 
10288 		/**
10289 		 * 画像の指定矩形部分のみを等倍描画
10290 		 */
10291 		extern int DrawRectGraph(int DestX, int DestY, int SrcX, int SrcY, int Width, int Height, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10292 
10293 		/**
10294 		 * 画像の指定矩形部分のみを拡大描画
10295 		 */
10296 		extern int DrawRectExtendGraph(int DestX1, int DestY1, int DestX2, int DestY2, int SrcX, int SrcY, int SrcWidth, int SrcHeight, int GraphHandle, int TransFlag);
10297 
10298 		/**
10299 		 * 画像の指定矩形部分のみを回転描画
10300 		 */
10301 		extern int DrawRectRotaGraph(int x, int y, int SrcX, int SrcY, int Width, int Height, double ExtRate, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10302 
10303 		/**
10304 		 * 画像の指定矩形部分のみを回転描画2( 回転中心指定付き )
10305 		 */
10306 		extern int DrawRectRotaGraph2(int x, int y, int SrcX, int SrcY, int Width, int Height, int cx, int cy, double ExtRate, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10307 
10308 		/**
10309 		 * 画像の指定矩形部分のみを回転描画3( 回転中心指定付き+縦横拡大率別指定版 )
10310 		 */
10311 		extern int DrawRectRotaGraph3(int x, int y, int SrcX, int SrcY, int Width, int Height, int cx, int cy, double ExtRateX, double ExtRateY, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10312 
10313 		/**
10314 		 * 画像の指定矩形部分のみを回転描画( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10315 		 */
10316 		extern int DrawRectRotaGraphFast(int x, int y, int SrcX, int SrcY, int Width, int Height, float ExtRate, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10317 
10318 		/**
10319 		 * 画像の指定矩形部分のみを回転描画2( 回転中心指定付き )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10320 		 */
10321 		extern int DrawRectRotaGraphFast2(int x, int y, int SrcX, int SrcY, int Width, int Height, int cx, int cy, float ExtRate, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10322 
10323 		/**
10324 		 * 画像の指定矩形部分のみを回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10325 		 */
10326 		extern int DrawRectRotaGraphFast3(int x, int y, int SrcX, int SrcY, int Width, int Height, int cx, int cy, float ExtRateX, float ExtRateY, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10327 
10328 		/**
10329 		 * 画像の指定矩形部分のみを自由変形描画
10330 		 */
10331 		extern int DrawRectModiGraph(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int SrcX, int SrcY, int Width, int Height, int GraphHandle, int TransFlag);
10332 
10333 		/**
10334 		 * 画像の指定矩形部分のみを等倍描画( 座標指定が float 版 )
10335 		 */
10336 		extern int DrawRectGraphF(float DestX, float DestY, int SrcX, int SrcY, int Width, int Height, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10337 
10338 		/**
10339 		 * 画像の指定矩形部分のみを拡大描画( 座標指定が float 版 )
10340 		 */
10341 		extern int DrawRectExtendGraphF(float DestX1, float DestY1, float DestX2, float DestY2, int SrcX, int SrcY, int SrcWidth, int SrcHeight, int GraphHandle, int TransFlag);
10342 
10343 		/**
10344 		 * 画像の指定矩形部分のみを回転描画( 座標指定が float 版 )
10345 		 */
10346 		extern int DrawRectRotaGraphF(float x, float y, int SrcX, int SrcY, int Width, int Height, double ExtRate, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10347 
10348 		/**
10349 		 * 画像の指定矩形部分のみを回転描画2( 回転中心指定付き )( 座標指定が float 版 )
10350 		 */
10351 		extern int DrawRectRotaGraph2F(float x, float y, int SrcX, int SrcY, int Width, int Height, float cxf, float cyf, double ExtRate, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10352 
10353 		/**
10354 		 * 画像の指定矩形部分のみを回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 座標指定が float 版 )
10355 		 */
10356 		extern int DrawRectRotaGraph3F(float x, float y, int SrcX, int SrcY, int Width, int Height, float cxf, float cyf, double ExtRateX, double ExtRateY, double Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10357 
10358 		/**
10359 		 * 画像の指定矩形部分のみを回転描画( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10360 		 */
10361 		extern int DrawRectRotaGraphFastF(float x, float y, int SrcX, int SrcY, int Width, int Height, float ExtRate, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10362 
10363 		/**
10364 		 * 画像の指定矩形部分のみを回転描画2( 回転中心指定付き )( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10365 		 */
10366 		extern int DrawRectRotaGraphFast2F(float x, float y, int SrcX, int SrcY, int Width, int Height, float cxf, float cyf, float ExtRate, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10367 
10368 		/**
10369 		 * 画像の指定矩形部分のみを回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 座標指定が float 版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10370 		 */
10371 		extern int DrawRectRotaGraphFast3F(float x, float y, int SrcX, int SrcY, int Width, int Height, float cxf, float cyf, float ExtRateX, float ExtRateY, float Angle, int GraphHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10372 
10373 		/**
10374 		 * 画像の指定矩形部分のみを自由変形描画( 座標指定が float 版 )
10375 		 */
10376 		extern int DrawRectModiGraphF(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, int SrcX, int SrcY, int Width, int Height, int GraphHandle, int TransFlag);
10377 
10378 		/**
10379 		 * ブレンド画像と合成して画像を等倍描画する
10380 		 */
10381 		extern int DrawBlendGraph(int x, int y, int GrHandle, int TransFlag, int BlendGraph, int BorderParam, int BorderRange);
10382 
10383 		/**
10384 		 * ブレンド画像と合成して画像を等倍描画する( ブレンド画像の起点座標を指定する引数付き )
10385 		 */
10386 		extern int DrawBlendGraphPos(int x, int y, int GrHandle, int TransFlag, int bx, int by, int BlendGraph, int BorderParam, int BorderRange);
10387 
10388 		/**
10389 		 * 円グラフ的な描画を行う( GrHandle の画像の上下左右の端は透過色にしておく必要があります )
10390 		 */
10391 		extern int DrawCircleGauge(int CenterX, int CenterY, double Percent, int GrHandle, double StartPercent = 0.0, double Scale = 1.0, int ReverseX = dxlib_d.dxdatatype.FALSE, int ReverseY = dxlib_d.dxdatatype.FALSE);
10392 
10393 		/**
10394 		 * 円グラフ的な描画を行う( GrHandle の画像の上下左右の端は透過色にしておく必要があります )( 座標指定が float 版 )
10395 		 */
10396 		extern int DrawCircleGaugeF(float CenterX, float CenterY, double Percent, int GrHandle, double StartPercent = 0.0, double Scale = 1.0, int ReverseX = dxlib_d.dxdatatype.FALSE, int ReverseY = dxlib_d.dxdatatype.FALSE);
10397 
10398 		/**
10399 		 * Zバッファに対して画像の等倍描画
10400 		 */
10401 		extern int DrawGraphToZBuffer(int X, int Y, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10402 
10403 		/**
10404 		 * Zバッファに対して画像の左右反転描画
10405 		 */
10406 		extern int DrawTurnGraphToZBuffer(int x, int y, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10407 
10408 		/**
10409 		 * Zバッファに対して画像の反転描画
10410 		 */
10411 		extern int DrawReverseGraphToZBuffer(int x, int y, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10412 
10413 		/**
10414 		 * Zバッファに対して画像の拡大描画
10415 		 */
10416 		extern int DrawExtendGraphToZBuffer(int x1, int y1, int x2, int y2, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10417 
10418 		/**
10419 		 * Zバッファに対して画像の回転描画
10420 		 */
10421 		extern int DrawRotaGraphToZBuffer(int x, int y, double ExRate, double Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10422 
10423 		/**
10424 		 * Zバッファに対して画像の回転描画2( 回転中心指定付き )
10425 		 */
10426 		extern int DrawRotaGraph2ToZBuffer(int x, int y, int cx, int cy, double ExtRate, double Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10427 
10428 		/**
10429 		 * Zバッファに対して画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )
10430 		 */
10431 		extern int DrawRotaGraph3ToZBuffer(int x, int y, int cx, int cy, double ExtRateX, double ExtRateY, double Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10432 
10433 		/**
10434 		 * Zバッファに対して画像の回転描画( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10435 		 */
10436 		extern int DrawRotaGraphFastToZBuffer(int x, int y, float ExRate, float Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10437 
10438 		/**
10439 		 * Zバッファに対して画像の回転描画2( 回転中心指定付き )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10440 		 */
10441 		extern int DrawRotaGraphFast2ToZBuffer(int x, int y, int cx, int cy, float ExtRate, float Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10442 
10443 		/**
10444 		 * Zバッファに対して画像の回転描画3( 回転中心指定付き+縦横拡大率別指定版 )( 高速版、座標計算のアルゴリズムが簡略化されています、描画結果に不都合が無ければこちらの方が高速です )
10445 		 */
10446 		extern int DrawRotaGraphFast3ToZBuffer(int x, int y, int cx, int cy, float ExtRateX, float ExtRateY, float Angle, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10447 
10448 		/**
10449 		 * Zバッファに対して画像の自由変形描画
10450 		 */
10451 		extern int DrawModiGraphToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int GrHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10452 
10453 		/**
10454 		 * Zバッファに対して矩形の描画
10455 		 */
10456 		extern int DrawBoxToZBuffer(int x1, int y1, int x2, int y2, int FillFlag, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10457 
10458 		/**
10459 		 * Zバッファに対して円の描画
10460 		 */
10461 		extern int DrawCircleToZBuffer(int x, int y, int r, int FillFlag, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10462 
10463 		/**
10464 		 * Zバッファに対して三角形を描画する
10465 		 */
10466 		extern int DrawTriangleToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int FillFlag, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10467 
10468 		/**
10469 		 * Zバッファに対して四角形を描画する
10470 		 */
10471 		extern int DrawQuadrangleToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int FillFlag, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10472 
10473 		/**
10474 		 * Zバッファに対して角の丸い四角形を描画する
10475 		 */
10476 		extern int DrawRoundRectToZBuffer(int x1, int y1, int x2, int y2, int rx, int ry, int FillFlag, int WriteZMode /* DX_ZWRITE_MASK 等 */);
10477 
10478 		/**
10479 		 * 2Dポリゴンを描画する
10480 		 *
10481 		 * Params:
10482 		 *      Vertex = 三角形を形成する頂点配列の先頭アドレス( 頂点の数はポリゴンの数×3 )
10483 		 *      PolygonNum = 描画するポリゴンの数
10484 		 *      GrHandle = 使用するグラフィックハンドル
10485 		 *      TransFlag = 透過色処理を行うかどうか( TRUE:行う  FALSE:行わない )
10486 		 *      UVScaling = 基本FALSEでOK
10487 		 */
10488 		extern int DrawPolygon(const (.VERTEX)* VertexArray, int PolygonNum, int GrHandle, int TransFlag, int UVScaling = dxlib_d.dxdatatype.FALSE);
10489 
10490 		/**
10491 		 * 2Dポリゴンを描画する
10492 		 */
10493 		extern int DrawPolygon2D(const (.VERTEX2D)* VertexArray, int PolygonNum, int GrHandle, int TransFlag);
10494 
10495 		/**
10496 		 * 3Dポリゴンを描画する
10497 		 */
10498 		extern int DrawPolygon3D(const (.VERTEX3D)* VertexArray, int PolygonNum, int GrHandle, int TransFlag);
10499 
10500 		/**
10501 		 * 2Dポリゴンを描画する( 頂点インデックスを使用 )
10502 		 */
10503 		extern int DrawPolygonIndexed2D(const (.VERTEX2D)* VertexArray, int VertexNum, const (ushort)* IndexArray, int PolygonNum, int GrHandle, int TransFlag);
10504 
10505 		/**
10506 		 * 3Dポリゴンを描画する( 頂点インデックスを使用 )
10507 		 */
10508 		extern int DrawPolygonIndexed3D(const (.VERTEX3D)* VertexArray, int VertexNum, const (ushort)* IndexArray, int PolygonNum, int GrHandle, int TransFlag);
10509 
10510 		/**
10511 		 * 3Dポリゴンを描画する( 頂点インデックスを使用 )( 旧バージョン用 )
10512 		 */
10513 		extern int DrawPolygonIndexed3DBase(const (.VERTEX_3D)* VertexArray, int VertexNum, const (ushort)* IndexArray, int IndexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10514 
10515 		/**
10516 		 * 3Dポリゴンを描画する( 旧バージョン用 )
10517 		 */
10518 		extern int DrawPolygon3DBase(const (.VERTEX_3D)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10519 
10520 		/**
10521 		 * 3Dポリゴンを描画する( 旧バージョン用 )
10522 		 */
10523 		extern int DrawPolygon3D(const (.VERTEX_3D)* VertexArray, int PolygonNum, int GrHandle, int TransFlag);
10524 
10525 		/**
10526 		 * 2Dプリミティブを描画する
10527 		 */
10528 		extern int DrawPolygonBase(const (.VERTEX)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag, int UVScaling = dxlib_d.dxdatatype.FALSE);
10529 
10530 		/**
10531 		 * 2Dプリミティブを描画する
10532 		 */
10533 		extern int DrawPrimitive2D(const (.VERTEX2D)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10534 
10535 		/**
10536 		 * 3Dプリミティブを描画する
10537 		 */
10538 		extern int DrawPrimitive3D(const (.VERTEX3D)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10539 
10540 		/**
10541 		 * 2Dプリミティブを描画する(頂点インデックス使用)
10542 		 */
10543 		extern int DrawPrimitiveIndexed2D(const (.VERTEX2D)* VertexArray, int VertexNum, const (ushort)* IndexArray, int IndexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10544 
10545 		/**
10546 		 * 3Dプリミティブを描画する(頂点インデックス使用)
10547 		 */
10548 		extern int DrawPrimitiveIndexed3D(const (.VERTEX3D)* VertexArray, int VertexNum, const (ushort)* IndexArray, int IndexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10549 
10550 		/**
10551 		 * 頂点バッファを使用して3Dポリゴンを描画する
10552 		 */
10553 		extern int DrawPolygon3D_UseVertexBuffer(int VertexBufHandle, int GrHandle, int TransFlag);
10554 
10555 		/**
10556 		 * 頂点バッファを使用して3Dプリミティブを描画する
10557 		 */
10558 		extern int DrawPrimitive3D_UseVertexBuffer(int VertexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10559 
10560 		/**
10561 		 * 頂点バッファを使用して3Dプリミティブを描画する
10562 		 */
10563 		extern int DrawPrimitive3D_UseVertexBuffer2(int VertexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int StartVertex, int UseVertexNum, int GrHandle, int TransFlag);
10564 
10565 		/**
10566 		 * 頂点バッファとインデックスバッファを使用して3Dポリゴンを描画する
10567 		 */
10568 		extern int DrawPolygonIndexed3D_UseVertexBuffer(int VertexBufHandle, int IndexBufHandle, int GrHandle, int TransFlag);
10569 
10570 		/**
10571 		 * 頂点バッファとインデックスバッファを使用して3Dプリミティブを描画する
10572 		 */
10573 		extern int DrawPrimitiveIndexed3D_UseVertexBuffer(int VertexBufHandle, int IndexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int GrHandle, int TransFlag);
10574 
10575 		/**
10576 		 * 頂点バッファとインデックスバッファを使用して3Dプリミティブを描画する
10577 		 */
10578 		extern int DrawPrimitiveIndexed3D_UseVertexBuffer2(int VertexBufHandle, int IndexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int BaseVertex, int StartVertex, int UseVertexNum, int StartIndex, int UseIndexNum, int GrHandle, int TransFlag);
10579 
10580 		/**
10581 		 * 画像の3D描画
10582 		 */
10583 		extern int DrawGraph3D(float x, float y, float z, int GrHandle, int TransFlag);
10584 
10585 		/**
10586 		 * 画像の拡大3D描画
10587 		 */
10588 		extern int DrawExtendGraph3D(float x, float y, float z, double ExRateX, double ExRateY, int GrHandle, int TransFlag);
10589 
10590 		/**
10591 		 * 画像の回転3D描画
10592 		 */
10593 		extern int DrawRotaGraph3D(float x, float y, float z, double ExRate, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10594 
10595 		/**
10596 		 * 画像の回転3D描画(回転中心指定型)
10597 		 */
10598 		extern int DrawRota2Graph3D(float x, float y, float z, float cx, float cy, double ExtRateX, double ExtRateY, double Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10599 
10600 		/**
10601 		 * 画像の自由変形3D描画
10602 		 */
10603 		extern int DrawModiBillboard3D(.VECTOR Pos, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, int GrHandle, int TransFlag);
10604 
10605 		/**
10606 		 * 3D空間上に画像を描画
10607 		 */
10608 		extern int DrawBillboard3D(.VECTOR Pos, float cx, float cy, float Size, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
10609 
10610 		// 描画設定関係関数
10611 
10612 		/**
10613 		 * 描画モードを設定する
10614 		 */
10615 		extern int SetDrawMode(int DrawMode);
10616 
10617 		/**
10618 		 * 描画モードを取得する
10619 		 */
10620 		extern int GetDrawMode();
10621 
10622 		/**
10623 		 * 描画ブレンドモードを設定する
10624 		 */
10625 		extern int SetDrawBlendMode(int BlendMode, int BlendParam);
10626 
10627 		/**
10628 		 * 描画ブレンドモードを取得する
10629 		 */
10630 		extern int GetDrawBlendMode(int* BlendMode, int* BlendParam);
10631 
10632 		/**
10633 		 * 描画時のアルファテストの設定を行う( TestMode:テストモード( DX_CMP_GREATER等 -1でデフォルト動作に戻す )  TestParam:描画アルファ値との比較に使用する値( 0〜255 ) )
10634 		 *
10635 		 * Params:
10636 		 *      TestMode = ?
10637 		 *      TestParam = ?
10638 		 */
10639 		extern int SetDrawAlphaTest(int TestMode, int TestParam);
10640 
10641 		/**
10642 		 * 描画時のアルファテストの設定を取得する( TestMode:テストモード( DX_CMP_GREATER等 -1でデフォルト動作に戻す )  TestParam:描画アルファ値との比較に使用する値( 0〜255 ) )
10643 		 *
10644 		 * Params:
10645 		 *      TestMode = ?
10646 		 *      TestParam = ?
10647 		 */
10648 		extern int GetDrawAlphaTest(int* TestMode, int* TestParam);
10649 
10650 		/**
10651 		 * ( SetBlendGraphParam の BlendType = DX_BLENDGRAPHTYPE_WIPE の処理を行う旧関数 )描画処理時に描画する画像とブレンドするαチャンネル付き画像をセットする( BlendGraph を -1 でブレンド機能を無効 )
10652 		 */
10653 		extern int SetBlendGraph(int BlendGraph, int BorderParam, int BorderRange);
10654 
10655 		/**
10656 		 * 描画処理時に描画する画像とブレンドする画像のブレンド設定を行う、BlendGraph を -1 にすれば設定を解除、その場合 BlendType とその後ろのパラメータは無視される
10657 		 */
10658 		extern int SetBlendGraphParam(int BlendGraph, int BlendType, ...);
10659 
10660 		// int SetBlendGraphParam(int BlendGraph, int BlendType = DX_BLENDGRAPHTYPE_NORMAL, int Ratio = ( 0( ブレンド率0% )〜255( ブレンド率100% ) ));
10661 		// int SetBlendGraphParam(int BlendGraph, int BlendType = DX_BLENDGRAPHTYPE_WIPE, int BorderParam = 境界位置(0〜255), int BorderRange = 境界幅(指定できる値は1、64、128、255の4つ));
10662 		// int SetBlendGraphParam(int BlendGraph, int BlendType = DX_BLENDGRAPHTYPE_ALPHA);
10663 
10664 		/**
10665 		 * ブレンド画像の起点座標をセットする
10666 		 */
10667 		extern int SetBlendGraphPosition(int x, int y);
10668 
10669 		/**
10670 		 * ブレンド画像の適応座標モードを設定する
10671 		 */
10672 		extern int SetBlendGraphPositionMode(int BlendGraphPositionMode /* DX_BLENDGRAPH_POSMODE_DRAWGRAPH など */);
10673 
10674 		/**
10675 		 * 描画輝度を設定する
10676 		 */
10677 		extern int SetDrawBright(int RedBright, int GreenBright, int BlueBright);
10678 
10679 		/**
10680 		 * 描画輝度を取得する
10681 		 */
10682 		extern int GetDrawBright(int* Red, int* Green, int* Blue);
10683 
10684 		/**
10685 		 * 描画先のアルファチャンネルの内容を書き換えるかを設定する
10686 		 *
10687 		 * Params:
10688 		 *      Flag = FALSE:書き換えない  TRUE:書き換える( デフォルト )
10689 		 */
10690 		extern int SetWriteAlphaChannelFlag(int Flag);
10691 
10692 		/**
10693 		 * 描画先のアルファチャンネルの内容を書き換えるかを取得する
10694 		 *
10695 		 * Returns: FALSE:書き換えない  TRUE:書き換える( デフォルト )
10696 		 */
10697 		extern int GetWriteAlphaChannelFlag();
10698 
10699 		/**
10700 		 * 描画先のアルファチャンネルの内容を書き換えないことができるかどうかを取得する
10701 		 *
10702 		 * Returns: TRUE:書き換えないことができる  FALSE:書き換えないことができない
10703 		 */
10704 		extern int CheckSeparateAlphaBlendEnable();
10705 
10706 		/**
10707 		 * 描画する画像のRGB成分を無視するかどうかを指定する
10708 		 *
10709 		 * Params:
10710 		 *      EnableFlag = この機能を使うかどうか( TRUE:使う  FALSE:使わない( デフォルト ) )
10711 		 */
10712 		extern int SetIgnoreDrawGraphColor(int EnableFlag);
10713 
10714 		/**
10715 		 * 最大異方性値を設定する
10716 		 */
10717 		extern int SetMaxAnisotropy(int MaxAnisotropy);
10718 
10719 		/**
10720 		 * 最大異方性値を取得する
10721 		 */
10722 		extern int GetMaxAnisotropy();
10723 
10724 		/**
10725 		 * 3D処理で使用する座標値が 10000000.0f などの大きな値になっても描画の崩れを小さく抑える処理を使用するかどうかを設定する、DxLib_Init の呼び出し前でのみ使用可能
10726 		 *
10727 		 * Params:
10728 		 *      UseFlag = TRUE:描画の崩れを抑える処理を使用する( CPU負荷が上がります )  FALSE:描画の崩れを抑える処理は使用しない( デフォルト )
10729 		 */
10730 		extern int SetUseLarge3DPositionSupport(int UseFlag);
10731 
10732 		/**
10733 		 * Zバッファを使用するかどうかを設定する( 2Dと3D描画に影響 )
10734 		 *
10735 		 * Params:
10736 		 *      Flag = TRUE:Zバッファを使用する  FALSE:Zバッファを使用しない( デフォルト )
10737 		 */
10738 		extern int SetUseZBufferFlag(int Flag);
10739 
10740 		/**
10741 		 * Zバッファに書き込みを行うかどうかを設定する( 2Dと3D描画に影響 )
10742 		 *
10743 		 * Params:
10744 		 *      Flag = TRUE:書き込みを行う  FALSE:書き込みを行わない( デフォルト )
10745 		 */
10746 		extern int SetWriteZBufferFlag(int Flag);
10747 
10748 		/**
10749 		 * ZバッファのZ値と書き込むZ値との比較モードを設定する( 2Dと3D描画に影響 )
10750 		 *
10751 		 * Params:
10752 		 *      CmpType = DX_CMP_NEVER等( デフォルト:DX_CMP_LESSEQUAL )
10753 		 */
10754 		extern int SetZBufferCmpType(int CmpType /* DX_CMP_NEVER 等 */);
10755 
10756 		/**
10757 		 * 書き込むZ値のバイアスを設定する( 2Dと3D描画に影響 )( Bias:バイアス値( デフォルト:0 ) )
10758 		 *
10759 		 * Params:
10760 		 *      Bias = ?
10761 		 */
10762 		extern int SetZBias(int Bias);
10763 
10764 		/**
10765 		 * Zバッファを使用するかどうかを設定する( 3D描画のみに影響 )
10766 		 *
10767 		 * Params:
10768 		 *      Flag = TRUE:Zバッファを使用する  FALSE:Zバッファを使用しない( デフォルト )
10769 		 */
10770 		extern int SetUseZBuffer3D(int Flag);
10771 
10772 		/**
10773 		 * Zバッファに書き込みを行うかどうかを設定する( 3D描画のみに影響 )
10774 		 *
10775 		 * Params:
10776 		 *      Flag = TRUE:書き込みを行う  FALSE:書き込みを行わない( デフォルト )
10777 		 */
10778 		extern int SetWriteZBuffer3D(int Flag);
10779 
10780 		/**
10781 		 * ZバッファのZ値と書き込むZ値との比較モードを設定する( 3D描画のみに影響 )
10782 		 *
10783 		 * Params:
10784 		 *      CmpType = DX_CMP_NEVER等( デフォルト:DX_CMP_LESSEQUAL )
10785 		 */
10786 		extern int SetZBufferCmpType3D(int CmpType /* DX_CMP_NEVER 等 */);
10787 
10788 		/**
10789 		 * 書き込むZ値のバイアスを設定する( 3D描画のみに影響 )( Bias:バイアス値( デフォルト:0 ) )
10790 		 *
10791 		 * Params:
10792 		 *      Bias = ?
10793 		 */
10794 		extern int SetZBias3D(int Bias);
10795 
10796 		/**
10797 		 * 2D描画でZバッファに書き込むZ値を設定する( Z:書き込むZ値( デフォルト:0.2f ) )
10798 		 *
10799 		 * Params:
10800 		 *      Z = ?
10801 		 */
10802 		extern int SetDrawZ(float Z);
10803 
10804 		/**
10805 		 * 描画可能領域の設定する
10806 		 */
10807 		extern int SetDrawArea(int x1, int y1, int x2, int y2);
10808 
10809 		/**
10810 		 * 描画可能領域を取得する
10811 		 */
10812 		extern int GetDrawArea(dxlib_d.dxdatatype.RECT* Rect);
10813 
10814 		/**
10815 		 * 描画可能領域を描画対象画面全体にする
10816 		 */
10817 		extern int SetDrawAreaFull();
10818 
10819 		/**
10820 		 * 3D描画の拡大率を設定する
10821 		 */
10822 		extern int SetDraw3DScale(float Scale);
10823 
10824 		/**
10825 		 * SetRestoreGraphCallback の旧名
10826 		 */
10827 		extern int SetRestoreShredPoint(void function() ShredPoint);
10828 
10829 		/**
10830 		 * グラフィックハンドル復元関数を登録する
10831 		 */
10832 		extern int SetRestoreGraphCallback(void function() Callback);
10833 
10834 		/**
10835 		 * グラフィック復元関数を実行する
10836 		 */
10837 		extern int RunRestoreShred();
10838 
10839 		/**
10840 		 * グラフィックスデバイスがロストから復帰した際に呼ばれるコールバック関数を設定する
10841 		 */
10842 		extern int SetGraphicsDeviceRestoreCallbackFunction(void function(void* Data) Callback, void* CallbackData);
10843 
10844 		/**
10845 		 * グラフィックスデバイスがロストから復帰する前に呼ばれるコールバック関数を設定する
10846 		 */
10847 		extern int SetGraphicsDeviceLostCallbackFunction(void function(void* Data) Callback, void* CallbackData);
10848 
10849 		/**
10850 		 * 2D描画に使用される変換行列を設定する
10851 		 */
10852 		extern int SetTransformTo2D(const (.MATRIX)* Matrix);
10853 
10854 		/**
10855 		 * 2D描画に使用される変換行列を設定する
10856 		 */
10857 		extern int SetTransformTo2DD(const (.MATRIX_D)* Matrix);
10858 
10859 		/**
10860 		 * 2D描画用に使用する変換行列の設定を初期状態に戻す
10861 		 */
10862 		extern int ResetTransformTo2D();
10863 
10864 		/**
10865 		 * ローカル座標からワールド座標に変換するための行列を設定する
10866 		 */
10867 		extern int SetTransformToWorld(const (.MATRIX)* Matrix);
10868 
10869 		/**
10870 		 * ローカル座標からワールド座標に変換するための行列を設定する
10871 		 */
10872 		extern int SetTransformToWorldD(const (.MATRIX_D)* Matrix);
10873 
10874 		/**
10875 		 * ローカル座標からワールド座標に変換するための行列を取得する
10876 		 */
10877 		extern int GetTransformToWorldMatrix(.MATRIX* MatBuf);
10878 
10879 		/**
10880 		 * ローカル座標からワールド座標に変換するための行列を取得する
10881 		 */
10882 		extern int GetTransformToWorldMatrixD(.MATRIX_D* MatBuf);
10883 
10884 		/**
10885 		 * ワールド座標からビュー座標に変換するための行列を設定する
10886 		 */
10887 		extern int SetTransformToView(const (.MATRIX)* Matrix);
10888 
10889 		/**
10890 		 * ワールド座標からビュー座標に変換するための行列を設定する
10891 		 */
10892 		extern int SetTransformToViewD(const (.MATRIX_D)* Matrix);
10893 
10894 		/**
10895 		 * ワールド座標からビュー座標に変換するための行列を取得する
10896 		 */
10897 		extern int GetTransformToViewMatrix(.MATRIX* MatBuf);
10898 
10899 		/**
10900 		 * ワールド座標からビュー座標に変換するための行列を取得する
10901 		 */
10902 		extern int GetTransformToViewMatrixD(.MATRIX_D* MatBuf);
10903 
10904 		/**
10905 		 * ビュー座標からプロジェクション座標に変換するための行列を設定する
10906 		 */
10907 		extern int SetTransformToProjection(const (.MATRIX)* Matrix);
10908 
10909 		/**
10910 		 * ビュー座標からプロジェクション座標に変換するための行列を設定する
10911 		 */
10912 		extern int SetTransformToProjectionD(const (.MATRIX_D)* Matrix);
10913 
10914 		/**
10915 		 * ビュー座標からプロジェクション座標に変換するための行列を取得する
10916 		 */
10917 		extern int GetTransformToProjectionMatrix(.MATRIX* MatBuf);
10918 
10919 		/**
10920 		 * ビュー座標からプロジェクション座標に変換するための行列を取得する
10921 		 */
10922 		extern int GetTransformToProjectionMatrixD(.MATRIX_D* MatBuf);
10923 
10924 		/**
10925 		 * ビューポート行列を設定する
10926 		 */
10927 		extern int SetTransformToViewport(const (.MATRIX)* Matrix);
10928 
10929 		/**
10930 		 * ビューポート行列を設定する
10931 		 */
10932 		extern int SetTransformToViewportD(const (.MATRIX_D)* Matrix);
10933 
10934 		/**
10935 		 * ビューポート行列を取得する
10936 		 */
10937 		extern int GetTransformToViewportMatrix(.MATRIX* MatBuf);
10938 
10939 		/**
10940 		 * ビューポート行列を取得する
10941 		 */
10942 		extern int GetTransformToViewportMatrixD(.MATRIX_D* MatBuf);
10943 
10944 		/**
10945 		 * Direct3Dで自動適用されるビューポート行列を取得する
10946 		 */
10947 		extern int GetTransformToAPIViewportMatrix(.MATRIX* MatBuf);
10948 
10949 		/**
10950 		 * Direct3Dで自動適用されるビューポート行列を取得する
10951 		 */
10952 		extern int GetTransformToAPIViewportMatrixD(.MATRIX_D* MatBuf);
10953 
10954 		/**
10955 		 * デフォルトの変換行列を設定する
10956 		 */
10957 		extern int SetDefTransformMatrix();
10958 
10959 		/**
10960 		 * ローカル座標からスクリーン座標を取得する
10961 		 */
10962 		extern int GetTransformPosition(.VECTOR* LocalPos, float* x, float* y);
10963 
10964 		/**
10965 		 * ローカル座標からスクリーン座標を取得する
10966 		 */
10967 		extern int GetTransformPositionD(.VECTOR_D* LocalPos, double* x, double* y);
10968 
10969 		/**
10970 		 * ワールド空間上のビルボードのサイズからスクリーンに投影した場合のピクセル単位のサイズを取得する
10971 		 */
10972 		extern float GetBillboardPixelSize(.VECTOR WorldPos, float WorldSize);
10973 
10974 		/**
10975 		 * ワールド空間上のビルボードのサイズからスクリーンに投影した場合のピクセル単位のサイズを取得する
10976 		 */
10977 		extern double GetBillboardPixelSizeD(.VECTOR_D WorldPos, double WorldSize);
10978 
10979 		/**
10980 		 * ワールド座標をビュー座標に変換する
10981 		 */
10982 		extern .VECTOR ConvWorldPosToViewPos(.VECTOR WorldPos);
10983 
10984 		/**
10985 		 * ワールド座標をビュー座標に変換する
10986 		 */
10987 		extern .VECTOR_D ConvWorldPosToViewPosD(.VECTOR_D WorldPos);
10988 
10989 		/**
10990 		 * ワールド座標をスクリーン座標に変換する
10991 		 */
10992 		extern .VECTOR ConvWorldPosToScreenPos(.VECTOR WorldPos);
10993 
10994 		/**
10995 		 * ワールド座標をスクリーン座標に変換する
10996 		 */
10997 		extern .VECTOR_D ConvWorldPosToScreenPosD(.VECTOR_D WorldPos);
10998 
10999 		/**
11000 		 * ワールド座標をスクリーン座標に変換する、最後のXYZ座標をWで割る前の値を得る
11001 		 */
11002 		extern .FLOAT4 ConvWorldPosToScreenPosPlusW(.VECTOR WorldPos);
11003 
11004 		/**
11005 		 * ワールド座標をスクリーン座標に変換する、最後のXYZ座標をWで割る前の値を得る
11006 		 */
11007 		extern .DOUBLE4 ConvWorldPosToScreenPosPlusWD(.VECTOR_D WorldPos);
11008 
11009 		/**
11010 		 * スクリーン座標をワールド座標に変換する
11011 		 */
11012 		extern .VECTOR ConvScreenPosToWorldPos(.VECTOR ScreenPos);
11013 
11014 		/**
11015 		 * スクリーン座標をワールド座標に変換する
11016 		 */
11017 		extern .VECTOR_D ConvScreenPosToWorldPosD(.VECTOR_D ScreenPos);
11018 
11019 		/**
11020 		 * スクリーン座標をワールド座標に変換する( Z座標が線形 )
11021 		 */
11022 		extern .VECTOR ConvScreenPosToWorldPos_ZLinear(.VECTOR ScreenPos);
11023 
11024 		/**
11025 		 * スクリーン座標をワールド座標に変換する( Z座標が線形 )
11026 		 */
11027 		extern .VECTOR_D ConvScreenPosToWorldPos_ZLinearD(.VECTOR_D ScreenPos);
11028 
11029 		/**
11030 		 * SetUseBackCulling の旧名称
11031 		 */
11032 		extern int SetUseCullingFlag(int Flag);
11033 
11034 		/**
11035 		 * ポリゴンカリングモードを設定する
11036 		 */
11037 		extern int SetUseBackCulling(int Flag /* DX_CULLING_LEFT 等 */);
11038 
11039 		/**
11040 		 * ポリゴンカリングモードを取得する
11041 		 */
11042 		extern int GetUseBackCulling();
11043 
11044 		/**
11045 		 * テクスチャアドレスモードを設定する
11046 		 */
11047 		extern int SetTextureAddressMode(int Mode /* DX_TEXADDRESS_WRAP 等 */, int Stage = -1);
11048 
11049 		/**
11050 		 * テクスチャアドレスモードを設定する( U と V を別々に設定する )
11051 		 */
11052 		extern int SetTextureAddressModeUV(int ModeU, int ModeV, int Stage = -1);
11053 
11054 		/**
11055 		 * テクスチャ座標変換パラメータを設定する
11056 		 */
11057 		extern int SetTextureAddressTransform(float TransU, float TransV, float ScaleU, float ScaleV, float RotCenterU, float RotCenterV, float Rotate);
11058 
11059 		/**
11060 		 * テクスチャ座標変換行列を設定する
11061 		 */
11062 		extern int SetTextureAddressTransformMatrix(.MATRIX Matrix);
11063 
11064 		/**
11065 		 * テクスチャ座標変換設定をリセットする
11066 		 */
11067 		extern int ResetTextureAddressTransform();
11068 
11069 		/**
11070 		 * フォグを有効にするかどうかを設定する
11071 		 *
11072 		 * Params:
11073 		 *      Flag = TRUE:有効  FALSE:無効
11074 		 */
11075 		extern int SetFogEnable(int Flag);
11076 
11077 		/**
11078 		 * フォグが有効かどうかを取得する
11079 		 *
11080 		 * Returns: TRUE:有効  FALSE:無効
11081 		 */
11082 		extern int GetFogEnable();
11083 
11084 		/**
11085 		 * フォグモードを設定する
11086 		 */
11087 		extern int SetFogMode(int Mode /* DX_FOGMODE_NONE 等 */);
11088 
11089 		/**
11090 		 * フォグモードを取得する
11091 		 */
11092 		extern int GetFogMode();
11093 
11094 		/**
11095 		 * フォグカラーを設定する
11096 		 */
11097 		extern int SetFogColor(int r, int g, int b);
11098 
11099 		/**
11100 		 * フォグカラーを取得する
11101 		 */
11102 		extern int GetFogColor(int* r, int* g, int* b);
11103 
11104 		/**
11105 		 * フォグが始まる距離と終了する距離を設定する( 0.0f 〜 1.0f )
11106 		 */
11107 		extern int SetFogStartEnd(float start, float end);
11108 
11109 		/**
11110 		 * フォグが始まる距離と終了する距離を取得する( 0.0f 〜 1.0f )
11111 		 */
11112 		extern int GetFogStartEnd(float* start, float* end);
11113 
11114 		/**
11115 		 * フォグの密度を設定する( 0.0f 〜 1.0f )
11116 		 */
11117 		extern int SetFogDensity(float density);
11118 
11119 		/**
11120 		 * フォグの密度を取得する( 0.0f 〜 1.0f )
11121 		 */
11122 		extern float GetFogDensity();
11123 
11124 		// 画面関係関数
11125 
11126 		/**
11127 		 * 指定座標の色を取得する
11128 		 */
11129 		extern uint GetPixel(int x, int y);
11130 
11131 		/**
11132 		 * 指定座標の色を取得する( float型 )
11133 		 */
11134 		extern .COLOR_F GetPixelF(int x, int y);
11135 
11136 		/**
11137 		 * メインウインドウの背景色を設定する
11138 		 *
11139 		 * Params:
11140 		 *      Red= 0〜255
11141 		 *      Green = 0〜255
11142 		 *      Blue = 0〜255
11143 		 *      Alpha = 0〜255
11144 		 */
11145 		extern int SetBackgroundColor(int Red, int Green, int Blue, int Alpha = 0);
11146 
11147 		/**
11148 		 * メインウインドウの背景色を取得する
11149 		 *
11150 		 * Params:
11151 		 *      Red= 0〜255
11152 		 *      Green = 0〜255
11153 		 *      Blue = 0〜255
11154 		 *      Alpha = 0〜255
11155 		 */
11156 		extern int GetBackgroundColor(int* Red, int* Green, int* Blue, int* Alpha = null);
11157 
11158 		/**
11159 		 * 描画先の画面から指定領域の画像情報をグラフィックハンドルに転送する
11160 		 */
11161 		extern int GetDrawScreenGraph(int x1, int y1, int x2, int y2, int GrHandle, int UseClientFlag = dxlib_d.dxdatatype.TRUE);
11162 
11163 		/**
11164 		 * SetDrawScreen で描画対象にできるグラフィックハンドルから指定領域の画像情報を別のグラフィックハンドルに転送する
11165 		 */
11166 		extern int BltDrawValidGraph(int TargetDrawValidGrHandle, int x1, int y1, int x2, int y2, int DestX, int DestY, int DestGrHandle);
11167 
11168 		/**
11169 		 * 裏画面と表画面の内容を交換する
11170 		 */
11171 		extern int ScreenFlip();
11172 
11173 		/**
11174 		 * 裏画面の内容を表画面に転送する
11175 		 */
11176 		extern int ScreenCopy();
11177 
11178 		/**
11179 		 * 垂直同期信号を待つ
11180 		 */
11181 		extern int WaitVSync(int SyncNum);
11182 
11183 		/**
11184 		 * 画面をクリアする
11185 		 */
11186 		extern int ClearDrawScreen(const (dxlib_d.dxdatatype.RECT)* ClearRect = null);
11187 
11188 		/**
11189 		 * 画面のZバッファをクリアする
11190 		 */
11191 		extern int ClearDrawScreenZBuffer(const (dxlib_d.dxdatatype.RECT)* ClearRect = null);
11192 
11193 		/**
11194 		 * ClearDrawScreenの旧名称
11195 		 */
11196 		extern int ClsDrawScreen();
11197 
11198 		/**
11199 		 * 描画先画面を設定する( MakeScreen で作成したグラフィックハンドルも渡すことができます )
11200 		 */
11201 		extern int SetDrawScreen(int DrawScreen);
11202 
11203 		/**
11204 		 * 描画先画面を取得する
11205 		 */
11206 		extern int GetDrawScreen();
11207 
11208 		/**
11209 		 * GetDrawScreen の旧名称
11210 		 */
11211 		extern int GetActiveGraph();
11212 
11213 		/**
11214 		 * SetDrawScreen を実行した際にカメラや描画範囲の設定をリセットするかを設定する
11215 		 *
11216 		 * Params:
11217 		 *      UseFlag = TRUE:リセットする( デフォルト )  FALSE:リセットしない
11218 		 */
11219 		extern int SetUseSetDrawScreenSettingReset(int UseFlag);
11220 
11221 		/**
11222 		 * SetDrawScreen を実行した際にカメラや描画範囲の設定をリセットするかを取得する
11223 		 */
11224 		extern int GetUseSetDrawScreenSettingReset();
11225 
11226 		/**
11227 		 * 描画先Zバッファのセット( DrawScreen 付属のZバッファを描画先Zバッファにする、DrawScreen を -1 にするとデフォルトの描画先Zバッファに戻る )
11228 		 */
11229 		extern int SetDrawZBuffer(int DrawScreen);
11230 
11231 		/**
11232 		 * 画面モードを設定する
11233 		 */
11234 		extern int SetGraphMode(int ScreenSizeX, int ScreenSizeY, int ColorBitDepth, int RefreshRate = 60);
11235 
11236 		/**
11237 		 * 画面のメモリイメージをセットする( DxLib_Init の前で呼ぶ必要がある( DxLib_Init の前に一度でも呼んでいれば、DxLib_Init 後は Image のアドレスのみの変更目的で呼ぶことは可能 )、PixelFormat に DX_USER_SCREEN_PIXEL_FORMAT_R5G6B5 又は DX_USER_SCREEN_PIXEL_FORMAT_X8R8G8B8 の二つ以外を指定した場合はDXライブラリの描画関数は一切使用できなくなります )
11238 		 */
11239 		extern int SetUserScreenImage(void* Image, int PixelFormat /* DX_USER_SCREEN_PIXEL_FORMAT_R5G6B5 等 */);
11240 
11241 		/**
11242 		 * フルスクリーン解像度モードを設定する
11243 		 */
11244 		extern int SetFullScreenResolutionMode(int ResolutionMode /* DX_FSRESOLUTIONMODE_NATIVE 等 */);
11245 
11246 		/**
11247 		 * フルスクリーン解像度モードを取得する( UseResolutionMode は実際に使用されている解像度モード( 例えば DX_FSRESOLUTIONMODE_NATIVE を指定していてもモニタが指定の解像度に対応していない場合は UseResolutionMode が DX_FSRESOLUTIONMODE_DESKTOP や DX_FSRESOLUTIONMODE_MAXIMUM になります ) )
11248 		 */
11249 		extern int GetFullScreenResolutionMode(int* ResolutionMode, int* UseResolutionMode);
11250 
11251 		/**
11252 		 * フルスクリーンモード時の画面拡大モードを設定する
11253 		 */
11254 		extern int SetFullScreenScalingMode(int ScalingMode /* DX_FSSCALINGMODE_NEAREST 等 */, int FitScaling = dxlib_d.dxdatatype.FALSE);
11255 
11256 		/**
11257 		 * 640x480の画面で320x240の画面解像度にするかどうかを設定する、640x480以外の解像度では無効
11258 		 *
11259 		 * Params:
11260 		 *      Flag = TRUE:有効  FALSE:無効
11261 		 */
11262 		extern int SetEmulation320x240(int Flag);
11263 
11264 		/**
11265 		 * 画面用のZバッファのサイズを設定する
11266 		 */
11267 		extern int SetZBufferSize(int ZBufferSizeX, int ZBufferSizeY);
11268 
11269 		/**
11270 		 * 画面用のZバッファのビット深度を設定する( 16 or 24 or 32 )
11271 		 */
11272 		extern int SetZBufferBitDepth(int BitDepth);
11273 
11274 		/**
11275 		 * ScreenFlip 実行時にVSYNC待ちをするかどうかを設定する
11276 		 */
11277 		extern int SetWaitVSyncFlag(int Flag);
11278 
11279 		/**
11280 		 * ScreenFlip 実行時にVSYNC待ちをするかどうかを取得する
11281 		 */
11282 		extern int GetWaitVSyncFlag();
11283 
11284 		/**
11285 		 * 画面のフルスクリーンアンチエイリアスモードの設定を行う( DxLib_Init の前でのみ使用可能 )
11286 		 */
11287 		extern int SetFullSceneAntiAliasingMode(int Samples, int Quality);
11288 
11289 		/**
11290 		 * ScreenFlip 時に表画面全体に転送する裏画面の領域を設定する( DxLib_Init の前でのみ使用可能 )
11291 		 */
11292 		extern int SetGraphDisplayArea(int x1, int y1, int x2, int y2);
11293 
11294 		/**
11295 		 * 画面モード変更時( とウインドウモード変更時 )にグラフィックスシステムの設定やグラフィックハンドルをリセットするかどうかを設定する
11296 		 *
11297 		 * Params:
11298 		 *      Flag = TRUE:リセットする( デフォルト )  FALSE:リセットしない
11299 		 */
11300 		extern int SetChangeScreenModeGraphicsSystemResetFlag(int Flag);
11301 
11302 		/**
11303 		 * 現在の画面の解像度とカラービット数を得る
11304 		 */
11305 		extern int GetScreenState(int* SizeX, int* SizeY, int* ColorBitDepth);
11306 
11307 		/**
11308 		 * 描画先のサイズを取得する
11309 		 */
11310 		extern int GetDrawScreenSize(int* XBuf, int* YBuf);
11311 
11312 		/**
11313 		 * 画面のカラービット数を取得する
11314 		 */
11315 		extern int GetScreenBitDepth();
11316 
11317 		/**
11318 		 * GetScreenBitDepth の旧名称
11319 		 */
11320 		extern int GetColorBitDepth();
11321 
11322 		/**
11323 		 * 画面モードが変更されているかどうかを取得する
11324 		 */
11325 		extern int GetChangeDisplayFlag();
11326 
11327 		/**
11328 		 * ( 現在正常に動作しません )ビデオメモリの容量を得る
11329 		 */
11330 		extern int GetVideoMemorySize(int* AllSize, int* FreeSize);
11331 
11332 		/**
11333 		 * 現在の画面のリフレッシュレートを取得する
11334 		 */
11335 		extern int GetRefreshRate();
11336 
11337 		/**
11338 		 * ディスプレイの数を取得
11339 		 */
11340 		extern int GetDisplayNum();
11341 
11342 		/**
11343 		 * ディスプレイのデスクトップ上での矩形位置を取得する
11344 		 */
11345 		extern int GetDisplayInfo(int DisplayIndex, int* DesktopRectX, int* DesktopRectY, int* DesktopSizeX, int* DesktopSizeY, int* IsPrimary);
11346 
11347 		/**
11348 		 * 変更可能なディスプレイモードの数を取得する
11349 		 */
11350 		extern int GetDisplayModeNum(int DisplayIndex = 0);
11351 
11352 		/**
11353 		 * 変更可能なディスプレイモードの情報を取得する( ModeIndex は 0 〜 GetDisplayModeNum の戻り値-1 )
11354 		 */
11355 		extern .DISPLAYMODEDATA GetDisplayMode(int ModeIndex, int DisplayIndex = 0);
11356 
11357 		/**
11358 		 * ディスプレイの最大解像度を取得する
11359 		 */
11360 		extern int GetDisplayMaxResolution(int* SizeX, int* SizeY, int DisplayIndex = 0);
11361 
11362 		/**
11363 		 * ディスプレイのカラーデータアドレスを取得する
11364 		 */
11365 		extern const (.COLORDATA)* GetDispColorData();
11366 
11367 		/**
11368 		 * 同時に描画を行うことができる画面の数を取得する
11369 		 */
11370 		extern int GetMultiDrawScreenNum();
11371 
11372 		/**
11373 		 * DrawGraphF 等の浮動小数点値で座標を指定する関数における座標タイプを取得する
11374 		 *
11375 		 * Returns: DX_DRAWFLOATCOORDTYPE_DIRECT3D9 など
11376 		 */
11377 		extern int GetDrawFloatCoordType();
11378 
11379 		// その他設定関係関数
11380 
11381 		/**
11382 		 * 通常描画にプログラマブルシェーダーを使用するかどうかを設定する
11383 		 *
11384 		 * Params:
11385 		 *      Flag = TRUE:使用する( デフォルト )  FALSE:使用しない
11386 		 */
11387 		extern int SetUseNormalDrawShader(int Flag);
11388 
11389 		/**
11390 		 * ソフトウエアレンダリングモードを使用するかどうかを設定する( DxLib_Init の前に呼ぶ必要があります )
11391 		 *
11392 		 * Params:
11393 		 *      Flag = TRUE:使用する  FALSE:使用しない( デフォルト )
11394 		 */
11395 		extern int SetUseSoftwareRenderModeFlag(int Flag);
11396 
11397 		/**
11398 		 * ( 同効果のSetUseSoftwareRenderModeFlag を使用して下さい )3D機能を使わないかどうかを設定する
11399 		 */
11400 		extern int SetNotUse3DFlag(int Flag);
11401 
11402 		/**
11403 		 * ( 同効果のSetUseSoftwareRenderModeFlag を使用して下さい )3D機能を使うかどうかを設定する
11404 		 */
11405 		extern int SetUse3DFlag(int Flag);
11406 
11407 		/**
11408 		 * 描画に3D機能を使うかどうかを取得する
11409 		 */
11410 		extern int GetUse3DFlag();
11411 
11412 		/**
11413 		 * ( 同効果のSetUseSoftwareRenderModeFlag を使用して下さい )画面のピクセルデータをVRAMに置くかどうかを設定する
11414 		 */
11415 		extern int SetScreenMemToVramFlag(int Flag);
11416 
11417 		/**
11418 		 * 画面のピクセルデータがシステムメモリ上に存在するかを取得する
11419 		 */
11420 		extern int GetScreenMemToSystemMemFlag();
11421 
11422 		/**
11423 		 * 通常使用しない
11424 		 */
11425 		extern int SetWindowDrawRect(const (dxlib_d.dxdatatype.RECT)* DrawRect);
11426 
11427 		/**
11428 		 * DXライブラリのグラフィックス処理関連の復帰処理を行う
11429 		 */
11430 		extern int RestoreGraphSystem();
11431 
11432 		/**
11433 		 * ハードウエアの頂点演算処理機能を使用するかどうかを設定する( DxLib_Init の前に呼ぶ必要があります )
11434 		 *
11435 		 * Params:
11436 		 *      Flag = TRUE:使用する( デフォルト )  FALSE:使用しない
11437 		 */
11438 		extern int SetUseHardwareVertexProcessing(int Flag);
11439 
11440 		/**
11441 		 * ピクセル単位でライティングを行うかどうかを設定する、要 ShaderModel 3.0
11442 		 *
11443 		 * Params:
11444 		 *      Flag = TRUE:ピクセル単位のライティングを行う  FALSE:頂点単位のライティングを行う( デフォルト )
11445 		 */
11446 		extern int SetUsePixelLighting(int Flag);
11447 
11448 		/**
11449 		 * 古いバージョンの DrawModiGraph 関数のコードを使用するかどうかを設定する
11450 		 */
11451 		extern int SetUseOldDrawModiGraphCodeFlag(int Flag);
11452 
11453 		/**
11454 		 * ( 現在効果なし )VRAMを使用するかのフラグをセットする
11455 		 */
11456 		extern int SetUseVramFlag(int Flag);
11457 
11458 		/**
11459 		 * ( 現在効果なし )2Dグラフィックサーフェス作成時にシステムメモリーを使用するかのフラグ取得
11460 		 */
11461 		extern int GetUseVramFlag();
11462 
11463 		/**
11464 		 * ( 現在効果なし )簡略化ブレンド処理を行うか否かのフラグをセットする
11465 		 */
11466 		extern int SetBasicBlendFlag(int Flag);
11467 
11468 		/**
11469 		 * ( 現在効果なし )単純図形の描画に3Dデバイスの機能を使用するかどうかを設定する
11470 		 */
11471 		extern int SetUseBasicGraphDraw3DDeviceMethodFlag(int Flag);
11472 
11473 		/**
11474 		 * DXライブラリのウインドウを表示するディスプレイデバイスを設定する( -1 を指定するとマウスカーソルがあるディスプレイデバイスにDXライブラリのウインドウを表示する )
11475 		 */
11476 		extern int SetUseDisplayIndex(int Index);
11477 
11478 		/**
11479 		 * 頂点バッファに溜まった頂点データを描画する( 特殊用途 )
11480 		 */
11481 		extern int RenderVertex();
11482 
11483 		// 描画パフォーマンス関係関数
11484 
11485 		/**
11486 		 * 前々回の ScreenFlip 呼び出しから、前回の ScreenFlip 呼び出しまでの間に行われた描画コールの回数を取得する
11487 		 */
11488 		extern int GetDrawCallCount();
11489 
11490 		/**
11491 		 * フレームレート( 1秒間に呼ばれる ScreenFlip の回数 )を取得する
11492 		 */
11493 		extern float GetFPS();
11494 
11495 		version (DX_NON_SAVEFUNCTION) {
11496 		} else {
11497 			// 描画先画面保存関数
11498 			// Jpeg_Quality         = 0:低画質〜100:高画質
11499 			// Png_CompressionLevel = 0:無圧縮〜  9:最高圧縮
11500 
11501 			/**
11502 			 * 現在描画対象になっている画面をファイルで保存する
11503 			 */
11504 			extern int SaveDrawScreen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int SaveType = DX_IMAGESAVETYPE_BMP, int Jpeg_Quality = 80, int Jpeg_Sample2x1 = dxlib_d.dxdatatype.TRUE, int Png_CompressionLevel = -1);
11505 
11506 			/**
11507 			 * 現在描画対象になっている画面をファイルで保存する
11508 			 */
11509 			extern int SaveDrawScreenWithStrLen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int SaveType = DX_IMAGESAVETYPE_BMP, int Jpeg_Quality = 80, int Jpeg_Sample2x1 = dxlib_d.dxdatatype.TRUE, int Png_CompressionLevel = -1);
11510 
11511 			/**
11512 			 * 現在描画対象になっている画面をBMP形式で保存する
11513 			 */
11514 			extern int SaveDrawScreenToBMP(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName);
11515 
11516 			/**
11517 			 * 現在描画対象になっている画面をBMP形式で保存する
11518 			 */
11519 			extern int SaveDrawScreenToBMPWithStrLen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11520 
11521 			/**
11522 			 * 現在描画対象になっている画面をDDS形式で保存する
11523 			 */
11524 			extern int SaveDrawScreenToDDS(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName);
11525 
11526 			/**
11527 			 * 現在描画対象になっている画面をDDS形式で保存する
11528 			 */
11529 			extern int SaveDrawScreenToDDSWithStrLen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11530 
11531 			/**
11532 			 * 現在描画対象になっている画面をJPEG形式で保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
11533 			 */
11534 			extern int SaveDrawScreenToJPEG(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int Quality = 80, int Sample2x1 = dxlib_d.dxdatatype.TRUE);
11535 
11536 			/**
11537 			 * 現在描画対象になっている画面をJPEG形式で保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
11538 			 */
11539 			extern int SaveDrawScreenToJPEGWithStrLen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int Quality = 80, int Sample2x1 = dxlib_d.dxdatatype.TRUE);
11540 
11541 			/**
11542 			 * 現在描画対象になっている画面をPNG形式で保存する CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
11543 			 */
11544 			extern int SaveDrawScreenToPNG(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int CompressionLevel = -1);
11545 
11546 			/**
11547 			 * 現在描画対象になっている画面をPNG形式で保存する CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
11548 			 */
11549 			extern int SaveDrawScreenToPNGWithStrLen(int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int CompressionLevel = -1);
11550 
11551 			// 描画対象にできるグラフィックハンドル保存関数
11552 			// Jpeg_Quality         = 0:低画質〜100:高画質
11553 			// Png_CompressionLevel = 0:無圧縮〜  9:最高圧縮
11554 
11555 			/**
11556 			 * 描画対象にできるグラフィックハンドルをファイルで保存する
11557 			 */
11558 			extern int SaveDrawValidGraph(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int SaveType = DX_IMAGESAVETYPE_BMP, int Jpeg_Quality = 80, int Jpeg_Sample2x1 = dxlib_d.dxdatatype.TRUE, int Png_CompressionLevel = -1);
11559 
11560 			/**
11561 			 * 描画対象にできるグラフィックハンドルをファイルで保存する
11562 			 */
11563 			extern int SaveDrawValidGraphWithStrLen(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int SaveType = DX_IMAGESAVETYPE_BMP, int Jpeg_Quality = 80, int Jpeg_Sample2x1 = dxlib_d.dxdatatype.TRUE, int Png_CompressionLevel = -1);
11564 
11565 			/**
11566 			 * 描画対象にできるグラフィックハンドルをBMP形式で保存する
11567 			 */
11568 			extern int SaveDrawValidGraphToBMP(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName);
11569 
11570 			/**
11571 			 * 描画対象にできるグラフィックハンドルをBMP形式で保存する
11572 			 */
11573 			extern int SaveDrawValidGraphToBMPWithStrLen(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11574 
11575 			/**
11576 			 * 描画対象にできるグラフィックハンドルをDDS形式で保存する
11577 			 */
11578 			extern int SaveDrawValidGraphToDDS(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName);
11579 
11580 			/**
11581 			 * 描画対象にできるグラフィックハンドルをDDS形式で保存する
11582 			 */
11583 			extern int SaveDrawValidGraphToDDSWithStrLen(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11584 
11585 			/**
11586 			 * 描画対象にできるグラフィックハンドルをJPEG形式で保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
11587 			 */
11588 			extern int SaveDrawValidGraphToJPEG(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int Quality = 80, int Sample2x1 = dxlib_d.dxdatatype.TRUE);
11589 
11590 			/**
11591 			 * 描画対象にできるグラフィックハンドルをJPEG形式で保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
11592 			 */
11593 			extern int SaveDrawValidGraphToJPEGWithStrLen(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int Quality = 80, int Sample2x1 = dxlib_d.dxdatatype.TRUE);
11594 
11595 			/**
11596 			 * 描画対象にできるグラフィックハンドルをPNG形式で保存する CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
11597 			 */
11598 			extern int SaveDrawValidGraphToPNG(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, int CompressionLevel = -1);
11599 
11600 			/**
11601 			 * 描画対象にできるグラフィックハンドルをPNG形式で保存する CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
11602 			 */
11603 			extern int SaveDrawValidGraphToPNGWithStrLen(int GrHandle, int x1, int y1, int x2, int y2, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int CompressionLevel = -1);
11604 		}
11605 
11606 		// 頂点バッファ関係関数
11607 
11608 		/**
11609 		 * 頂点バッファを作成する
11610 		 *
11611 		 * Returns: -1:エラー  0以上:頂点バッファハンドル
11612 		 */
11613 		extern int CreateVertexBuffer(int VertexNum, int VertexType /* DX_VERTEX_TYPE_NORMAL_3D 等 */);
11614 
11615 		/**
11616 		 * 頂点バッファを削除する
11617 		 */
11618 		extern int DeleteVertexBuffer(int VertexBufHandle);
11619 
11620 		/**
11621 		 * すべての頂点バッファを削除する
11622 		 */
11623 		extern int InitVertexBuffer();
11624 
11625 		/**
11626 		 * 頂点バッファに頂点データを転送する
11627 		 */
11628 		extern int SetVertexBufferData(int SetIndex, const (void)* VertexArray, int VertexNum, int VertexBufHandle);
11629 
11630 		/**
11631 		 * 頂点バッファハンドルの頂点バッファのアドレスを取得する
11632 		 */
11633 		extern void* GetBufferVertexBuffer(int VertexBufHandle);
11634 
11635 		/**
11636 		 * 頂点バッファハンドルの頂点バッファへの変更を適用する( GetBufferVertexBuffer で取得したバッファへの変更を反映する )
11637 		 */
11638 		extern int UpdateVertexBuffer(int VertexBufHandle, int UpdateStartIndex, int UpdateVertexNum);
11639 
11640 		/**
11641 		 * インデックスバッファを作成する
11642 		 *
11643 		 * Returns: -1:エラー 0以上:インデックスバッファハンドル
11644 		 */
11645 		extern int CreateIndexBuffer(int IndexNum, int IndexType /* DX_INDEX_TYPE_16BIT 等 */);
11646 
11647 		/**
11648 		 * インデックスバッファを削除する
11649 		 */
11650 		extern int DeleteIndexBuffer(int IndexBufHandle);
11651 
11652 		/**
11653 		 * すべてのインデックスバッファを削除する
11654 		 */
11655 		extern int InitIndexBuffer();
11656 
11657 		/**
11658 		 * インデックスバッファにインデックスデータを転送する
11659 		 */
11660 		extern int SetIndexBufferData(int SetIndex, const (void)* IndexArray, int IndexNum, int IndexBufHandle);
11661 
11662 		/**
11663 		 * インデックスバッファハンドルのインデックスバッファのアドレスを取得する
11664 		 */
11665 		extern void* GetBufferIndexBuffer(int IndexBufHandle);
11666 
11667 		/**
11668 		 * インデックスバッファハンドルのインデックスバッファへの変更を適用する( GetBufferIndexBuffer で取得したバッファへの変更を反映する )
11669 		 */
11670 		extern int UpdateIndexBuffer(int IndexBufHandle, int UpdateStartIndex, int UpdateIndexNum);
11671 
11672 		/**
11673 		 * グラフィックスデバイスが対応している一度に描画できるプリミティブの最大数を取得する
11674 		 */
11675 		extern int GetMaxPrimitiveCount();
11676 
11677 		/**
11678 		 * グラフィックスデバイスが対応している一度に使用することのできる最大頂点数を取得する
11679 		 */
11680 		extern int GetMaxVertexIndex();
11681 
11682 		// シェーダー関係関数
11683 
11684 		/**
11685 		 * 使用できるシェーダーのバージョンを取得する( 0:使えない  200:シェーダーモデル2.0が使用可能  300:シェーダーモデル3.0が使用可能 )
11686 		 */
11687 		extern int GetValidShaderVersion();
11688 
11689 		/**
11690 		 * 頂点シェーダーバイナリをファイルから読み込み頂点シェーダーハンドルを作成する
11691 		 *
11692 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11693 		 */
11694 		extern int LoadVertexShader(const (dxlib_d.dxdatatype.TCHAR)* FileName);
11695 
11696 		/**
11697 		 * 頂点シェーダーバイナリをファイルから読み込み頂点シェーダーハンドルを作成する
11698 		 *
11699 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11700 		 */
11701 		extern int LoadVertexShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11702 
11703 		/**
11704 		 * ジオメトリシェーダーバイナリをファイルから読み込みジオメトリシェーダーハンドルを作成する
11705 		 *
11706 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11707 		 */
11708 		extern int LoadGeometryShader(const (dxlib_d.dxdatatype.TCHAR)* FileName);
11709 
11710 		/**
11711 		 * ジオメトリシェーダーバイナリをファイルから読み込みジオメトリシェーダーハンドルを作成する
11712 		 *
11713 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11714 		 */
11715 		extern int LoadGeometryShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11716 
11717 		/**
11718 		 * ピクセルシェーダーバイナリをファイルから読み込みピクセルシェーダーハンドルを作成する
11719 		 *
11720 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11721 		 */
11722 		extern int LoadPixelShader(const (dxlib_d.dxdatatype.TCHAR)* FileName);
11723 
11724 		/**
11725 		 * ピクセルシェーダーバイナリをファイルから読み込みピクセルシェーダーハンドルを作成する
11726 		 *
11727 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11728 		 */
11729 		extern int LoadPixelShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
11730 
11731 		/**
11732 		 * メモリに読み込まれた頂点シェーダーバイナリから頂点シェーダーハンドルを作成する
11733 		 *
11734 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11735 		 */
11736 		extern int LoadVertexShaderFromMem(const (void)* ImageAddress, int ImageSize);
11737 
11738 		/**
11739 		 * メモリに読み込まれたジオメトリシェーダーバイナリからジオメトリシェーダーハンドルを作成する
11740 		 *
11741 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11742 		 */
11743 		extern int LoadGeometryShaderFromMem(const (void)* ImageAddress, int ImageSize);
11744 
11745 		/**
11746 		 * メモリに読み込まれたピクセルシェーダーバイナリからピクセルシェーダーハンドルを作成する
11747 		 *
11748 		 * Returns: -1:エラー  -1以外:シェーダーハンドル
11749 		 */
11750 		extern int LoadPixelShaderFromMem(const (void)* ImageAddress, int ImageSize);
11751 
11752 		/**
11753 		 * シェーダーハンドルの削除( 頂点シェーダー・ピクセルシェーダー共通 )
11754 		 */
11755 		extern int DeleteShader(int ShaderHandle);
11756 
11757 		/**
11758 		 * シェーダーハンドルを全て削除する( 頂点シェーダーハンドル・ピクセルシェーダーハンドルどちらもすべて削除 )
11759 		 */
11760 		extern int InitShader();
11761 
11762 		/**
11763 		 * 指定の名前を持つ定数が使用するシェーダー定数の番号を取得する
11764 		 */
11765 		extern int GetConstIndexToShader(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, int ShaderHandle);
11766 
11767 		/**
11768 		 * 指定の名前を持つ定数が使用するシェーダー定数の番号を取得する
11769 		 */
11770 		extern int GetConstIndexToShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, size_t ConstantNameLength, int ShaderHandle);
11771 
11772 		/**
11773 		 * 指定の名前を持つ定数が使用するシェーダー定数の数を取得する
11774 		 */
11775 		extern int GetConstCountToShader(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, int ShaderHandle);
11776 
11777 		/**
11778 		 * 指定の名前を持つ定数が使用するシェーダー定数の数を取得する
11779 		 */
11780 		extern int GetConstCountToShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, size_t ConstantNameLength, int ShaderHandle);
11781 
11782 		/**
11783 		 * 指定の名前を持つ浮動小数点数定数のデフォルトパラメータが格納されているメモリアドレスを取得する
11784 		 */
11785 		extern const (.FLOAT4)* GetConstDefaultParamFToShader(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, int ShaderHandle);
11786 
11787 		/**
11788 		 * 指定の名前を持つ浮動小数点数定数のデフォルトパラメータが格納されているメモリアドレスを取得する
11789 		 */
11790 		extern const (.FLOAT4)* GetConstDefaultParamFToShaderWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* ConstantName, size_t ConstantNameLength, int ShaderHandle);
11791 
11792 		/**
11793 		 * 頂点シェーダーの float 型定数を設定する
11794 		 */
11795 		extern int SetVSConstSF(int ConstantIndex, float Param);
11796 
11797 		/**
11798 		 * 頂点シェーダーの float 型定数を設定する
11799 		 */
11800 		extern int SetVSConstF(int ConstantIndex, .FLOAT4 Param);
11801 
11802 		/**
11803 		 * 頂点シェーダーの float 型定数に行列を設定する
11804 		 */
11805 		extern int SetVSConstFMtx(int ConstantIndex, .MATRIX Param);
11806 
11807 		/**
11808 		 * 頂点シェーダーの float 型定数に転置した行列を設定する
11809 		 */
11810 		extern int SetVSConstFMtxT(int ConstantIndex, .MATRIX Param);
11811 
11812 		/**
11813 		 * 頂点シェーダーの int   型定数を設定する
11814 		 */
11815 		extern int SetVSConstSI(int ConstantIndex, int Param);
11816 
11817 		/**
11818 		 * 頂点シェーダーの int   型定数を設定する
11819 		 */
11820 		extern int SetVSConstI(int ConstantIndex, .INT4 Param);
11821 
11822 		/**
11823 		 * 頂点シェーダーの BOOL  型定数を設定する
11824 		 */
11825 		extern int SetVSConstB(int ConstantIndex, dxlib_d.dxdatatype.BOOL Param);
11826 
11827 		/**
11828 		 * 頂点シェーダーの float 型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11829 		 */
11830 		extern int SetVSConstSFArray(int ConstantIndex, const (float)* ParamArray, int ParamNum);
11831 
11832 		/**
11833 		 * 頂点シェーダーの float 型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11834 		 */
11835 		extern int SetVSConstFArray(int ConstantIndex, const (.FLOAT4)* ParamArray, int ParamNum);
11836 
11837 		/**
11838 		 * 頂点シェーダーの float 型定数に行列を設定する( 配列を使って連番インデックスに一度に設定 )
11839 		 */
11840 		extern int SetVSConstFMtxArray(int ConstantIndex, const (.MATRIX)* ParamArray, int ParamNum);
11841 
11842 		/**
11843 		 * 頂点シェーダーの float 型定数に転置した行列を設定する( 配列を使って連番インデックスに一度に設定 )
11844 		 */
11845 		extern int SetVSConstFMtxTArray(int ConstantIndex, const (.MATRIX)* ParamArray, int ParamNum);
11846 
11847 		/**
11848 		 * 頂点シェーダーの int   型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11849 		 */
11850 		extern int SetVSConstSIArray(int ConstantIndex, const (int)* ParamArray, int ParamNum);
11851 
11852 		/**
11853 		 * 頂点シェーダーの int   型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11854 		 */
11855 		extern int SetVSConstIArray(int ConstantIndex, const (.INT4)* ParamArray, int ParamNum);
11856 
11857 		/**
11858 		 * 頂点シェーダーの BOOL  型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11859 		 */
11860 		extern int SetVSConstBArray(int ConstantIndex, const (dxlib_d.dxdatatype.BOOL)* ParamArray, int ParamNum);
11861 
11862 		/**
11863 		 * 頂点シェーダーの float 型定数の設定をリセットする
11864 		 */
11865 		extern int ResetVSConstF(int ConstantIndex, int ParamNum);
11866 
11867 		/**
11868 		 * 頂点シェーダーの int   型定数の設定をリセットする
11869 		 */
11870 		extern int ResetVSConstI(int ConstantIndex, int ParamNum);
11871 
11872 		/**
11873 		 * 頂点シェーダーの BOOL  型定数の設定をリセットする
11874 		 */
11875 		extern int ResetVSConstB(int ConstantIndex, int ParamNum);
11876 
11877 		/**
11878 		 * ピクセルシェーダーの float 型定数を設定する
11879 		 */
11880 		extern int SetPSConstSF(int ConstantIndex, float Param);
11881 
11882 		/**
11883 		 * ピクセルシェーダーの float 型定数を設定する
11884 		 */
11885 		extern int SetPSConstF(int ConstantIndex, .FLOAT4 Param);
11886 
11887 		/**
11888 		 * ピクセルシェーダーの float 型定数に行列を設定する
11889 		 */
11890 		extern int SetPSConstFMtx(int ConstantIndex, .MATRIX Param);
11891 
11892 		/**
11893 		 * ピクセルシェーダーの float 型定数に転置した行列を設定する
11894 		 */
11895 		extern int SetPSConstFMtxT(int ConstantIndex, .MATRIX Param);
11896 
11897 		/**
11898 		 * ピクセルシェーダーの int   型定数を設定する
11899 		 */
11900 		extern int SetPSConstSI(int ConstantIndex, int Param);
11901 
11902 		/**
11903 		 * ピクセルシェーダーの int   型定数を設定する
11904 		 */
11905 		extern int SetPSConstI(int ConstantIndex, .INT4 Param);
11906 
11907 		/**
11908 		 * ピクセルシェーダーの BOOL  型定数を設定する
11909 		 */
11910 		extern int SetPSConstB(int ConstantIndex, dxlib_d.dxdatatype.BOOL Param);
11911 
11912 		/**
11913 		 * ピクセルシェーダーの float 型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11914 		 */
11915 		extern int SetPSConstSFArray(int ConstantIndex, const (float)* ParamArray, int ParamNum);
11916 
11917 		/**
11918 		 * ピクセルシェーダーの float 型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11919 		 */
11920 		extern int SetPSConstFArray(int ConstantIndex, const (.FLOAT4)* ParamArray, int ParamNum);
11921 
11922 		/**
11923 		 * ピクセルシェーダーの float 型定数に行列を設定する( 配列を使って連番インデックスに一度に設定 )
11924 		 */
11925 		extern int SetPSConstFMtxArray(int ConstantIndex, const (.MATRIX)* ParamArray, int ParamNum);
11926 
11927 		/**
11928 		 * ピクセルシェーダーの float 型定数に転置した行列を設定する( 配列を使って連番インデックスに一度に設定 )
11929 		 */
11930 		extern int SetPSConstFMtxTArray(int ConstantIndex, const (.MATRIX)* ParamArray, int ParamNum);
11931 
11932 		/**
11933 		 * ピクセルシェーダーの int   型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11934 		 */
11935 		extern int SetPSConstSIArray(int ConstantIndex, const (int)* ParamArray, int ParamNum);
11936 
11937 		/**
11938 		 * ピクセルシェーダーの int   型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11939 		 */
11940 		extern int SetPSConstIArray(int ConstantIndex, const (.INT4)* ParamArray, int ParamNum);
11941 
11942 		/**
11943 		 * ピクセルシェーダーの BOOL  型定数を設定する( 配列を使って連番インデックスに一度に設定 )
11944 		 */
11945 		extern int SetPSConstBArray(int ConstantIndex, const (dxlib_d.dxdatatype.BOOL)* ParamArray, int ParamNum);
11946 
11947 		/**
11948 		 * ピクセルシェーダーの float 型定数の設定をリセットする
11949 		 */
11950 		extern int ResetPSConstF(int ConstantIndex, int ParamNum);
11951 
11952 		/**
11953 		 * ピクセルシェーダーの int   型定数の設定をリセットする
11954 		 */
11955 		extern int ResetPSConstI(int ConstantIndex, int ParamNum);
11956 
11957 		/**
11958 		 * ピクセルシェーダーの BOOL  型定数の設定をリセットする
11959 		 */
11960 		extern int ResetPSConstB(int ConstantIndex, int ParamNum);
11961 
11962 		/**
11963 		 * シェーダーを使用した描画での描画先を設定する( DrawScreen に -1 を渡すと無効化 )
11964 		 */
11965 		extern int SetRenderTargetToShader(int TargetIndex, int DrawScreen, int SurfaceIndex = 0, int MipLevel = 0);
11966 
11967 		/**
11968 		 * シェーダーを使用した描画で使用するグラフィックハンドルを設定する
11969 		 */
11970 		extern int SetUseTextureToShader(int StageIndex, int GraphHandle);
11971 
11972 		/**
11973 		 * シェーダーを使用した描画に使用する頂点シェーダーを設定する( -1を渡すと解除 )
11974 		 */
11975 		extern int SetUseVertexShader(int ShaderHandle);
11976 
11977 		/**
11978 		 * シェーダーを使用した描画に使用するジオメトリシェーダーを設定する( -1を渡すと解除 )
11979 		 */
11980 		extern int SetUseGeometryShader(int ShaderHandle);
11981 
11982 		/**
11983 		 * シェーダーを使用した描画に使用するピクセルシェーダーを設定する( -1を渡すと解除 )
11984 		 */
11985 		extern int SetUsePixelShader(int ShaderHandle);
11986 
11987 		/**
11988 		 * ポリゴンの頂点の接線と従法線をUV座標から計算してセットする
11989 		 */
11990 		extern int CalcPolygonBinormalAndTangentsToShader(.VERTEX3DSHADER* VertexArray, int PolygonNum);
11991 
11992 		/**
11993 		 * ポリゴンの頂点の接線と従法線をUV座標から計算してセットする( 頂点インデックスを使用する )
11994 		 */
11995 		extern int CalcPolygonIndexedBinormalAndTangentsToShader(.VERTEX3DSHADER* VertexArray, int VertexNum, const (ushort)* IndexArray, int PolygonNum);
11996 
11997 		/**
11998 		 * シェーダーを使ってビルボードを描画する
11999 		 */
12000 		extern int DrawBillboard3DToShader(.VECTOR Pos, float cx, float cy, float Size, float Angle, int GrHandle, int TransFlag, int ReverseXFlag = dxlib_d.dxdatatype.FALSE, int ReverseYFlag = dxlib_d.dxdatatype.FALSE);
12001 
12002 		/**
12003 		 * シェーダーを使って2Dポリゴンを描画する
12004 		 */
12005 		extern int DrawPolygon2DToShader(const (.VERTEX2DSHADER)* VertexArray, int PolygonNum);
12006 
12007 		/**
12008 		 * シェーダーを使って3Dポリゴンを描画する
12009 		 */
12010 		extern int DrawPolygon3DToShader(const (.VERTEX3DSHADER)* VertexArray, int PolygonNum);
12011 
12012 		/**
12013 		 * シェーダーを使って2Dポリゴンを描画する( 頂点インデックスを使用する )
12014 		 */
12015 		extern int DrawPolygonIndexed2DToShader(const (.VERTEX2DSHADER)* VertexArray, int VertexNum, const (ushort)* IndexArray, int PolygonNum);
12016 
12017 		/**
12018 		 * シェーダーを使って3Dポリゴンを描画する( 頂点インデックスを使用する )
12019 		 */
12020 		extern int DrawPolygonIndexed3DToShader(const (.VERTEX3DSHADER)* VertexArray, int VertexNum, const (ushort)* IndexArray, int PolygonNum);
12021 
12022 		/**
12023 		 * シェーダーを使って2Dプリミティブを描画する
12024 		 */
12025 		extern int DrawPrimitive2DToShader(const (.VERTEX2DSHADER)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12026 
12027 		/**
12028 		 * シェーダーを使って3Dプリミティブを描画する
12029 		 */
12030 		extern int DrawPrimitive3DToShader(const (.VERTEX3DSHADER)* VertexArray, int VertexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12031 
12032 		/**
12033 		 * シェーダーを使って2Dプリミティブを描画する( 頂点インデックスを使用する )
12034 		 */
12035 		extern int DrawPrimitiveIndexed2DToShader(const (.VERTEX2DSHADER)* VertexArray, int VertexNum, const (ushort)* IndexArray, int IndexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12036 
12037 		/**
12038 		 * シェーダーを使って3Dプリミティブを描画する( 頂点インデックスを使用する )
12039 		 */
12040 		extern int DrawPrimitiveIndexed3DToShader(const (.VERTEX3DSHADER)* VertexArray, int VertexNum, const (ushort)* IndexArray, int IndexNum, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12041 
12042 		/**
12043 		 * シェーダーを使って3Dポリゴンを描画する( 頂点バッファ使用版 )
12044 		 */
12045 		extern int DrawPolygon3DToShader_UseVertexBuffer(int VertexBufHandle);
12046 
12047 		/**
12048 		 * シェーダーを使って3Dポリゴンを描画する( 頂点バッファとインデックスバッファ使用版 )
12049 		 */
12050 		extern int DrawPolygonIndexed3DToShader_UseVertexBuffer(int VertexBufHandle, int IndexBufHandle);
12051 
12052 		/**
12053 		 * シェーダーを使って3Dプリミティブを描画する( 頂点バッファ使用版 )
12054 		 */
12055 		extern int DrawPrimitive3DToShader_UseVertexBuffer(int VertexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12056 
12057 		/**
12058 		 * シェーダーを使って3Dプリミティブを描画する( 頂点バッファ使用版 )
12059 		 */
12060 		extern int DrawPrimitive3DToShader_UseVertexBuffer2(int VertexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int StartVertex, int UseVertexNum);
12061 
12062 		/**
12063 		 * シェーダーを使って3Dプリミティブを描画する( 頂点バッファとインデックスバッファ使用版 )
12064 		 */
12065 		extern int DrawPrimitiveIndexed3DToShader_UseVertexBuffer(int VertexBufHandle, int IndexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */);
12066 
12067 		/**
12068 		 * シェーダーを使って3Dプリミティブを描画する( 頂点バッファとインデックスバッファ使用版 )
12069 		 */
12070 		extern int DrawPrimitiveIndexed3DToShader_UseVertexBuffer2(int VertexBufHandle, int IndexBufHandle, int PrimitiveType /* DX_PRIMTYPE_TRIANGLELIST 等 */, int BaseVertex, int StartVertex, int UseVertexNum, int StartIndex, int UseIndexNum);
12071 
12072 		// シェーダー用定数バッファ関係関数
12073 
12074 		/**
12075 		 * 全てのシェーダー用定数バッファハンドルを削除する
12076 		 */
12077 		extern int InitShaderConstantBuffer();
12078 
12079 		/**
12080 		 * シェーダー用定数バッファハンドルを初期化する
12081 		 */
12082 		extern int CreateShaderConstantBuffer(int BufferSize);
12083 
12084 		/**
12085 		 * シェーダー用定数バッファハンドルを削除する
12086 		 */
12087 		extern int DeleteShaderConstantBuffer(int SConstBufHandle);
12088 
12089 		/**
12090 		 * シェーダー用定数バッファハンドルの定数バッファのアドレスを取得する
12091 		 */
12092 		extern void* GetBufferShaderConstantBuffer(int SConstBufHandle);
12093 
12094 		/**
12095 		 * シェーダー用定数バッファハンドルの定数バッファへの変更を適用する
12096 		 */
12097 		extern int UpdateShaderConstantBuffer(int SConstBufHandle);
12098 
12099 		/**
12100 		 * シェーダー用定数バッファハンドルの定数バッファを指定のシェーダーの指定のスロットにセットする
12101 		 */
12102 		extern int SetShaderConstantBuffer(int SConstBufHandle, int TargetShader /* DX_SHADERTYPE_VERTEX など */, int Slot);
12103 
12104 		// フィルター関係関数
12105 		version (DX_NON_FILTER) {
12106 		} else {
12107 			/**
12108 			 * GraphFilterBlt や GraphBlendBlt の結果を転送先に転送する際のブレンドモードを設定する( 現状で対応しているのは DX_BLENDMODE_NOBLEND と DX_BLENDMODE_ALPHA のみ )
12109 			 */
12110 			extern int SetGraphFilterBltBlendMode(int BlendMode /* DX_BLENDMODE_ALPHA など */);
12111 
12112 			/**
12113 			 * 画像にフィルター処理を行う
12114 			 */
12115 			extern int GraphFilter(int GrHandle, int FilterType /* DX_GRAPH_FILTER_GAUSS 等 */, ...);
12116 
12117 			/**
12118 			 * 画像のフィルター付き転送を行う
12119 			 */
12120 			extern int GraphFilterBlt(int SrcGrHandle, int DestGrHandle, int FilterType /* DX_GRAPH_FILTER_GAUSS 等 */, ...);
12121 
12122 			/**
12123 			 * 画像のフィルター付き転送を行う( 矩形指定 )
12124 			 */
12125 			extern int GraphFilterRectBlt(int SrcGrHandle, int DestGrHandle, int SrcX1, int SrcY1, int SrcX2, int SrcY2, int DestX, int DestY, int FilterType /* DX_GRAPH_FILTER_GAUSS 等 */, ...);
12126 
12127 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_MONO, int Cb = 青色差( -255 〜 255 ), int Cr = 赤色差( -255 〜 255 ));
12128 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_GAUSS, int PixelWidth = 使用ピクセル幅( 8 , 16 , 32 の何れか ), int Param = ぼかしパラメータ( 100 で約1ピクセル分の幅 ));
12129 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_DOWN_SCALE, int DivNum = 元のサイズの何分の1か、という値( 2 , 4 , 8 の何れか ));
12130 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_BRIGHT_CLIP, int CmpType = クリップタイプ( DX_CMP_LESS:CmpParam以下をクリップ  又は  DX_CMP_GREATER:CmpParam以上をクリップ ), int CmpParam = クリップパラメータ( 0 〜 255 ), int ClipFillFlag = クリップしたピクセルを塗りつぶすかどうか( TRUE:塗りつぶす  FALSE:塗りつぶさない ), uint ClipFillColor = クリップしたピクセルに塗る色値( GetColor で取得する )( ClipFillFlag が FALSE の場合は使用しない ), int ClipFillAlpha = クリップしたピクセルに塗るα値( 0 〜 255 )( ClipFillFlag が FALSE の場合は使用しない ));
12131 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_BRIGHT_SCALE, int MinBright = 変換後に真っ暗になる明るさ( 0 〜 255 ), int MaxBright = 変換後に真っ白になる明るさ( 0 〜 255 ));
12132 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_HSB, int HueType = Hue の意味( 0:相対値  1:絶対値 ), int Hue = 色相パラメータ( HueType が 0 の場合 = ピクセルの色相に対する相対値( -180 〜 180 )   HueType が 1 の場合 = 色相の絶対値( 0 〜 360 ) ), int Saturation = 彩度( -255 〜 ), int Bright = 輝度( -255 〜 255 ));
12133 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_INVERT);
12134 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_LEVEL, int Min = 変換元の下限値( 0 〜 255 ), int Max = 変換元の上限値( 0 〜 255 ), int Gamma = ガンマ値( 100 でガンマ補正無し、0 とそれ以下の値は不可 ), int AfterMin = 変換後の最低値( 0 〜 255 ), int AfterMax = 変換後の最大値( 0 〜 255 ));
12135 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_TWO_COLOR, int Threshold = 閾値( 0 〜 255 ), uint LowColor = 閾値より値が低かったピクセルの変換後の色値( GetColor で取得する ), int LowAlpha = 閾値より値が低かったピクセルの変換後のα値( 0 〜 255 ), uint HighColor = 閾値より値が高かったピクセルの変換後の色値( GetColor で取得する ), int HighAlpha = 閾値より値が高かったピクセルの変換後のα値( 0 〜 255 ));
12136 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_GRADIENT_MAP, int MapGrHandle = グラデーションマップのグラフィックハンドル( 元画像の輝度からグラデーションマップ画像の x 座標を算出しますので縦幅は1dotでもOK ), int Reverse = グラデーションマップ左右反転フラグ( TRUE:グラデーションマップを左右反転して使う  FALSE:左右反転しない ));
12137 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_REPLACEMENT, int TargetR, int TargetG, int TargetB, int TargetA = 置換対象の色( 0~255 ), int R, int G, int B, int A = 置換後の色( 0~255 ));
12138 
12139 			/*
12140 			 * 通常のアルファチャンネル付き画像を乗算済みアルファ画像に変換するフィルタ
12141 			 */
12142 			// int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_PREMUL_ALPHA);
12143 
12144 			/*
12145 			 * 乗算済みα画像を通常のアルファチャンネル付き画像に変換するフィルタ
12146 			 */
12147 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_INTERP_ALPHA);
12148 
12149 			/*
12150 			 * YUVカラーをRGBカラーに変換するフィルタ
12151 			 */
12152 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_YUV_TO_RGB);
12153 
12154 			/*
12155 			 * YUVカラーをRGBカラーに変換するフィルタ( UV成分が Y成分の半分・又は4分の1( 横・縦片方若しくは両方 )の解像度しかない場合用 )
12156 			 */
12157 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_Y2UV1_TO_RGB, int UVGrHandle = YUVカラーのUV成分のみで、且つYに対して解像度が半分( 若しくは 4 分の 1 )のグラフィックハンドル( U=R, V=G ));
12158 
12159 			/*
12160 			 * YUVカラーをRGBカラーに変換するフィルタ( 且つ右側半分のRの値をアルファ値として扱う )
12161 			 */
12162 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_YUV_TO_RGB_RRA);
12163 
12164 			/*
12165 			 * YUVカラーをRGBカラーに変換するフィルタ( UV成分が Y成分の半分・又は4分の1( 横・縦片方若しくは両方 )の解像度しかない場合用 )( 且つ右側半分のRの値をアルファ値として扱う )
12166 			 */
12167 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_Y2UV1_TO_RGB_RRA, int UVGrHandle = YUVカラーのUV成分のみで、且つYに対して解像度が半分( 若しくは 4 分の 1 )のグラフィックハンドル( U=R, V=G ));
12168 
12169 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_BICUBIC_SCALE, int DestSizeX = スケーリング後の横ピクセル数, int DestSizeY = スケーリング後の縦ピクセル数);
12170 			//int GraphFilter(int GrHandle, int FilterType = DX_GRAPH_FILTER_LANCZOS3_SCALE, int DestSizeX = スケーリング後の横ピクセル数, int DestSizeY = スケーリング後の縦ピクセル数);
12171 
12172 			/**
12173 			 * 二つの画像をブレンドする
12174 			 */
12175 			extern int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio /* ブレンド効果の影響度( 0:0%  255:100% ) */, int BlendType /* DX_GRAPH_BLEND_ADD 等 */, ...);
12176 
12177 			/**
12178 			 * 二つの画像をブレンドして結果を指定の画像に出力する
12179 			 */
12180 			extern int GraphBlendBlt(int SrcGrHandle, int BlendGrHandle, int DestGrHandle, int BlendRatio /* ブレンド効果の影響度( 0:0%  255:100% ) */, int BlendType /* DX_GRAPH_BLEND_ADD 等 */, ...);
12181 
12182 			/**
12183 			 * 二つの画像をブレンドして結果を指定の画像に出力する( 矩形指定 )
12184 			 */
12185 			extern int GraphBlendRectBlt(int SrcGrHandle, int BlendGrHandle, int DestGrHandle, int SrcX1, int SrcY1, int SrcX2, int SrcY2, int BlendX, int BlendY, int DestX, int DestY, int BlendRatio /* ブレンド効果の影響度( 0:0%  255:100% ) */, int BlendType /* DX_GRAPH_BLEND_ADD 等 */, ...);
12186 
12187 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_NORMAL);
12188 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_RGBA_SELECT_MIX, int SelectR = ( 出力の赤分となる成分 DX_RGBA_SELECT_SRC_R 等 ), int SelectG = ( 出力の緑成分となる成分 DX_RGBA_SELECT_SRC_R 等 ), int SelectB = ( 出力の青成分となる成分 DX_RGBA_SELECT_SRC_R 等 ), int SelectA = ( 出力のα成分となる成分 DX_RGBA_SELECT_SRC_R 等 ));
12189 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_MULTIPLE);
12190 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_DIFFERENCE);
12191 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_ADD);
12192 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_SCREEN);
12193 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_OVERLAY);
12194 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_DODGE);
12195 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_BURN);
12196 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_DARKEN);
12197 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_LIGHTEN);
12198 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_SOFTLIGHT);
12199 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_HARDLIGHT);
12200 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_EXCLUSION);
12201 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_NORMAL_ALPHACH);
12202 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_ADD_ALPHACH);
12203 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_MULTIPLE_A_ONLY);
12204 			// int GraphBlend(int GrHandle, int BlendGrHandle, int BlendRatio, int BlendType = DX_GRAPH_BLEND_PMA_MULTIPLE_A_ONLY);
12205 		}
12206 
12207 		version (DX_NON_MOVIE) {
12208 		} else {
12209 			// ムービーグラフィック関係関数
12210 
12211 			/**
12212 			 * 動画ファイルの再生
12213 			 */
12214 			extern int PlayMovie(const (dxlib_d.dxdatatype.TCHAR)* FileName, int ExRate, int PlayType);
12215 
12216 			/**
12217 			 * 動画ファイルの再生
12218 			 */
12219 			extern int PlayMovieWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int ExRate, int PlayType);
12220 
12221 			/**
12222 			 * 動画ファイルの横ピクセル数と縦ピクセル数を取得する
12223 			 */
12224 			extern int GetMovieImageSize_File(const (dxlib_d.dxdatatype.TCHAR)* FileName, int* SizeX, int* SizeY);
12225 
12226 			/**
12227 			 * 動画ファイルの横ピクセル数と縦ピクセル数を取得する
12228 			 */
12229 			extern int GetMovieImageSize_File_WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int* SizeX, int* SizeY);
12230 
12231 			/**
12232 			 * メモリ上に展開された動画ファイルの横ピクセル数と縦ピクセル数を取得する
12233 			 */
12234 			extern int GetMovieImageSize_Mem(const (void)* FileImage, int FileImageSize, int* SizeX, int* SizeY);
12235 
12236 			/**
12237 			 * 動画ファイルを開く
12238 			 */
12239 			extern int OpenMovieToGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, int FullColor = dxlib_d.dxdatatype.TRUE);
12240 
12241 			/**
12242 			 * 動画ファイルを開く
12243 			 */
12244 			extern int OpenMovieToGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int FullColor = dxlib_d.dxdatatype.TRUE);
12245 
12246 			/**
12247 			 * 動画ファイルを使用するグラフィックハンドルの動画ファイルの再生を開始する
12248 			 */
12249 			extern int PlayMovieToGraph(int GraphHandle, int PlayType = DX_PLAYTYPE_BACK, int SysPlay = 0);
12250 
12251 			/**
12252 			 * 動画ファイルを使用するグラフィックハンドルの動画ファイルの再生を停止する
12253 			 */
12254 			extern int PauseMovieToGraph(int GraphHandle, int SysPause = 0);
12255 
12256 			/**
12257 			 * 動画ファイルの再生フレームを進める、戻すことは出来ない( 動画ファイルが停止状態で、且つ Ogg Theora のみ有効 )
12258 			 */
12259 			extern int AddMovieFrameToGraph(int GraphHandle, uint FrameNum);
12260 
12261 			/**
12262 			 * 動画ファイルの再生位置を設定する(ミリ秒単位)
12263 			 */
12264 			extern int SeekMovieToGraph(int GraphHandle, int Time);
12265 
12266 			/**
12267 			 * 動画ファイルの再生速度を設定する( 1.0 = 等倍速  2.0 = 2倍速 )、一部のファイルフォーマットのみで有効な機能です
12268 			 */
12269 			extern int SetPlaySpeedRateMovieToGraph(int GraphHandle, double SpeedRate);
12270 
12271 			/**
12272 			 * 動画ファイルの再生状態を得る
12273 			 */
12274 			extern int GetMovieStateToGraph(int GraphHandle);
12275 
12276 			/**
12277 			 * 動画ファイルの音量を設定する(0〜10000)
12278 			 */
12279 			extern int SetMovieVolumeToGraph(int Volume, int GraphHandle);
12280 
12281 			/**
12282 			 * 動画ファイルの音量を設定する(0〜255)
12283 			 */
12284 			extern int ChangeMovieVolumeToGraph(int Volume, int GraphHandle);
12285 
12286 			/**
12287 			 * 動画ファイルの基本イメージデータを取得する( ImageUpdateFlag に int 型変数のアドレスを渡すと、イメージが更新された場合は 1 が、更新されていない場合は 0 が格納されます、 ImageUpdateFlagSetOnly を TRUE にすると戻り値の BASEIMAGE は有効な画像データではなくなりますが、BASEIMAGE の更新処理が行われませんので、ImageUpdateFlag を利用して画像が更新されたかどうかだけをチェックしたい場合は TRUE にしてください )
12288 			 */
12289 			extern const (.BASEIMAGE)* GetMovieBaseImageToGraph(int GraphHandle, int* ImageUpdateFlag = null, int ImageUpdateFlagSetOnly = dxlib_d.dxdatatype.FALSE);
12290 
12291 			/**
12292 			 * 動画ファイルの総フレーム数を得る( Ogg Theora でのみ有効 )
12293 			 */
12294 			extern int GetMovieTotalFrameToGraph(int GraphHandle);
12295 
12296 			/**
12297 			 * 動画ファイルの再生位置を取得する(ミリ秒単位)
12298 			 */
12299 			extern int TellMovieToGraph(int GraphHandle);
12300 
12301 			/**
12302 			 * 動画ファイルの再生位置を取得する(フレーム単位)
12303 			 */
12304 			extern int TellMovieToGraphToFrame(int GraphHandle);
12305 
12306 			/**
12307 			 * 動画ファイルの再生位置を設定する(フレーム単位)
12308 			 */
12309 			extern int SeekMovieToGraphToFrame(int GraphHandle, int Frame);
12310 
12311 			/**
12312 			 * 動画ファイルの1フレームあたりの時間を取得する
12313 			 *
12314 			 * Returns: 1フレームの時間(単位:マイクロ秒)
12315 			 */
12316 			extern dxlib_d.dxdatatype.LONGLONG GetOneFrameTimeMovieToGraph(int GraphHandle);
12317 
12318 			/**
12319 			 * 動画ファイルのイメージを最後に更新した時間を得る(ミリ秒単位)
12320 			 */
12321 			extern int GetLastUpdateTimeMovieToGraph(int GraphHandle);
12322 
12323 			/**
12324 			 * 読み込む動画ファイル映像の右半分の赤成分をα情報として扱うかどうかをセットする
12325 			 *
12326 			 * Params:
12327 			 *      Flag = TRUE:α情報として扱う  FALSE:α情報として扱わない( デフォルト )
12328 			 */
12329 			extern int SetMovieRightImageAlphaFlag(int Flag);
12330 
12331 			/**
12332 			 * 読み込む動画ファイルが32bitカラーだった場合、A8R8G8B8 形式として扱うかどうかをセットする、32bitカラーではない動画ファイルに対しては無効
12333 			 *
12334 			 * Params:
12335 			 *      Flag = TRUE:A8R8G8B8として扱う  FALSE:X8R8G8B8として扱う( デフォルト )
12336 			 */
12337 			extern int SetMovieColorA8R8G8B8Flag(int Flag);
12338 
12339 			/**
12340 			 * YUVフォーマットのサーフェスが使用できる場合はYUVフォーマットのサーフェスを使用するかどうかを設定する
12341 			 *
12342 			 * Params:
12343 			 *      Flag = TRUE:使用する( デフォルト ) FALSE:RGBフォーマットのサーフェスを使用する
12344 			 */
12345 			extern int SetMovieUseYUVFormatSurfaceFlag(int Flag);
12346 		}
12347 
12348 		// カメラ関係関数
12349 
12350 		/**
12351 		 * カメラの Nearクリップ面と Farクリップ面の距離を設定する
12352 		 */
12353 		extern int SetCameraNearFar(float Near, float Far);
12354 
12355 		/**
12356 		 * カメラの Nearクリップ面と Farクリップ面の距離を設定する
12357 		 */
12358 		extern int SetCameraNearFarD(double Near, double Far);
12359 
12360 		/**
12361 		 * カメラの視点、注視点、アップベクトルを設定する( アップベクトルはY軸方向から導き出す )
12362 		 */
12363 		extern int SetCameraPositionAndTarget_UpVecY(.VECTOR Position, .VECTOR Target);
12364 
12365 		/**
12366 		 * カメラの視点、注視点、アップベクトルを設定する( アップベクトルはY軸方向から導き出す )
12367 		 */
12368 		extern int SetCameraPositionAndTarget_UpVecYD(.VECTOR_D Position, .VECTOR_D Target);
12369 
12370 		/**
12371 		 * カメラの視点、注視点、アップベクトルを設定する
12372 		 */
12373 		extern int SetCameraPositionAndTargetAndUpVec(.VECTOR Position, .VECTOR TargetPosition, .VECTOR UpVector);
12374 
12375 		/**
12376 		 * カメラの視点、注視点、アップベクトルを設定する
12377 		 */
12378 		extern int SetCameraPositionAndTargetAndUpVecD(.VECTOR_D Position, .VECTOR_D TargetPosition, .VECTOR_D UpVector);
12379 
12380 		/**
12381 		 * カメラの視点、注視点、アップベクトルを設定する( 注視点とアップベクトルは垂直回転角度、水平回転角度、捻り回転角度から導き出す )
12382 		 */
12383 		extern int SetCameraPositionAndAngle(.VECTOR Position, float VRotate, float HRotate, float TRotate);
12384 
12385 		/**
12386 		 * カメラの視点、注視点、アップベクトルを設定する( 注視点とアップベクトルは垂直回転角度、水平回転角度、捻り回転角度から導き出す )
12387 		 */
12388 		extern int SetCameraPositionAndAngleD(.VECTOR_D Position, double VRotate, double HRotate, double TRotate);
12389 
12390 		/**
12391 		 * ビュー行列を直接設定する
12392 		 */
12393 		extern int SetCameraViewMatrix(.MATRIX ViewMatrix);
12394 
12395 		/**
12396 		 * ビュー行列を直接設定する
12397 		 */
12398 		extern int SetCameraViewMatrixD(.MATRIX_D ViewMatrix);
12399 
12400 		/**
12401 		 * 画面上におけるカメラが見ている映像の中心の座標を設定する
12402 		 */
12403 		extern int SetCameraScreenCenter(float x, float y);
12404 
12405 		/**
12406 		 * 画面上におけるカメラが見ている映像の中心の座標を設定する
12407 		 */
12408 		extern int SetCameraScreenCenterD(double x, double y);
12409 
12410 		/**
12411 		 * 遠近法カメラをセットアップする
12412 		 */
12413 		extern int SetupCamera_Perspective(float Fov);
12414 
12415 		/**
12416 		 * 遠近法カメラをセットアップする
12417 		 */
12418 		extern int SetupCamera_PerspectiveD(double Fov);
12419 
12420 		/**
12421 		 * 正射影カメラをセットアップする
12422 		 */
12423 		extern int SetupCamera_Ortho(float Size);
12424 
12425 		/**
12426 		 * 正射影カメラをセットアップする
12427 		 */
12428 		extern int SetupCamera_OrthoD(double Size);
12429 
12430 		/**
12431 		 * 射影行列を直接設定する
12432 		 */
12433 		extern int SetupCamera_ProjectionMatrix(.MATRIX ProjectionMatrix);
12434 
12435 		/**
12436 		 * 射影行列を直接設定する
12437 		 */
12438 		extern int SetupCamera_ProjectionMatrixD(.MATRIX_D ProjectionMatrix);
12439 
12440 		/**
12441 		 * カメラのドットアスペクト比を設定する
12442 		 */
12443 		extern int SetCameraDotAspect(float DotAspect);
12444 
12445 		/**
12446 		 * カメラのドットアスペクト比を設定する
12447 		 */
12448 		extern int SetCameraDotAspectD(double DotAspect);
12449 
12450 		/**
12451 		 * 指定の座標がカメラの視界に入っているかどうかを判定する
12452 		 *
12453 		 * Returns: TRUE:視界に入っていない  FALSE:視界に入っている
12454 		 */
12455 		extern int CheckCameraViewClip(.VECTOR CheckPos);
12456 
12457 		/**
12458 		 * 指定の座標がカメラの視界に入っているかどうかを判定する
12459 		 *
12460 		 * Returns: TRUE:視界に入っていない  FALSE:視界に入っている
12461 		 */
12462 		extern int CheckCameraViewClipD(.VECTOR_D CheckPos);
12463 
12464 		/**
12465 		 * 指定の座標がカメラの視界に入っているかどうかを判定する、戻り値で外れている方向も知ることができる
12466 		 *
12467 		 * Returns: 0:視界に入っている  0以外:視界に入っていない( DX_CAMERACLIP_LEFT や DX_CAMERACLIP_RIGHT が or 演算で混合されたもの、and 演算で方向を確認できる )
12468 		 */
12469 		extern int CheckCameraViewClip_Dir(.VECTOR CheckPos);
12470 
12471 		/**
12472 		 * 指定の座標がカメラの視界に入っているかどうかを判定する、戻り値で外れている方向も知ることができる
12473 		 *
12474 		 * Returns: 0:視界に入っている  0以外:視界に入っていない( DX_CAMERACLIP_LEFT や DX_CAMERACLIP_RIGHT が or 演算で混合されたもの、and 演算で方向を確認できる )
12475 		 */
12476 		extern int CheckCameraViewClip_DirD(.VECTOR_D CheckPos);
12477 
12478 		/**
12479 		 * 二つの座標で表されるボックスがカメラの視界に入っているかどうかを判定する
12480 		 *
12481 		 * Returns: TRUE:視界に入っていない  FALSE:視界に入っている
12482 		 */
12483 		extern int CheckCameraViewClip_Box(.VECTOR BoxPos1, .VECTOR BoxPos2);
12484 
12485 		/**
12486 		 * 二つの座標で表されるボックスがカメラの視界に入っているかどうかを判定する
12487 		 *
12488 		 * Returns: TRUE:視界に入っていない  FALSE:視界に入っている
12489 		 */
12490 		extern int CheckCameraViewClip_BoxD(.VECTOR_D BoxPos1, .VECTOR_D BoxPos2);
12491 
12492 		/**
12493 		 * カメラの Near クリップ面の距離を取得する
12494 		 */
12495 		extern float GetCameraNear();
12496 
12497 		/**
12498 		 * カメラの Near クリップ面の距離を取得する
12499 		 */
12500 		extern double GetCameraNearD();
12501 
12502 		/**
12503 		 * カメラの Far クリップ面の距離を取得する
12504 		 */
12505 		extern float GetCameraFar();
12506 
12507 		/**
12508 		 * カメラの Far クリップ面の距離を取得する
12509 		 */
12510 		extern double GetCameraFarD();
12511 
12512 		/**
12513 		 * カメラの位置を取得する
12514 		 */
12515 		extern .VECTOR GetCameraPosition();
12516 
12517 		/**
12518 		 * カメラの位置を取得する
12519 		 */
12520 		extern .VECTOR_D GetCameraPositionD();
12521 
12522 		/**
12523 		 * カメラの注視点を取得する
12524 		 */
12525 		extern .VECTOR GetCameraTarget();
12526 
12527 		/**
12528 		 * カメラの注視点を取得する
12529 		 */
12530 		extern .VECTOR_D GetCameraTargetD();
12531 
12532 		/**
12533 		 * カメラの正面方向に垂直な上方向のベクトルを取得する
12534 		 */
12535 		extern .VECTOR GetCameraUpVector();
12536 
12537 		/**
12538 		 * カメラの正面方向に垂直な上方向のベクトルを取得する
12539 		 */
12540 		extern .VECTOR_D GetCameraUpVectorD();
12541 
12542 		/**
12543 		 * カメラの正面方向に垂直な下方向のベクトルを取得する
12544 		 */
12545 		extern .VECTOR GetCameraDownVector();
12546 
12547 		/**
12548 		 * カメラの正面方向に垂直な下方向のベクトルを取得する
12549 		 */
12550 		extern .VECTOR_D GetCameraDownVectorD();
12551 
12552 		/**
12553 		 * カメラの正面方向に垂直な右方向のベクトルを取得する
12554 		 */
12555 		extern .VECTOR GetCameraRightVector();
12556 
12557 		/**
12558 		 * カメラの正面方向に垂直な右方向のベクトルを取得する
12559 		 */
12560 		extern .VECTOR_D GetCameraRightVectorD();
12561 
12562 		/**
12563 		 * カメラの正面方向に垂直な左方向のベクトルを取得する
12564 		 */
12565 		extern .VECTOR GetCameraLeftVector();
12566 
12567 		/**
12568 		 * カメラの正面方向に垂直な左方向のベクトルを取得する
12569 		 */
12570 		extern .VECTOR_D GetCameraLeftVectorD();
12571 
12572 		/**
12573 		 * カメラの正面方向のベクトルを取得する
12574 		 */
12575 		extern .VECTOR GetCameraFrontVector();
12576 
12577 		/**
12578 		 * カメラの正面方向のベクトルを取得する
12579 		 */
12580 		extern .VECTOR_D GetCameraFrontVectorD();
12581 
12582 		/**
12583 		 * カメラの後ろ方向のベクトルを取得する
12584 		 */
12585 		extern .VECTOR GetCameraBackVector();
12586 
12587 		/**
12588 		 * カメラの後ろ方向のベクトルを取得する
12589 		 */
12590 		extern .VECTOR_D GetCameraBackVectorD();
12591 
12592 		/**
12593 		 * カメラの水平方向の向きを取得する
12594 		 */
12595 		extern float GetCameraAngleHRotate();
12596 
12597 		/**
12598 		 * カメラの水平方向の向きを取得する
12599 		 */
12600 		extern double GetCameraAngleHRotateD();
12601 
12602 		/**
12603 		 * カメラの垂直方向の向きを取得する
12604 		 */
12605 		extern float GetCameraAngleVRotate();
12606 
12607 		/**
12608 		 * カメラの垂直方向の向きを取得する
12609 		 */
12610 		extern double GetCameraAngleVRotateD();
12611 
12612 		/**
12613 		 * カメラの向きの捻り角度を取得する
12614 		 */
12615 		extern float GetCameraAngleTRotate();
12616 
12617 		/**
12618 		 * カメラの向きの捻り角度を取得する
12619 		 */
12620 		extern double GetCameraAngleTRotateD();
12621 
12622 		/**
12623 		 * ビュー行列を取得する
12624 		 */
12625 		extern .MATRIX GetCameraViewMatrix();
12626 
12627 		/**
12628 		 * ビュー行列を取得する
12629 		 */
12630 		extern .MATRIX_D GetCameraViewMatrixD();
12631 
12632 		/**
12633 		 * ビルボード行列を取得する
12634 		 */
12635 		extern .MATRIX GetCameraBillboardMatrix();
12636 
12637 		/**
12638 		 * ビルボード行列を取得する
12639 		 */
12640 		extern .MATRIX_D GetCameraBillboardMatrixD();
12641 
12642 		/**
12643 		 * 画面上におけるカメラが見ている映像の中心の座標を取得する
12644 		 */
12645 		extern int GetCameraScreenCenter(float* x, float* y);
12646 
12647 		/**
12648 		 * 画面上におけるカメラが見ている映像の中心の座標を取得する
12649 		 */
12650 		extern int GetCameraScreenCenterD(double* x, double* y);
12651 
12652 		/**
12653 		 * カメラの視野角を取得する
12654 		 */
12655 		extern float GetCameraFov();
12656 
12657 		/**
12658 		 * カメラの視野角を取得する
12659 		 */
12660 		extern double GetCameraFovD();
12661 
12662 		/**
12663 		 * カメラの視野サイズを取得する
12664 		 */
12665 		extern float GetCameraSize();
12666 
12667 		/**
12668 		 * カメラの視野サイズを取得する
12669 		 */
12670 		extern double GetCameraSizeD();
12671 
12672 		/**
12673 		 * 射影行列を取得する
12674 		 */
12675 		extern .MATRIX GetCameraProjectionMatrix();
12676 
12677 		/**
12678 		 * 射影行列を取得する
12679 		 */
12680 		extern .MATRIX_D GetCameraProjectionMatrixD();
12681 
12682 		/**
12683 		 * カメラのドットアスペクト比を得る
12684 		 */
12685 		extern float GetCameraDotAspect();
12686 
12687 		/**
12688 		 * カメラのドットアスペクト比を得る
12689 		 */
12690 		extern double GetCameraDotAspectD();
12691 
12692 		/**
12693 		 * ビューポート行列を取得する
12694 		 */
12695 		extern .MATRIX GetCameraViewportMatrix();
12696 
12697 		/**
12698 		 * ビューポート行列を取得する
12699 		 */
12700 		extern .MATRIX_D GetCameraViewportMatrixD();
12701 
12702 		/**
12703 		 * Direct3Dで自動適用されるビューポート行列を取得する
12704 		 */
12705 		extern .MATRIX GetCameraAPIViewportMatrix();
12706 
12707 		/**
12708 		 * Direct3Dで自動適用されるビューポート行列を取得する
12709 		 */
12710 		extern .MATRIX_D GetCameraAPIViewportMatrixD();
12711 
12712 		// ライト関係関数
12713 
12714 		/**
12715 		 * ライティングを使用するかどうかを設定する
12716 		 */
12717 		extern int SetUseLighting(int Flag);
12718 
12719 		/**
12720 		 * 3D描画のライティング計算で頂点カラーのディフューズカラーを使用するかどうかを設定する
12721 		 */
12722 		extern int SetMaterialUseVertDifColor(int UseFlag);
12723 
12724 		/**
12725 		 * 3D描画のライティング計算で頂点カラーのスペキュラカラーを使用するかどうかを設定する
12726 		 */
12727 		extern int SetMaterialUseVertSpcColor(int UseFlag);
12728 
12729 		/**
12730 		 * 3D描画のライティング計算で使用するマテリアルパラメータを設定する
12731 		 */
12732 		extern int SetMaterialParam(MATERIALPARAM Material);
12733 
12734 		/**
12735 		 * 3D描画にスペキュラを使用するかどうかを設定する
12736 		 */
12737 		extern int SetUseSpecular(int UseFlag);
12738 
12739 		/**
12740 		 * グローバルアンビエントライトカラーを設定する
12741 		 */
12742 		extern int SetGlobalAmbientLight(.COLOR_F Color);
12743 
12744 		/**
12745 		 * デフォルトライトのタイプをディレクショナルライトにする
12746 		 */
12747 		extern int ChangeLightTypeDir(.VECTOR Direction);
12748 
12749 		/**
12750 		 * デフォルトライトのタイプをスポットライトにする
12751 		 */
12752 		extern int ChangeLightTypeSpot(.VECTOR Position, .VECTOR Direction, float OutAngle, float InAngle, float Range, float Atten0, float Atten1, float Atten2);
12753 
12754 		/**
12755 		 * デフォルトライトのタイプをポイントライトにする
12756 		 */
12757 		extern int ChangeLightTypePoint(.VECTOR Position, float Range, float Atten0, float Atten1, float Atten2);
12758 
12759 		/**
12760 		 * デフォルトライトのタイプを取得する
12761 		 *
12762 		 * Returns: DX_LIGHTTYPE_DIRECTIONAL 等
12763 		 */
12764 		extern int GetLightType();
12765 
12766 		/**
12767 		 * デフォルトライトを使用するかどうかを設定する
12768 		 */
12769 		extern int SetLightEnable(int EnableFlag);
12770 
12771 		/**
12772 		 * デフォルトライトを使用するかどうかを取得する
12773 		 *
12774 		 * Returns: TRUE:有効  FALSE:無効
12775 		 */
12776 		extern int GetLightEnable();
12777 
12778 		/**
12779 		 * デフォルトライトのディフューズカラーを設定する
12780 		 */
12781 		extern int SetLightDifColor(.COLOR_F Color);
12782 
12783 		/**
12784 		 * デフォルトライトのディフューズカラーを取得する
12785 		 */
12786 		extern .COLOR_F GetLightDifColor();
12787 
12788 		/**
12789 		 * デフォルトライトのスペキュラカラーを設定する
12790 		 */
12791 		extern int SetLightSpcColor(.COLOR_F Color);
12792 
12793 		/**
12794 		 * デフォルトライトのスペキュラカラーを取得する
12795 		 */
12796 		extern .COLOR_F GetLightSpcColor();
12797 
12798 		/**
12799 		 * デフォルトライトのアンビエントカラーを設定する
12800 		 */
12801 		extern int SetLightAmbColor(.COLOR_F Color);
12802 
12803 		/**
12804 		 * デフォルトライトのアンビエントカラーを取得する
12805 		 */
12806 		extern .COLOR_F GetLightAmbColor();
12807 
12808 		/**
12809 		 * デフォルトライトの方向を設定する
12810 		 */
12811 		extern int SetLightDirection(.VECTOR Direction);
12812 
12813 		/**
12814 		 * デフォルトライトの方向を取得する
12815 		 */
12816 		extern .VECTOR GetLightDirection();
12817 
12818 		/**
12819 		 * デフォルトライトの位置を設定する
12820 		 */
12821 		extern int SetLightPosition(.VECTOR Position);
12822 
12823 		/**
12824 		 * デフォルトライトの位置を取得する
12825 		 */
12826 		extern .VECTOR GetLightPosition();
12827 
12828 		/**
12829 		 * デフォルトライトの距離減衰パラメータを設定する( 有効距離、距離減衰係数0、1、2 )
12830 		 */
12831 		extern int SetLightRangeAtten(float Range, float Atten0, float Atten1, float Atten2);
12832 
12833 		/**
12834 		 * デフォルトライトの距離減衰パラメータを取得する( 有効距離、距離減衰係数0、1、2 )
12835 		 */
12836 		extern int GetLightRangeAtten(float* Range, float* Atten0, float* Atten1, float* Atten2);
12837 
12838 		/**
12839 		 * デフォルトライトのスポットライトのパラメータを設定する( 外部コーン角度、内部コーン角度 )
12840 		 */
12841 		extern int SetLightAngle(float OutAngle, float InAngle);
12842 
12843 		/**
12844 		 * デフォルトライトのスポットライトのパラメータを取得する( 外部コーン角度、内部コーン角度 )
12845 		 */
12846 		extern int GetLightAngle(float* OutAngle, float* InAngle);
12847 
12848 		/**
12849 		 * デフォルトライトに SetUseShadowMap で指定したシャドウマップを適用するかどうかを設定する
12850 		 *
12851 		 * Params:
12852 		 *      SmSlotIndex = シャドウマップスロット( SetUseShadowMap の第1引数に設定する値 )
12853 		 *      UseFlag = 適用にするかどうかのフラグ( TRUE:適用する( デフォルト )  FALSE:適用しない )
12854 		 */
12855 		extern int SetLightUseShadowMap(int SmSlotIndex, int UseFlag);
12856 
12857 		/**
12858 		 * ディレクショナルライトハンドルを作成する
12859 		 */
12860 		extern int CreateDirLightHandle(.VECTOR Direction);
12861 
12862 		/**
12863 		 * スポットライトハンドルを作成する
12864 		 */
12865 		extern int CreateSpotLightHandle(.VECTOR Position, .VECTOR Direction, float OutAngle, float InAngle, float Range, float Atten0, float Atten1, float Atten2);
12866 
12867 		/**
12868 		 * ポイントライトハンドルを作成する
12869 		 */
12870 		extern int CreatePointLightHandle(.VECTOR Position, float Range, float Atten0, float Atten1, float Atten2);
12871 
12872 		/**
12873 		 * ライトハンドルを削除する
12874 		 */
12875 		extern int DeleteLightHandle(int LHandle);
12876 
12877 		/**
12878 		 * ライトハンドルを全て削除する
12879 		 */
12880 		extern int DeleteLightHandleAll();
12881 
12882 		/**
12883 		 * ライトハンドルのライトのタイプを変更する( DX_LIGHTTYPE_DIRECTIONAL 等 )
12884 		 */
12885 		extern int SetLightTypeHandle(int LHandle, int LightType);
12886 
12887 		/**
12888 		 * ライトハンドルのライト効果の有効、無効を設定する
12889 		 *
12890 		 * Params:
12891 		 *      LHandle = ?
12892 		 *      EnableFlag = TRUE:有効  FALSE:無効
12893 		 */
12894 		extern int SetLightEnableHandle(int LHandle, int EnableFlag);
12895 
12896 		/**
12897 		 * ライトハンドルのライトのディフューズカラーを設定する
12898 		 */
12899 		extern int SetLightDifColorHandle(int LHandle, .COLOR_F Color);
12900 
12901 		/**
12902 		 * ライトハンドルのライトのスペキュラカラーを設定する
12903 		 */
12904 		extern int SetLightSpcColorHandle(int LHandle, .COLOR_F Color);
12905 
12906 		/**
12907 		 * ライトハンドルのライトのアンビエントカラーを設定する
12908 		 */
12909 		extern int SetLightAmbColorHandle(int LHandle, .COLOR_F Color);
12910 
12911 		/**
12912 		 * ライトハンドルのライトの方向を設定する
12913 		 */
12914 		extern int SetLightDirectionHandle(int LHandle, .VECTOR Direction);
12915 
12916 		/**
12917 		 * ライトハンドルのライトの位置を設定する
12918 		 */
12919 		extern int SetLightPositionHandle(int LHandle, .VECTOR Position);
12920 
12921 		/**
12922 		 * ライトハンドルのライトの距離減衰パラメータを設定する( 有効距離、距離減衰係数0、1、2 )
12923 		 */
12924 		extern int SetLightRangeAttenHandle(int LHandle, float Range, float Atten0, float Atten1, float Atten2);
12925 
12926 		/**
12927 		 * ライトハンドルのライトのスポットライトのパラメータを設定する( 外部コーン角度、内部コーン角度 )
12928 		 */
12929 		extern int SetLightAngleHandle(int LHandle, float OutAngle, float InAngle);
12930 
12931 		/**
12932 		 * ライトハンドルのライトに SetUseShadowMap で指定したシャドウマップを適用するかどうかを設定する
12933 		 *
12934 		 * Params:
12935 		 *      LHandle = ?
12936 		 *      SmSlotIndex = シャドウマップスロット( SetUseShadowMap の第1引数に設定する値 )
12937 		 *      UseFlag = 適用にするかどうかのフラグ( TRUE:適用する( デフォルト )  FALSE:適用しない )
12938 		 */
12939 		extern int SetLightUseShadowMapHandle(int LHandle, int SmSlotIndex, int UseFlag);
12940 
12941 		/**
12942 		 * ライトハンドルのライトのタイプを取得する
12943 		 *
12944 		 * Returns: DX_LIGHTTYPE_DIRECTIONAL 等
12945 		 */
12946 		extern int GetLightTypeHandle(int LHandle);
12947 
12948 		/**
12949 		 * ライトハンドルのライト効果の有効、無効を取得する
12950 		 *
12951 		 * Returns: TRUE:有効  FALSE:無効
12952 		 */
12953 		extern int GetLightEnableHandle(int LHandle);
12954 
12955 		/**
12956 		 * ライトハンドルのライトのディフューズカラーを取得する
12957 		 */
12958 		extern .COLOR_F GetLightDifColorHandle(int LHandle);
12959 
12960 		/**
12961 		 * ライトハンドルのライトのスペキュラカラーを取得する
12962 		 */
12963 		extern .COLOR_F GetLightSpcColorHandle(int LHandle);
12964 
12965 		/**
12966 		 * ライトハンドルのライトのアンビエントカラーを取得する
12967 		 */
12968 		extern .COLOR_F GetLightAmbColorHandle(int LHandle);
12969 
12970 		/**
12971 		 * ライトハンドルのライトの方向を取得する
12972 		 */
12973 		extern .VECTOR GetLightDirectionHandle(int LHandle);
12974 
12975 		/**
12976 		 * ライトハンドルのライトの位置を取得する
12977 		 */
12978 		extern .VECTOR GetLightPositionHandle(int LHandle);
12979 
12980 		/**
12981 		 * ライトハンドルのライトの距離減衰パラメータを取得する( 有効距離、距離減衰係数0、1、2 )
12982 		 */
12983 		extern int GetLightRangeAttenHandle(int LHandle, float* Range, float* Atten0, float* Atten1, float* Atten2);
12984 
12985 		/**
12986 		 * ライトハンドルのライトのスポットライトのパラメータを取得する( 外部コーン角度、内部コーン角度 )
12987 		 */
12988 		extern int GetLightAngleHandle(int LHandle, float* OutAngle, float* InAngle);
12989 
12990 		/**
12991 		 * 有効になっているライトハンドルの数を取得する
12992 		 */
12993 		extern int GetEnableLightHandleNum();
12994 
12995 		/**
12996 		 * 有効になっているライトハンドルを取得する
12997 		 */
12998 		extern int GetEnableLightHandle(int Index);
12999 
13000 		// 色情報取得用関数
13001 
13002 		/**
13003 		 * テクスチャフォーマットのインデックスを得る
13004 		 */
13005 		extern int GetTexFormatIndex(const (.IMAGEFORMATDESC)* Format);
13006 
13007 		// DxMask.cpp 関数プロトタイプ宣言
13008 
13009 		version (DX_NON_MASK) {
13010 		} else {
13011 			// マスク関係
13012 
13013 			/**
13014 			 * マスクスクリーンを作成する
13015 			 */
13016 			extern int CreateMaskScreen();
13017 
13018 			/**
13019 			 * マスクスクリーンを削除する
13020 			 */
13021 			extern int DeleteMaskScreen();
13022 
13023 			/**
13024 			 * マスクスクリーンにメモリ上のビットマップデータを転送する( MaskData は 1byte で 1dot 表す1ラインあたり Width byte のデータ配列の先頭アドレス )
13025 			 */
13026 			extern int DrawMaskToDirectData(int x, int y, int Width, int Height, const (void)* MaskData, int TransMode);
13027 
13028 			/**
13029 			 * マスクスクリーンにメモリ上のビットマップデータで指定矩形内を塗りつぶすように転送する
13030 			 */
13031 			extern int DrawFillMaskToDirectData(int x1, int y1, int x2, int y2, int Width, int Height, const (void)* MaskData);
13032 
13033 			/**
13034 			 * マスクスクリーンを使用するかどうかを設定する
13035 			 *
13036 			 * Params:
13037 			 *      ValidFlag = 使用するかどうか( TRUE:使用する  FALSE:使用しない( デフォルト )
13038 			 */
13039 			extern int SetUseMaskScreenFlag(int ValidFlag);
13040 
13041 			/**
13042 			 * マスクスクリーンを使用するかどうかを取得する
13043 			 */
13044 			extern int GetUseMaskScreenFlag();
13045 
13046 			/**
13047 			 * マスクスクリーンを指定の色で塗りつぶす
13048 			 */
13049 			extern int FillMaskScreen(int Flag);
13050 
13051 			/**
13052 			 * マスクスクリーンとして使用するグラフィックのハンドルを設定する、-1を渡すと解除( 引数で渡すグラフィックハンドルは MakeScreen で作成した「アルファチャンネル付きの描画対象にできるグラフィックハンドル」である必要があります( アルファチャンネルがマスクに使用されます ) )
13053 			 */
13054 			extern int SetMaskScreenGraph(int GraphHandle);
13055 
13056 			/**
13057 			 * マスクスクリーンとして使用するグラフィックの、どのチャンネルをマスクとして使用するかを設定する( デフォルトは DX_MASKGRAPH_CH_A、 尚、DX_MASKGRAPH_CH_A以外を使用する場合はグラフィックスデバイスがシェーダーモデル2.0以降に対応している必要があります )
13058 			 */
13059 			extern int SetMaskScreenGraphUseChannel(int UseChannel /* DX_MASKGRAPH_CH_A 等 */);
13060 
13061 			/**
13062 			 * マスクハンドルをすべて削除する
13063 			 */
13064 			extern int InitMask();
13065 
13066 			/**
13067 			 * マスクハンドルを作成する
13068 			 */
13069 			extern int MakeMask(int Width, int Height);
13070 
13071 			/**
13072 			 * マスクハンドルが持つマスクイメージのサイズを取得する
13073 			 */
13074 			extern int GetMaskSize(int* WidthBuf, int* HeightBuf, int MaskHandle);
13075 
13076 			/**
13077 			 * マスクハンドルが持つマスクイメージのBASEIMAGEデータを取得する( フォーマットが変更されるような操作をすると正常に動作しなくなります、あと、ReleaseBaseImage は実行する必要はありません )
13078 			 */
13079 			extern int GetMaskBaseImageInfo(.BASEIMAGE* BaseImage, int MaskHandle);
13080 
13081 			/**
13082 			 * マスクハンドルにビットマップイメージを転送する
13083 			 */
13084 			extern int SetDataToMask(int Width, int Height, const (void)* MaskData, int MaskHandle);
13085 
13086 			/**
13087 			 * マスクハンドルを削除する
13088 			 */
13089 			extern int DeleteMask(int MaskHandle);
13090 
13091 			/**
13092 			 * マスクハンドルにBASEIMAGEデータを転送する
13093 			 */
13094 			extern int GraphImageBltToMask(const (.BASEIMAGE)* BaseImage, int ImageX, int ImageY, int MaskHandle);
13095 
13096 			/**
13097 			 * 画像ファイルを読み込みマスクハンドルを作成する
13098 			 */
13099 			extern int LoadMask(const (dxlib_d.dxdatatype.TCHAR)* FileName);
13100 
13101 			/**
13102 			 * 画像ファイルを読み込みマスクハンドルを作成する
13103 			 */
13104 			extern int LoadMaskWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
13105 
13106 			/**
13107 			 * 画像ファイルを分割読み込みしてマスクハンドルを作成する
13108 			 */
13109 			extern int LoadDivMask(const (dxlib_d.dxdatatype.TCHAR)* FileName, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray);
13110 
13111 			/**
13112 			 * 画像ファイルを分割読み込みしてマスクハンドルを作成する
13113 			 */
13114 			extern int LoadDivMaskWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray);
13115 
13116 			/**
13117 			 * メモリ上にある画像ファイルイメージを読み込みマスクハンドルを作成する
13118 			 */
13119 			extern int CreateMaskFromMem(const (void)* FileImage, int FileImageSize);
13120 
13121 			/**
13122 			 * メモリ上にある画像ファイルイメージを分割読み込みしてマスクハンドルを作成する
13123 			 */
13124 			extern int CreateDivMaskFromMem(const (void)* FileImage, int FileImageSize, int AllNum, int XNum, int YNum, int XSize, int YSize, int* HandleArray);
13125 
13126 			/**
13127 			 * マスクスクリーンにマスクハンドルの持つマスクイメージを書き込む
13128 			 */
13129 			extern int DrawMask(int x, int y, int MaskHandle, int TransMode);
13130 
13131 			version (DX_NON_FONT) {
13132 			} else {
13133 				/**
13134 				 * 書式指定ありの文字列をマスクスクリーンに描画する
13135 				 */
13136 				extern int DrawFormatStringMask(int x, int y, int Flag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13137 
13138 				/**
13139 				 * 書式指定ありの文字列をマスクスクリーンに描画する( フォントハンドル指定版 )( SetFontCacheToTextureFlag(FALSE); にして作成したフォントハンドルのみ使用可能 )
13140 				 */
13141 				extern int DrawFormatStringMaskToHandle(int x, int y, int Flag, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13142 
13143 				/**
13144 				 * 文字列をマスクスクリーンに描画する
13145 				 */
13146 				extern int DrawStringMask(int x, int y, int Flag, const (dxlib_d.dxdatatype.TCHAR)* String);
13147 
13148 				/**
13149 				 * 文字列をマスクスクリーンに描画する
13150 				 */
13151 				extern int DrawNStringMask(int x, int y, int Flag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
13152 
13153 				/**
13154 				 * 文字列をマスクスクリーンに描画する( フォントハンドル指定版 )( SetFontCacheToTextureFlag(FALSE); にして作成したフォントハンドルのみ使用可能 )
13155 				 */
13156 				extern int DrawStringMaskToHandle(int x, int y, int Flag, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* String);
13157 
13158 				/**
13159 				 * 文字列をマスクスクリーンに描画する( フォントハンドル指定版 )( SetFontCacheToTextureFlag(FALSE); にして作成したフォントハンドルのみ使用可能 )
13160 				 */
13161 				extern int DrawNStringMaskToHandle(int x, int y, int Flag, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
13162 			}
13163 
13164 			/**
13165 			 * マスクハンドルが持つマスクイメージをマスクスクリーンいっぱいに描画する( タイル状に並べる )
13166 			 */
13167 			extern int DrawFillMask(int x1, int y1, int x2, int y2, int MaskHandle);
13168 
13169 			/**
13170 			 * マスクイメージ内の数値に対する効果を逆転させる( 旧バージョンとの互換性の為の機能 )
13171 			 */
13172 			extern int SetMaskReverseEffectFlag(int ReverseFlag);
13173 
13174 			/**
13175 			 * マスクスクリーンの指定矩形部分をマスクハンドルに転送する
13176 			 */
13177 			extern int GetMaskScreenData(int x1, int y1, int x2, int y2, int MaskHandle);
13178 
13179 			/**
13180 			 * マスクスクリーンを使用する設定になっているかどうかを取得する
13181 			 */
13182 			extern int GetMaskUseFlag();
13183 		}
13184 	}
13185 
13186 	// DxFont.cpp 関数プロトタイプ宣言
13187 
13188 	version (DX_NON_FONT) {
13189 	} else {
13190 		// フォント、文字列描画関係関数
13191 
13192 		/**
13193 		 * 使用可能なフォントの名前を列挙する( NameBuffer に 64バイト区切りで名前が格納されます )
13194 		 */
13195 		extern int EnumFontName(dxlib_d.dxdatatype.TCHAR* NameBuffer, int NameBufferNum, int JapanOnlyFlag = dxlib_d.dxdatatype.TRUE);
13196 
13197 		/**
13198 		 * 使用可能なフォントの名前を列挙する( NameBuffer に 64バイト区切りで名前が格納されます )( 文字セット指定版 )
13199 		 */
13200 		extern int EnumFontNameEx(dxlib_d.dxdatatype.TCHAR* NameBuffer, int NameBufferNum, int CharSet = -1 /* DX_CHARSET_DEFAULT 等 */);
13201 
13202 		/**
13203 		 * 指定のフォント名のフォントを列挙する
13204 		 */
13205 		extern int EnumFontNameEx2(dxlib_d.dxdatatype.TCHAR* NameBuffer, int NameBufferNum, const (dxlib_d.dxdatatype.TCHAR)* EnumFontName, int CharSet = -1 /* DX_CHARSET_DEFAULT 等 */);
13206 
13207 		/**
13208 		 * 指定のフォント名のフォントを列挙する
13209 		 */
13210 		extern int EnumFontNameEx2WithStrLen(dxlib_d.dxdatatype.TCHAR* NameBuffer, int NameBufferNum, const (dxlib_d.dxdatatype.TCHAR)* EnumFontName, size_t EnumFontNameLength, int CharSet = -1 /* DX_CHARSET_DEFAULT 等 */);
13211 
13212 		/**
13213 		 * 指定のフォント名のフォントが存在するかどうかをチェックする
13214 		 *
13215 		 * Returns: TRUE:存在する  FALSE:存在しない
13216 		 */
13217 		extern int CheckFontName(const (dxlib_d.dxdatatype.TCHAR)* FontName, int CharSet = -1 /* DX_CHARSET_DEFAULT 等 */);
13218 
13219 		/**
13220 		 * 指定のフォント名のフォントが存在するかどうかをチェックする
13221 		 *
13222 		 * Returns: TRUE:存在する  FALSE:存在しない
13223 		 */
13224 		extern int CheckFontNameWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FontName, size_t FontNameLength, int CharSet = -1 /* DX_CHARSET_DEFAULT 等 */);
13225 
13226 		/**
13227 		 * 全てのフォントハンドルを削除する
13228 		 */
13229 		extern int InitFontToHandle();
13230 
13231 		/**
13232 		 * フォントハンドルを作成する
13233 		 */
13234 		extern int CreateFontToHandle(const (dxlib_d.dxdatatype.TCHAR)* FontName, int Size, int Thick, int FontType = -1, int CharSet = -1, int EdgeSize = -1, int Italic = dxlib_d.dxdatatype.FALSE, int Handle = -1);
13235 
13236 		/**
13237 		 * フォントハンドルを作成する
13238 		 */
13239 		extern int CreateFontToHandleWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FontName, size_t FontNameLength, int Size, int Thick, int FontType = -1, int CharSet = -1, int EdgeSize = -1, int Italic = dxlib_d.dxdatatype.FALSE, int Handle = -1);
13240 
13241 		/**
13242 		 * フォントデータファイルからフォントハンドルを作成する
13243 		 */
13244 		extern int LoadFontDataToHandle(const (dxlib_d.dxdatatype.TCHAR)* FileName, int EdgeSize = 0);
13245 
13246 		/**
13247 		 * フォントデータファイルからフォントハンドルを作成する
13248 		 */
13249 		extern int LoadFontDataToHandleWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int EdgeSize = 0);
13250 
13251 		/**
13252 		 * メモリ上のフォントデータファイルイメージからフォントハンドルを作成する
13253 		 */
13254 		extern int LoadFontDataFromMemToHandle(const (void)* FontDataImage, int FontDataImageSize, int EdgeSize = 0);
13255 
13256 		/**
13257 		 * フォントハンドルの字間を変更する
13258 		 */
13259 		extern int SetFontSpaceToHandle(int Pixel, int FontHandle);
13260 
13261 		/**
13262 		 * フォントハンドルの行間を変更する
13263 		 */
13264 		extern int SetFontLineSpaceToHandle(int Pixel, int FontHandle);
13265 
13266 		/**
13267 		 * 指定のフォントハンドルを使用する関数の引数に渡す文字列の文字コード形式を設定する( UNICODE版では無効 )
13268 		 */
13269 		extern int SetFontCharCodeFormatToHandle(int CharCodeFormat /* DX_CHARCODEFORMAT_SHIFTJIS 等 */, int FontHandle);
13270 
13271 		/**
13272 		 * フォントハンドルを削除する
13273 		 */
13274 		extern int DeleteFontToHandle(int FontHandle);
13275 
13276 		/**
13277 		 * フォントハンドルを削除した際に TRUE を代入する変数のアドレスを設定する
13278 		 */
13279 		extern int SetFontLostFlag(int FontHandle, int* LostFlag);
13280 
13281 		/**
13282 		 * 指定の文字の代わりに描画するグラフィックハンドルを登録する
13283 		 */
13284 		extern int AddFontImageToHandle(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char, int GrHandle, int DrawX, int DrawY, int AddX);
13285 
13286 		/**
13287 		 * 指定の文字の代わりに描画するグラフィックハンドルを登録する
13288 		 */
13289 		extern int AddFontImageToHandleWithStrLen(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char, size_t CharLength, int GrHandle, int DrawX, int DrawY, int AddX);
13290 
13291 		/**
13292 		 * 指定の文字の代わりに描画するグラフィックハンドルの登録を解除する
13293 		 */
13294 		extern int SubFontImageToHandle(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char);
13295 
13296 		/**
13297 		 * 指定の文字の代わりに描画するグラフィックハンドルの登録を解除する
13298 		 */
13299 		extern int SubFontImageToHandleWithStrLen(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char, size_t CharLength);
13300 
13301 		/**
13302 		 * 代替フォントハンドル( FontHandle に無い文字を描画しようとしたときに代わりに使用されるフォントハンドル )を登録する
13303 		 */
13304 		extern int AddSubstitutionFontToHandle(int FontHandle, int SubstitutionFontHandle, int DrawX, int DrawY);
13305 
13306 		/**
13307 		 * 代替フォントハンドルの登録を解除する
13308 		 */
13309 		extern int SubSubstitutionFontToHandle(int FontHandle, int SubstitutionFontHandle);
13310 
13311 		/**
13312 		 * デフォルトフォントハンドルで使用するフォントを変更
13313 		 */
13314 		extern int ChangeFont(const (dxlib_d.dxdatatype.TCHAR)* FontName, int CharSet = -1 /* DX_CHARSET_SHFTJIS 等 */);
13315 
13316 		/**
13317 		 * デフォルトフォントハンドルで使用するフォントを変更
13318 		 */
13319 		extern int ChangeFontWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FontName, size_t FontNameLength, int CharSet = -1 /* DX_CHARSET_SHFTJIS 等 */);
13320 
13321 		/**
13322 		 * デフォルトフォントハンドルのフォントタイプの変更
13323 		 */
13324 		extern int ChangeFontType(int FontType);
13325 
13326 		/**
13327 		 * デフォルトフォントハンドルのフォント名を取得する
13328 		 */
13329 		extern const (dxlib_d.dxdatatype.TCHAR)* GetFontName();
13330 
13331 		/**
13332 		 * デフォルトフォントハンドルのサイズを設定する
13333 		 */
13334 		extern int SetFontSize(int FontSize);
13335 
13336 		/**
13337 		 * デフォルトフォントハンドルのサイズを取得する
13338 		 */
13339 		extern int GetFontSize();
13340 
13341 		/**
13342 		 * デフォルトフォントハンドルの縁サイズを取得する
13343 		 */
13344 		extern int GetFontEdgeSize();
13345 
13346 		/**
13347 		 * デフォルトフォントハンドルの太さを設定する
13348 		 */
13349 		extern int SetFontThickness(int ThickPal);
13350 
13351 		/**
13352 		 * デフォルトフォントハンドルの字間を変更する
13353 		 */
13354 		extern int SetFontSpace(int Pixel);
13355 
13356 		/**
13357 		 * デフォルトフォントハンドルの字間を取得する
13358 		 */
13359 		extern int GetFontSpace();
13360 
13361 		/**
13362 		 * デフォルトフォントハンドルの行間を変更する
13363 		 */
13364 		extern int SetFontLineSpace(int Pixel);
13365 
13366 		/**
13367 		 * デフォルトフォントハンドルの行間を取得する
13368 		 */
13369 		extern int GetFontLineSpace();
13370 
13371 		/**
13372 		 * デフォルトフォントハンドルを使用する関数の引数に渡す文字列の文字コード形式を設定する( UNICODE版では無効 )
13373 		 */
13374 		extern int SetFontCharCodeFormat(int CharCodeFormat /* DX_CHARCODEFORMAT_SHIFTJIS 等 */);
13375 
13376 		/**
13377 		 * デフォルトフォントハンドルの設定を変更する
13378 		 */
13379 		extern int SetDefaultFontState(const (dxlib_d.dxdatatype.TCHAR)* FontName, int Size, int Thick, int FontType = -1, int CharSet = -1, int EdgeSize = -1, int Italic = dxlib_d.dxdatatype.FALSE);
13380 
13381 		/**
13382 		 * デフォルトフォントハンドルの設定を変更する
13383 		 */
13384 		extern int SetDefaultFontStateWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FontName, size_t FontNameLength, int Size, int Thick, int FontType = -1, int CharSet = -1, int EdgeSize = -1, int Italic = dxlib_d.dxdatatype.FALSE);
13385 
13386 		/**
13387 		 * デフォルトフォントハンドルを取得する
13388 		 */
13389 		extern int GetDefaultFontHandle();
13390 
13391 		/**
13392 		 * デフォルトフォントハンドルのキャッシュできる文字の数を取得する
13393 		 */
13394 		extern int GetFontMaxCacheCharNum();
13395 
13396 		/**
13397 		 * デフォルトフォントハンドルの文字の最大幅を取得する
13398 		 */
13399 		extern int GetFontMaxWidth();
13400 
13401 		/**
13402 		 * デフォルトフォントハンドルの描画位置からベースラインまでの高さを取得する
13403 		 */
13404 		extern int GetFontAscent();
13405 
13406 		/**
13407 		 * デフォルトフォントハンドルを使用した文字列の描画幅を取得する
13408 		 */
13409 		extern int GetDrawStringWidth(const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13410 
13411 		/**
13412 		 * デフォルトフォントハンドルを使用した文字列の描画幅を取得する
13413 		 */
13414 		extern int GetDrawNStringWidth(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13415 
13416 		/**
13417 		 * デフォルトフォントハンドルを使用した書式付き文字列の描画幅を取得する
13418 		 */
13419 		extern int GetDrawFormatStringWidth(const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13420 
13421 		/**
13422 		 * デフォルトフォントハンドルを使用した文字列の描画幅を取得する( 拡大率付き )
13423 		 */
13424 		extern int GetDrawExtendStringWidth(double ExRateX, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13425 
13426 		/**
13427 		 * デフォルトフォントハンドルを使用した文字列の描画幅を取得する( 拡大率付き )
13428 		 */
13429 		extern int GetDrawExtendNStringWidth(double ExRateX, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13430 
13431 		/**
13432 		 * デフォルトフォントハンドルを使用した書式付き文字列の描画幅を取得する( 拡大率付き )
13433 		 */
13434 		extern int GetDrawExtendFormatStringWidth(double ExRateX, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13435 
13436 		/**
13437 		 * デフォルトフォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13438 		 */
13439 		extern int GetDrawStringSize(int* SizeX, int* SizeY, int* LineCount, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13440 
13441 		/**
13442 		 * デフォルトフォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13443 		 */
13444 		extern int GetDrawNStringSize(int* SizeX, int* SizeY, int* LineCount, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13445 
13446 		/**
13447 		 * デフォルトフォントハンドルを使用した書式付き文字列の描画幅・高さ・行数を取得する
13448 		 */
13449 		extern int GetDrawFormatStringSize(int* SizeX, int* SizeY, int* LineCount, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13450 
13451 		/**
13452 		 * デフォルトフォントハンドルを使用した文字列の描画幅・高さ・行数を取得する( 拡大率付き )
13453 		 */
13454 		extern int GetDrawExtendStringSize(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13455 
13456 		/**
13457 		 * デフォルトフォントハンドルを使用した文字列の描画幅・高さ・行数を取得する( 拡大率付き )
13458 		 */
13459 		extern int GetDrawExtendNStringSize(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13460 
13461 		/**
13462 		 * デフォルトフォントハンドルを使用した書式付き文字列の描画幅・高さ・行数を取得する( 拡大率付き )
13463 		 */
13464 		extern int GetDrawExtendFormatStringSize(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13465 
13466 		/**
13467 		 * デフォルトフォントハンドルを使用した文字列の1文字毎の情報を取得する
13468 		 */
13469 		extern int GetDrawStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13470 
13471 		/**
13472 		 * デフォルトフォントハンドルを使用した文字列の1文字毎の情報を取得する
13473 		 */
13474 		extern int GetDrawNStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13475 
13476 		/**
13477 		 * デフォルトフォントハンドルを使用した書式付き文字列の1文字毎の情報を取得する
13478 		 */
13479 		extern int GetDrawFormatStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13480 
13481 		/**
13482 		 * デフォルトフォントハンドルを使用した文字列の1文字毎の情報を取得する
13483 		 */
13484 		extern int GetDrawExtendStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13485 
13486 		/**
13487 		 * デフォルトフォントハンドルを使用した文字列の1文字毎の情報を取得する
13488 		 */
13489 		extern int GetDrawExtendNStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13490 
13491 		/**
13492 		 * デフォルトフォントハンドルを使用した書式付き文字列の1文字毎の情報を取得する
13493 		 */
13494 		extern int GetDrawExtendFormatStringCharInfo(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13495 
13496 		/**
13497 		 * デフォルトフォントハンドルを使用した二つの文字のペアのカーニング情報を取得する
13498 		 *
13499 		 * Params:
13500 		 *      PairChar = カーニング情報を調べるペアとなる2文字の文字列( 2文字以上あっても先頭の2文字だけ使用されます )
13501 		 *      KernAmount = 2文字目の文字を基本の位置からずらすドット数を代入するint型変数のアドレス
13502 		 */
13503 		extern int GetDrawStringKerningPairInfo(const (dxlib_d.dxdatatype.TCHAR)* PairChar, int* KernAmount);
13504 
13505 		/**
13506 		 * デフォルトフォントハンドルを使用した二つの文字のペアのカーニング情報を取得する
13507 		 *
13508 		 * Params:
13509 		 *      PairChar = カーニング情報を調べるペアとなる2文字の文字列( 2文字以上あっても先頭の2文字だけ使用されます )
13510 		 *      PairCharLength = ?
13511 		 *      KernAmount = 2文字目の文字を基本の位置からずらすドット数を代入するint型変数のアドレス
13512 		 */
13513 		extern int GetDrawStringKerningPairInfoWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* PairChar, size_t PairCharLength, int* KernAmount);
13514 
13515 		/**
13516 		 * フォントハンドルのフォント名を取得する
13517 		 */
13518 		extern const (dxlib_d.dxdatatype.TCHAR)* GetFontNameToHandle(int FontHandle);
13519 
13520 		/**
13521 		 * フォントハンドルのキャッシュできる文字の数を取得する
13522 		 */
13523 		extern int GetFontMaxCacheCharNumToHandle(int FontHandle);
13524 
13525 		/**
13526 		 * フォントハンドルの文字の最大幅を取得する
13527 		 */
13528 		extern int GetFontMaxWidthToHandle(int FontHandle);
13529 
13530 		/**
13531 		 * フォントハンドルの描画位置からベースラインまでの高さを取得する
13532 		 */
13533 		extern int GetFontAscentToHandle(int FontHandle);
13534 
13535 		/**
13536 		 * フォントハンドルのサイズを取得する
13537 		 */
13538 		extern int GetFontSizeToHandle(int FontHandle);
13539 
13540 		/**
13541 		 * フォントハンドルの縁サイズを取得する
13542 		 */
13543 		extern int GetFontEdgeSizeToHandle(int FontHandle);
13544 
13545 		/**
13546 		 * フォントハンドルの字間を取得する
13547 		 */
13548 		extern int GetFontSpaceToHandle(int FontHandle);
13549 
13550 		/**
13551 		 * フォントハンドルの行間を取得する
13552 		 */
13553 		extern int GetFontLineSpaceToHandle(int FontHandle);
13554 
13555 		/**
13556 		 * フォントハンドルの指定の文字の描画情報を取得する
13557 		 */
13558 		extern int GetFontCharInfo(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char, int* DrawX, int* DrawY, int* NextCharX, int* SizeX, int* SizeY);
13559 
13560 		/**
13561 		 * フォントハンドルの指定の文字の描画情報を取得する
13562 		 */
13563 		extern int GetFontCharInfoWithStrLen(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* Char, size_t CharLength, int* DrawX, int* DrawY, int* NextCharX, int* SizeX, int* SizeY);
13564 
13565 		/**
13566 		 * フォントハンドルを使用した文字列の描画幅を取得する
13567 		 */
13568 		extern int GetDrawStringWidthToHandle(const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13569 
13570 		/**
13571 		 * フォントハンドルを使用した文字列の描画幅を取得する
13572 		 */
13573 		extern int GetDrawNStringWidthToHandle(const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13574 
13575 		/**
13576 		 * フォントハンドルを使用した書式付き文字列の描画幅を取得する
13577 		 */
13578 		extern int GetDrawFormatStringWidthToHandle(int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13579 
13580 		/**
13581 		 * フォントハンドルを使用した文字列の描画幅を取得する
13582 		 */
13583 		extern int GetDrawExtendStringWidthToHandle(double ExRateX, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13584 
13585 		/**
13586 		 * フォントハンドルを使用した文字列の描画幅を取得する
13587 		 */
13588 		extern int GetDrawExtendNStringWidthToHandle(double ExRateX, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13589 
13590 		/**
13591 		 * フォントハンドルを使用した書式付き文字列の描画幅を取得する
13592 		 */
13593 		extern int GetDrawExtendFormatStringWidthToHandle(double ExRateX, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13594 
13595 		/**
13596 		 * フォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13597 		 */
13598 		extern int GetDrawStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13599 
13600 		/**
13601 		 * フォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13602 		 */
13603 		extern int GetDrawNStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13604 
13605 		/**
13606 		 * フォントハンドルを使用した書式付き文字列の描画幅・高さ・行数を取得する
13607 		 */
13608 		extern int GetDrawFormatStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13609 
13610 		/**
13611 		 * フォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13612 		 */
13613 		extern int GetDrawExtendStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13614 
13615 		/**
13616 		 * フォントハンドルを使用した文字列の描画幅・高さ・行数を取得する
13617 		 */
13618 		extern int GetDrawExtendNStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13619 
13620 		/**
13621 		 * フォントハンドルを使用した書式付き文字列の描画幅・高さ・行数を取得する
13622 		 */
13623 		extern int GetDrawExtendFormatStringSizeToHandle(int* SizeX, int* SizeY, int* LineCount, double ExRateX, double ExRateY, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13624 
13625 		/**
13626 		 * フォントハンドルを使用した文字列の1文字毎の情報を取得する
13627 		 */
13628 		extern int GetDrawStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13629 
13630 		/**
13631 		 * フォントハンドルを使用した文字列の1文字毎の情報を取得する
13632 		 */
13633 		extern int GetDrawNStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13634 
13635 		/**
13636 		 * フォントハンドルを使用した書式付き文字列の1文字毎の情報を取得する
13637 		 */
13638 		extern int GetDrawFormatStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13639 
13640 		/**
13641 		 * フォントハンドルを使用した文字列の1文字毎の情報を取得する
13642 		 */
13643 		extern int GetDrawExtendStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int StrLen, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13644 
13645 		/**
13646 		 * フォントハンドルを使用した文字列の1文字毎の情報を取得する
13647 		 */
13648 		extern int GetDrawExtendNStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13649 
13650 		/**
13651 		 * フォントハンドルを使用した書式付き文字列の1文字毎の情報を取得する
13652 		 */
13653 		extern int GetDrawExtendFormatStringCharInfoToHandle(.DRAWCHARINFO* InfoBuffer, size_t InfoBufferSize, double ExRateX, double ExRateY, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13654 
13655 		/**
13656 		 * フォントハンドルを使用した二つの文字のペアのカーニング情報を取得する
13657 		 *
13658 		 * Params:
13659 		 *      PairChar = カーニング情報を調べるペアとなる2文字の文字列( 2文字以上あっても先頭の2文字だけ使用されます )
13660 		 *      KernAmount = 2文字目の文字を基本の位置からずらすドット数を代入するint型変数のアドレス
13661 		 *      FontHandle = ?
13662 		 */
13663 		extern int GetDrawStringKerningPairInfoToHandle(const (dxlib_d.dxdatatype.TCHAR)* PairChar, int* KernAmount, int FontHandle);
13664 
13665 		/**
13666 		 * フォントハンドルを使用した二つの文字のペアのカーニング情報を取得する
13667 		 *
13668 		 * Params:
13669 		 *      PairChar = カーニング情報を調べるペアとなる2文字の文字列( 2文字以上あっても先頭の2文字だけ使用されます )
13670 		 *      KernAmount = 2文字目の文字を基本の位置からずらすドット数を代入するint型変数のアドレス
13671 		 *      FontHandle = ?
13672 		 */
13673 		extern int GetDrawStringKerningPairInfoToHandleWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* PairChar, size_t PairCharLength, int* KernAmount, int FontHandle);
13674 
13675 		/**
13676 		 * フォントハンドルの情報を取得する
13677 		 */
13678 		extern int GetFontStateToHandle(dxlib_d.dxdatatype.TCHAR* FontName, int* Size, int* Thick, int FontHandle, int* FontType = null, int* CharSet = null, int* EdgeSize = null, int* Italic = null);
13679 
13680 		/**
13681 		 * フォントハンドルがテクスチャキャッシュを使用しているかどうかを取得する
13682 		 */
13683 		extern int CheckFontCacheToTextureFlag(int FontHandle);
13684 
13685 		/**
13686 		 * CheckFontCacheToTextureFlag の誤字版
13687 		 */
13688 		extern int CheckFontChacheToTextureFlag(int FontHandle);
13689 
13690 		/**
13691 		 * フォントハンドルが有効かどうかを取得する
13692 		 */
13693 		extern int CheckFontHandleValid(int FontHandle);
13694 
13695 		/**
13696 		 * フォントハンドルのキャッシュ情報を初期化する
13697 		 */
13698 		extern int ClearFontCacheToHandle(int FontHandle);
13699 
13700 		/**
13701 		 * フォントのキャッシュにテクスチャを使用するかどうかを設定する
13702 		 *
13703 		 * Params:
13704 		 *      Flag = TRUE:テクスチャを使用する( デフォルト )  FALSE:テクスチャは使用しない
13705 		 */
13706 		extern int SetFontCacheToTextureFlag(int Flag);
13707 
13708 		/**
13709 		 * フォントのキャッシュにテクスチャを使用するかどうかを設定する
13710 		 */
13711 		extern int GetFontCacheToTextureFlag();
13712 
13713 		/**
13714 		 * SetFontCacheToTextureFlag の誤字版
13715 		 */
13716 		extern int SetFontChacheToTextureFlag(int Flag);
13717 
13718 		/**
13719 		 * GetFontCacheToTextureFlag の誤字版
13720 		 */
13721 		extern int GetFontChacheToTextureFlag();
13722 
13723 		/**
13724 		 * フォントのキャッシュとして使用するテクスチャのカラービット深度を設定する( 16 又は 32 のみ指定可能  デフォルトは 32 )
13725 		 */
13726 		extern int SetFontCacheTextureColorBitDepth(int ColorBitDepth);
13727 
13728 		/**
13729 		 * フォントのキャッシュとして使用するテクスチャのカラービット深度を取得する
13730 		 */
13731 		extern int GetFontCacheTextureColorBitDepth();
13732 
13733 		/**
13734 		 * フォントキャッシュでキャッシュできる文字数を設定する
13735 		 */
13736 		extern int SetFontCacheCharNum(int CharNum);
13737 
13738 		/**
13739 		 * フォントキャッシュでキャッシュできる文字数を取得する
13740 		 *
13741 		 * Returns: 0:デフォルト  1以上:指定文字数
13742 		 */
13743 		extern int GetFontCacheCharNum();
13744 
13745 		/**
13746 		 * フォントキャッシュとして保存する画像の形式を乗算済みαチャンネル付き画像にするかどうかを設定する
13747 		 *
13748 		 * Params:
13749 		 *      Flag = TRUE:乗算済みαを使用する  FLASE:乗算済みαを使用しない( デフォルト )
13750 		 */
13751 		extern int SetFontCacheUsePremulAlphaFlag(int Flag);
13752 
13753 		/**
13754 		 * フォントキャッシュとして保存する画像の形式を乗算済みαチャンネル付き画像にするかどうかを取得する
13755 		 */
13756 		extern int GetFontCacheUsePremulAlphaFlag();
13757 
13758 		/**
13759 		 * フォントのサイズを補正する処理を行うかどうかを設定する
13760 		 *
13761 		 * Params:
13762 		 *      Flag = TRUE:行う( デフォルト )  FALSE:行わない
13763 		 */
13764 		extern int SetFontUseAdjustSizeFlag(int Flag);
13765 
13766 		/**
13767 		 * フォントのサイズを補正する処理を行うかどうかを取得する
13768 		 */
13769 		extern int GetFontUseAdjustSizeFlag();
13770 
13771 		// FontCacheStringDraw の代わりに DrawString を使ってください
13772 
13773 		/**
13774 		 * ?
13775 		 */
13776 		extern int FontCacheStringDrawToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, uint Color, uint EdgeColor, .BASEIMAGE* DestImage, const (dxlib_d.dxdatatype.RECT)* ClipRect /* null 可 */, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE, dxlib_d.dxdatatype.SIZE* DrawSizeP = null);
13777 
13778 		/**
13779 		 * ?
13780 		 */
13781 		extern int FontCacheStringDrawToHandleWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, size_t StrDataLength, uint Color, uint EdgeColor, .BASEIMAGE* DestImage, const (dxlib_d.dxdatatype.RECT)* ClipRect /* null 可 */, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE, dxlib_d.dxdatatype.SIZE* DrawSizeP = null);
13782 
13783 		/**
13784 		 * 基本イメージに文字列を描画する( デフォルトフォントハンドルを使用する )
13785 		 */
13786 		extern int FontBaseImageBlt(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, .BASEIMAGE* DestImage, .BASEIMAGE* DestEdgeImage, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13787 
13788 		/**
13789 		 * 基本イメージに文字列を描画する( デフォルトフォントハンドルを使用する )
13790 		 */
13791 		extern int FontBaseImageBltWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, size_t StrDataLength, .BASEIMAGE* DestImage, .BASEIMAGE* DestEdgeImage, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13792 
13793 		/**
13794 		 * 基本イメージに文字列を描画する
13795 		 */
13796 		extern int FontBaseImageBltToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, .BASEIMAGE* DestImage, .BASEIMAGE* DestEdgeImage, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13797 
13798 		/**
13799 		 * 基本イメージに文字列を描画する
13800 		 */
13801 		extern int FontBaseImageBltToHandleWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, size_t StrDataLength, .BASEIMAGE* DestImage, .BASEIMAGE* DestEdgeImage, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
13802 
13803 		/**
13804 		 * 2バイト文字か調べる( TRUE:2バイト文字  FALSE:1バイト文字 )
13805 		 *
13806 		 * Returns: TRUE:2バイト文字  FALSE:1バイト文字
13807 		 */
13808 		extern int MultiByteCharCheck(const (char)* Buf, int CharSet /* DX_CHARSET_SHFTJIS */);
13809 
13810 		// 文字列描画関数
13811 
13812 		/**
13813 		 * デフォルトフォントハンドルを使用して文字列を描画する
13814 		 */
13815 		extern int DrawString(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13816 
13817 		/**
13818 		 * デフォルトフォントハンドルを使用して文字列を描画する
13819 		 */
13820 		extern int DrawNString(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13821 
13822 		/**
13823 		 * デフォルトフォントハンドルを使用して文字列を描画する( 縦書き )
13824 		 */
13825 		extern int DrawVString(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13826 
13827 		/**
13828 		 * デフォルトフォントハンドルを使用して文字列を描画する( 縦書き )
13829 		 */
13830 		extern int DrawNVString(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13831 
13832 		/**
13833 		 * デフォルトフォントハンドルを使用して書式指定文字列を描画する
13834 		 */
13835 		extern int DrawFormatString(int x, int y, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13836 
13837 		/**
13838 		 * デフォルトフォントハンドルを使用して書式指定文字列を描画する( 縦書き )
13839 		 */
13840 		extern int DrawFormatVString(int x, int y, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13841 
13842 		/**
13843 		 * デフォルトフォントハンドルを使用して文字列の拡大描画
13844 		 */
13845 		extern int DrawExtendString(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13846 
13847 		/**
13848 		 * デフォルトフォントハンドルを使用して文字列の拡大描画
13849 		 */
13850 		extern int DrawExtendNString(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13851 
13852 		/**
13853 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 縦書き )
13854 		 */
13855 		extern int DrawExtendVString(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13856 
13857 		/**
13858 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 縦書き )
13859 		 */
13860 		extern int DrawExtendNVString(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13861 
13862 		/**
13863 		 * デフォルトフォントハンドルを使用して書式指定文字列を拡大描画する
13864 		 */
13865 		extern int DrawExtendFormatString(int x, int y, double ExRateX, double ExRateY, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13866 
13867 		/**
13868 		 * デフォルトフォントハンドルを使用して書式指定文字列を拡大描画する( 縦書き )
13869 		 */
13870 		extern int DrawExtendFormatVString(int x, int y, double ExRateX, double ExRateY, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13871 
13872 		/**
13873 		 * デフォルトフォントハンドルを使用して文字列を回転描画する
13874 		 */
13875 		extern int DrawRotaString(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null);
13876 
13877 		/**
13878 		 * デフォルトフォントハンドルを使用して文字列を回転描画する
13879 		 */
13880 		extern int DrawRotaNString(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null, size_t StringLength = 0);
13881 
13882 		/**
13883 		 * デフォルトフォントハンドルを使用して書式指定文字列を回転描画する
13884 		 */
13885 		extern int DrawRotaFormatString(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* FormatString = null, ...);
13886 
13887 		/**
13888 		 * デフォルトフォントハンドルを使用して文字列を変形描画する
13889 		 */
13890 		extern int DrawModiString(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null);
13891 
13892 		/**
13893 		 * デフォルトフォントハンドルを使用して文字列を変形描画する
13894 		 */
13895 		extern int DrawModiNString(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null, size_t StringLength = 0);
13896 
13897 		/**
13898 		 * デフォルトフォントハンドルを使用して書式指定文字列を変形描画する
13899 		 */
13900 		extern int DrawModiFormatString(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* FormatString = null, ...);
13901 
13902 		/**
13903 		 * デフォルトフォントハンドルを使用して文字列を描画する( 座標指定が float 版 )
13904 		 */
13905 		extern int DrawStringF(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13906 
13907 		/**
13908 		 * デフォルトフォントハンドルを使用して文字列を描画する( 座標指定が float 版 )
13909 		 */
13910 		extern int DrawNStringF(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13911 
13912 		/**
13913 		 * デフォルトフォントハンドルを使用して文字列を描画する( 縦書き )( 座標指定が float 版 )
13914 		 */
13915 		extern int DrawVStringF(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13916 
13917 		/**
13918 		 * デフォルトフォントハンドルを使用して文字列を描画する( 縦書き )( 座標指定が float 版 )
13919 		 */
13920 		extern int DrawNVStringF(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13921 
13922 		/**
13923 		 * デフォルトフォントハンドルを使用して書式指定文字列を描画する( 座標指定が float 版 )
13924 		 */
13925 		extern int DrawFormatStringF(float x, float y, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13926 
13927 		/**
13928 		 * デフォルトフォントハンドルを使用して書式指定文字列を描画する( 縦書き )( 座標指定が float 版 )
13929 		 */
13930 		extern int DrawFormatVStringF(float x, float y, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13931 
13932 		/**
13933 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 座標指定が float 版 )
13934 		 */
13935 		extern int DrawExtendStringF(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13936 
13937 		/**
13938 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 座標指定が float 版 )
13939 		 */
13940 		extern int DrawExtendNStringF(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13941 
13942 		/**
13943 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 縦書き )( 座標指定が float 版 )
13944 		 */
13945 		extern int DrawExtendVStringF(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, uint EdgeColor = 0);
13946 
13947 		/**
13948 		 * デフォルトフォントハンドルを使用して文字列の拡大描画( 縦書き )( 座標指定が float 版 )
13949 		 */
13950 		extern int DrawExtendNVStringF(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, uint EdgeColor = 0);
13951 
13952 		/**
13953 		 * デフォルトフォントハンドルを使用して書式指定文字列を拡大描画する( 座標指定が float 版 )
13954 		 */
13955 		extern int DrawExtendFormatStringF(float x, float y, double ExRateX, double ExRateY, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13956 
13957 		/**
13958 		 * デフォルトフォントハンドルを使用して書式指定文字列を拡大描画する( 縦書き )( 座標指定が float 版 )
13959 		 */
13960 		extern int DrawExtendFormatVStringF(float x, float y, double ExRateX, double ExRateY, uint Color, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
13961 
13962 		/**
13963 		 * デフォルトフォントハンドルを使用して文字列を回転描画する( 座標指定が float 版 )
13964 		 */
13965 		extern int DrawRotaStringF(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null);
13966 
13967 		/**
13968 		 * デフォルトフォントハンドルを使用して文字列を回転描画する( 座標指定が float 版 )
13969 		 */
13970 		extern int DrawRotaNStringF(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null, size_t StringLength = 0);
13971 
13972 		/**
13973 		 * デフォルトフォントハンドルを使用して書式指定文字列を回転描画する( 座標指定が float 版 )
13974 		 */
13975 		extern int DrawRotaFormatStringF(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* FormatString = null, ...);
13976 
13977 		/**
13978 		 * デフォルトフォントハンドルを使用して文字列を変形描画する( 座標指定が float 版 )
13979 		 */
13980 		extern int DrawModiStringF(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null);
13981 
13982 		/**
13983 		 * デフォルトフォントハンドルを使用して文字列を変形描画する( 座標指定が float 版 )
13984 		 */
13985 		extern int DrawModiNStringF(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null, size_t StringLength = 0);
13986 
13987 		/**
13988 		 * デフォルトフォントハンドルを使用して書式指定文字列を変形描画する( 座標指定が float 版 )
13989 		 */
13990 		extern int DrawModiFormatStringF(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* FormatString = null, ...);
13991 
13992 		/**
13993 		 * デフォルトフォントハンドルを使用して整数型の数値を描画する
13994 		 */
13995 		extern int DrawNumberToI(int x, int y, int Num, int RisesNum, uint Color, uint EdgeColor = 0);
13996 
13997 		/**
13998 		 * デフォルトフォントハンドルを使用して浮動小数点型の数値を描画する
13999 		 */
14000 		extern int DrawNumberToF(int x, int y, double Num, int Length, uint Color, uint EdgeColor = 0);
14001 
14002 		/**
14003 		 * デフォルトフォントハンドルを使用して整数型の数値とその説明の文字列を一度に描画する
14004 		 */
14005 		extern int DrawNumberPlusToI(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* NoteString, int Num, int RisesNum, uint Color, uint EdgeColor = 0);
14006 
14007 		/**
14008 		 * デフォルトフォントハンドルを使用して浮動小数点型の数値とその説明の文字列を一度に描画する
14009 		 */
14010 		extern int DrawNumberPlusToF(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* NoteString, double Num, int Length, uint Color, uint EdgeColor = 0);
14011 
14012 		/**
14013 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を描画する
14014 		 */
14015 		extern int DrawStringToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14016 
14017 		/**
14018 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を描画する
14019 		 */
14020 		extern int DrawNStringToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14021 
14022 		/**
14023 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を描画する( 縦書き )
14024 		 */
14025 		extern int DrawVStringToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14026 
14027 		/**
14028 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を描画する( 縦書き )
14029 		 */
14030 		extern int DrawNVStringToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14031 
14032 		/**
14033 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を描画する
14034 		 */
14035 		extern int DrawFormatStringToZBuffer(int x, int y, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14036 
14037 		/**
14038 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を描画する( 縦書き )
14039 		 */
14040 		extern int DrawFormatVStringToZBuffer(int x, int y, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14041 
14042 		/**
14043 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を拡大描画する
14044 		 */
14045 		extern int DrawExtendStringToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14046 
14047 		/**
14048 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を拡大描画する
14049 		 */
14050 		extern int DrawExtendNStringToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14051 
14052 		/**
14053 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を拡大描画する( 縦書き )
14054 		 */
14055 		extern int DrawExtendVStringToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14056 
14057 		/**
14058 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を拡大描画する( 縦書き )
14059 		 */
14060 		extern int DrawExtendNVStringToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14061 
14062 		/**
14063 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を拡大描画する
14064 		 */
14065 		extern int DrawExtendFormatStringToZBuffer(int x, int y, double ExRateX, double ExRateY, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14066 
14067 		/**
14068 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を拡大描画する( 縦書き )
14069 		 */
14070 		extern int DrawExtendFormatVStringToZBuffer(int x, int y, double ExRateX, double ExRateY, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14071 
14072 		/**
14073 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を回転描画する
14074 		 */
14075 		extern int DrawRotaStringToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14076 
14077 		/**
14078 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を回転描画する
14079 		 */
14080 		extern int DrawRotaNStringToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14081 
14082 		/**
14083 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を回転描画する
14084 		 */
14085 		extern int DrawRotaFormatStringToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14086 
14087 		/**
14088 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を変形描画する
14089 		 */
14090 		extern int DrawModiStringToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14091 
14092 		/**
14093 		 * デフォルトフォントハンドルを使用してZバッファに対して文字列を変形描画する
14094 		 */
14095 		extern int DrawModiNStringToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14096 
14097 		/**
14098 		 * デフォルトフォントハンドルを使用してZバッファに対して書式指定文字列を変形描画する
14099 		 */
14100 		extern int DrawModiFormatStringToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14101 
14102 		/**
14103 		 * フォントハンドルを使用して文字列を描画する
14104 		 */
14105 		extern int DrawStringToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14106 
14107 		/**
14108 		 * フォントハンドルを使用して文字列を描画する
14109 		 */
14110 		extern int DrawNStringToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14111 
14112 		/**
14113 		 * フォントハンドルを使用して文字列を描画する( 縦書き )
14114 		 */
14115 		extern int DrawVStringToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0);
14116 
14117 		/**
14118 		 * フォントハンドルを使用して文字列を描画する( 縦書き )
14119 		 */
14120 		extern int DrawNVStringToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0);
14121 
14122 		/**
14123 		 * フォントハンドルを使用して書式指定文字列を描画する
14124 		 */
14125 		extern int DrawFormatStringToHandle(int x, int y, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14126 
14127 		/**
14128 		 * フォントハンドルを使用して書式指定文字列を描画する( 縦書き )
14129 		 */
14130 		extern int DrawFormatVStringToHandle(int x, int y, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14131 
14132 		/**
14133 		 * フォントハンドルを使用して文字列を拡大描画する
14134 		 */
14135 		extern int DrawExtendStringToHandle(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14136 
14137 		/**
14138 		 * フォントハンドルを使用して文字列を拡大描画する
14139 		 */
14140 		extern int DrawExtendNStringToHandle(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14141 
14142 		/**
14143 		 * フォントハンドルを使用して文字列を拡大描画する( 縦書き )
14144 		 */
14145 		extern int DrawExtendVStringToHandle(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0);
14146 
14147 		/**
14148 		 * フォントハンドルを使用して文字列を拡大描画する( 縦書き )
14149 		 */
14150 		extern int DrawExtendNVStringToHandle(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0);
14151 
14152 		/**
14153 		 * フォントハンドルを使用して書式指定文字列を拡大描画する
14154 		 */
14155 		extern int DrawExtendFormatStringToHandle(int x, int y, double ExRateX, double ExRateY, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14156 
14157 		/**
14158 		 * フォントハンドルを使用して書式指定文字列を拡大描画する( 縦書き )
14159 		 */
14160 		extern int DrawExtendFormatVStringToHandle(int x, int y, double ExRateX, double ExRateY, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14161 
14162 		/**
14163 		 * フォントハンドルを使用して文字列を回転描画する
14164 		 */
14165 		extern int DrawRotaStringToHandle(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14166 
14167 		/**
14168 		 * フォントハンドルを使用して文字列を回転描画する
14169 		 */
14170 		extern int DrawRotaNStringToHandle(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14171 
14172 		/**
14173 		 * フォントハンドルを使用して書式指定文字列を回転描画する
14174 		 */
14175 		extern int DrawRotaFormatStringToHandle(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14176 
14177 		/**
14178 		 * フォントハンドルを使用して文字列を変形描画する
14179 		 */
14180 		extern int DrawModiStringToHandle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14181 
14182 		/**
14183 		 * フォントハンドルを使用して文字列を変形描画する
14184 		 */
14185 		extern int DrawModiNStringToHandle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14186 
14187 		/**
14188 		 * フォントハンドルを使用して書式指定文字列を変形描画する
14189 		 */
14190 		extern int DrawModiFormatStringToHandle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14191 
14192 		/**
14193 		 * フォントハンドルを使用して文字列を描画する( 座標指定が float 版 )
14194 		 */
14195 		extern int DrawStringFToHandle(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14196 
14197 		/**
14198 		 * フォントハンドルを使用して文字列を描画する( 座標指定が float 版 )
14199 		 */
14200 		extern int DrawNStringFToHandle(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14201 
14202 		/**
14203 		 * フォントハンドルを使用して文字列を描画する( 縦書き )( 座標指定が float 版 )
14204 		 */
14205 		extern int DrawVStringFToHandle(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0);
14206 
14207 		/**
14208 		 * フォントハンドルを使用して文字列を描画する( 縦書き )( 座標指定が float 版 )
14209 		 */
14210 		extern int DrawNVStringFToHandle(float x, float y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0);
14211 
14212 		/**
14213 		 * フォントハンドルを使用して書式指定文字列を描画する( 座標指定が float 版 )
14214 		 */
14215 		extern int DrawFormatStringFToHandle(float x, float y, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14216 
14217 		/**
14218 		 * フォントハンドルを使用して書式指定文字列を描画する( 縦書き )( 座標指定が float 版 )
14219 		 */
14220 		extern int DrawFormatVStringFToHandle(float x, float y, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14221 
14222 		/**
14223 		 * フォントハンドルを使用して文字列を拡大描画する( 座標指定が float 版 )
14224 		 */
14225 		extern int DrawExtendStringFToHandle(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14226 
14227 		/**
14228 		 * フォントハンドルを使用して文字列を拡大描画する( 座標指定が float 版 )
14229 		 */
14230 		extern int DrawExtendNStringFToHandle(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14231 
14232 		/**
14233 		 * フォントハンドルを使用して文字列を拡大描画する( 縦書き )( 座標指定が float 版 )
14234 		 */
14235 		extern int DrawExtendVStringFToHandle(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, uint Color, int FontHandle, uint EdgeColor = 0);
14236 
14237 		/**
14238 		 * フォントハンドルを使用して文字列を拡大描画する( 縦書き )( 座標指定が float 版 )
14239 		 */
14240 		extern int DrawExtendNVStringFToHandle(float x, float y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, uint Color, int FontHandle, uint EdgeColor = 0);
14241 
14242 		/**
14243 		 * フォントハンドルを使用して書式指定文字列を拡大描画する( 座標指定が float 版 )
14244 		 */
14245 		extern int DrawExtendFormatStringFToHandle(float x, float y, double ExRateX, double ExRateY, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14246 
14247 		/**
14248 		 * フォントハンドルを使用して書式指定文字列を拡大描画する( 縦書き )( 座標指定が float 版 )
14249 		 */
14250 		extern int DrawExtendFormatVStringFToHandle(float x, float y, double ExRateX, double ExRateY, uint Color, int FontHandle, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14251 
14252 		/**
14253 		 * フォントハンドルを使用して文字列を回転描画する( 座標指定が float 版 )
14254 		 */
14255 		extern int DrawRotaStringFToHandle(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null);
14256 
14257 		/**
14258 		 * フォントハンドルを使用して文字列を回転描画する( 座標指定が float 版 )
14259 		 */
14260 		extern int DrawRotaNStringFToHandle(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* String = null, size_t StringLength = 0);
14261 
14262 		/**
14263 		 * フォントハンドルを使用して書式指定文字列を回転描画する( 座標指定が float 版 )
14264 		 */
14265 		extern int DrawRotaFormatStringFToHandle(float x, float y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, uint Color, int FontHandle, uint EdgeColor = 0, int VerticalFlag = dxlib_d.dxdatatype.FALSE, const (dxlib_d.dxdatatype.TCHAR)* FormatString = null, ...);
14266 
14267 		/**
14268 		 * フォントハンドルを使用して文字列を変形描画する( 座標指定が float 版 )
14269 		 */
14270 		extern int DrawModiStringFToHandle(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14271 
14272 		/**
14273 		 * フォントハンドルを使用して文字列を変形描画する( 座標指定が float 版 )
14274 		 */
14275 		extern int DrawModiNStringFToHandle(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14276 
14277 		/**
14278 		 * フォントハンドルを使用して書式指定文字列を変形描画する( 座標指定が float 版 )
14279 		 */
14280 		extern int DrawModiFormatStringFToHandle(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, uint Color, int FontHandle, uint EdgeColor, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14281 
14282 		/**
14283 		 * フォントハンドルを使用して整数型の数値を描画する
14284 		 */
14285 		extern int DrawNumberToIToHandle(int x, int y, int Num, int RisesNum, uint Color, int FontHandle, uint EdgeColor = 0);
14286 
14287 		/**
14288 		 * フォントハンドルを使用して浮動小数点型の数値を描画する
14289 		 */
14290 		extern int DrawNumberToFToHandle(int x, int y, double Num, int Length, uint Color, int FontHandle, uint EdgeColor = 0);
14291 
14292 		/**
14293 		 * フォントハンドルを使用して整数型の数値とその説明の文字列を一度に描画する
14294 		 */
14295 		extern int DrawNumberPlusToIToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* NoteString, int Num, int RisesNum, uint Color, int FontHandle, uint EdgeColor = 0);
14296 
14297 		/**
14298 		 * フォントハンドルを使用して浮動小数点型の数値とその説明の文字列を一度に描画する
14299 		 */
14300 		extern int DrawNumberPlusToFToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* NoteString, double Num, int Length, uint Color, int FontHandle, uint EdgeColor = 0);
14301 
14302 		/**
14303 		 * フォントハンドルを使用してZバッファに対して文字列を描画する
14304 		 */
14305 		extern int DrawStringToHandleToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14306 
14307 		/**
14308 		 * フォントハンドルを使用してZバッファに対して文字列を描画する
14309 		 */
14310 		extern int DrawNStringToHandleToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14311 
14312 		/**
14313 		 * フォントハンドルを使用してZバッファに対して文字列を描画する( 縦書き )
14314 		 */
14315 		extern int DrawVStringToHandleToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14316 
14317 		/**
14318 		 * フォントハンドルを使用してZバッファに対して文字列を描画する( 縦書き )
14319 		 */
14320 		extern int DrawNVStringToHandleToZBuffer(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14321 
14322 		/**
14323 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を描画する
14324 		 */
14325 		extern int DrawFormatStringToHandleToZBuffer(int x, int y, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14326 
14327 		/**
14328 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を描画する( 縦書き )
14329 		 */
14330 		extern int DrawFormatVStringToHandleToZBuffer(int x, int y, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14331 
14332 		/**
14333 		 * フォントハンドルを使用してZバッファに対して文字列を拡大描画する
14334 		 */
14335 		extern int DrawExtendStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14336 
14337 		/**
14338 		 * フォントハンドルを使用してZバッファに対して文字列を拡大描画する
14339 		 */
14340 		extern int DrawExtendNStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
14341 
14342 		/**
14343 		 * フォントハンドルを使用してZバッファに対して文字列を拡大描画する( 縦書き )
14344 		 */
14345 		extern int DrawExtendVStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14346 
14347 		/**
14348 		 * フォントハンドルを使用してZバッファに対して文字列を拡大描画する( 縦書き )
14349 		 */
14350 		extern int DrawExtendNVStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */);
14351 
14352 		/**
14353 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を拡大描画する
14354 		 */
14355 		extern int DrawExtendFormatStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14356 
14357 		/**
14358 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を拡大描画する( 縦書き )
14359 		 */
14360 		extern int DrawExtendFormatVStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14361 
14362 		/**
14363 		 * フォントハンドルを使用してZバッファに対して文字列を回転描画する
14364 		 */
14365 		extern int DrawRotaStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14366 
14367 		/**
14368 		 * フォントハンドルを使用してZバッファに対して文字列を回転描画する
14369 		 */
14370 		extern int DrawRotaNStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14371 
14372 		/**
14373 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を回転描画する
14374 		 */
14375 		extern int DrawRotaFormatStringToHandleToZBuffer(int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14376 
14377 		/**
14378 		 * フォントハンドルを使用してZバッファに対して文字列を変形描画する
14379 		 */
14380 		extern int DrawModiStringToHandleToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String);
14381 
14382 		/**
14383 		 * フォントハンドルを使用してZバッファに対して文字列を変形描画する
14384 		 */
14385 		extern int DrawModiNStringToHandleToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* String, size_t StringLength);
14386 
14387 		/**
14388 		 * フォントハンドルを使用してZバッファに対して書式指定文字列を変形描画する
14389 		 */
14390 		extern int DrawModiFormatStringToHandleToZBuffer(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int FontHandle, int WriteZMode /* DX_ZWRITE_MASK 等 */, int VerticalFlag, const (dxlib_d.dxdatatype.TCHAR)* FormatString, ...);
14391 	}
14392 
14393 	// DxMath.cpp 関数プロトタイプ宣言
14394 
14395 	// 演算ライブラリ
14396 
14397 	/**
14398 	 * float型要素の行列をdouble型要素の行列に変換する
14399 	 */
14400 	extern int ConvertMatrixFtoD(.MATRIX_D* Out, const (.MATRIX)* In);
14401 
14402 	/**
14403 	 * double型要素の行列をfloat型要素の行列に変換する
14404 	 */
14405 	extern int ConvertMatrixDtoF(.MATRIX* Out, const (.MATRIX_D)* In);
14406 
14407 	/**
14408 	 * 単位行列を作成する
14409 	 */
14410 	extern int CreateIdentityMatrix(.MATRIX* Out);
14411 
14412 	/**
14413 	 * 単位行列を作成する
14414 	 */
14415 	extern int CreateIdentityMatrixD(.MATRIX_D* Out);
14416 
14417 	/**
14418 	 * ビュー行列を作成する
14419 	 */
14420 	extern int CreateLookAtMatrix(.MATRIX* Out, const (.VECTOR)* Eye, const (.VECTOR)* At, const (.VECTOR)* Up);
14421 
14422 	/**
14423 	 * ビュー行列を作成する
14424 	 */
14425 	extern int CreateLookAtMatrixD(.MATRIX_D* Out, const (.VECTOR_D)* Eye, const (.VECTOR_D)* At, const (.VECTOR_D)* Up);
14426 
14427 	/**
14428 	 * ビュー行列を作成する(方向を回転値で指定)
14429 	 */
14430 	extern int CreateLookAtMatrix2(.MATRIX* Out, const (.VECTOR)* Eye, double XZAngle, double Oira);
14431 
14432 	/**
14433 	 * ビュー行列を作成する(方向を回転値で指定)
14434 	 */
14435 	extern int CreateLookAtMatrix2D(.MATRIX_D* Out, const (.VECTOR_D)* Eye, double XZAngle, double Oira);
14436 
14437 	/**
14438 	 * ビュー行列を作成する(右手座標系用)
14439 	 */
14440 	extern int CreateLookAtMatrixRH(.MATRIX* Out, const (.VECTOR)* Eye, const (.VECTOR)* At, const (.VECTOR)* Up);
14441 
14442 	/**
14443 	 * ビュー行列を作成する(右手座標系用)
14444 	 */
14445 	extern int CreateLookAtMatrixRHD(.MATRIX_D* Out, const (.VECTOR_D)* Eye, const (.VECTOR_D)* At, const (.VECTOR_D)* Up);
14446 
14447 	/**
14448 	 * 行列の積を求める
14449 	 */
14450 	extern int CreateMultiplyMatrix(.MATRIX* Out, const (.MATRIX)* In1, const (.MATRIX)* In2);
14451 
14452 	/**
14453 	 * 行列の積を求める
14454 	 */
14455 	extern int CreateMultiplyMatrixD(.MATRIX_D* Out, const (.MATRIX_D)* In1, const (.MATRIX_D)* In2);
14456 
14457 	/**
14458 	 * 射影行列を作成する
14459 	 */
14460 	extern int CreatePerspectiveFovMatrix(.MATRIX* Out, float fov, float zn, float zf, float aspect = -1.0f);
14461 
14462 	/**
14463 	 * 射影行列を作成する
14464 	 */
14465 	extern int CreatePerspectiveFovMatrixD(.MATRIX_D* Out, double fov, double zn, double zf, double aspect = -1.0f);
14466 
14467 	/**
14468 	 * 射影行列を作成する(右手座標系用)
14469 	 */
14470 	extern int CreatePerspectiveFovMatrixRH(.MATRIX* Out, float fov, float zn, float zf, float aspect = -1.0f);
14471 
14472 	/**
14473 	 * 射影行列を作成する(右手座標系用)
14474 	 */
14475 	extern int CreatePerspectiveFovMatrixRHD(.MATRIX_D* Out, double fov, double zn, double zf, double aspect = -1.0f);
14476 
14477 	/**
14478 	 * 正射影行列を作成する
14479 	 */
14480 	extern int CreateOrthoMatrix(.MATRIX* Out, float size, float zn, float zf, float aspect = -1.0f);
14481 
14482 	/**
14483 	 * 正射影行列を作成する
14484 	 */
14485 	extern int CreateOrthoMatrixD(.MATRIX_D* Out, double size, double zn, double zf, double aspect = -1.0f);
14486 
14487 	/**
14488 	 * 正射影行列を作成する(右手座標系用)
14489 	 */
14490 	extern int CreateOrthoMatrixRH(.MATRIX* Out, float size, float zn, float zf, float aspect = -1.0f);
14491 
14492 	/**
14493 	 * 正射影行列を作成する(右手座標系用)
14494 	 */
14495 	extern int CreateOrthoMatrixRHD(.MATRIX_D* Out, double size, double zn, double zf, double aspect = -1.0f);
14496 
14497 	/**
14498 	 * スケーリング行列を作成する
14499 	 */
14500 	extern int CreateScalingMatrix(.MATRIX* Out, float sx, float sy, float sz);
14501 
14502 	/**
14503 	 * スケーリング行列を作成する
14504 	 */
14505 	extern int CreateScalingMatrixD(.MATRIX_D* Out, double sx, double sy, double sz);
14506 
14507 	/**
14508 	 * X軸を中心とした回転行列を作成する
14509 	 */
14510 	extern int CreateRotationXMatrix(.MATRIX* Out, float Angle);
14511 
14512 	/**
14513 	 * X軸を中心とした回転行列を作成する
14514 	 */
14515 	extern int CreateRotationXMatrixD(.MATRIX_D* Out, double Angle);
14516 
14517 	/**
14518 	 * Y軸を中心とした回転行列を作成する
14519 	 */
14520 	extern int CreateRotationYMatrix(.MATRIX* Out, float Angle);
14521 
14522 	/**
14523 	 * Y軸を中心とした回転行列を作成する
14524 	 */
14525 	extern int CreateRotationYMatrixD(.MATRIX_D* Out, double Angle);
14526 
14527 	/**
14528 	 * Z軸を中心とした回転行列を作成する
14529 	 */
14530 	extern int CreateRotationZMatrix(.MATRIX* Out, float Angle);
14531 
14532 	/**
14533 	 * Z軸を中心とした回転行列を作成する
14534 	 */
14535 	extern int CreateRotationZMatrixD(.MATRIX_D* Out, double Angle);
14536 
14537 	/**
14538 	 * 平行移動行列を作成する
14539 	 */
14540 	extern int CreateTranslationMatrix(.MATRIX* Out, float x, float y, float z);
14541 
14542 	/**
14543 	 * 平行移動行列を作成する
14544 	 */
14545 	extern int CreateTranslationMatrixD(.MATRIX_D* Out, double x, double y, double z);
14546 
14547 	/**
14548 	 * 転置行列を作成する
14549 	 */
14550 	extern int CreateTransposeMatrix(.MATRIX* Out, const (.MATRIX)* In);
14551 
14552 	/**
14553 	 * 転置行列を作成する
14554 	 */
14555 	extern int CreateTransposeMatrixD(.MATRIX_D* Out, const (.MATRIX_D)* In);
14556 
14557 	/**
14558 	 * 逆行列を作成する
14559 	 */
14560 	extern int CreateInverseMatrix(.MATRIX* Out, const (.MATRIX)* In);
14561 
14562 	/**
14563 	 * 逆行列を作成する
14564 	 */
14565 	extern int CreateInverseMatrixD(.MATRIX_D* Out, const (.MATRIX_D)* In);
14566 
14567 	/**
14568 	 * ビューポート行列を作成する
14569 	 */
14570 	extern int CreateViewportMatrix(.MATRIX* Out, float CenterX, float CenterY, float Width, float Height);
14571 
14572 	/**
14573 	 * ビューポート行列を作成する
14574 	 */
14575 	extern int CreateViewportMatrixD(.MATRIX_D* Out, double CenterX, double CenterY, double Width, double Height);
14576 
14577 	/**
14578 	 * X軸回転→Y軸回転→Z軸回転を合成した行列を作成する
14579 	 */
14580 	extern int CreateRotationXYZMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14581 
14582 	/**
14583 	 * X軸回転→Y軸回転→Z軸回転を合成した行列を作成する
14584 	 */
14585 	extern int CreateRotationXYZMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14586 
14587 	/**
14588 	 * X軸回転→Z軸回転→Y軸回転を合成した行列を作成する
14589 	 */
14590 	extern int CreateRotationXZYMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14591 
14592 	/**
14593 	 * X軸回転→Z軸回転→Y軸回転を合成した行列を作成する
14594 	 */
14595 	extern int CreateRotationXZYMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14596 
14597 	/**
14598 	 * Y軸回転→X軸回転→Z軸回転を合成した行列を作成する
14599 	 */
14600 	extern int CreateRotationYXZMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14601 
14602 	/**
14603 	 * Y軸回転→X軸回転→Z軸回転を合成した行列を作成する
14604 	 */
14605 	extern int CreateRotationYXZMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14606 
14607 	/**
14608 	 * Y軸回転→Z軸回転→X軸回転を合成した行列を作成する
14609 	 */
14610 	extern int CreateRotationYZXMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14611 
14612 	/**
14613 	 * Y軸回転→Z軸回転→X軸回転を合成した行列を作成する
14614 	 */
14615 	extern int CreateRotationYZXMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14616 
14617 	/**
14618 	 * Z軸回転→X軸回転→Y軸回転を合成した行列を作成する
14619 	 */
14620 	extern int CreateRotationZXYMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14621 
14622 	/**
14623 	 * Z軸回転→X軸回転→Y軸回転を合成した行列を作成する
14624 	 */
14625 	extern int CreateRotationZXYMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14626 
14627 	/**
14628 	 * Z軸回転→Y軸回転→X軸回転を合成した行列を作成する
14629 	 */
14630 	extern int CreateRotationZYXMatrix(.MATRIX* Out, float XRot, float YRot, float ZRot);
14631 
14632 	/**
14633 	 * Z軸回転→Y軸回転→X軸回転を合成した行列を作成する
14634 	 */
14635 	extern int CreateRotationZYXMatrixD(.MATRIX_D* Out, double XRot, double YRot, double ZRot);
14636 
14637 	/**
14638 	 * 行列からXYZ軸回転の値を取得する
14639 	 *
14640 	 * Returns: -1:ジンバルロック発生  0:成功
14641 	 */
14642 	extern int GetMatrixXYZRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14643 
14644 	/**
14645 	 * 行列からXYZ軸回転の値を取得する
14646 	 *
14647 	 * Returns: -1:ジンバルロック発生  0:成功
14648 	 */
14649 	extern int GetMatrixXYZRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14650 
14651 	/**
14652 	 * 行列からXZY軸回転の値を取得する
14653 	 *
14654 	 * Returns: -1:ジンバルロック発生  0:成功
14655 	 */
14656 	extern int GetMatrixXZYRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14657 
14658 	/**
14659 	 * 行列からXZY軸回転の値を取得する
14660 	 *
14661 	 * Returns: -1:ジンバルロック発生  0:成功
14662 	 */
14663 	extern int GetMatrixXZYRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14664 
14665 	/**
14666 	 * 行列からYXZ軸回転の値を取得する
14667 	 *
14668 	 * Returns: -1:ジンバルロック発生  0:成功
14669 	 */
14670 	extern int GetMatrixYXZRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14671 
14672 	/**
14673 	 * 行列からYXZ軸回転の値を取得する
14674 	 *
14675 	 * Returns: -1:ジンバルロック発生  0:成功
14676 	 */
14677 	extern int GetMatrixYXZRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14678 
14679 	/**
14680 	 * 行列からYZX軸回転の値を取得する
14681 	 *
14682 	 * Returns: -1:ジンバルロック発生  0:成功
14683 	 */
14684 	extern int GetMatrixYZXRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14685 
14686 	/**
14687 	 * 行列からYZX軸回転の値を取得する
14688 	 *
14689 	 * Returns: -1:ジンバルロック発生  0:成功
14690 	 */
14691 	extern int GetMatrixYZXRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14692 
14693 	/**
14694 	 * 行列からZXY軸回転の値を取得する
14695 	 *
14696 	 * Returns: -1:ジンバルロック発生  0:成功
14697 	 */
14698 	extern int GetMatrixZXYRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14699 
14700 	/**
14701 	 * 行列からZXY軸回転の値を取得する
14702 	 *
14703 	 * Returns: -1:ジンバルロック発生  0:成功
14704 	 */
14705 	extern int GetMatrixZXYRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14706 
14707 	/**
14708 	 * 行列からZYX軸回転の値を取得する
14709 	 *
14710 	 * Returns: -1:ジンバルロック発生  0:成功
14711 	 */
14712 	extern int GetMatrixZYXRotation(const (.MATRIX)* In, float* OutXRot, float* OutYRot, float* OutZRot);
14713 
14714 	/**
14715 	 * 行列からZYX軸回転の値を取得する
14716 	 *
14717 	 * Returns: -1:ジンバルロック発生  0:成功
14718 	 */
14719 	extern int GetMatrixZYXRotationD(const (.MATRIX_D)* In, double* OutXRot, double* OutYRot, double* OutZRot);
14720 
14721 	/**
14722 	 * float型のベクトルをdouble型のベクトルに変換する
14723 	 */
14724 	extern int VectorConvertFtoD(.VECTOR_D* Out, const (.VECTOR)* In);
14725 
14726 	/**
14727 	 * double型のベクトルをfloat型のベクトルに変換する
14728 	 */
14729 	extern int VectorConvertDtoF(.VECTOR* Out, const (.VECTOR_D)* In);
14730 
14731 	/**
14732 	 * ベクトルを正規化する
14733 	 */
14734 	extern int VectorNormalize(.VECTOR* Out, const (.VECTOR)* In);
14735 
14736 	/**
14737 	 * ベクトルを正規化する
14738 	 */
14739 	extern int VectorNormalizeD(.VECTOR_D* Out, const (.VECTOR_D)* In);
14740 
14741 	/**
14742 	 * ベクトルをスカラー倍する
14743 	 */
14744 	extern int VectorScale(.VECTOR* Out, const (.VECTOR)* In, float Scale);
14745 
14746 	/**
14747 	 * ベクトルをスカラー倍する
14748 	 */
14749 	extern int VectorScaleD(.VECTOR_D* Out, const (.VECTOR_D)* In, double Scale);
14750 
14751 	/**
14752 	 * ベクトルの掛け算をする
14753 	 */
14754 	extern int VectorMultiply(.VECTOR* Out, const (.VECTOR)* In1, const (.VECTOR)* In2);
14755 
14756 	/**
14757 	 * ベクトルの掛け算をする
14758 	 */
14759 	extern int VectorMultiplyD(.VECTOR_D* Out, const (.VECTOR_D)* In1, const (.VECTOR_D)* In2);
14760 
14761 	/**
14762 	 * Out = In1 - In2 のベクトル計算をする
14763 	 */
14764 	extern int VectorSub(.VECTOR* Out, const (.VECTOR)* In1, const (.VECTOR)* In2);
14765 
14766 	/**
14767 	 * Out = In1 - In2 のベクトル計算をする
14768 	 */
14769 	extern int VectorSubD(.VECTOR_D* Out, const (.VECTOR_D)* In1, const (.VECTOR_D)* In2);
14770 
14771 	/**
14772 	 * Out = In1 + In2 のベクトル計算をする
14773 	 */
14774 	extern int VectorAdd(.VECTOR* Out, const (.VECTOR)* In1, const (.VECTOR)* In2);
14775 
14776 	/**
14777 	 * Out = In1 + In2 のベクトル計算をする
14778 	 */
14779 	extern int VectorAddD(.VECTOR_D* Out, const (.VECTOR_D)* In1, const (.VECTOR_D)* In2);
14780 
14781 	/**
14782 	 * In1とIn2の外積を計算する
14783 	 */
14784 	extern int VectorOuterProduct(.VECTOR* Out, const (.VECTOR)* In1, const (.VECTOR)* In2);
14785 
14786 	/**
14787 	 * In1とIn2の外積を計算する
14788 	 */
14789 	extern int VectorOuterProductD(.VECTOR_D* Out, const (.VECTOR_D)* In1, const (.VECTOR_D)* In2);
14790 
14791 	/**
14792 	 * In1とIn2の内積を計算する
14793 	 */
14794 	extern float VectorInnerProduct(const (.VECTOR)* In1, const (.VECTOR)* In2);
14795 
14796 	/**
14797 	 * In1とIn2の内積を計算する
14798 	 */
14799 	extern double VectorInnerProductD(const (.VECTOR_D)* In1, const (.VECTOR_D)* In2);
14800 
14801 	/**
14802 	 * ベクトルのX軸を軸にした回転を行う
14803 	 */
14804 	extern int VectorRotationX(.VECTOR* Out, const (.VECTOR)* In, double Angle);
14805 
14806 	/**
14807 	 * ベクトルのX軸を軸にした回転を行う
14808 	 */
14809 	extern int VectorRotationXD(.VECTOR_D* Out, const (.VECTOR_D)* In, double Angle);
14810 
14811 	/**
14812 	 * ベクトルのY軸を軸にした回転を行う
14813 	 */
14814 	extern int VectorRotationY(.VECTOR* Out, const (.VECTOR)* In, double Angle);
14815 
14816 	/**
14817 	 * ベクトルのY軸を軸にした回転を行う
14818 	 */
14819 	extern int VectorRotationYD(.VECTOR_D* Out, const (.VECTOR_D)* In, double Angle);
14820 
14821 	/**
14822 	 * ベクトルのZ軸を軸にした回転を行う
14823 	 */
14824 	extern int VectorRotationZ(.VECTOR* Out, const (.VECTOR)* In, double Angle);
14825 
14826 	/**
14827 	 * ベクトルのZ軸を軸にした回転を行う
14828 	 */
14829 	extern int VectorRotationZD(.VECTOR_D* Out, const (.VECTOR_D)* In, double Angle);
14830 
14831 	/**
14832 	 * ベクトル行列と4x4正方行列を乗算する( w は 1 と仮定 )
14833 	 */
14834 	extern int VectorTransform(.VECTOR* Out, const (.VECTOR)* InVec, const (.MATRIX)* InMatrix);
14835 
14836 	/**
14837 	 * ベクトル行列と4x4正方行列を乗算する( w は 1 と仮定 )
14838 	 */
14839 	extern int VectorTransformD(.VECTOR_D* Out, const (.VECTOR_D)* InVec, const (.MATRIX_D)* InMatrix);
14840 
14841 	/**
14842 	 * ベクトル行列と4x4正方行列の回転部分のみを乗算する
14843 	 */
14844 	extern int VectorTransformSR(.VECTOR* Out, const (.VECTOR)* InVec, const (.MATRIX)* InMatrix);
14845 
14846 	/**
14847 	 * ベクトル行列と4x4正方行列の回転部分のみを乗算する
14848 	 */
14849 	extern int VectorTransformSRD(.VECTOR_D* Out, const (.VECTOR_D)* InVec, const (.MATRIX_D)* InMatrix);
14850 
14851 	/**
14852 	 * ベクトル行列と4x4正方行列を乗算する( w の要素を渡す )
14853 	 */
14854 	extern int VectorTransform4(.VECTOR* Out, float* V4Out, const (.VECTOR)* InVec, const (float)* V4In, const (.MATRIX)* InMatrix);
14855 
14856 	/**
14857 	 * ベクトル行列と4x4正方行列を乗算する( w の要素を渡す )
14858 	 */
14859 	extern int VectorTransform4D(.VECTOR_D* Out, double* V4Out, const (.VECTOR_D)* InVec, const (double)* V4In, const (.MATRIX_D)* InMatrix);
14860 
14861 	/**
14862 	 * 二つの線分の最接近点情報を解析する
14863 	 */
14864 	extern int Segment_Segment_Analyse(const (.VECTOR)* SegmentAPos1, const (.VECTOR)* SegmentAPos2, const (.VECTOR)* SegmentBPos1, const (.VECTOR)* SegmentBPos2, .SEGMENT_SEGMENT_RESULT* Result);
14865 
14866 	/**
14867 	 * 二つの線分の最接近点情報を解析する
14868 	 */
14869 	extern int Segment_Segment_AnalyseD(const (.VECTOR_D)* SegmentAPos1, const (.VECTOR_D)* SegmentAPos2, const (.VECTOR_D)* SegmentBPos1, const (.VECTOR_D)* SegmentBPos2, .SEGMENT_SEGMENT_RESULT_D* Result);
14870 
14871 	/**
14872 	 * 線分と点の最接近点情報を解析する
14873 	 */
14874 	extern int Segment_Point_Analyse(const (.VECTOR)* SegmentPos1, const (.VECTOR)* SegmentPos2, const (.VECTOR)* PointPos, .SEGMENT_POINT_RESULT* Result);
14875 
14876 	/**
14877 	 * 線分と点の最接近点情報を解析する
14878 	 */
14879 	extern int Segment_Point_AnalyseD(const (.VECTOR_D)* SegmentPos1, const (.VECTOR_D)* SegmentPos2, const (.VECTOR_D)* PointPos, .SEGMENT_POINT_RESULT_D* Result);
14880 
14881 	/**
14882 	 * 線分と三角形の最接近点情報を解析する
14883 	 */
14884 	extern int Segment_Triangle_Analyse(const (.VECTOR)* SegmentPos1, const (.VECTOR)* SegmentPos2, const (.VECTOR)* TrianglePos1, const (.VECTOR)* TrianglePos2, const (.VECTOR)* TrianglePos3, .SEGMENT_TRIANGLE_RESULT* Result);
14885 
14886 	/**
14887 	 * 線分と三角形の最接近点情報を解析する
14888 	 */
14889 	extern int Segment_Triangle_AnalyseD(const (.VECTOR_D)* SegmentPos1, const (.VECTOR_D)* SegmentPos2, const (.VECTOR_D)* TrianglePos1, const (.VECTOR_D)* TrianglePos2, const (.VECTOR_D)* TrianglePos3, .SEGMENT_TRIANGLE_RESULT_D* Result);
14890 
14891 	/**
14892 	 * 三角形と点の最接近点情報を解析する
14893 	 */
14894 	extern int Triangle_Point_Analyse(const (.VECTOR)* TrianglePos1, const (.VECTOR)* TrianglePos2, const (.VECTOR)* TrianglePos3, const (.VECTOR)* PointPos, .TRIANGLE_POINT_RESULT* Result);
14895 
14896 	/**
14897 	 * 三角形と点の最接近点情報を解析する
14898 	 */
14899 	extern int Triangle_Point_AnalyseD(const (.VECTOR_D)* TrianglePos1, const (.VECTOR_D)* TrianglePos2, const (.VECTOR_D)* TrianglePos3, const (.VECTOR_D)* PointPos, .TRIANGLE_POINT_RESULT_D* Result);
14900 
14901 	/**
14902 	 * 平面と点の最近点情報を解析する
14903 	 */
14904 	extern int Plane_Point_Analyse(const (.VECTOR)* PlanePos, const (.VECTOR)* PlaneNormal, const (.VECTOR)* PointPos, .PLANE_POINT_RESULT* Result);
14905 
14906 	/**
14907 	 * 平面と点の最近点情報を解析する
14908 	 */
14909 	extern int Plane_Point_AnalyseD(const (.VECTOR_D)* PlanePos, const (.VECTOR_D)* PlaneNormal, const (.VECTOR_D)* PointPos, .PLANE_POINT_RESULT_D* Result);
14910 
14911 	/**
14912 	 * 指定の座標から三角形の重心を求める
14913 	 */
14914 	extern void TriangleBarycenter(.VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3, .VECTOR Position, float* TrianglePos1Weight, float* TrianglePos2Weight, float* TrianglePos3Weight);
14915 
14916 	/**
14917 	 * 指定の座標から三角形の重心を求める
14918 	 */
14919 	extern void TriangleBarycenterD(.VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3, .VECTOR_D Position, double* TrianglePos1Weight, double* TrianglePos2Weight, double* TrianglePos3Weight);
14920 
14921 	/**
14922 	 * 二つの線分の最近点間の距離を得る
14923 	 */
14924 	extern float Segment_Segment_MinLength(.VECTOR SegmentAPos1, .VECTOR SegmentAPos2, .VECTOR SegmentBPos1, .VECTOR SegmentBPos2);
14925 
14926 	/**
14927 	 * 二つの線分の最近点間の距離を得る
14928 	 */
14929 	extern double Segment_Segment_MinLengthD(.VECTOR_D SegmentAPos1, .VECTOR_D SegmentAPos2, .VECTOR_D SegmentBPos1, .VECTOR_D SegmentBPos2);
14930 
14931 	/**
14932 	 * 二つの線分の最近点間の距離の二乗を得る
14933 	 */
14934 	extern float Segment_Segment_MinLength_Square(.VECTOR SegmentAPos1, .VECTOR SegmentAPos2, .VECTOR SegmentBPos1, .VECTOR SegmentBPos2);
14935 
14936 	/**
14937 	 * 二つの線分の最近点間の距離の二乗を得る
14938 	 */
14939 	extern double Segment_Segment_MinLength_SquareD(.VECTOR_D SegmentAPos1, .VECTOR_D SegmentAPos2, .VECTOR_D SegmentBPos1, .VECTOR_D SegmentBPos2);
14940 
14941 	/**
14942 	 * 線分と三角形の最近点間の距離を得る
14943 	 */
14944 	extern float Segment_Triangle_MinLength(.VECTOR SegmentPos1, .VECTOR SegmentPos2, .VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3);
14945 
14946 	/**
14947 	 * 線分と三角形の最近点間の距離を得る
14948 	 */
14949 	extern double Segment_Triangle_MinLengthD(.VECTOR_D SegmentPos1, .VECTOR_D SegmentPos2, .VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3);
14950 
14951 	/**
14952 	 * 線分と三角形の最近点間の距離の二乗を得る
14953 	 */
14954 	extern float Segment_Triangle_MinLength_Square(.VECTOR SegmentPos1, .VECTOR SegmentPos2, .VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3);
14955 
14956 	/**
14957 	 * 線分と三角形の最近点間の距離の二乗を得る
14958 	 */
14959 	extern double Segment_Triangle_MinLength_SquareD(.VECTOR_D SegmentPos1, .VECTOR_D SegmentPos2, .VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3);
14960 
14961 	/**
14962 	 * 線分と点の一番近い距離を得る
14963 	 */
14964 	extern float Segment_Point_MinLength(.VECTOR SegmentPos1, .VECTOR SegmentPos2, .VECTOR PointPos);
14965 
14966 	/**
14967 	 * 線分と点の一番近い距離を得る
14968 	 */
14969 	extern double Segment_Point_MinLengthD(.VECTOR_D SegmentPos1, .VECTOR_D SegmentPos2, .VECTOR_D PointPos);
14970 
14971 	/**
14972 	 * 線分と点の一番近い距離の二乗を得る
14973 	 */
14974 	extern float Segment_Point_MinLength_Square(.VECTOR SegmentPos1, .VECTOR SegmentPos2, .VECTOR PointPos);
14975 
14976 	/**
14977 	 * 線分と点の一番近い距離の二乗を得る
14978 	 */
14979 	extern double Segment_Point_MinLength_SquareD(.VECTOR_D SegmentPos1, .VECTOR_D SegmentPos2, .VECTOR_D PointPos);
14980 
14981 	/**
14982 	 * 三角形と点の一番近い距離を得る
14983 	 */
14984 	extern float Triangle_Point_MinLength(.VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3, .VECTOR PointPos);
14985 
14986 	/**
14987 	 * 三角形と点の一番近い距離を得る
14988 	 */
14989 	extern double Triangle_Point_MinLengthD(.VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3, .VECTOR_D PointPos);
14990 
14991 	/**
14992 	 * 三角形と点の一番近い距離の二乗を得る
14993 	 */
14994 	extern float Triangle_Point_MinLength_Square(.VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3, .VECTOR PointPos);
14995 
14996 	/**
14997 	 * 三角形と点の一番近い距離の二乗を得る
14998 	 */
14999 	extern double Triangle_Point_MinLength_SquareD(.VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3, .VECTOR_D PointPos);
15000 
15001 	/**
15002 	 * 二つの三角形の最近点間の距離を得る
15003 	 */
15004 	extern float Triangle_Triangle_MinLength(.VECTOR Triangle1Pos1, .VECTOR Triangle1Pos2, .VECTOR Triangle1Pos3, .VECTOR Triangle2Pos1, .VECTOR Triangle2Pos2, .VECTOR Triangle2Pos3);
15005 
15006 	/**
15007 	 * 二つの三角形の最近点間の距離を得る
15008 	 */
15009 	extern double Triangle_Triangle_MinLengthD(.VECTOR_D Triangle1Pos1, .VECTOR_D Triangle1Pos2, .VECTOR_D Triangle1Pos3, .VECTOR_D Triangle2Pos1, .VECTOR_D Triangle2Pos2, .VECTOR_D Triangle2Pos3);
15010 
15011 	/**
15012 	 * 二つの三角形の最近点間の距離の二乗を得る
15013 	 */
15014 	extern float Triangle_Triangle_MinLength_Square(.VECTOR Triangle1Pos1, .VECTOR Triangle1Pos2, .VECTOR Triangle1Pos3, .VECTOR Triangle2Pos1, .VECTOR Triangle2Pos2, .VECTOR Triangle2Pos3);
15015 
15016 	/**
15017 	 * 二つの三角形の最近点間の距離の二乗を得る
15018 	 */
15019 	extern double Triangle_Triangle_MinLength_SquareD(.VECTOR_D Triangle1Pos1, .VECTOR_D Triangle1Pos2, .VECTOR_D Triangle1Pos3, .VECTOR_D Triangle2Pos1, .VECTOR_D Triangle2Pos2, .VECTOR_D Triangle2Pos3);
15020 
15021 	/**
15022 	 * 点に一番近い平面上の座標を得る
15023 	 */
15024 	extern .VECTOR Plane_Point_MinLength_Position(.VECTOR PlanePos, .VECTOR PlaneNormal, .VECTOR PointPos);
15025 
15026 	/**
15027 	 * 点に一番近い平面上の座標を得る
15028 	 */
15029 	extern .VECTOR_D Plane_Point_MinLength_PositionD(.VECTOR_D PlanePos, .VECTOR_D PlaneNormal, .VECTOR_D PointPos);
15030 
15031 	/**
15032 	 * 平面と点の一番近い距離を得る
15033 	 */
15034 	extern float Plane_Point_MinLength(.VECTOR PlanePos, .VECTOR PlaneNormal, .VECTOR PointPos);
15035 
15036 	/**
15037 	 * 平面と点の一番近い距離を得る
15038 	 */
15039 	extern double Plane_Point_MinLengthD(.VECTOR_D PlanePos, .VECTOR_D PlaneNormal, .VECTOR_D PointPos);
15040 
15041 	/**
15042 	 * 三角形と線の当たり判定
15043 	 */
15044 	extern .HITRESULT_LINE HitCheck_Line_Triangle(.VECTOR LinePos1, .VECTOR LinePos2, .VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3);
15045 
15046 	/**
15047 	 * 三角形と線の当たり判定
15048 	 */
15049 	extern .HITRESULT_LINE_D HitCheck_Line_TriangleD(.VECTOR_D LinePos1, .VECTOR_D LinePos2, .VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3);
15050 
15051 	/**
15052 	 * 三角形と三角形の当たり判定
15053 	 *
15054 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15055 	 */
15056 	extern int HitCheck_Triangle_Triangle(.VECTOR Triangle1Pos1, .VECTOR Triangle1Pos2, .VECTOR Triangle1Pos3, .VECTOR Triangle2Pos1, .VECTOR Triangle2Pos2, .VECTOR Triangle2Pos3);
15057 
15058 	/**
15059 	 * 三角形と三角形の当たり判定
15060 	 *
15061 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15062 	 */
15063 	extern int HitCheck_Triangle_TriangleD(.VECTOR_D Triangle1Pos1, .VECTOR_D Triangle1Pos2, .VECTOR_D Triangle1Pos3, .VECTOR_D Triangle2Pos1, .VECTOR_D Triangle2Pos2, .VECTOR_D Triangle2Pos3);
15064 
15065 	/**
15066 	 * 三角形と三角形の当たり判定( 2D版 )
15067 	 *
15068 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15069 	 */
15070 	extern int HitCheck_Triangle_Triangle_2D(.VECTOR Triangle1Pos1, .VECTOR Triangle1Pos2, .VECTOR Triangle1Pos3, .VECTOR Triangle2Pos1, .VECTOR Triangle2Pos2, .VECTOR Triangle2Pos3);
15071 
15072 	/**
15073 	 * 三角形と三角形の当たり判定( 2D版 )
15074 	 *
15075 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15076 	 */
15077 	extern int HitCheck_Triangle_TriangleD_2D(.VECTOR_D Triangle1Pos1, .VECTOR_D Triangle1Pos2, .VECTOR_D Triangle1Pos3, .VECTOR_D Triangle2Pos1, .VECTOR_D Triangle2Pos2, .VECTOR_D Triangle2Pos3);
15078 
15079 	/**
15080 	 * 線と箱の当たり判定
15081 	 */
15082 	extern .HITRESULT_LINE HitCheck_Line_Cube(.VECTOR LinePos1, .VECTOR LinePos2, .VECTOR CubePos1, .VECTOR CubePos2);
15083 
15084 	/**
15085 	 * 線と箱の当たり判定
15086 	 */
15087 	extern .HITRESULT_LINE_D HitCheck_Line_CubeD(.VECTOR_D LinePos1, .VECTOR_D LinePos2, .VECTOR_D CubePos1, .VECTOR_D CubePos2);
15088 
15089 	/**
15090 	 * 点と円錐の当たり判定
15091 	 *
15092 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15093 	 */
15094 	extern int HitCheck_Point_Cone(.VECTOR PointPos, .VECTOR ConeTopPos, .VECTOR ConeBottomPos, float ConeR);
15095 
15096 	/**
15097 	 * 点と円錐の当たり判定
15098 	 *
15099 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15100 	 */
15101 	extern int HitCheck_Point_ConeD(.VECTOR_D PointPos, .VECTOR_D ConeTopPos, .VECTOR_D ConeBottomPos, double ConeR);
15102 
15103 	/**
15104 	 * 線と球の当たり判定
15105 	 *
15106 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15107 	 */
15108 	extern int HitCheck_Line_Sphere(.VECTOR LinePos1, .VECTOR LinePos2, .VECTOR SphereCenterPos, float SphereR);
15109 
15110 	/**
15111 	 * 線と球の当たり判定
15112 	 *
15113 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15114 	 */
15115 	extern int HitCheck_Line_SphereD(.VECTOR_D LinePos1, .VECTOR_D LinePos2, .VECTOR_D SphereCenterPos, double SphereR);
15116 
15117 	/**
15118 	 * 球と球の当たり判定
15119 	 *
15120 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15121 	 */
15122 	extern int HitCheck_Sphere_Sphere(.VECTOR Sphere1CenterPos, float Sphere1R, .VECTOR Sphere2CenterPos, float Sphere2R);
15123 
15124 	/**
15125 	 * 球と球の当たり判定
15126 	 *
15127 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15128 	 */
15129 	extern int HitCheck_Sphere_SphereD(.VECTOR_D Sphere1CenterPos, double Sphere1R, .VECTOR_D Sphere2CenterPos, double Sphere2R);
15130 
15131 	/**
15132 	 * 球とカプセルの当たり判定
15133 	 *
15134 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15135 	 */
15136 	extern int HitCheck_Sphere_Capsule(.VECTOR SphereCenterPos, float SphereR, .VECTOR CapPos1, .VECTOR CapPos2, float CapR);
15137 
15138 	/**
15139 	 * 球とカプセルの当たり判定
15140 	 *
15141 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15142 	 */
15143 	extern int HitCheck_Sphere_CapsuleD(.VECTOR_D SphereCenterPos, double SphereR, .VECTOR_D CapPos1, .VECTOR_D CapPos2, double CapR);
15144 
15145 	/**
15146 	 * 球と三角形の当たり判定
15147 	 *
15148 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15149 	 */
15150 	extern int HitCheck_Sphere_Triangle(.VECTOR SphereCenterPos, float SphereR, .VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3);
15151 
15152 	/**
15153 	 * 球と三角形の当たり判定
15154 	 *
15155 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15156 	 */
15157 	extern int HitCheck_Sphere_TriangleD(.VECTOR_D SphereCenterPos, double SphereR, .VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3);
15158 
15159 	/**
15160 	 * カプセル同士の当たり判定
15161 	 *
15162 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15163 	 */
15164 	extern int HitCheck_Capsule_Capsule(.VECTOR Cap1Pos1, .VECTOR Cap1Pos2, float Cap1R, .VECTOR Cap2Pos1, .VECTOR Cap2Pos2, float Cap2R);
15165 
15166 	/**
15167 	 * カプセル同士の当たり判定
15168 	 *
15169 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15170 	 */
15171 	extern int HitCheck_Capsule_CapsuleD(.VECTOR_D Cap1Pos1, .VECTOR_D Cap1Pos2, double Cap1R, .VECTOR_D Cap2Pos1, .VECTOR_D Cap2Pos2, double Cap2R);
15172 
15173 	/**
15174 	 * カプセルと三角形の当たり判定
15175 	 *
15176 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15177 	 */
15178 	extern int HitCheck_Capsule_Triangle(.VECTOR CapPos1, .VECTOR CapPos2, float CapR, .VECTOR TrianglePos1, .VECTOR TrianglePos2, .VECTOR TrianglePos3);
15179 
15180 	/**
15181 	 * カプセルと三角形の当たり判定
15182 	 *
15183 	 * Returns: TRUE:当たっている  FALSE:当たっていない
15184 	 */
15185 	extern int HitCheck_Capsule_TriangleD(.VECTOR_D CapPos1, .VECTOR_D CapPos2, double CapR, .VECTOR_D TrianglePos1, .VECTOR_D TrianglePos2, .VECTOR_D TrianglePos3);
15186 
15187 	// その他
15188 
15189 	/**
15190 	 * 矩形のクリッピング
15191 	 */
15192 	extern int RectClipping(dxlib_d.dxdatatype.RECT* Rect, const (dxlib_d.dxdatatype.RECT)* ClippuRect);
15193 
15194 	/**
15195 	 * 矩形の left が right より値が大きい場合などの誤りを補正する
15196 	 */
15197 	extern int RectAdjust(dxlib_d.dxdatatype.RECT* Rect);
15198 
15199 	/**
15200 	 * 矩形の幅と高さを求める
15201 	 */
15202 	extern int GetRectSize(const (dxlib_d.dxdatatype.RECT)* Rect, int* Width, int* Height);
15203 
15204 	// 表記簡略版
15205 
15206 	/**
15207 	 * 単位行列を取得する
15208 	 */
15209 	extern .MATRIX MGetIdent();
15210 
15211 	/**
15212 	 * 単位行列を取得する
15213 	 */
15214 	extern .MATRIX_D MGetIdentD();
15215 
15216 	/**
15217 	 * 行列の乗算を行う
15218 	 */
15219 	extern .MATRIX MMult(.MATRIX In1, .MATRIX In2);
15220 
15221 	/**
15222 	 * 行列の乗算を行う
15223 	 */
15224 	extern .MATRIX_D MMultD(.MATRIX_D In1, .MATRIX_D In2);
15225 
15226 	/**
15227 	 * 行列のスケーリングを行う
15228 	 */
15229 	extern .MATRIX MScale(.MATRIX InM, float Scale);
15230 
15231 	/**
15232 	 * 行列のスケーリングを行う
15233 	 */
15234 	extern .MATRIX_D MScaleD(.MATRIX_D InM, double Scale);
15235 
15236 	/**
15237 	 * 行列の足し算を行う
15238 	 */
15239 	extern .MATRIX MAdd(.MATRIX In1, .MATRIX In2);
15240 
15241 	/**
15242 	 * 行列の足し算を行う
15243 	 */
15244 	extern .MATRIX_D MAddD(.MATRIX_D In1, .MATRIX_D In2);
15245 
15246 	/**
15247 	 * 拡大行列を取得する
15248 	 */
15249 	extern .MATRIX MGetScale(.VECTOR Scale);
15250 
15251 	/**
15252 	 * 拡大行列を取得する
15253 	 */
15254 	extern .MATRIX_D MGetScaleD(.VECTOR_D Scale);
15255 
15256 	/**
15257 	 * X軸回転行列を取得する
15258 	 */
15259 	extern .MATRIX MGetRotX(float XAxisRotate);
15260 
15261 	/**
15262 	 * X軸回転行列を取得する
15263 	 */
15264 	extern .MATRIX_D MGetRotXD(double XAxisRotate);
15265 
15266 	/**
15267 	 * Y軸回転行列を取得する
15268 	 */
15269 	extern .MATRIX MGetRotY(float YAxisRotate);
15270 
15271 	/**
15272 	 * Y軸回転行列を取得する
15273 	 */
15274 	extern .MATRIX_D MGetRotYD(double YAxisRotate);
15275 
15276 	/**
15277 	 * Z軸回転行列を取得する
15278 	 */
15279 	extern .MATRIX MGetRotZ(float ZAxisRotate);
15280 
15281 	/**
15282 	 * Z軸回転行列を取得する
15283 	 */
15284 	extern .MATRIX_D MGetRotZD(double ZAxisRotate);
15285 
15286 	/**
15287 	 * 指定軸で指定角度回転する行列を取得する
15288 	 */
15289 	extern .MATRIX MGetRotAxis(.VECTOR RotateAxis, float Rotate);
15290 
15291 	/**
15292 	 * 指定軸で指定角度回転する行列を取得する
15293 	 */
15294 	extern .MATRIX_D MGetRotAxisD(.VECTOR_D RotateAxis, double Rotate);
15295 
15296 	/**
15297 	 * In1 の向きから In2 の向きへ変換する回転行列を取得する( In2 と In1 が真逆のベクトルの場合は回転軸は不定 )
15298 	 */
15299 	extern .MATRIX MGetRotVec2(.VECTOR In1, .VECTOR In2);
15300 
15301 	/**
15302 	 * In1 の向きから In2 の向きへ変換する回転行列を取得する( In2 と In1 が真逆のベクトルの場合は回転軸は不定 )
15303 	 */
15304 	extern .MATRIX_D MGetRotVec2D(.VECTOR_D In1, .VECTOR_D In2);
15305 
15306 	/**
15307 	 * 平行移動行列を取得する
15308 	 */
15309 	extern .MATRIX MGetTranslate(.VECTOR Trans);
15310 
15311 	/**
15312 	 * 平行移動行列を取得する
15313 	 */
15314 	extern .MATRIX_D MGetTranslateD(.VECTOR_D Trans);
15315 
15316 	/**
15317 	 * 指定の3軸ローカルのベクトルを基本軸上のベクトルに変換する行列を取得する( x' = (XAxis.x * x) + (YAixs.x * y) + (ZAxis.z * z) + Pos.x   y' = (XAxis.y * x) + (YAixs.y * y) + (ZAxis.y * z) + Pos.y      z' = (XAxis.z * x) + (YAixs.z * y) + (ZAxis.z * z) + Pos.z )
15318 	 */
15319 	extern .MATRIX MGetAxis1(.VECTOR XAxis, .VECTOR YAxis, .VECTOR ZAxis, .VECTOR Pos);
15320 
15321 	/**
15322 	 * 指定の3軸ローカルのベクトルを基本軸上のベクトルに変換する行列を取得する( x' = (XAxis.x * x) + (YAixs.x * y) + (ZAxis.z * z) + Pos.x   y' = (XAxis.y * x) + (YAixs.y * y) + (ZAxis.y * z) + Pos.y      z' = (XAxis.z * x) + (YAixs.z * y) + (ZAxis.z * z) + Pos.z )
15323 	 */
15324 	extern .MATRIX_D MGetAxis1D(.VECTOR_D XAxis, .VECTOR_D YAxis, .VECTOR_D ZAxis, .VECTOR_D Pos);
15325 
15326 	/**
15327 	 * 基本軸上のベクトルを指定の3軸上に投影したベクトルに変換する行列を取得する( x' = (XAxis.x * ( x - Pos.x )) + (XAxis.y * ( x - Pos.x )) + (XAxis.z * ( x - Pos.x ))    y' = (YAxis.x * ( x - Pos.x )) + (YAxis.y * ( x - Pos.x )) + (YAxis.z * ( x - Pos.x ))    z' = (ZAxis.x * ( x - Pos.x )) + (ZAxis.y * ( x - Pos.x )) + (ZAxis.z * ( x - Pos.x )) )
15328 	 */
15329 	extern .MATRIX MGetAxis2(.VECTOR XAxis, .VECTOR YAxis, .VECTOR ZAxis, .VECTOR Pos);
15330 
15331 	/**
15332 	 * 基本軸上のベクトルを指定の3軸上に投影したベクトルに変換する行列を取得する( x' = (XAxis.x * ( x - Pos.x )) + (XAxis.y * ( x - Pos.x )) + (XAxis.z * ( x - Pos.x ))    y' = (YAxis.x * ( x - Pos.x )) + (YAxis.y * ( x - Pos.x )) + (YAxis.z * ( x - Pos.x ))    z' = (ZAxis.x * ( x - Pos.x )) + (ZAxis.y * ( x - Pos.x )) + (ZAxis.z * ( x - Pos.x )) )
15333 	 */
15334 	extern .MATRIX_D MGetAxis2D(.VECTOR_D XAxis, .VECTOR_D YAxis, .VECTOR_D ZAxis, .VECTOR_D Pos);
15335 
15336 	/**
15337 	 * 転置行列を取得する
15338 	 */
15339 	extern .MATRIX MTranspose(.MATRIX InM);
15340 
15341 	/**
15342 	 * 転置行列を取得する
15343 	 */
15344 	extern .MATRIX_D MTransposeD(.MATRIX_D InM);
15345 
15346 	/**
15347 	 * 逆行列を取得する
15348 	 */
15349 	extern .MATRIX MInverse(.MATRIX InM);
15350 
15351 	/**
15352 	 * 逆行列を取得する
15353 	 */
15354 	extern .MATRIX_D MInverseD(.MATRIX_D InM);
15355 
15356 	/**
15357 	 * 拡大行列のX軸、Y軸、Z軸の拡大率を取得する
15358 	 */
15359 	extern .VECTOR MGetSize(.MATRIX InM);
15360 
15361 	/**
15362 	 * 拡大行列のX軸、Y軸、Z軸の拡大率を取得する
15363 	 */
15364 	extern .VECTOR_D MGetSizeD(.MATRIX_D InM);
15365 
15366 	/**
15367 	 * 行列の回転成分を取得する
15368 	 */
15369 	extern .MATRIX MGetRotElem(.MATRIX InM);
15370 
15371 	/**
15372 	 * 行列の回転成分を取得する
15373 	 */
15374 	extern .MATRIX_D MGetRotElemD(.MATRIX_D InM);
15375 
15376 	/**
15377 	 * 行列の平行移動成分を取得する
15378 	 */
15379 	pragma(inline, true)
15380 	pure nothrow @safe @nogc @live
15381 	.VECTOR MGetTranslateElem(ref .MATRIX InM)
15382 	{
15383 		.VECTOR Result =
15384 		{
15385 			x: InM.m[3][0],
15386 			y: InM.m[3][1],
15387 			z: InM.m[3][2],
15388 		};
15389 
15390 		return Result;
15391 	}
15392 
15393 	/**
15394 	 * 行列の平行移動成分を取得する
15395 	 */
15396 	pragma(inline, true)
15397 	pure nothrow @safe @nogc @live
15398 	.VECTOR_D MGetTranslateElemD(ref .MATRIX_D InM)
15399 	{
15400 		.VECTOR_D Result =
15401 		{
15402 			x: InM.m[3][0],
15403 			y: InM.m[3][1],
15404 			z: InM.m[3][2],
15405 		};
15406 
15407 		return Result;
15408 	}
15409 
15410 	/**
15411 	 * ベクトル値の変換
15412 	 */
15413 	pragma(inline, true)
15414 	pure nothrow @safe @nogc @live
15415 	.VECTOR_D VConvFtoD(const ref .VECTOR In)
15416 	{
15417 		.VECTOR_D Result =
15418 		{
15419 			x: In.x,
15420 			y: In.y,
15421 			z: In.z,
15422 		};
15423 
15424 		return Result;
15425 	}
15426 
15427 	pragma(inline, true)
15428 	pure nothrow @safe @nogc @live
15429 	.VECTOR VConvDtoF(const ref .VECTOR_D In)
15430 	{
15431 		.VECTOR Result =
15432 		{
15433 			x: cast(float)(In.x),
15434 			y: cast(float)(In.y),
15435 			z: cast(float)(In.z),
15436 		};
15437 
15438 		return Result;
15439 	}
15440 
15441 	/**
15442 	 * ベクトル値の生成
15443 	 */
15444 	pragma(inline, true)
15445 	pure nothrow @safe @nogc @live
15446 	.VECTOR VGet(float x, float y, float z)
15447 	{
15448 		.VECTOR Result =
15449 		{
15450 			x: x,
15451 			y: y,
15452 			z: z,
15453 		};
15454 
15455 		return Result;
15456 	}
15457 
15458 	pragma(inline, true)
15459 	pure nothrow @safe @nogc @live
15460 	.VECTOR_D VGetD(double x, double y, double z)
15461 	{
15462 		.VECTOR_D Result =
15463 		{
15464 			x: x,
15465 			y: y,
15466 			z: z,
15467 		};
15468 
15469 		return Result;
15470 	}
15471 
15472 	pragma(inline, true)
15473 	pure nothrow @safe @nogc @live
15474 	.FLOAT2 F2Get(float u, float v)
15475 	{
15476 		.FLOAT2 Result =
15477 		{
15478 			u: u,
15479 			v: v,
15480 		};
15481 
15482 		return Result;
15483 	}
15484 
15485 	/**
15486 	 * 4要素ベクトル値の生成
15487 	 */
15488 	pragma(inline, true)
15489 	pure nothrow @safe @nogc @live
15490 	.FLOAT4 F4Get(float x, float y, float z, float w)
15491 	{
15492 		.FLOAT4 Result =
15493 		{
15494 			x: x,
15495 			y: y,
15496 			z: z,
15497 			w: w,
15498 		};
15499 
15500 		return Result;
15501 	}
15502 
15503 	pragma(inline, true)
15504 	pure nothrow @safe @nogc @live
15505 	.DOUBLE4 D4Get(double x, double y, double z, double w)
15506 	{
15507 		.DOUBLE4 Result =
15508 		{
15509 			x: x,
15510 			y: y,
15511 			z: z,
15512 			w: w,
15513 		};
15514 
15515 		return Result;
15516 	}
15517 
15518 	/**
15519 	 * ベクトルの加算
15520 	 */
15521 	pragma(inline, true)
15522 	pure nothrow @safe @nogc @live
15523 	.VECTOR VAdd(const ref .VECTOR In1, const ref .VECTOR In2)
15524 	{
15525 		.VECTOR Result =
15526 		{
15527 			x: In1.x + In2.x,
15528 			y: In1.y + In2.y,
15529 			z: In1.z + In2.z,
15530 		};
15531 
15532 		return Result;
15533 	}
15534 
15535 	pragma(inline, true)
15536 	pure nothrow @safe @nogc @live
15537 	.VECTOR_D VAddD(const ref .VECTOR_D In1, const ref .VECTOR_D In2)
15538 	{
15539 		.VECTOR_D Result =
15540 		{
15541 			x: In1.x + In2.x,
15542 			y: In1.y + In2.y,
15543 			z: In1.z + In2.z,
15544 		};
15545 
15546 		return Result;
15547 	}
15548 
15549 	/**
15550 	 * ベクトルの減算
15551 	 */
15552 	pragma(inline, true)
15553 	pure nothrow @safe @nogc @live
15554 	.VECTOR VSub(const ref .VECTOR In1, const ref .VECTOR In2)
15555 	{
15556 		.VECTOR Result =
15557 		{
15558 			x: In1.x - In2.x,
15559 			y: In1.y - In2.y,
15560 			z: In1.z - In2.z,
15561 		};
15562 
15563 		return Result;
15564 	}
15565 
15566 	pragma(inline, true)
15567 	pure nothrow @safe @nogc @live
15568 	.VECTOR_D VSubD(const ref .VECTOR_D In1, const ref .VECTOR_D In2)
15569 	{
15570 		.VECTOR_D Result =
15571 		{
15572 			x: In1.x - In2.x,
15573 			y: In1.y - In2.y,
15574 			z: In1.z - In2.z,
15575 		};
15576 
15577 		return Result;
15578 	}
15579 
15580 	pragma(inline, true)
15581 	pure nothrow @safe @nogc @live
15582 	.FLOAT2 F2Add(const ref .FLOAT2 In1, const ref .FLOAT2 In2)
15583 	{
15584 		.FLOAT2 Result =
15585 		{
15586 			u: In1.u + In2.u,
15587 			v: In1.v + In2.v,
15588 		};
15589 
15590 		return Result;
15591 	}
15592 
15593 	/**
15594 	 * 4要素ベクトルの加算
15595 	 */
15596 	pragma(inline, true)
15597 	pure nothrow @safe @nogc @live
15598 	.FLOAT4 F4Add(const ref .FLOAT4 In1, const ref .FLOAT4 In2)
15599 	{
15600 		.FLOAT4 Result =
15601 		{
15602 			x: In1.x + In2.x,
15603 			y: In1.y + In2.y,
15604 			z: In1.z + In2.z,
15605 			w: In1.w + In2.w,
15606 		};
15607 
15608 		return Result;
15609 	}
15610 
15611 	pragma(inline, true)
15612 	pure nothrow @safe @nogc @live
15613 	.DOUBLE4 D4Add(const ref .DOUBLE4 In1, const ref .DOUBLE4 In2)
15614 	{
15615 		.DOUBLE4 Result =
15616 		{
15617 			x: In1.x + In2.x,
15618 			y: In1.y + In2.y,
15619 			z: In1.z + In2.z,
15620 			w: In1.w + In2.w,
15621 		};
15622 
15623 		return Result;
15624 	}
15625 
15626 	pragma(inline, true)
15627 	pure nothrow @safe @nogc @live
15628 	.FLOAT2 F2Sub(const ref .FLOAT2 In1, const ref .FLOAT2 In2)
15629 	{
15630 		.FLOAT2 Result =
15631 		{
15632 			u: In1.u - In2.u,
15633 			v: In1.v - In2.v,
15634 		};
15635 
15636 		return Result;
15637 	}
15638 
15639 	/**
15640 	 * 4要素ベクトルの減算
15641 	 */
15642 	pragma(inline, true)
15643 	pure nothrow @safe @nogc @live
15644 	.FLOAT4 F4Sub(const ref .FLOAT4 In1, const ref .FLOAT4 In2)
15645 	{
15646 		.FLOAT4 Result =
15647 		{
15648 			x: In1.x - In2.x,
15649 			y: In1.y - In2.y,
15650 			z: In1.z - In2.z,
15651 			w: In1.w - In2.w,
15652 		};
15653 
15654 		return Result;
15655 	}
15656 
15657 	pragma(inline, true)
15658 	pure nothrow @safe @nogc @live
15659 	.DOUBLE4 D4Sub(const ref .DOUBLE4 In1, const ref .DOUBLE4 In2)
15660 	{
15661 		.DOUBLE4 Result =
15662 		{
15663 			x: In1.x - In2.x,
15664 			y: In1.y - In2.y,
15665 			z: In1.z - In2.z,
15666 			w: In1.w - In2.w,
15667 		};
15668 
15669 		return Result;
15670 	}
15671 
15672 	/**
15673 	 * ベクトルの内積
15674 	 */
15675 	pragma(inline, true)
15676 	pure nothrow @safe @nogc @live
15677 	float VDot(const ref .VECTOR In1, const ref .VECTOR In2)
15678 	{
15679 		return (In1.x * In2.x) + (In1.y * In2.y) + (In1.z * In2.z);
15680 	}
15681 
15682 	pragma(inline, true)
15683 	pure nothrow @safe @nogc @live
15684 	double VDotD(const ref .VECTOR_D In1, const ref .VECTOR_D In2)
15685 	{
15686 		return (In1.x * In2.x) + (In1.y * In2.y) + (In1.z * In2.z);
15687 	}
15688 
15689 	/**
15690 	 * ベクトルの外積
15691 	 */
15692 	pragma(inline, true)
15693 	pure nothrow @safe @nogc @live
15694 	.VECTOR VCross(const ref .VECTOR In1, const ref .VECTOR In2)
15695 	{
15696 		.VECTOR Result =
15697 		{
15698 			x: (In1.y * In2.z) - (In1.z * In2.y),
15699 			y: (In1.z * In2.x) - (In1.x * In2.z),
15700 			z: (In1.x * In2.y) - (In1.y * In2.x),
15701 		};
15702 
15703 		return Result;
15704 	}
15705 
15706 	pragma(inline, true)
15707 	pure nothrow @safe @nogc @live
15708 	.VECTOR_D VCrossD(const ref .VECTOR_D In1, const ref .VECTOR_D In2)
15709 	{
15710 		.VECTOR_D Result =
15711 		{
15712 			x: (In1.y * In2.z) - (In1.z * In2.y),
15713 			y: (In1.z * In2.x) - (In1.x * In2.z),
15714 			z: (In1.x * In2.y) - (In1.y * In2.x),
15715 		};
15716 
15717 		return Result;
15718 	}
15719 
15720 	/**
15721 	 * ベクトルのスケーリング
15722 	 */
15723 	pragma(inline, true)
15724 	pure nothrow @safe @nogc @live
15725 	.VECTOR VScale(const ref .VECTOR In, float Scale)
15726 	{
15727 		.VECTOR Result =
15728 		{
15729 			x: In.x * Scale,
15730 			y: In.y * Scale,
15731 			z: In.z * Scale,
15732 		};
15733 
15734 		return Result;
15735 	}
15736 
15737 	pragma(inline, true)
15738 	pure nothrow @safe @nogc @live
15739 	.VECTOR_D VScaleD(const ref .VECTOR_D In, double Scale)
15740 	{
15741 		.VECTOR_D Result =
15742 		{
15743 			x: In.x * Scale,
15744 			y: In.y * Scale,
15745 			z: In.z * Scale,
15746 		};
15747 
15748 		return Result;
15749 	}
15750 
15751 	pragma(inline, true)
15752 	pure nothrow @safe @nogc @live
15753 	.FLOAT2 F2Scale(const ref .FLOAT2 In, float Scale)
15754 	{
15755 		.FLOAT2 Result =
15756 		{
15757 			u: In.u * Scale,
15758 			v: In.v * Scale,
15759 		};
15760 
15761 		return Result;
15762 	}
15763 
15764 	/**
15765 	 * 4要素ベクトルのスケーリング
15766 	 */
15767 	pragma(inline, true)
15768 	pure nothrow @safe @nogc @live
15769 	.FLOAT4 F4Scale(const ref .FLOAT4 In, float Scale)
15770 	{
15771 		.FLOAT4 Result =
15772 		{
15773 			x: In.x * Scale,
15774 			y: In.y * Scale,
15775 			z: In.z * Scale,
15776 			w: In.w * Scale,
15777 		};
15778 
15779 		return Result;
15780 	}
15781 
15782 	pragma(inline, true)
15783 	pure nothrow @safe @nogc @live
15784 	.DOUBLE4 D4Scale(const ref .DOUBLE4 In, double Scale)
15785 	{
15786 		.DOUBLE4 Result =
15787 		{
15788 			x: In.x * Scale,
15789 			y: In.y * Scale,
15790 			z: In.z * Scale,
15791 			w: In.w * Scale,
15792 		};
15793 
15794 		return Result;
15795 	}
15796 
15797 	/**
15798 	 * ベクトルの正規化
15799 	 */
15800 	extern .VECTOR VNorm(.VECTOR In);
15801 
15802 	/**
15803 	 * ベクトルの正規化
15804 	 */
15805 	extern .VECTOR_D VNormD(.VECTOR_D In);
15806 
15807 	/**
15808 	 * ベクトルのサイズ
15809 	 */
15810 	extern float VSize(.VECTOR In);
15811 
15812 	/**
15813 	 * ベクトルのサイズ
15814 	 */
15815 	extern double VSizeD(.VECTOR_D In);
15816 
15817 	/**
15818 	 * ベクトルのサイズの2乗
15819 	 */
15820 	pragma(inline, true)
15821 	pure nothrow @safe @nogc @live
15822 	float VSquareSize(const ref .VECTOR In)
15823 	{
15824 		return (In.x * In.x) + (In.y * In.y) + (In.z * In.z);
15825 	}
15826 
15827 	pragma(inline, true)
15828 	pure nothrow @safe @nogc @live
15829 	double VSquareSizeD(const ref .VECTOR_D In)
15830 	{
15831 		return (In.x * In.x) + (In.y * In.y) + (In.z * In.z);
15832 	}
15833 
15834 	/**
15835 	 * 行列を使った座標変換
15836 	 */
15837 	pragma(inline, true)
15838 	pure nothrow @safe @nogc @live
15839 	.VECTOR VTransform(const ref .VECTOR InV, const ref .MATRIX InM)
15840 	{
15841 		.VECTOR Result =
15842 		{
15843 			x: (InV.x * InM.m[0][0]) + (InV.y * InM.m[1][0]) + (InV.z * InM.m[2][0]) + InM.m[3][0],
15844 			y: (InV.x * InM.m[0][1]) + (InV.y * InM.m[1][1]) + (InV.z * InM.m[2][1]) + InM.m[3][1],
15845 			z: (InV.x * InM.m[0][2]) + (InV.y * InM.m[1][2]) + (InV.z * InM.m[2][2]) + InM.m[3][2],
15846 		};
15847 
15848 		return Result;
15849 	}
15850 
15851 	pragma(inline, true)
15852 	pure nothrow @safe @nogc @live
15853 	.VECTOR_D VTransformD(const ref .VECTOR_D InV, const ref .MATRIX_D InM)
15854 	{
15855 		.VECTOR_D Result =
15856 		{
15857 			x: (InV.x * InM.m[0][0]) + (InV.y * InM.m[1][0]) + (InV.z * InM.m[2][0]) + InM.m[3][0],
15858 			y: (InV.x * InM.m[0][1]) + (InV.y * InM.m[1][1]) + (InV.z * InM.m[2][1]) + InM.m[3][1],
15859 			z: (InV.x * InM.m[0][2]) + (InV.y * InM.m[1][2]) + (InV.z * InM.m[2][2]) + InM.m[3][2],
15860 		};
15861 
15862 		return Result;
15863 	}
15864 
15865 	/**
15866 	 * 行列を使った座標変換( スケーリング+回転成分のみ )
15867 	 */
15868 	pragma(inline, true)
15869 	pure nothrow @safe @nogc @live
15870 	.VECTOR VTransformSR(const ref .VECTOR InV, const ref .MATRIX InM)
15871 	{
15872 		.VECTOR Result =
15873 		{
15874 			x: (InV.x * InM.m[0][0]) + (InV.y * InM.m[1][0]) + (InV.z * InM.m[2][0]),
15875 			y: (InV.x * InM.m[0][1]) + (InV.y * InM.m[1][1]) + (InV.z * InM.m[2][1]),
15876 			z: (InV.x * InM.m[0][2]) + (InV.y * InM.m[1][2]) + (InV.z * InM.m[2][2]),
15877 		};
15878 
15879 		return Result;
15880 	}
15881 
15882 	pragma(inline, true)
15883 	pure nothrow @safe @nogc @live
15884 	.VECTOR_D VTransformSRD(const ref .VECTOR_D InV, const ref .MATRIX_D InM)
15885 	{
15886 		.VECTOR_D Result =
15887 		{
15888 			x: (InV.x * InM.m[0][0]) + (InV.y * InM.m[1][0]) + (InV.z * InM.m[2][0]),
15889 			y: (InV.x * InM.m[0][1]) + (InV.y * InM.m[1][1]) + (InV.z * InM.m[2][1]),
15890 			z: (InV.x * InM.m[0][2]) + (InV.y * InM.m[1][2]) + (InV.z * InM.m[2][2]),
15891 		};
15892 
15893 		return Result;
15894 	}
15895 
15896 	/**
15897 	 * 二つのベクトルが成す角のコサイン値を得る
15898 	 */
15899 	extern float VCos(.VECTOR In1, .VECTOR In2);
15900 
15901 	/**
15902 	 * 二つのベクトルが成す角のコサイン値を得る
15903 	 */
15904 	extern double VCosD(.VECTOR_D In1, .VECTOR_D In2);
15905 
15906 	/**
15907 	 * 二つのベクトルが成す角の角度を得る( 単位:ラジアン )
15908 	 */
15909 	extern float VRad(.VECTOR In1, .VECTOR In2);
15910 
15911 	/**
15912 	 * 二つのベクトルが成す角の角度を得る( 単位:ラジアン )
15913 	 */
15914 	extern double VRadD(.VECTOR_D In1, .VECTOR_D In2);
15915 
15916 	/**
15917 	 * 2つのクォータニオンの乗算の結果を返す
15918 	 */
15919 	pragma(inline, true)
15920 	pure nothrow @safe @nogc @live
15921 	.FLOAT4 QTCross(const ref .FLOAT4 A, const ref .FLOAT4 B)
15922 	{
15923 		.FLOAT4 Result =
15924 		{
15925 			w: (A.w * B.w) - ((A.x * B.x) + (A.y * B.y) + (A.z * B.z)),
15926 			x: (B.x * A.w) + (A.x * B.w) + ((A.y * B.z) - (A.z * B.y)),
15927 			y: (B.y * A.w) + (A.y * B.w) + ((A.z * B.x) - (A.x * B.z)),
15928 			z: (B.z * A.w) + (A.z * B.w) + ((A.x * B.y) - (A.y * B.x)),
15929 		};
15930 
15931 		return Result;
15932 	}
15933 
15934 	pragma(inline, true)
15935 	pure nothrow @safe @nogc @live
15936 	.DOUBLE4 QTCrossD(const ref .DOUBLE4 A, const ref .DOUBLE4 B)
15937 	{
15938 		.DOUBLE4 Result =
15939 		{
15940 			w: (A.w * B.w) - ((A.x * B.x) + (A.y * B.y) + (A.z * B.z)),
15941 			x: (B.x * A.w) + (A.x * B.w) + ((A.y * B.z) - (A.z * B.y)),
15942 			y: (B.y * A.w) + (A.y * B.w) + ((A.z * B.x) - (A.x * B.z)),
15943 			z: (B.z * A.w) + (A.z * B.w) + ((A.x * B.y) - (A.y * B.x)),
15944 		};
15945 
15946 		return Result;
15947 	}
15948 
15949 	/**
15950 	 * 共役クォータニオンを返す
15951 	 */
15952 	pragma(inline, true)
15953 	pure nothrow @safe @nogc @live
15954 	.FLOAT4 QTConj(const ref .FLOAT4 A)
15955 	{
15956 		.FLOAT4 Result =
15957 		{
15958 			w: A.w,
15959 			x: -A.x,
15960 			y: -A.y,
15961 			z: -A.z,
15962 		};
15963 
15964 		return Result;
15965 	}
15966 
15967 	pragma(inline, true)
15968 	pure nothrow @safe @nogc @live
15969 	.DOUBLE4 QTConjD(const ref .DOUBLE4 A)
15970 	{
15971 		.DOUBLE4 Result =
15972 		{
15973 			w: A.w,
15974 			x: -A.x,
15975 			y: -A.y,
15976 			z: -A.z,
15977 		};
15978 
15979 		return Result;
15980 	}
15981 
15982 	/**
15983 	 * 回転を表すクォータニオンを返す
15984 	 */
15985 	extern .FLOAT4 QTRot(.VECTOR Axis, float Angle);
15986 
15987 	/**
15988 	 * 回転を表すクォータニオンを返す
15989 	 */
15990 	extern .DOUBLE4 QTRotD(.VECTOR_D Axis, double Angle);
15991 
15992 	/**
15993 	 * 3次元空間上の点を任意の軸の周りに任意の角度だけ回転させる関数
15994 	 */
15995 	extern .VECTOR VRotQ(.VECTOR P, .VECTOR Axis, float Angle);
15996 
15997 	/**
15998 	 * 3次元空間上の点を任意の軸の周りに任意の角度だけ回転させる関数
15999 	 */
16000 	extern .VECTOR_D VRotQD(.VECTOR_D P, .VECTOR_D Axis, double Angle);
16001 
16002 	// DxBaseImage.cpp 関数プロトタイプ宣言
16003 
16004 	// 基本イメージデータのロード+DIB関係
16005 
16006 	/**
16007 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージを読み込み、基本イメージデータ若しくはBMPデータを構築する
16008 	 */
16009 	extern int CreateGraphImageOrDIBGraph(const (dxlib_d.dxdatatype.TCHAR)* FileName, const (void)* DataImage, int DataImageSize, int DataImageType /* LOADIMAGE_TYPE_FILE 等 */, int BmpFlag, int ReverseFlag, .BASEIMAGE* BaseImage, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData);
16010 
16011 	/**
16012 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージを読み込み、基本イメージデータ若しくはBMPデータを構築する
16013 	 */
16014 	extern int CreateGraphImageOrDIBGraphWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, const (void)* DataImage, int DataImageSize, int DataImageType /* LOADIMAGE_TYPE_FILE 等 */, int BmpFlag, int ReverseFlag, .BASEIMAGE* BaseImage, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData);
16015 
16016 	/**
16017 	 * 画像データから構築したストリーム読み込み用データを使用して基本イメージデータを構築する
16018 	 */
16019 	extern int CreateGraphImageType2(.STREAMDATA* Src, .BASEIMAGE* Dest);
16020 
16021 	/**
16022 	 * 24bitカラー形式のビットマップデータからBMPデータを構築する
16023 	 */
16024 	extern int CreateBmpInfo(dxlib_d.dxdatatype.BITMAPINFO* BmpInfo, int Width, int Height, int Pitch, const (void)* SrcGrData, void** DestGrData);
16025 
16026 	/**
16027 	 * 画像ファイルの横ピクセル数と縦ピクセル数を取得する
16028 	 */
16029 	extern int GetImageSize_File(const (dxlib_d.dxdatatype.TCHAR)* FileName, int* SizeX, int* SizeY);
16030 
16031 	/**
16032 	 * 画像ファイルの横ピクセル数と縦ピクセル数を取得する
16033 	 */
16034 	extern int GetImageSize_FileWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int* SizeX, int* SizeY);
16035 
16036 	/**
16037 	 * メモリ上に展開された画像ファイルの横ピクセル数と縦ピクセル数を取得する
16038 	 */
16039 	extern int GetImageSize_Mem(const (void)* FileImage, int FileImageSize, int* SizeX, int* SizeY);
16040 
16041 	/**
16042 	 * 基本イメージデータの指定座標のフルカラーコードを取得する
16043 	 */
16044 	extern uint GetGraphImageFullColorCode(const (.BASEIMAGE)* GraphImage, int x, int y);
16045 
16046 	/**
16047 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージを読み込み、基本イメージデータを構築する
16048 	 */
16049 	extern int CreateGraphImage_plus_Alpha(const (dxlib_d.dxdatatype.TCHAR)* FileName, const (void)* RgbImage, int RgbImageSize, int RgbImageType, const (void)* AlphaImage, int AlphaImageSize, int AlphaImageType, .BASEIMAGE* RgbGraphImage, .BASEIMAGE* AlphaGraphImage, int ReverseFlag);
16050 
16051 	/**
16052 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージを読み込み、基本イメージデータを構築する
16053 	 */
16054 	extern int CreateGraphImage_plus_AlphaWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, const (void)* RgbImage, int RgbImageSize, int RgbImageType, const (void)* AlphaImage, int AlphaImageSize, int AlphaImageType, .BASEIMAGE* RgbGraphImage, .BASEIMAGE* AlphaGraphImage, int ReverseFlag);
16055 
16056 	/**
16057 	 * 基本イメージデータを左右反転する
16058 	 */
16059 	extern int ReverseGraphImage(.BASEIMAGE* GraphImage);
16060 
16061 	/*
16062 	 * ユーザー定義の画像データ読み込み関数を登録する
16063 	 */
16064 	//extern int AddUserGraphLoadFunction(int function(FILE* fp, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16065 
16066 	/*
16067 	 * ユーザー定義の画像データ読み込み関数を登録する
16068 	 */
16069 	//extern int AddUserGraphLoadFunction2(int function(void* Image, int ImageSize, int ImageType, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16070 
16071 	/*
16072 	 * ユーザー定義の画像データ読み込み関数Ver3を登録する
16073 	 */
16074 	//extern int AddUserGraphLoadFunction3(int function(void* DataImage, int DataImageSize, int DataImageType, int BmpFlag, .BASEIMAGE* BaseImage, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16075 
16076 	/**
16077 	 * ユーザー定義の画像データ読み込み関数Ver4を登録する
16078 	 */
16079 	extern int AddUserGraphLoadFunction4(int function(.STREAMDATA* Src, .BASEIMAGE* BaseImage) UserLoadFunc);
16080 
16081 	/*
16082 	 * ユーザー定義の画像データ読み込み関数を登録から抹消する
16083 	 */
16084 	//extern int SubUserGraphLoadFunction(int function(FILE* fp, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16085 
16086 	/*
16087 	 * ユーザー定義の画像データ読み込み関数を登録から抹消する
16088 	 */
16089 	//extern int SubUserGraphLoadFunction2(int function(void* Image, int ImageSize, int ImageType, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16090 
16091 	/*
16092 	 * ユーザー定義の画像データ読み込み関数Ver3を登録から抹消する
16093 	 */
16094 	//extern int SubUserGraphLoadFunction3(int function(void* DataImage, int DataImageSize, int DataImageType, int BmpFlag, .BASEIMAGE* BaseImage, dxlib_d.dxdatatype.BITMAPINFO** BmpInfo, void** GraphData) UserLoadFunc);
16095 
16096 	/**
16097 	 * ユーザー定義の画像データ読み込み関数Ver4を登録から抹消する
16098 	 */
16099 	extern int SubUserGraphLoadFunction4(int function(.STREAMDATA* Src, .BASEIMAGE* BaseImage) UserLoadFunc);
16100 
16101 	/**
16102 	 * 高速読み込みルーチンを使用するかどうかを設定する
16103 	 *
16104 	 * Params:
16105 	 *      Flag = TRUE:使用する( デフォルト )  FALSE:使用しない
16106 	 */
16107 	extern int SetUseFastLoadFlag(int Flag);
16108 
16109 	/**
16110 	 * 画像減色時の画像劣化緩和処理モードを設定する( デフォルトでは緩和処理無しの DX_SHAVEDMODE_NONE )
16111 	 */
16112 	extern int SetGraphDataShavedMode(int ShavedMode /* DX_SHAVEDMODE_NONE 等 */);
16113 
16114 	/**
16115 	 * 画像減色時の画像劣化緩和処理モードを取得する
16116 	 */
16117 	extern int GetGraphDataShavedMode();
16118 
16119 	/**
16120 	 * 画像ファイル読み込み時に乗算済みアルファ画像に変換するかどうかを設定する
16121 	 *
16122 	 * Params:
16123 	 *      UseFlag = TRUE:変換処理を行う  FALSE:変換処理を行わない( デフォルト )
16124 	 */
16125 	extern int SetUsePremulAlphaConvertLoad(int UseFlag);
16126 
16127 	// 基本イメージデータ構造体関係
16128 
16129 	/**
16130 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージから基本イメージデータを構築する
16131 	 */
16132 	extern int CreateBaseImage(const (dxlib_d.dxdatatype.TCHAR)* FileName, const (void)* FileImage, int FileImageSize, int DataType /*=LOADIMAGE_TYPE_FILE*/, .BASEIMAGE* BaseImage, int ReverseFlag);
16133 
16134 	/**
16135 	 * 画像ファイル若しくはメモリ上に展開された画像ファイルイメージから基本イメージデータを構築する
16136 	 */
16137 	extern int CreateBaseImageWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, const (void)* FileImage, int FileImageSize, int DataType /*=LOADIMAGE_TYPE_FILE*/, .BASEIMAGE* BaseImage, int ReverseFlag);
16138 
16139 	/**
16140 	 * CreateBaseImage の旧名称
16141 	 */
16142 	extern int CreateGraphImage(const (dxlib_d.dxdatatype.TCHAR)* FileName, const (void)* DataImage, int DataImageSize, int DataImageType, .BASEIMAGE* GraphImage, int ReverseFlag);
16143 
16144 	/**
16145 	 * 画像ファイルから基本イメージデータを構築する
16146 	 */
16147 	extern int CreateBaseImageToFile(const (dxlib_d.dxdatatype.TCHAR)* FileName, .BASEIMAGE* BaseImage, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
16148 
16149 	/**
16150 	 * 画像ファイルから基本イメージデータを構築する
16151 	 */
16152 	extern int CreateBaseImageToFileWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, .BASEIMAGE* BaseImage, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
16153 
16154 	/**
16155 	 * メモリ上に展開された画像ファイルイメージから基本イメージデータを構築する
16156 	 */
16157 	extern int CreateBaseImageToMem(const (void)* FileImage, int FileImageSize, .BASEIMAGE* BaseImage, int ReverseFlag = dxlib_d.dxdatatype.FALSE);
16158 
16159 	/**
16160 	 * ARGB各チャンネル 32bit 浮動小数点型 カラーの基本イメージデータを作成する
16161 	 */
16162 	extern int CreateARGBF32ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16163 
16164 	/**
16165 	 * ARGB各チャンネル 16bit 浮動小数点型 カラーの基本イメージデータを作成する
16166 	 */
16167 	extern int CreateARGBF16ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16168 
16169 	/**
16170 	 * ARGB8カラーの基本イメージデータを作成する
16171 	 */
16172 	extern int CreateARGB8ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16173 
16174 	/**
16175 	 * XRGB8カラーの基本イメージデータを作成する
16176 	 */
16177 	extern int CreateXRGB8ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16178 
16179 	/**
16180 	 * RGB8カラーの基本イメージデータを作成する
16181 	 */
16182 	extern int CreateRGB8ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16183 
16184 	/**
16185 	 * ARGB4カラーの基本イメージデータを作成する
16186 	 */
16187 	extern int CreateARGB4ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16188 
16189 	/**
16190 	 * A1R5G5B5カラーの基本イメージデータを作成する
16191 	 */
16192 	extern int CreateA1R5G5B5ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16193 
16194 	/**
16195 	 * X1R5G5B5カラーの基本イメージデータを作成する
16196 	 */
16197 	extern int CreateX1R5G5B5ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16198 
16199 	/**
16200 	 * R5G5B5A1カラーの基本イメージデータを作成する
16201 	 */
16202 	extern int CreateR5G5B5A1ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16203 
16204 	/**
16205 	 * R5G6B5カラーの基本イメージデータを作成する
16206 	 */
16207 	extern int CreateR5G6B5ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage);
16208 
16209 	/**
16210 	 * パレット8ビットカラーの基本イメージデータを作成する
16211 	 */
16212 	extern int CreatePAL8ColorBaseImage(int SizeX, int SizeY, .BASEIMAGE* BaseImage, int UseAlpha = dxlib_d.dxdatatype.FALSE);
16213 
16214 	/**
16215 	 * 指定のカラーフォーマットの基本イメージデータを作成する
16216 	 */
16217 	extern int CreateColorDataBaseImage(int SizeX, int SizeY, const (.COLORDATA)* ColorData, .BASEIMAGE* BaseImage);
16218 
16219 	/**
16220 	 * 基本イメージデータのイメージサイズを取得する
16221 	 *
16222 	 * Returns: イメージサイズ( 単位:byte )
16223 	 */
16224 	extern int GetBaseImageGraphDataSize(const (.BASEIMAGE)* BaseImage);
16225 
16226 	/**
16227 	 * 基本イメージデータの指定の部分だけを使う基本イメージデータの情報を作成する( BaseImage にはフォーマットが DX_BASEIMAGE_FORMAT_NORMAL でミップマップを使用していない画像のみ使用可能 )
16228 	 */
16229 	extern int DerivationBaseImage(const (.BASEIMAGE)* BaseImage, int x1, int y1, int x2, int y2, .BASEIMAGE* NewBaseImage);
16230 
16231 	/**
16232 	 * 基本イメージデータの後始末を行う
16233 	 */
16234 	extern int ReleaseBaseImage(.BASEIMAGE* BaseImage);
16235 
16236 	/**
16237 	 * ReleaseBaseImage の旧名称
16238 	 */
16239 	extern int ReleaseGraphImage(.BASEIMAGE* GraphImage);
16240 
16241 	/**
16242 	 * DX_BASEIMAGE_FORMAT_NORMAL 以外の形式のイメージを DX_BASEIMAGE_FORMAT_NORMAL 形式のイメージに変換する
16243 	 */
16244 	extern int ConvertNormalFormatBaseImage(.BASEIMAGE* BaseImage, int ReleaseOrigGraphData = dxlib_d.dxdatatype.TRUE);
16245 
16246 	/**
16247 	 * 通常のαチャンネル付き画像を乗算済みαチャンネル付き画像に変換する( ピクセルフォーマットが ARGB8 以外の場合は ARGB8 に変換されます )
16248 	 */
16249 	extern int ConvertPremulAlphaBaseImage(.BASEIMAGE* BaseImage);
16250 
16251 	/**
16252 	 * 乗算済みαチャンネル付き画像を通常のαチャンネル付き画像に変換する( ピクセルフォーマットが ARGB8 以外の場合は ARGB8 に変換されます )
16253 	 */
16254 	extern int ConvertInterpAlphaBaseImage(.BASEIMAGE* BaseImage);
16255 
16256 	/**
16257 	 * 描画対象の画面から指定領域を基本イメージデータに転送する
16258 	 */
16259 	extern int GetDrawScreenBaseImage(int x1, int y1, int x2, int y2, .BASEIMAGE* BaseImage);
16260 
16261 	/**
16262 	 * 描画対象の画面から指定領域を基本イメージデータに転送する( 転送先座標指定版 )
16263 	 */
16264 	extern int GetDrawScreenBaseImageDestPos(int x1, int y1, int x2, int y2, .BASEIMAGE* BaseImage, int DestX, int DestY);
16265 
16266 	/**
16267 	 * 基本イメージデータを指定の色で塗りつぶす
16268 	 */
16269 	extern int FillBaseImage(.BASEIMAGE* BaseImage, int r, int g, int b, int a);
16270 
16271 	/**
16272 	 * 基本イメージデータの指定の領域を指定の色で塗りつぶす
16273 	 */
16274 	extern int FillRectBaseImage(.BASEIMAGE* BaseImage, int x, int y, int w, int h, int r, int g, int b, int a);
16275 
16276 	/**
16277 	 * 基本イメージデータの指定の領域を0クリアする
16278 	 */
16279 	extern int ClearRectBaseImage(.BASEIMAGE* BaseImage, int x, int y, int w, int h);
16280 
16281 	/**
16282 	 * 基本イメージデータのパレットを取得する
16283 	 */
16284 	extern int GetPaletteBaseImage(const (.BASEIMAGE)* BaseImage, int PaletteNo, int* r, int* g, int* b, int* a);
16285 
16286 	/**
16287 	 * 基本イメージデータのパレットをセットする
16288 	 */
16289 	extern int SetPaletteBaseImage(.BASEIMAGE* BaseImage, int PaletteNo, int r, int g, int b, int a);
16290 
16291 	/**
16292 	 * 基本イメージデータの指定の座標の色コードを変更する(パレット画像用)
16293 	 */
16294 	extern int SetPixelPalCodeBaseImage(.BASEIMAGE* BaseImage, int x, int y, int palNo);
16295 
16296 	/**
16297 	 * 基本イメージデータの指定の座標の色コードを取得する(パレット画像用)
16298 	 */
16299 	extern int GetPixelPalCodeBaseImage(const (.BASEIMAGE)* BaseImage, int x, int y);
16300 
16301 	/**
16302 	 * 基本イメージデータの指定の座標の色を変更する(各色要素は0〜255)
16303 	 */
16304 	extern int SetPixelBaseImage(.BASEIMAGE* BaseImage, int x, int y, int r, int g, int b, int a);
16305 
16306 	/**
16307 	 * 基本イメージデータの指定の座標の色を変更する(各色要素は浮動小数点数)
16308 	 */
16309 	extern int SetPixelBaseImageF(.BASEIMAGE* BaseImage, int x, int y, float r, float g, float b, float a);
16310 
16311 	/**
16312 	 * 基本イメージデータの指定の座標の色を取得する(各色要素は0〜255)
16313 	 */
16314 	extern int GetPixelBaseImage(const (.BASEIMAGE)* BaseImage, int x, int y, int* r, int* g, int* b, int* a);
16315 
16316 	/**
16317 	 * 基本イメージデータの指定の座標の色を取得する(各色要素は浮動小数点数)
16318 	 */
16319 	extern int GetPixelBaseImageF(const (.BASEIMAGE)* BaseImage, int x, int y, float* r, float* g, float* b, float* a);
16320 
16321 	/**
16322 	 * 基本イメージデータの指定の座標に線を描画する(各色要素は0〜255)
16323 	 */
16324 	extern int DrawLineBaseImage(.BASEIMAGE* BaseImage, int x1, int y1, int x2, int y2, int r, int g, int b, int a);
16325 
16326 	/**
16327 	 * 基本イメージデータの指定の座標に円を描画する(各色要素は0〜255)
16328 	 */
16329 	extern int DrawCircleBaseImage(.BASEIMAGE* BaseImage, int x, int y, int radius, int r, int g, int b, int a, int FillFlag = dxlib_d.dxdatatype.TRUE);
16330 
16331 	/**
16332 	 * 基本イメージデータを別の基本イメージデータに転送する
16333 	 */
16334 	extern int BltBaseImage(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int DestX, int DestY, .BASEIMAGE* SrcBaseImage, .BASEIMAGE* DestBaseImage);
16335 
16336 	/**
16337 	 * 基本イメージデータを別の基本イメージデータに転送する
16338 	 */
16339 	extern int BltBaseImage(int DestX, int DestY, .BASEIMAGE* SrcBaseImage, .BASEIMAGE* DestBaseImage);
16340 
16341 	/**
16342 	 * 基本イメージデータを別の基本イメージデータに透過色処理付きで転送する
16343 	 */
16344 	extern int BltBaseImageWithTransColor(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int DestX, int DestY, .BASEIMAGE* SrcBaseImage, .BASEIMAGE* DestBaseImage, int Tr, int Tg, int Tb, int Ta);
16345 
16346 	/**
16347 	 * 基本イメージデータを別の基本イメージデータにアルファ値のブレンドを考慮した上で転送する( 出力先が ARGB8 形式以外の場合はエラーになります )
16348 	 *
16349 	 * Params:
16350 	 *      SrcX = ?
16351 	 *      SrcY = ?
16352 	 *      SrcSizeX = ?
16353 	 *      SrcSizeY = ?
16354 	 *      DestX = ?
16355 	 *      DestY = ?
16356 	 *      SrcBaseImage = ?
16357 	 *      DestBaseImage = ?
16358 	 *      Opacity = 透明度:0( 完全透明 ) 〜 255( 完全不透明 )
16359 	 */
16360 	extern int BltBaseImageWithAlphaBlend(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int DestX, int DestY, .BASEIMAGE* SrcBaseImage, .BASEIMAGE* DestBaseImage, int Opacity = 255);
16361 
16362 	/**
16363 	 * 基本イメージデータを左右反転する
16364 	 */
16365 	extern int ReverseBaseImageH(.BASEIMAGE* BaseImage);
16366 
16367 	/**
16368 	 * 基本イメージデータを上下反転する
16369 	 */
16370 	extern int ReverseBaseImageV(.BASEIMAGE* BaseImage);
16371 
16372 	/**
16373 	 * 基本イメージデータを上下左右反転する
16374 	 */
16375 	extern int ReverseBaseImage(.BASEIMAGE* BaseImage);
16376 
16377 	/**
16378 	 * 基本イメージデータに含まれるピクセルのアルファ値をチェックする
16379 	 *
16380 	 * Returns: -1:エラー  0:画像にアルファ成分が無い  1:画像にアルファ成分があり、すべて最大(255)値  2:画像にアルファ成分があり、存在するアルファ値は最小(0)と最大(255)もしくは最小(0)のみ 3:画像にアルファ成分があり、最小と最大以外の中間の値がある
16381 	 */
16382 	extern int CheckPixelAlphaBaseImage(const (.BASEIMAGE)* BaseImage);
16383 
16384 	/**
16385 	 * 基本イメージデータで使用されているパレット番号の最大値を取得する( パレット画像では無い場合は -1 が返る )
16386 	 */
16387 	extern int GetBaseImageUseMaxPaletteNo(const (.BASEIMAGE)* BaseImage);
16388 
16389 	version (DX_NON_JPEGREAD) {
16390 	} else {
16391 		/**
16392 		 * JPEGファイルの Exif情報を取得する、ExifBuffer を null に渡すと、戻り値の情報のサイズのみ取得できます
16393 		 *
16394 		 * Returns: -1:エラー  -1以外:Exif情報のサイズ
16395 		 */
16396 		extern int ReadJpegExif(const (dxlib_d.dxdatatype.TCHAR)* JpegFilePath, dxlib_d.dxdatatype.BYTE* ExifBuffer_Array, size_t ExifBufferSize);
16397 
16398 		/**
16399 		 * JPEGファイルの Exif情報を取得する、ExifBuffer を null に渡すと、戻り値の情報のサイズのみ取得できます
16400 		 *
16401 		 * Returns: 戻り値  -1:エラー  -1以外:Exif情報のサイズ
16402 		 */
16403 		extern int ReadJpegExifWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* JpegFilePath, size_t JpegFilePathLength, dxlib_d.dxdatatype.BYTE* ExifBuffer_Array, size_t ExifBufferSize);
16404 	}
16405 
16406 	version (DX_NON_SAVEFUNCTION) {
16407 	} else {
16408 		/**
16409 		 * 基本イメージデータをBMP画像として保存する
16410 		 */
16411 		extern int SaveBaseImageToBmp(const (dxlib_d.dxdatatype.TCHAR)* FilePath, const (.BASEIMAGE)* BaseImage);
16412 
16413 		/**
16414 		 * 基本イメージデータをBMP画像として保存する
16415 		 */
16416 		extern int SaveBaseImageToBmpWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, const (.BASEIMAGE)* BaseImage);
16417 
16418 		/**
16419 		 * 基本イメージデータをDDS画像として保存する
16420 		 */
16421 		extern int SaveBaseImageToDds(const (dxlib_d.dxdatatype.TCHAR)* FilePath, const (.BASEIMAGE)* BaseImage);
16422 
16423 		/**
16424 		 * 基本イメージデータをDDS画像として保存する
16425 		 */
16426 		extern int SaveBaseImageToDdsWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, const (.BASEIMAGE)* BaseImage);
16427 
16428 		version (DX_NON_PNGREAD) {
16429 		} else {
16430 			/**
16431 			 * 基本イメージデータをPNG画像として保存する
16432 			 */
16433 			extern int SaveBaseImageToPng(const (dxlib_d.dxdatatype.TCHAR)* FilePath, .BASEIMAGE* BaseImage, int CompressionLevel);
16434 
16435 			/**
16436 			 * 基本イメージデータをPNG画像として保存する
16437 			 */
16438 			extern int SaveBaseImageToPngWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, .BASEIMAGE* BaseImage, int CompressionLevel);
16439 		}
16440 
16441 		version (DX_NON_JPEGREAD) {
16442 		} else {
16443 			/**
16444 			 * 基本イメージデータをJPEG画像として保存する
16445 			 */
16446 			extern int SaveBaseImageToJpeg(const (dxlib_d.dxdatatype.TCHAR)* FilePath, .BASEIMAGE* BaseImage, int Quality, int Sample2x1);
16447 
16448 			/**
16449 			 * 基本イメージデータをJPEG画像として保存する
16450 			 */
16451 			extern int SaveBaseImageToJpegWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, .BASEIMAGE* BaseImage, int Quality, int Sample2x1);
16452 		}
16453 	}
16454 
16455 	// 基本イメージ描画
16456 
16457 	/**
16458 	 * 基本イメージデータを描画する
16459 	 */
16460 	extern int DrawBaseImage(int x, int y, .BASEIMAGE* BaseImage);
16461 
16462 	/**
16463 	 * カラーマッチングしながらイメージデータ間転送を行う Ver2
16464 	 */
16465 	extern int GraphColorMatchBltVer2(void* DestGraphData, int DestPitch, const (.COLORDATA)* DestColorData, const (void)* SrcGraphData, int SrcPitch, const (.COLORDATA)* SrcColorData, const (void)* AlphaMask, int AlphaPitch, const (.COLORDATA)* AlphaColorData, dxlib_d.dxdatatype.POINT DestPoint, const (dxlib_d.dxdatatype.RECT)* SrcRect, int ReverseFlag, int TransColorAlphaTestFlag, uint TransColor, int ImageShavedMode, int AlphaOnlyFlag = dxlib_d.dxdatatype.FALSE, int RedIsAlphaFlag = dxlib_d.dxdatatype.FALSE, int TransColorNoMoveFlag = dxlib_d.dxdatatype.FALSE, int Pal8ColorMatch = dxlib_d.dxdatatype.FALSE);
16466 
16467 	// 色情報取得関係
16468 
16469 	/**
16470 	 * 浮動小数点型のカラー値を作成する
16471 	 */
16472 	extern .COLOR_F GetColorF(float Red, float Green, float Blue, float Alpha);
16473 
16474 	/**
16475 	 * 符号なし整数8ビットのカラー値を作成する
16476 	 */
16477 	extern .COLOR_U8 GetColorU8(int Red, int Green, int Blue, int Alpha);
16478 
16479 	/**
16480 	 * DrawPixel 等の描画関数で使用するカラー値を取得する
16481 	 */
16482 	extern uint GetColor(int Red, int Green, int Blue);
16483 
16484 	/**
16485 	 * カラー値から赤、緑、青の値を取得する
16486 	 */
16487 	extern int GetColor2(uint Color, int* Red, int* Green, int* Blue);
16488 
16489 	/**
16490 	 * 指定のピクセルフォーマットに対応したカラー値を得る
16491 	 */
16492 	extern uint GetColor3(const (.COLORDATA)* ColorData, int Red, int Green, int Blue, int Alpha = 255);
16493 
16494 	/**
16495 	 * 指定のカラーフォーマットのカラー値を別のカラーフォーマットのカラー値に変換する
16496 	 */
16497 	extern uint GetColor4(const (.COLORDATA)* DestColorData, const (.COLORDATA)* SrcColorData, uint SrcColor);
16498 
16499 	/**
16500 	 * 指定のカラーフォーマットのカラー値を赤、緑、青、アルファの値を取得する
16501 	 */
16502 	extern int GetColor5(const (.COLORDATA)* ColorData, uint Color, int* Red, int* Green, int* Blue, int* Alpha = null);
16503 
16504 	/**
16505 	 * パレットカラーのカラーフォーマットを構築する
16506 	 */
16507 	extern int CreatePaletteColorData(.COLORDATA* ColorDataBuf);
16508 
16509 	/**
16510 	 * ARGB各チャンネル 32bit 浮動小数点型カラーのカラーフォーマットを構築する
16511 	 */
16512 	extern int CreateARGBF32ColorData(.COLORDATA* ColorDataBuf);
16513 
16514 	/**
16515 	 * ARGB各チャンネル 16bit 浮動小数点型カラーのカラーフォーマットを構築する
16516 	 */
16517 	extern int CreateARGBF16ColorData(.COLORDATA* ColorDataBuf);
16518 
16519 	/**
16520 	 * XRGB8カラーのカラーフォーマットを構築する
16521 	 */
16522 	extern int CreateXRGB8ColorData(.COLORDATA* ColorDataBuf);
16523 
16524 	/**
16525 	 * ARGB8カラーのカラーフォーマットを構築する
16526 	 */
16527 	extern int CreateARGB8ColorData(.COLORDATA* ColorDataBuf);
16528 
16529 	/**
16530 	 * ARGB4カラーのカラーフォーマットを構築する
16531 	 */
16532 	extern int CreateARGB4ColorData(.COLORDATA* ColorDataBuf);
16533 
16534 	/**
16535 	 * A1R5G5B5カラーのカラーフォーマットを構築する
16536 	 */
16537 	extern int CreateA1R5G5B5ColorData(.COLORDATA* ColorDataBuf);
16538 
16539 	/**
16540 	 * X1R5G5B5カラーのカラーフォーマットを構築する
16541 	 */
16542 	extern int CreateX1R5G5B5ColorData(.COLORDATA* ColorDataBuf);
16543 
16544 	/**
16545 	 * R5G5B5A1カラーのカラーフォーマットを構築する
16546 	 */
16547 	extern int CreateR5G5B5A1ColorData(.COLORDATA* ColorDataBuf);
16548 
16549 	/**
16550 	 * R5G6B5カラーのカラーフォーマットを構築する
16551 	 */
16552 	extern int CreateR5G6B5ColorData(.COLORDATA* ColorDataBuf);
16553 
16554 	/**
16555 	 * 24ビットカラーのカラーフォーマットを構築する
16556 	 */
16557 	extern int CreateFullColorData(.COLORDATA* ColorDataBuf);
16558 
16559 	/**
16560 	 * グレースケールのカラーフォーマットを構築する
16561 	 */
16562 	extern int CreateGrayColorData(.COLORDATA* ColorDataBuf);
16563 
16564 	/**
16565 	 * パレット256色のカラーフォーマットを構築する
16566 	 */
16567 	extern int CreatePal8ColorData(.COLORDATA* ColorDataBuf, int UseAlpha = dxlib_d.dxdatatype.FALSE);
16568 
16569 	/**
16570 	 * カラーフォーマットを作成する
16571 	 */
16572 	extern int CreateColorData(.COLORDATA* ColorDataBuf, int ColorBitDepth, dxlib_d.dxdatatype.DWORD RedMask, dxlib_d.dxdatatype.DWORD GreenMask, dxlib_d.dxdatatype.DWORD BlueMask, dxlib_d.dxdatatype.DWORD AlphaMask, int ChannelNum = 0, int ChannelBitDepth = 0, int FloatTypeFlag = dxlib_d.dxdatatype.FALSE);
16573 
16574 	/**
16575 	 * NoneMask 以外の要素を埋めた COLORDATA 構造体の情報を元に NoneMask をセットする
16576 	 */
16577 	extern void SetColorDataNoneMask(.COLORDATA* ColorData);
16578 
16579 	/**
16580 	 * 二つのカラーフォーマットが等しいかどうか調べる
16581 	 *
16582 	 * Returns: TRUE:等しい  FALSE:等しくない
16583 	 */
16584 	extern int CmpColorData(const (.COLORDATA)* ColorData1, const (.COLORDATA)* ColorData2);
16585 
16586 	// DxSoftImage.cpp関数プロトタイプ宣言
16587 	version (DX_NON_SOFTIMAGE) {
16588 	} else {
16589 		/**
16590 		 * ソフトウエアイメージハンドルを全て削除する
16591 		 */
16592 		extern int InitSoftImage();
16593 
16594 		/**
16595 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する
16596 		 *
16597 		 * Returns: -1:エラー  -1以外:イメージハンドル
16598 		 */
16599 		extern int LoadSoftImage(const (dxlib_d.dxdatatype.TCHAR)* FileName);
16600 
16601 		/**
16602 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する
16603 		 *
16604 		 * Returns: -1:エラー  -1以外:イメージハンドル
16605 		 */
16606 		extern int LoadSoftImageWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
16607 
16608 		/**
16609 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する( 読み込んだ画像が RGBA8 以外のフォーマットだった場合は RGBA8 カラーに変換 )
16610 		 *
16611 		 * Returns: -1:エラー  -1以外:イメージハンドル
16612 		 */
16613 		extern int LoadARGB8ColorSoftImage(const (dxlib_d.dxdatatype.TCHAR)* FileName);
16614 
16615 		/**
16616 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する( 読み込んだ画像が RGBA8 以外のフォーマットだった場合は RGBA8 カラーに変換 )
16617 		 *
16618 		 * Returns: -1:エラー  -1以外:イメージハンドル
16619 		 */
16620 		extern int LoadARGB8ColorSoftImageWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
16621 
16622 		/**
16623 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する( 読み込んだ画像が XGBA8 以外のフォーマットだった場合は XGBA8 カラーに変換 )
16624 		 *
16625 		 * Returns: -1:エラー  -1以外:イメージハンドル
16626 		 */
16627 		extern int LoadXRGB8ColorSoftImage(const (dxlib_d.dxdatatype.TCHAR)* FileName);
16628 
16629 		/**
16630 		 * 画像ファイルを読み込みソフトウエアイメージハンドルを作成する( 読み込んだ画像が XGBA8 以外のフォーマットだった場合は XGBA8 カラーに変換 )
16631 		 *
16632 		 * Returns: -1:エラー  -1以外:イメージハンドル
16633 		 */
16634 		extern int LoadXRGB8ColorSoftImageWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
16635 
16636 		/**
16637 		 * メモリ上に展開された画像ファイルイメージからソフトウエアイメージハンドルを作成する
16638 		 *
16639 		 * Returns: -1:エラー  -1以外:イメージハンドル
16640 		 */
16641 		extern int LoadSoftImageToMem(const (void)* FileImage, int FileImageSize);
16642 
16643 		/**
16644 		 * メモリ上に展開された画像ファイルイメージからソフトウエアイメージハンドルを作成する( 読み込んだ画像が RGBA8 以外のフォーマットだった場合は RGBA8 カラーに変換 )
16645 		 *
16646 		 * Returns: -1:エラー  -1以外:イメージハンドル
16647 		 */
16648 		extern int LoadARGB8ColorSoftImageToMem(const (void)* FileImage, int FileImageSize);
16649 
16650 		/**
16651 		 * メモリ上に展開された画像ファイルイメージからソフトウエアイメージハンドルを作成する( 読み込んだ画像が XGBA8 以外のフォーマットだった場合は XGBA8 カラーに変換 )
16652 		 *
16653 		 * Returns: -1:エラー  -1以外:イメージハンドル
16654 		 */
16655 		extern int LoadXRGB8ColorSoftImageToMem(const (void)* FileImage, int FileImageSize);
16656 
16657 		/**
16658 		 * ソフトウエアイメージハンドルの作成
16659 		 *
16660 		 * Returns: -1:エラー  -1以外:イメージハンドル
16661 		 */
16662 		extern int MakeSoftImage(int SizeX, int SizeY);
16663 
16664 		/**
16665 		 * ソフトウエアイメージハンドルの作成( RGBA 各チャンネル 32bit 浮動小数点型 カラー )
16666 		 */
16667 		extern int MakeARGBF32ColorSoftImage(int SizeX, int SizeY);
16668 
16669 		/**
16670 		 * ソフトウエアイメージハンドルの作成( RGBA 各チャンネル 16bit 浮動小数点型 カラー )
16671 		 */
16672 		extern int MakeARGBF16ColorSoftImage(int SizeX, int SizeY);
16673 
16674 		/**
16675 		 * ソフトウエアイメージハンドルの作成( RGBA8 カラー )
16676 		 */
16677 		extern int MakeARGB8ColorSoftImage(int SizeX, int SizeY);
16678 
16679 		/**
16680 		 * ソフトウエアイメージハンドルの作成( XRGB8 カラー )
16681 		 */
16682 		extern int MakeXRGB8ColorSoftImage(int SizeX, int SizeY);
16683 
16684 		/**
16685 		 * ソフトウエアイメージハンドルの作成( ARGB4 カラー )
16686 		 */
16687 		extern int MakeARGB4ColorSoftImage(int SizeX, int SizeY);
16688 
16689 		/**
16690 		 * ソフトウエアイメージハンドルの作成( A1R5G5B5 カラー )
16691 		 */
16692 		extern int MakeA1R5G5B5ColorSoftImage(int SizeX, int SizeY);
16693 
16694 		/**
16695 		 * ソフトウエアイメージハンドルの作成( X1R5G5B5 カラー )
16696 		 */
16697 		extern int MakeX1R5G5B5ColorSoftImage(int SizeX, int SizeY);
16698 
16699 		/**
16700 		 * ソフトウエアイメージハンドルの作成( R5G5B5A1 カラー )
16701 		 */
16702 		extern int MakeR5G5B5A1ColorSoftImage(int SizeX, int SizeY);
16703 
16704 		/**
16705 		 * ソフトウエアイメージハンドルの作成( R5G6B5 カラー )
16706 		 */
16707 		extern int MakeR5G6B5ColorSoftImage(int SizeX, int SizeY);
16708 
16709 		/**
16710 		 * ソフトウエアイメージハンドルの作成( RGB8 カラー )
16711 		 */
16712 		extern int MakeRGB8ColorSoftImage(int SizeX, int SizeY);
16713 
16714 		/**
16715 		 * ソフトウエアイメージハンドルの作成( パレット256色 カラー )
16716 		 */
16717 		extern int MakePAL8ColorSoftImage(int SizeX, int SizeY, int UseAlpha = dxlib_d.dxdatatype.FALSE);
16718 
16719 		/**
16720 		 * ソフトウエアイメージハンドルの削除する
16721 		 */
16722 		extern int DeleteSoftImage(int SIHandle);
16723 
16724 		/**
16725 		 * ソフトウエアイメージハンドルのサイズを取得する
16726 		 */
16727 		extern int GetSoftImageSize(int SIHandle, int* Width, int* Height);
16728 
16729 		/**
16730 		 * ソフトウエアイメージハンドルがパレット画像かどうかを取得する
16731 		 *
16732 		 * Returns: TRUE:パレット画像  FALSE:パレット画像じゃない
16733 		 */
16734 		extern int CheckPaletteSoftImage(int SIHandle);
16735 
16736 		/**
16737 		 * ソフトウエアイメージハンドルのフォーマットにα要素があるかどうかを取得する
16738 		 *
16739 		 * Returns: TRUE:ある  FALSE:ない
16740 		 */
16741 		extern int CheckAlphaSoftImage(int SIHandle);
16742 
16743 		/**
16744 		 * ソフトウエアイメージハンドルに含まれるピクセルのα値をチェックする
16745 		 *
16746 		 * Returns: -1:エラー  0:画像にα成分が無い  1:画像にα成分があり、すべて最大(255)値  2:画像にα成分があり、存在するα値は最小(0)と最大(255)もしくは最小(0)のみ 3:画像にα成分があり、最小と最大以外の中間の値がある
16747 		 */
16748 		extern int CheckPixelAlphaSoftImage(int SIHandle);
16749 
16750 		/**
16751 		 * 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する
16752 		 */
16753 		extern int GetDrawScreenSoftImage(int x1, int y1, int x2, int y2, int SIHandle);
16754 
16755 		/**
16756 		 * 描画対象の画面から指定領域をソフトウエアイメージハンドルに転送する( 転送先座標指定版 )
16757 		 */
16758 		extern int GetDrawScreenSoftImageDestPos(int x1, int y1, int x2, int y2, int SIHandle, int DestX, int DestY);
16759 
16760 		/**
16761 		 * ソフトウエアイメージハンドルを指定色で塗りつぶす(各色要素は0〜255)
16762 		 */
16763 		extern int FillSoftImage(int SIHandle, int r, int g, int b, int a);
16764 
16765 		/**
16766 		 * ソフトウエアイメージハンドルの指定の領域を0クリアする
16767 		 */
16768 		extern int ClearRectSoftImage(int SIHandle, int x, int y, int w, int h);
16769 
16770 		/**
16771 		 * ソフトウエアイメージハンドルのパレットを取得する(各色要素は0〜255)
16772 		 */
16773 		extern int GetPaletteSoftImage(int SIHandle, int PaletteNo, int* r, int* g, int* b, int* a);
16774 
16775 		/**
16776 		 * ソフトウエアイメージハンドルのパレットを設定する(各色要素は0〜255)
16777 		 */
16778 		extern int SetPaletteSoftImage(int SIHandle, int PaletteNo, int r, int g, int b, int a);
16779 
16780 		/**
16781 		 * ソフトウエアイメージハンドルの指定座標にドットを描画する(パレット画像用、有効値は0〜255)
16782 		 */
16783 		extern int DrawPixelPalCodeSoftImage(int SIHandle, int x, int y, int palNo);
16784 
16785 		/**
16786 		 * ソフトウエアイメージハンドルの指定座標の色コードを取得する(パレット画像用)
16787 		 *
16788 		 * Returns: 0~255
16789 		 */
16790 		extern int GetPixelPalCodeSoftImage(int SIHandle, int x, int y);
16791 
16792 		/**
16793 		 * ソフトウエアイメージハンドルの画像が格納されているメモリ領域の先頭アドレスを取得する
16794 		 */
16795 		extern void* GetImageAddressSoftImage(int SIHandle);
16796 
16797 		/**
16798 		 * ソフトウエアイメージハンドルのメモリに格納されている画像データの1ライン辺りのバイト数を取得する
16799 		 */
16800 		extern int GetPitchSoftImage(int SIHandle);
16801 
16802 		/**
16803 		 * ソフトウエアイメージハンドルの指定座標にドットを描画する(各色要素は0〜255)
16804 		 */
16805 		extern int DrawPixelSoftImage(int SIHandle, int x, int y, int r, int g, int b, int a);
16806 
16807 		/**
16808 		 * ソフトウエアイメージハンドルの指定座標にドットを描画する(各色要素は浮動小数点数)
16809 		 */
16810 		extern int DrawPixelSoftImageF(int SIHandle, int x, int y, float r, float g, float b, float a);
16811 
16812 		/**
16813 		 * ソフトウエアイメージハンドルの指定座標にドットを描画する(各色要素は0〜255)、エラーチェックをしない代わりに高速ですが、範囲外の座標や ARGB8 以外のフォーマットのソフトハンドルを渡すと不正なメモリアクセスで強制終了します
16814 		 */
16815 		extern void DrawPixelSoftImage_Unsafe_XRGB8(int SIHandle, int x, int y, int r, int g, int b);
16816 
16817 		/**
16818 		 * ソフトウエアイメージハンドルの指定座標にドットを描画する(各色要素は0〜255)、エラーチェックをしない代わりに高速ですが、範囲外の座標や XRGB8 以外のフォーマットのソフトハンドルを渡すと不正なメモリアクセスで強制終了します
16819 		 */
16820 		extern void DrawPixelSoftImage_Unsafe_ARGB8(int SIHandle, int x, int y, int r, int g, int b, int a);
16821 
16822 		/**
16823 		 * ソフトウエアイメージハンドルの指定座標の色を取得する(各色要素は0〜255)
16824 		 */
16825 		extern int GetPixelSoftImage(int SIHandle, int x, int y, int* r, int* g, int* b, int* a);
16826 
16827 		/**
16828 		 * ソフトウエアイメージハンドルの指定座標の色を取得する(各色要素は浮動小数点数)
16829 		 */
16830 		extern int GetPixelSoftImageF(int SIHandle, int x, int y, float* r, float* g, float* b, float* a);
16831 
16832 		/**
16833 		 * ソフトウエアイメージハンドルの指定座標の色を取得する(各色要素は0〜255)、エラーチェックをしない代わりに高速ですが、範囲外の座標や XRGB8 以外のフォーマットのソフトハンドルを渡すと不正なメモリアクセスで強制終了します
16834 		 */
16835 		extern void GetPixelSoftImage_Unsafe_XRGB8(int SIHandle, int x, int y, int* r, int* g, int* b);
16836 
16837 		/**
16838 		 * ソフトウエアイメージハンドルの指定座標の色を取得する(各色要素は0〜255)、エラーチェックをしない代わりに高速ですが、範囲外の座標や ARGB8 以外のフォーマットのソフトハンドルを渡すと不正なメモリアクセスで強制終了します
16839 		 */
16840 		extern void GetPixelSoftImage_Unsafe_ARGB8(int SIHandle, int x, int y, int* r, int* g, int* b, int* a);
16841 
16842 		/**
16843 		 * ソフトウエアイメージハンドルの指定座標に線を描画する(各色要素は0〜255)
16844 		 */
16845 		extern int DrawLineSoftImage(int SIHandle, int x1, int y1, int x2, int y2, int r, int g, int b, int a);
16846 
16847 		/**
16848 		 * ソフトウエアイメージハンドルの指定座標に円を描画する(各色要素は0〜255)
16849 		 */
16850 		extern int DrawCircleSoftImage(int SIHandle, int x, int y, int radius, int r, int g, int b, int a, int FillFlag = dxlib_d.dxdatatype.TRUE);
16851 
16852 		/**
16853 		 * ソフトウエアイメージハンドルを別のソフトウエアイメージハンドルに転送する
16854 		 */
16855 		extern int BltSoftImage(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int SrcSIHandle, int DestX, int DestY, int DestSIHandle);
16856 
16857 		/**
16858 		 * ソフトウエアイメージハンドルを別のソフトウエアイメージハンドルに透過色処理付きで転送する
16859 		 */
16860 		extern int BltSoftImageWithTransColor(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int SrcSIHandle, int DestX, int DestY, int DestSIHandle, int Tr, int Tg, int Tb, int Ta);
16861 
16862 		/**
16863 		 * ソフトウエアイメージハンドルを別のソフトウエアイメージハンドルにアルファ値のブレンドを考慮した上で転送する( Opacity は透明度:0( 完全透明 ) 〜 255( 完全不透明 ) )( 出力先が ARGB8 形式以外の場合はエラーになります )
16864 		 */
16865 		extern int BltSoftImageWithAlphaBlend(int SrcX, int SrcY, int SrcSizeX, int SrcSizeY, int SrcSIHandle, int DestX, int DestY, int DestSIHandle, int Opacity = 255);
16866 
16867 		/**
16868 		 * ソフトウエアイメージハンドルを左右反転する
16869 		 */
16870 		extern int ReverseSoftImageH(int SIHandle);
16871 
16872 		/**
16873 		 * ソフトウエアイメージハンドルを上下反転する
16874 		 */
16875 		extern int ReverseSoftImageV(int SIHandle);
16876 
16877 		/**
16878 		 * ソフトウエアイメージハンドルを上下左右反転する
16879 		 */
16880 		extern int ReverseSoftImage(int SIHandle);
16881 
16882 		version (DX_NON_FONT) {
16883 		} else {
16884 			/**
16885 			 * ソフトウエアイメージハンドルに文字列を描画する( デフォルトフォントハンドルを使用する )
16886 			 */
16887 			extern int BltStringSoftImage(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, int DestSIHandle, int DestEdgeSIHandle = -1, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
16888 
16889 			/**
16890 			 * ソフトウエアイメージハンドルに文字列を描画する( デフォルトフォントハンドルを使用する )
16891 			 */
16892 			extern int BltStringSoftImageWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, size_t StrDataLength, int DestSIHandle, int DestEdgeSIHandle = -1, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
16893 
16894 			/**
16895 			 * ソフトウエアイメージハンドルに文字列を描画する( フォントハンドル使用版 )
16896 			 */
16897 			extern int BltStringSoftImageToHandle(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, int DestSIHandle, int DestEdgeSIHandle /* 縁が必要ない場合は -1 */, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
16898 
16899 			/**
16900 			 * ソフトウエアイメージハンドルに文字列を描画する( フォントハンドル使用版 )
16901 			 */
16902 			extern int BltStringSoftImageToHandleWithStrLen(int x, int y, const (dxlib_d.dxdatatype.TCHAR)* StrData, size_t StrDataLength, int DestSIHandle, int DestEdgeSIHandle /* 縁が必要ない場合は -1 */, int FontHandle, int VerticalFlag = dxlib_d.dxdatatype.FALSE);
16903 		}
16904 
16905 		/**
16906 		 * ソフトウエアイメージハンドルを画面に描画する
16907 		 */
16908 		extern int DrawSoftImage(int x, int y, int SIHandle);
16909 
16910 		version (DX_NON_SAVEFUNCTION) {
16911 		} else {
16912 			/**
16913 			 * ソフトウエアイメージハンドルをBMP画像ファイルとして保存する
16914 			 */
16915 			extern int SaveSoftImageToBmp(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int SIHandle);
16916 
16917 			/**
16918 			 * ソフトウエアイメージハンドルをBMP画像ファイルとして保存する
16919 			 */
16920 			extern int SaveSoftImageToBmpWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int SIHandle);
16921 
16922 			/**
16923 			 * ソフトウエアイメージハンドルをDDS画像ファイルとして保存する
16924 			 */
16925 			extern int SaveSoftImageToDds(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int SIHandle);
16926 
16927 			/**
16928 			 * ソフトウエアイメージハンドルをDDS画像ファイルとして保存する
16929 			 */
16930 			extern int SaveSoftImageToDdsWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int SIHandle);
16931 
16932 			version (DX_NON_PNGREAD) {
16933 			} else {
16934 				/**
16935 				 * ソフトウエアイメージハンドルをPNG画像ファイルとして保存する
16936 				 *
16937 				 * Params:
16938 				 *      FilePath = ?
16939 				 *      SIHandle = ?
16940 				 *      CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
16941 				 */
16942 				extern int SaveSoftImageToPng(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int SIHandle, int CompressionLevel);
16943 
16944 				/**
16945 				 * ソフトウエアイメージハンドルをPNG画像ファイルとして保存する
16946 				 *
16947 				 * Params:
16948 				 *      ? = ?
16949 				 *      ? = ?
16950 				 *      ? = ?
16951 				 *      CompressionLevel = 圧縮率、値が大きいほど高圧縮率高負荷、0は無圧縮,0〜9
16952 				 */
16953 				extern int SaveSoftImageToPngWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int SIHandle, int CompressionLevel);
16954 			}
16955 
16956 			version (DX_NON_JPEGREAD) {
16957 			} else {
16958 				/**
16959 				 * ソフトウエアイメージハンドルをJPEG画像ファイルとして保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
16960 				 */
16961 				extern int SaveSoftImageToJpeg(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int SIHandle, int Quality, int Sample2x1);
16962 
16963 				/**
16964 				 * ソフトウエアイメージハンドルをJPEG画像ファイルとして保存する Quality = 画質、値が大きいほど低圧縮高画質,0〜100
16965 				 */
16966 				extern int SaveSoftImageToJpegWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int SIHandle, int Quality, int Sample2x1);
16967 			}
16968 		}
16969 	}
16970 
16971 	version (DX_NON_SOUND) {
16972 	} else {
16973 		// DxSound.cpp関数プロトタイプ宣言
16974 
16975 		// サウンドデータ管理系関数
16976 
16977 		/**
16978 		 * 全てのサウンドハンドルを削除する
16979 		 */
16980 		extern int InitSoundMem(int LogOutFlag = dxlib_d.dxdatatype.FALSE);
16981 
16982 		/**
16983 		 * サウンドハンドルを作成する
16984 		 */
16985 		extern int AddSoundData(int Handle = -1);
16986 
16987 		/**
16988 		 * ストリーム再生タイプのサウンドハンドルにストリームデータを再生対象に追加する
16989 		 */
16990 		extern int AddStreamSoundMem(.STREAMDATA* Stream, int LoopNum, int SoundHandle, int StreamDataType, int* CanStreamCloseFlag, int UnionHandle = -1);
16991 
16992 		/**
16993 		 * ストリーム再生タイプのサウンドハンドルにメモリ上に展開したサウンドファイルイメージを再生対象に追加する
16994 		 */
16995 		extern int AddStreamSoundMemToMem(const (void)* FileImage, size_t FileImageSize, int LoopNum, int SoundHandle, int StreamDataType, int UnionHandle = -1);
16996 
16997 		/**
16998 		 * ストリーム再生タイプのサウンドハンドルにサウンドファイルを再生対象に追加する
16999 		 */
17000 		extern int AddStreamSoundMemToFile(const (dxlib_d.dxdatatype.TCHAR)* WaveFile, int LoopNum, int SoundHandle, int StreamDataType, int UnionHandle = -1);
17001 
17002 		/**
17003 		 * ストリーム再生タイプのサウンドハンドルにサウンドファイルを再生対象に追加する
17004 		 */
17005 		extern int AddStreamSoundMemToFileWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* WaveFile, size_t WaveFilePathLength, int LoopNum, int SoundHandle, int StreamDataType, int UnionHandle = -1);
17006 
17007 		/**
17008 		 * ストリーム再生タイプのサウンドハンドルの再生準備をする
17009 		 */
17010 		extern int SetupStreamSoundMem(int SoundHandle);
17011 
17012 		/**
17013 		 * ストリーム再生タイプのサウンドハンドルの再生を開始する
17014 		 */
17015 		extern int PlayStreamSoundMem(int SoundHandle, int PlayType = DX_PLAYTYPE_LOOP, int TopPositionFlag = dxlib_d.dxdatatype.TRUE);
17016 
17017 		/**
17018 		 * ストリーム再生タイプのサウンドハンドルの再生状態を取得する
17019 		 */
17020 		extern int CheckStreamSoundMem(int SoundHandle);
17021 
17022 		/**
17023 		 * ストリーム再生タイプのサウンドハンドルの再生を停止する
17024 		 */
17025 		extern int StopStreamSoundMem(int SoundHandle);
17026 
17027 		/**
17028 		 * サウンドハンドルの再生位置をバイト単位で変更する(再生が止まっている時のみ有効)
17029 		 */
17030 		extern int SetStreamSoundCurrentPosition(dxlib_d.dxdatatype.LONGLONG Byte, int SoundHandle);
17031 
17032 		/**
17033 		 * サウンドハンドルの再生位置をバイト単位で取得する
17034 		 */
17035 		extern dxlib_d.dxdatatype.LONGLONG GetStreamSoundCurrentPosition(int SoundHandle);
17036 
17037 		/**
17038 		 * サウンドハンドルの再生位置をミリ秒単位で設定する(圧縮形式の場合は正しく設定されない場合がある)
17039 		 */
17040 		extern int SetStreamSoundCurrentTime(dxlib_d.dxdatatype.LONGLONG Time, int SoundHandle);
17041 
17042 		/**
17043 		 * サウンドハンドルの再生位置をミリ秒単位で取得する(圧縮形式の場合は正しい値が返ってこない場合がある)
17044 		 */
17045 		extern dxlib_d.dxdatatype.LONGLONG GetStreamSoundCurrentTime(int SoundHandle);
17046 
17047 		/**
17048 		 * ストリーム再生タイプのサウンドハンドルの周期的な処理を行う関数( 内部で自動的に呼ばれます )
17049 		 */
17050 		extern int ProcessStreamSoundMem(int SoundHandle);
17051 
17052 		/**
17053 		 * 有効なストリーム再生タイプのサウンドハンドルに対して ProcessStreamSoundMem を実行する( 内部で自動的に呼ばれます )
17054 		 */
17055 		extern int ProcessStreamSoundMemAll();
17056 
17057 		/**
17058 		 * 前奏部とループ部に分かれたサウンドファイルを読み込みサウンドハンドルを作成する
17059 		 */
17060 		extern int LoadSoundMem2(const (dxlib_d.dxdatatype.TCHAR)* FileName1, const (dxlib_d.dxdatatype.TCHAR)* FileName2);
17061 
17062 		/**
17063 		 * 前奏部とループ部に分かれたサウンドファイルを読み込みサウンドハンドルを作成する
17064 		 */
17065 		extern int LoadSoundMem2WithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName1, size_t FileName1Length, const (dxlib_d.dxdatatype.TCHAR)* FileName2, size_t FileName2Length);
17066 
17067 		/**
17068 		 * 主にBGMを読み込みサウンドハンドルを作成するのに適した関数
17069 		 */
17070 		extern int LoadBGM(const (dxlib_d.dxdatatype.TCHAR)* FileName);
17071 
17072 		/**
17073 		 * 主にBGMを読み込みサウンドハンドルを作成するのに適した関数
17074 		 */
17075 		extern int LoadBGMWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
17076 
17077 		/**
17078 		 * サウンドファイルからサウンドハンドルを作成する
17079 		 */
17080 		extern int LoadSoundMemBase(const (dxlib_d.dxdatatype.TCHAR)* FileName, int BufferNum, int UnionHandle = -1);
17081 
17082 		/**
17083 		 * サウンドファイルからサウンドハンドルを作成する
17084 		 */
17085 		extern int LoadSoundMemBaseWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int BufferNum, int UnionHandle = -1);
17086 
17087 		/**
17088 		 * LoadSoundMemBase の別名関数
17089 		 */
17090 		extern int LoadSoundMem(const (dxlib_d.dxdatatype.TCHAR)* FileName, int BufferNum = 3, int UnionHandle = -1);
17091 
17092 		/**
17093 		 * LoadSoundMemBase の別名関数
17094 		 */
17095 		extern int LoadSoundMemWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int BufferNum = 3, int UnionHandle = -1);
17096 
17097 		/**
17098 		 * LoadSoundMem を使用して下さい
17099 		 */
17100 		extern int LoadSoundMemToBufNumSitei(const (dxlib_d.dxdatatype.TCHAR)* FileName, int BufferNum);
17101 
17102 		/**
17103 		 * LoadSoundMem を使用して下さい
17104 		 */
17105 		extern int LoadSoundMemToBufNumSiteiWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int BufferNum);
17106 
17107 		/**
17108 		 * 同じサウンドデータを使用するサウンドハンドルを作成する( DX_SOUNDDATATYPE_MEMNOPRESS タイプのサウンドハンドルのみ可能 )
17109 		 */
17110 		extern int DuplicateSoundMem(int SrcSoundHandle, int BufferNum = 3);
17111 
17112 		/**
17113 		 * メモリ上に展開されたサウンドファイルイメージからサウンドハンドルを作成する
17114 		 */
17115 		extern int LoadSoundMemByMemImageBase(const (void)* FileImage, size_t FileImageSize, int BufferNum, int UnionHandle = -1);
17116 
17117 		/**
17118 		 * LoadSoundMemByMemImageBase の別名関数
17119 		 */
17120 		extern int LoadSoundMemByMemImage(const (void)* FileImage, size_t FileImageSize, int BufferNum = 3, int UnionHandle = -1);
17121 
17122 		/**
17123 		 * メモリ上に展開されたPCMデータからサウンドハンドルを作成する
17124 		 */
17125 		extern int LoadSoundMemByMemImage2(const (void)* WaveImage, size_t WaveImageSize, const (.WAVEFORMATEX)* WaveFormat, size_t WaveHeaderSize);
17126 
17127 		/**
17128 		 * LoadSoundMemByMemImageBase を使用して下さい
17129 		 */
17130 		extern int LoadSoundMemByMemImageToBufNumSitei(const (void)* FileImage, size_t FileImageSize, int BufferNum);
17131 
17132 		/**
17133 		 * 前奏部とループ部に分かれた二つのメモリ上に展開されたサウンドファイルイメージからサウンドハンドルを作成する
17134 		 */
17135 		extern int LoadSoundMem2ByMemImage(const (void)* FileImage1, size_t FileImageSize1, const (void)* FileImage2, size_t FileImageSize2);
17136 
17137 		/**
17138 		 * ソフトウエアサウンドハンドルが持つサウンドデータからサウンドハンドルを作成する
17139 		 */
17140 		extern int LoadSoundMemFromSoftSound(int SoftSoundHandle, int BufferNum = 3);
17141 
17142 		/**
17143 		 * サウンドハンドルを削除する
17144 		 */
17145 		extern int DeleteSoundMem(int SoundHandle, int LogOutFlag = dxlib_d.dxdatatype.FALSE);
17146 
17147 		/**
17148 		 * サウンドハンドルを再生する
17149 		 */
17150 		extern int PlaySoundMem(int SoundHandle, int PlayType, int TopPositionFlag = dxlib_d.dxdatatype.TRUE);
17151 
17152 		/**
17153 		 * サウンドハンドルの再生を停止する
17154 		 */
17155 		extern int StopSoundMem(int SoundHandle);
17156 
17157 		/**
17158 		 * サウンドハンドルが再生中かどうかを取得する
17159 		 */
17160 		extern int CheckSoundMem(int SoundHandle);
17161 
17162 		/**
17163 		 * サウンドハンドルのパンを設定する( 100分の1デシベル単位 0 〜 10000 )
17164 		 */
17165 		extern int SetPanSoundMem(int PanPal, int SoundHandle);
17166 
17167 		/**
17168 		 * サウンドハンドルのパンを設定する( -255 〜 255 )
17169 		 */
17170 		extern int ChangePanSoundMem(int PanPal, int SoundHandle);
17171 
17172 		/**
17173 		 * サウンドハンドルのパンを取得する
17174 		 */
17175 		extern int GetPanSoundMem(int SoundHandle);
17176 
17177 		/**
17178 		 * サウンドハンドルのボリュームを設定する( 100分の1デシベル単位 0 〜 10000 )
17179 		 */
17180 		extern int SetVolumeSoundMem(int VolumePal, int SoundHandle);
17181 
17182 		/**
17183 		 * サウンドハンドルのボリュームを設定する( 0 〜 255 )
17184 		 */
17185 		extern int ChangeVolumeSoundMem(int VolumePal, int SoundHandle);
17186 
17187 		/**
17188 		 * サウンドハンドルのボリュームを取得する( 100分の1デシベル単位 0 〜 10000 )
17189 		 */
17190 		extern int GetVolumeSoundMem(int SoundHandle);
17191 
17192 		/**
17193 		 * サウンドハンドルのボリュームを取得する( 0 〜 255 )
17194 		 */
17195 		extern int GetVolumeSoundMem2(int SoundHandle);
17196 
17197 		/**
17198 		 * サウンドハンドルの指定のチャンネルのボリュームを設定する( 100分の1デシベル単位 0 〜 10000 )
17199 		 */
17200 		extern int SetChannelVolumeSoundMem(int Channel, int VolumePal, int SoundHandle);
17201 
17202 		/**
17203 		 * サウンドハンドルの指定のチャンネルのボリュームを設定する( 0 〜 255 )
17204 		 */
17205 		extern int ChangeChannelVolumeSoundMem(int Channel, int VolumePal, int SoundHandle);
17206 
17207 		/**
17208 		 * サウンドハンドルの指定のチャンネルのボリュームを取得する( 100分の1デシベル単位 0 〜 10000 )
17209 		 */
17210 		extern int GetChannelVolumeSoundMem(int Channel, int SoundHandle);
17211 
17212 		/**
17213 		 * サウンドハンドルの指定のチャンネルのボリュームを取得する( 0 〜 255 )
17214 		 */
17215 		extern int GetChannelVolumeSoundMem2(int Channel, int SoundHandle);
17216 
17217 		/**
17218 		 * サウンドハンドルの再生周波数を設定する
17219 		 */
17220 		extern int SetFrequencySoundMem(int FrequencyPal, int SoundHandle);
17221 
17222 		/**
17223 		 * サウンドハンドルの再生周波数を取得する
17224 		 */
17225 		extern int GetFrequencySoundMem(int SoundHandle);
17226 
17227 		/**
17228 		 * サウンドハンドルの再生周波数を読み込み直後の状態に戻す
17229 		 */
17230 		extern int ResetFrequencySoundMem(int SoundHandle);
17231 
17232 		/**
17233 		 * サウンドハンドルの次の再生にのみ使用するパンを設定する( 100分の1デシベル単位 0 〜 10000 )
17234 		 */
17235 		extern int SetNextPlayPanSoundMem(int PanPal, int SoundHandle);
17236 
17237 		/**
17238 		 * サウンドハンドルの次の再生にのみ使用するパンを設定する( -255 〜 255 )
17239 		 */
17240 		extern int ChangeNextPlayPanSoundMem(int PanPal, int SoundHandle);
17241 
17242 		/**
17243 		 * サウンドハンドルの次の再生にのみ使用するボリュームを設定する( 100分の1デシベル単位 0 〜 10000 )
17244 		 */
17245 		extern int SetNextPlayVolumeSoundMem(int VolumePal, int SoundHandle);
17246 
17247 		/**
17248 		 * サウンドハンドルの次の再生にのみ使用するボリュームを設定する( 0 〜 255 )
17249 		 */
17250 		extern int ChangeNextPlayVolumeSoundMem(int VolumePal, int SoundHandle);
17251 
17252 		/**
17253 		 * サウンドハンドルの次の再生にのみ使用するチャンネルのボリュームを設定する( 100分の1デシベル単位 0 〜 10000 )
17254 		 */
17255 		extern int SetNextPlayChannelVolumeSoundMem(int Channel, int VolumePal, int SoundHandle);
17256 
17257 		/**
17258 		 * サウンドハンドルの次の再生にのみ使用するチャンネルのボリュームを設定する( 0 〜 255 )
17259 		 */
17260 		extern int ChangeNextPlayChannelVolumeSoundMem(int Channel, int VolumePal, int SoundHandle);
17261 
17262 		/**
17263 		 * サウンドハンドルの次の再生にのみ使用する再生周波数を設定する
17264 		 */
17265 		extern int SetNextPlayFrequencySoundMem(int FrequencyPal, int SoundHandle);
17266 
17267 		/**
17268 		 * サウンドハンドルの再生位置をサンプル単位で設定する(再生が止まっている時のみ有効)
17269 		 */
17270 		extern int SetCurrentPositionSoundMem(dxlib_d.dxdatatype.LONGLONG SamplePosition, int SoundHandle);
17271 
17272 		/**
17273 		 * サウンドハンドルの再生位置をサンプル単位で取得する
17274 		 */
17275 		extern dxlib_d.dxdatatype.LONGLONG GetCurrentPositionSoundMem(int SoundHandle);
17276 
17277 		/**
17278 		 * サウンドハンドルの再生位置をバイト単位で設定する(再生が止まっている時のみ有効)
17279 		 */
17280 		extern int SetSoundCurrentPosition(dxlib_d.dxdatatype.LONGLONG Byte, int SoundHandle);
17281 
17282 		/**
17283 		 * サウンドハンドルの再生位置をバイト単位で取得する
17284 		 */
17285 		extern dxlib_d.dxdatatype.LONGLONG GetSoundCurrentPosition(int SoundHandle);
17286 
17287 		/**
17288 		 * サウンドハンドルの再生位置をミリ秒単位で設定する(圧縮形式の場合は正しく設定されない場合がある)
17289 		 */
17290 		extern int SetSoundCurrentTime(dxlib_d.dxdatatype.LONGLONG Time, int SoundHandle);
17291 
17292 		/**
17293 		 * サウンドハンドルの再生位置をミリ秒単位で取得する(圧縮形式の場合は正しい値が返ってこない場合がある)
17294 		 */
17295 		extern dxlib_d.dxdatatype.LONGLONG GetSoundCurrentTime(int SoundHandle);
17296 
17297 		/**
17298 		 * サウンドハンドルの音の総時間をサンプル単位で取得する
17299 		 */
17300 		extern dxlib_d.dxdatatype.LONGLONG GetSoundTotalSample(int SoundHandle);
17301 
17302 		/**
17303 		 * サウンドハンドルの音の総時間をミリ秒単位で取得する
17304 		 */
17305 		extern dxlib_d.dxdatatype.LONGLONG GetSoundTotalTime(int SoundHandle);
17306 
17307 		/**
17308 		 * SetLoopTimePosSoundMem の別名関数
17309 		 */
17310 		extern int SetLoopPosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopTime, int SoundHandle);
17311 
17312 		/**
17313 		 * サウンドハンドルにループ位置を設定する(ミリ秒単位)
17314 		 */
17315 		extern int SetLoopTimePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopTime, int SoundHandle);
17316 
17317 		/**
17318 		 * サウンドハンドルにループ位置を設定する(サンプル単位)
17319 		 */
17320 		extern int SetLoopSamplePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopSamplePosition, int SoundHandle);
17321 
17322 		/**
17323 		 * サウンドハンドルにループ開始位置を設定する(ミリ秒単位)
17324 		 */
17325 		extern int SetLoopStartTimePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopStartTime, int SoundHandle);
17326 
17327 		/**
17328 		 * サウンドハンドルにループ開始位置を設定する(サンプル単位)
17329 		 */
17330 		extern int SetLoopStartSamplePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopStartSamplePosition, int SoundHandle);
17331 
17332 		/**
17333 		 * サウンドハンドルにループ範囲を設定する(ミリ秒単位)
17334 		 */
17335 		extern int SetLoopAreaTimePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopStartTime, dxlib_d.dxdatatype.LONGLONG LoopEndTime, int SoundHandle);
17336 
17337 		/**
17338 		 * サウンドハンドルにループ範囲を取得する(ミリ秒単位)
17339 		 */
17340 		extern int GetLoopAreaTimePosSoundMem(dxlib_d.dxdatatype.LONGLONG* LoopStartTime, dxlib_d.dxdatatype.LONGLONG* LoopEndTime, int SoundHandle);
17341 
17342 		/**
17343 		 * サウンドハンドルにループ範囲を設定する(サンプル単位)
17344 		 */
17345 		extern int SetLoopAreaSamplePosSoundMem(dxlib_d.dxdatatype.LONGLONG LoopStartSamplePosition, dxlib_d.dxdatatype.LONGLONG LoopEndSamplePosition, int SoundHandle);
17346 
17347 		/**
17348 		 * サウンドハンドルにループ範囲を取得する(サンプル単位)
17349 		 */
17350 		extern int GetLoopAreaSamplePosSoundMem(dxlib_d.dxdatatype.LONGLONG* LoopStartSamplePosition, dxlib_d.dxdatatype.LONGLONG* LoopEndSamplePosition, int SoundHandle);
17351 
17352 		/**
17353 		 * サウンドハンドルの再生が終了したら自動的にハンドルを削除するかどうかを設定する
17354 		 */
17355 		extern int SetPlayFinishDeleteSoundMem(int DeleteFlag, int SoundHandle);
17356 
17357 		/**
17358 		 * サウンドハンドルの3Dサウンド用のリバーブパラメータを設定する
17359 		 */
17360 		extern int Set3DReverbParamSoundMem(const (.SOUND3D_REVERB_PARAM)* Param, int SoundHandle);
17361 
17362 		/**
17363 		 * サウンドハンドルの3Dサウンド用のリバーブパラメータをプリセットを使用して設定する
17364 		 */
17365 		extern int Set3DPresetReverbParamSoundMem(int PresetNo /* DX_REVERB_PRESET_DEFAULT 等 */, int SoundHandle);
17366 
17367 		/**
17368 		 * 全ての3Dサウンドのサウンドハンドルにリバーブパラメータを設定する
17369 		 *
17370 		 * Params:
17371 		 *      Param = ?
17372 		 *      PlaySoundOnly = TRUE:再生中のサウンドにのみ設定する  FALSE:再生していないサウンドにも設定する
17373 		 */
17374 		extern int Set3DReverbParamSoundMemAll(const (.SOUND3D_REVERB_PARAM)* Param, int PlaySoundOnly = dxlib_d.dxdatatype.FALSE);
17375 
17376 		/**
17377 		 * 全ての3Dサウンドのサウンドハンドルにリバーブパラメータをプリセットを使用して設定する
17378 		 *
17379 		 * Params:
17380 		 *      PresetNo = ?
17381 		 *      PlaySoundOnly = TRUE:再生中のサウンドにのみ設定する  FALSE:再生していないサウンドにも設定する
17382 		 */
17383 		extern int Set3DPresetReverbParamSoundMemAll(int PresetNo /* DX_REVERB_PRESET_DEFAULT 等 */, int PlaySoundOnly = dxlib_d.dxdatatype.FALSE);
17384 
17385 		/**
17386 		 * サウンドハンドルに設定されている3Dサウンド用のリバーブパラメータを取得する
17387 		 */
17388 		extern int Get3DReverbParamSoundMem(.SOUND3D_REVERB_PARAM* ParamBuffer, int SoundHandle);
17389 
17390 		/**
17391 		 * プリセットの3Dサウンド用のリバーブパラメータを取得する
17392 		 */
17393 		extern int Get3DPresetReverbParamSoundMem(.SOUND3D_REVERB_PARAM* ParamBuffer, int PresetNo /* DX_REVERB_PRESET_DEFAULT 等 */);
17394 
17395 		/**
17396 		 * サウンドハンドルの3Dサウンド用の再生位置を設定する
17397 		 */
17398 		extern int Set3DPositionSoundMem(.VECTOR Position, int SoundHandle);
17399 
17400 		/**
17401 		 * サウンドハンドルの3Dサウンド用の音が聞こえる距離を設定する
17402 		 */
17403 		extern int Set3DRadiusSoundMem(float Radius, int SoundHandle);
17404 
17405 		/**
17406 		 * サウンドハンドルの3Dサウンド用の移動速度を設定する
17407 		 */
17408 		extern int Set3DVelocitySoundMem(.VECTOR Velocity, int SoundHandle);
17409 
17410 		/**
17411 		 * サウンドハンドルの次の再生のみに使用する3Dサウンド用の再生位置を設定する
17412 		 */
17413 		extern int SetNextPlay3DPositionSoundMem(.VECTOR Position, int SoundHandle);
17414 
17415 		/**
17416 		 * サウンドハンドルの次の再生のみに使用する3Dサウンド用の音が聞こえる距離を設定する
17417 		 */
17418 		extern int SetNextPlay3DRadiusSoundMem(float Radius, int SoundHandle);
17419 
17420 		/**
17421 		 * サウンドハンドルの次の再生のみに使用する3Dサウンド用の移動速度を設定する
17422 		 */
17423 		extern int SetNextPlay3DVelocitySoundMem(.VECTOR Velocity, int SoundHandle);
17424 
17425 		// 特殊関数
17426 
17427 		/**
17428 		 * MP3ファイルのタグ情報を取得する
17429 		 */
17430 		extern int GetMP3TagInfo(const (dxlib_d.dxdatatype.TCHAR)* FileName, dxlib_d.dxdatatype.TCHAR* TitleBuffer, size_t TitleBufferBytes, dxlib_d.dxdatatype.TCHAR* ArtistBuffer, size_t ArtistBufferBytes, dxlib_d.dxdatatype.TCHAR* AlbumBuffer, size_t AlbumBufferBytes, dxlib_d.dxdatatype.TCHAR* YearBuffer, size_t YearBufferBytes, dxlib_d.dxdatatype.TCHAR* CommentBuffer, size_t CommentBufferBytes, dxlib_d.dxdatatype.TCHAR* TrackBuffer, size_t TrackBufferBytes, dxlib_d.dxdatatype.TCHAR* GenreBuffer, size_t GenreBufferBytes, int* PictureGrHandle);
17431 
17432 		/**
17433 		 * MP3ファイルのタグ情報を取得する
17434 		 */
17435 		extern int GetMP3TagInfoWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, dxlib_d.dxdatatype.TCHAR* TitleBuffer, size_t TitleBufferBytes, dxlib_d.dxdatatype.TCHAR* ArtistBuffer, size_t ArtistBufferBytes, dxlib_d.dxdatatype.TCHAR* AlbumBuffer, size_t AlbumBufferBytes, dxlib_d.dxdatatype.TCHAR* YearBuffer, size_t YearBufferBytes, dxlib_d.dxdatatype.TCHAR* CommentBuffer, size_t CommentBufferBytes, dxlib_d.dxdatatype.TCHAR* TrackBuffer, size_t TrackBufferBytes, dxlib_d.dxdatatype.TCHAR* GenreBuffer, size_t GenreBufferBytes, int* PictureGrHandle);
17436 
17437 		version (DX_NON_OGGVORBIS) {
17438 		} else {
17439 			/**
17440 			 * Oggファイルのコメント情報の数を取得する
17441 			 */
17442 			extern int GetOggCommentNum(const (dxlib_d.dxdatatype.TCHAR)* FileName);
17443 
17444 			/**
17445 			 * Oggファイルのコメント情報の数を取得する
17446 			 */
17447 			extern int GetOggCommentNumWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
17448 
17449 			extern int GetOggComment(const (dxlib_d.dxdatatype.TCHAR)* FileName, int CommentIndex, dxlib_d.dxdatatype.TCHAR* CommentNameBuffer, size_t CommentNameBufferBytes, dxlib_d.dxdatatype.TCHAR* CommentBuffer,
17450 			/**
17451 			 * Oggファイルのコメント情報を取得する
17452 			 */
17453 			size_t CommentBufferBytes);
17454 
17455 			extern int GetOggCommentWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int CommentIndex, dxlib_d.dxdatatype.TCHAR* CommentNameBuffer, size_t CommentNameBufferBytes, dxlib_d.dxdatatype.TCHAR* CommentBuffer,
17456 			/**
17457 			 * Oggファイルのコメント情報を取得する
17458 			 */
17459 			size_t CommentBufferBytes);
17460 		}
17461 
17462 		// 設定関係関数
17463 
17464 		/**
17465 		 * 作成するサウンドハンドルの再生タイプを設定する( DX_SOUNDDATATYPE_MEMNOPRESS 等 )
17466 		 */
17467 		extern int SetCreateSoundDataType(int SoundDataType);
17468 
17469 		/**
17470 		 * 作成するサウンドハンドルの再生タイプを取得する( DX_SOUNDDATATYPE_MEMNOPRESS 等 )
17471 		 */
17472 		extern int GetCreateSoundDataType();
17473 
17474 		/**
17475 		 * 作成するサウンドハンドルのピッチ( 音の長さを変えずに音程を変更する )レートを設定する( 単位はセント( 100.0fで半音、1200.0fで1オクターヴ )、プラスの値で音程が高く、マイナスの値で音程が低くなります )
17476 		 */
17477 		extern int SetCreateSoundPitchRate(float Cents);
17478 
17479 		/**
17480 		 * 作成するサウンドハンドルのピッチ( 音の長さを変えずに音程を変更する )レートを取得する( 単位はセント( 100.0fで半音、1200.0fで1オクターヴ )、プラスの値で音程が高く、マイナスの値で音程が低くなります )
17481 		 */
17482 		extern float GetCreateSoundPitchRate();
17483 
17484 		/**
17485 		 * 作成するサウンドハンドルのタイムストレッチ( 音程を変えずに音の長さを変更する )レートを設定する( 単位は倍率、2.0f で音の長さが2倍に、0.5f で音の長さが半分になります )
17486 		 */
17487 		extern int SetCreateSoundTimeStretchRate(float Rate);
17488 
17489 		/**
17490 		 * 作成するサウンドハンドルのタイムストレッチ( 音程を変えずに音の長さを変更する )レートを取得する( 単位は倍率、2.0f で音の長さが2倍に、0.5f で音の長さが半分になります )
17491 		 */
17492 		extern float GetCreateSoundTimeStretchRate();
17493 
17494 		/**
17495 		 * 作成するサウンドハンドルのループ範囲を設定する( ミリ秒単位 )
17496 		 */
17497 		extern int SetCreateSoundLoopAreaTimePos(dxlib_d.dxdatatype.LONGLONG LoopStartTime, dxlib_d.dxdatatype.LONGLONG LoopEndTime);
17498 
17499 		/**
17500 		 * 作成するサウンドハンドルのループ範囲を取得する( ミリ秒単位 )
17501 		 */
17502 		extern int GetCreateSoundLoopAreaTimePos(dxlib_d.dxdatatype.LONGLONG* LoopStartTime, dxlib_d.dxdatatype.LONGLONG* LoopEndTime);
17503 
17504 		/**
17505 		 * 作成するサウンドハンドルのループ範囲を設定する( サンプル単位 )
17506 		 */
17507 		extern int SetCreateSoundLoopAreaSamplePos(dxlib_d.dxdatatype.LONGLONG LoopStartSamplePosition, dxlib_d.dxdatatype.LONGLONG LoopEndSamplePosition);
17508 
17509 		/**
17510 		 * 作成するサウンドハンドルのループ範囲を取得する( サンプル単位 )
17511 		 */
17512 		extern int GetCreateSoundLoopAreaSamplePos(dxlib_d.dxdatatype.LONGLONG* LoopStartSamplePosition, dxlib_d.dxdatatype.LONGLONG* LoopEndSamplePosition);
17513 
17514 		/**
17515 		 * LoadSoundMem などで読み込むサウンドデータにループ範囲情報があっても無視するかどうかを設定する
17516 		 *
17517 		 * Params:
17518 		 *      IgnoreFlag = TRUE:無視する  FALSE:無視しない( デフォルト )
17519 		 */
17520 		extern int SetCreateSoundIgnoreLoopAreaInfo(int IgnoreFlag);
17521 
17522 		/**
17523 		 * LoadSoundMem などで読み込むサウンドデータにループ範囲情報があっても無視するかどうかを取得する
17524 		 *
17525 		 * Returns: TRUE:無視する  FALSE:無視しない( デフォルト )
17526 		 */
17527 		extern int GetCreateSoundIgnoreLoopAreaInfo();
17528 
17529 		/**
17530 		 * 使用しないサウンドデータ読み込み処理のマスクを設定する( DX_READSOUNDFUNCTION_PCM 等 )
17531 		 */
17532 		extern int SetDisableReadSoundFunctionMask(int Mask);
17533 
17534 		/**
17535 		 * 使用しないサウンドデータ読み込み処理のマスクを取得する( DX_READSOUNDFUNCTION_PCM 等 )
17536 		 */
17537 		extern int GetDisableReadSoundFunctionMask();
17538 
17539 		/**
17540 		 * サウンドキャプチャを前提とした動作をするかどうかを設定する
17541 		 */
17542 		extern int SetEnableSoundCaptureFlag(int Flag);
17543 
17544 		/**
17545 		 * ChangeVolumeSoundMem, ChangeNextPlayVolumeSoundMem, ChangeMovieVolumeToGraph の音量計算式を Ver3.10c以前のものを使用するかどうかを設定する
17546 		 *
17547 		 * Params:
17548 		 *      Flag = TRUE:Ver3.10c以前の計算式を使用  FALSE:3.10d以降の計算式を使用( デフォルト )
17549 		 */
17550 		extern int SetUseOldVolumeCalcFlag(int Flag);
17551 
17552 		/**
17553 		 * GetSoundCurrentTime などを使用した場合に取得できる再生時間のタイプを設定する
17554 		 */
17555 		extern int SetSoundCurrentTimeType(int Type /* DX_SOUNDCURRENTTIME_TYPE_LOW_LEVEL など */);
17556 
17557 		/**
17558 		 * GetSoundCurrentTime などを使用した場合に取得できる再生時間のタイプを取得する
17559 		 */
17560 		extern int GetSoundCurrentTimeType();
17561 
17562 		/**
17563 		 * 次に作成するサウンドハンドルを3Dサウンド用にするかどうかを設定する
17564 		 *
17565 		 * Params:
17566 		 *      Flag = TRUE:3Dサウンド用にする  FALSE:3Dサウンド用にしない( デフォルト )
17567 		 */
17568 		extern int SetCreate3DSoundFlag(int Flag);
17569 
17570 		/**
17571 		 * 3D空間の1メートルに相当する距離を設定する、DxLib_Init を呼び出す前でのみ呼び出し可能( デフォルト:1.0f )
17572 		 *
17573 		 * Params:
17574 		 *      Distance = ?
17575 		 */
17576 		extern int Set3DSoundOneMetre(float Distance);
17577 
17578 		/**
17579 		 * 3Dサウンドのリスナーの位置とリスナーの前方位置を設定する( リスナーの上方向はY軸固定 )
17580 		 */
17581 		extern int Set3DSoundListenerPosAndFrontPos_UpVecY(.VECTOR Position, .VECTOR FrontPosition);
17582 
17583 		/**
17584 		 * 3Dサウンドのリスナーの位置とリスナーの前方位置とリスナーの上方向を設定する
17585 		 */
17586 		extern int Set3DSoundListenerPosAndFrontPosAndUpVec(.VECTOR Position, .VECTOR FrontPosition, .VECTOR UpVector);
17587 
17588 		/**
17589 		 * 3Dサウンドのリスナーの移動速度を設定する
17590 		 */
17591 		extern int Set3DSoundListenerVelocity(.VECTOR Velocity);
17592 
17593 		/**
17594 		 * 3Dサウンドのリスナーの可聴角度範囲を設定する
17595 		 */
17596 		extern int Set3DSoundListenerConeAngle(float InnerAngle, float OuterAngle);
17597 
17598 		/**
17599 		 * 3Dサウンドのリスナーの可聴角度範囲の音量倍率を設定する
17600 		 */
17601 		extern int Set3DSoundListenerConeVolume(float InnerAngleVolume, float OuterAngleVolume);
17602 
17603 		version (DX_NON_BEEP) {
17604 		} else {
17605 			// BEEP音再生用命令
17606 
17607 			/**
17608 			 * ビープ音周波数設定関数
17609 			 */
17610 			extern int SetBeepFrequency(int Freq);
17611 
17612 			/**
17613 			 * ビープ音を再生する
17614 			 */
17615 			extern int PlayBeep();
17616 
17617 			/**
17618 			 * ビープ音を止める
17619 			 */
17620 			extern int StopBeep();
17621 		}
17622 
17623 		// ラッパー関数
17624 
17625 		/**
17626 		 * サウンドファイルを再生する
17627 		 */
17628 		extern int PlaySoundFile(const (dxlib_d.dxdatatype.TCHAR)* FileName, int PlayType);
17629 
17630 		/**
17631 		 * サウンドファイルを再生する
17632 		 */
17633 		extern int PlaySoundFileWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int PlayType);
17634 
17635 		/**
17636 		 * PlaySoundFile の旧名称
17637 		 */
17638 		extern int PlaySound(const (dxlib_d.dxdatatype.TCHAR)* FileName, int PlayType);
17639 
17640 		/**
17641 		 * PlaySoundFile の旧名称
17642 		 */
17643 		extern int PlaySoundWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int PlayType);
17644 
17645 		/**
17646 		 * サウンドファイルの再生中かどうかを取得する
17647 		 */
17648 		extern int CheckSoundFile();
17649 
17650 		/**
17651 		 * CheckSoundFile の旧名称
17652 		 */
17653 		extern int CheckSound();
17654 
17655 		/**
17656 		 * サウンドファイルの再生を停止する
17657 		 */
17658 		extern int StopSoundFile();
17659 
17660 		/**
17661 		 * StopSoundFile の旧名称
17662 		 */
17663 		extern int StopSound();
17664 
17665 		/**
17666 		 * サウンドファイルの音量を設定する
17667 		 */
17668 		extern int SetVolumeSoundFile(int VolumePal);
17669 
17670 		/**
17671 		 * SetVolumeSound の旧名称
17672 		 */
17673 		extern int SetVolumeSound(int VolumePal);
17674 
17675 		// ソフトウエア制御サウンド系関数
17676 
17677 		/**
17678 		 * ソフトウエアで扱う波形データハンドルをすべて削除する
17679 		 */
17680 		extern int InitSoftSound();
17681 
17682 		/**
17683 		 * ソフトウエアで扱う波形データハンドルをサウンドファイルから作成する
17684 		 */
17685 		extern int LoadSoftSound(const (dxlib_d.dxdatatype.TCHAR)* FileName);
17686 
17687 		/**
17688 		 * ソフトウエアで扱う波形データハンドルをサウンドファイルから作成する
17689 		 */
17690 		extern int LoadSoftSoundWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
17691 
17692 		/**
17693 		 * ソフトウエアで扱う波形データハンドルをメモリ上に展開されたサウンドファイルイメージから作成する
17694 		 */
17695 		extern int LoadSoftSoundFromMemImage(const (void)* FileImage, size_t FileImageSize);
17696 
17697 		/**
17698 		 * ソフトウエアで扱う空の波形データハンドルを作成する( フォーマットは引数のソフトウエアサウンドハンドルと同じものにする )
17699 		 */
17700 		extern int MakeSoftSound(int UseFormat_SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG SampleNum);
17701 
17702 		/**
17703 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:2 量子化ビット数:16bit サンプリング周波数:44.1KHz )
17704 		 */
17705 		extern int MakeSoftSound2Ch16Bit44KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17706 
17707 		/**
17708 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:2 量子化ビット数:16bit サンプリング周波数:22KHz )
17709 		 */
17710 		extern int MakeSoftSound2Ch16Bit22KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17711 
17712 		/**
17713 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:2 量子化ビット数:8bit サンプリング周波数:44.1KHz )
17714 		 */
17715 		extern int MakeSoftSound2Ch8Bit44KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17716 
17717 		/**
17718 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:2 量子化ビット数:8bit サンプリング周波数:22KHz )
17719 		 */
17720 		extern int MakeSoftSound2Ch8Bit22KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17721 
17722 		/**
17723 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:1 量子化ビット数:16bit サンプリング周波数:44.1KHz )
17724 		 */
17725 		extern int MakeSoftSound1Ch16Bit44KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17726 
17727 		/**
17728 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:1 量子化ビット数:16bit サンプリング周波数:22KHz )
17729 		 */
17730 		extern int MakeSoftSound1Ch16Bit22KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17731 
17732 		/**
17733 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:1 量子化ビット数:8bit サンプリング周波数:44.1KHz )
17734 		 */
17735 		extern int MakeSoftSound1Ch8Bit44KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17736 
17737 		/**
17738 		 * ソフトウエアで扱う空の波形データハンドルを作成する( チャンネル数:1 量子化ビット数:8bit サンプリング周波数:22KHz )
17739 		 */
17740 		extern int MakeSoftSound1Ch8Bit22KHz(dxlib_d.dxdatatype.LONGLONG SampleNum);
17741 
17742 		/**
17743 		 * ソフトウエアで扱う空の波形データハンドルを作成する
17744 		 */
17745 		extern int MakeSoftSoundCustom(int ChannelNum, int BitsPerSample, int SamplesPerSec, dxlib_d.dxdatatype.LONGLONG SampleNum, int IsFloatType = 0);
17746 
17747 		/**
17748 		 * ソフトウエアで扱う波形データハンドルを削除する
17749 		 */
17750 		extern int DeleteSoftSound(int SoftSoundHandle);
17751 
17752 		version (DX_NON_SAVEFUNCTION) {
17753 		} else {
17754 			/**
17755 			 * ソフトウエアで扱う波形データハンドルをWAVEファイル(PCM)形式で保存する
17756 			 */
17757 			extern int SaveSoftSound(int SoftSoundHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName);
17758 
17759 			/**
17760 			 * ソフトウエアで扱う波形データハンドルをWAVEファイル(PCM)形式で保存する
17761 			 */
17762 			extern int SaveSoftSoundWithStrLen(int SoftSoundHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
17763 		}
17764 
17765 		/**
17766 		 * ソフトウエアで扱う波形データハンドルのサンプル数を取得する
17767 		 */
17768 		extern dxlib_d.dxdatatype.LONGLONG GetSoftSoundSampleNum(int SoftSoundHandle);
17769 
17770 		/**
17771 		 * ソフトウエアで扱う波形データハンドルのフォーマットを取得する
17772 		 */
17773 		extern int GetSoftSoundFormat(int SoftSoundHandle, int* Channels, int* BitsPerSample, int* SamplesPerSec, int* IsFloatType = null);
17774 
17775 		/**
17776 		 * ソフトウエアで扱う波形データハンドルのサンプルを読み取る
17777 		 */
17778 		extern int ReadSoftSoundData(int SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG SamplePosition, int* Channel1, int* Channel2);
17779 
17780 		/**
17781 		 * ソフトウエアで扱う波形データハンドルのサンプルを読み取る( float型版 )
17782 		 */
17783 		extern int ReadSoftSoundDataF(int SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG SamplePosition, float* Channel1, float* Channel2);
17784 
17785 		/**
17786 		 * ソフトウエアで扱う波形データハンドルのサンプルを書き込む
17787 		 */
17788 		extern int WriteSoftSoundData(int SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG SamplePosition, int Channel1, int Channel2);
17789 
17790 		/**
17791 		 * ソフトウエアで扱う波形データハンドルのサンプルを書き込む( float型版 )
17792 		 */
17793 		extern int WriteSoftSoundDataF(int SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG SamplePosition, float Channel1, float Channel2);
17794 
17795 		/**
17796 		 * ソフトウエアで扱う波形データハンドルの波形データを音程を変えずにデータの長さを変更する
17797 		 */
17798 		extern int WriteTimeStretchSoftSoundData(int SrcSoftSoundHandle, int DestSoftSoundHandle);
17799 
17800 		/**
17801 		 * ソフトウエアで扱う波形データハンドルの波形データの長さを変更する
17802 		 */
17803 		extern int WritePitchShiftSoftSoundData(int SrcSoftSoundHandle, int DestSoftSoundHandle);
17804 
17805 		/**
17806 		 * ソフトウエアで扱う波形データハンドルの波形イメージが格納されているメモリアドレスを取得する
17807 		 */
17808 		extern void* GetSoftSoundDataImage(int SoftSoundHandle);
17809 
17810 		/**
17811 		 * ソフトウエアで扱う波形データハンドルの指定の範囲を高速フーリエ変換を行い、各周波数域の振幅を取得する( SampleNum は 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536 の何れかである必要があります、Channel を -1 にすると二つのチャンネルを合成した結果になります )
17812 		 */
17813 		extern int GetFFTVibrationSoftSound(int SoftSoundHandle, int Channel, dxlib_d.dxdatatype.LONGLONG SamplePosition, int SampleNum, float* Buffer_Array, int BufferLength);
17814 
17815 		/**
17816 		 * ソフトウエアで扱う波形データハンドルの指定の範囲を高速フーリエ変換を行い、各周波数域の振幅を取得する、結果の実数と虚数を別々に取得することができるバージョン( SampleNum は 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536 の何れかである必要があります、Channel を -1 にすると二つのチャンネルを合成した結果になります )
17817 		 */
17818 		extern int GetFFTVibrationSoftSoundBase(int SoftSoundHandle, int Channel, dxlib_d.dxdatatype.LONGLONG SamplePosition, int SampleNum, float* RealBuffer_Array, float* ImagBuffer_Array, int BufferLength);
17819 
17820 		/**
17821 		 * ソフトウエアで扱う波形データのプレイヤーハンドルをすべて解放する
17822 		 */
17823 		extern int InitSoftSoundPlayer();
17824 
17825 		/**
17826 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( フォーマットは引数のソフトウエアサウンドハンドルと同じものにする )
17827 		 */
17828 		extern int MakeSoftSoundPlayer(int UseFormat_SoftSoundHandle);
17829 
17830 		/**
17831 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:2 量子化ビット数:16bit サンプリング周波数:44.1KHz )
17832 		 */
17833 		extern int MakeSoftSoundPlayer2Ch16Bit44KHz();
17834 
17835 		/**
17836 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:2 量子化ビット数:16bit サンプリング周波数:22KHz )
17837 		 */
17838 		extern int MakeSoftSoundPlayer2Ch16Bit22KHz();
17839 
17840 		/**
17841 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:2 量子化ビット数:8bit サンプリング周波数:44.1KHz )
17842 		 */
17843 		extern int MakeSoftSoundPlayer2Ch8Bit44KHz();
17844 
17845 		/**
17846 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:2 量子化ビット数:8bit サンプリング周波数:22KHz )
17847 		 */
17848 		extern int MakeSoftSoundPlayer2Ch8Bit22KHz();
17849 
17850 		/**
17851 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:1 量子化ビット数:16bit サンプリング周波数:44.1KHz )
17852 		 */
17853 		extern int MakeSoftSoundPlayer1Ch16Bit44KHz();
17854 
17855 		/**
17856 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:1 量子化ビット数:16bit サンプリング周波数:22KHz )
17857 		 */
17858 		extern int MakeSoftSoundPlayer1Ch16Bit22KHz();
17859 
17860 		/**
17861 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:1 量子化ビット数:8bit サンプリング周波数:44.1KHz )
17862 		 */
17863 		extern int MakeSoftSoundPlayer1Ch8Bit44KHz();
17864 
17865 		/**
17866 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する( チャンネル数:1 量子化ビット数:8bit サンプリング周波数:22KHz )
17867 		 */
17868 		extern int MakeSoftSoundPlayer1Ch8Bit22KHz();
17869 
17870 		/**
17871 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを作成する
17872 		 */
17873 		extern int MakeSoftSoundPlayerCustom(int ChannelNum, int BitsPerSample, int SamplesPerSec);
17874 
17875 		/**
17876 		 * ソフトウエアで扱う波形データのプレイヤーハンドルを削除する
17877 		 */
17878 		extern int DeleteSoftSoundPlayer(int SSoundPlayerHandle);
17879 
17880 		/**
17881 		 * ソフトウエアで扱う波形データのプレイヤーハンドルに波形データを追加する( フォーマットが同じではない場合はエラー )
17882 		 */
17883 		extern int AddDataSoftSoundPlayer(int SSoundPlayerHandle, int SoftSoundHandle, dxlib_d.dxdatatype.LONGLONG AddSamplePosition, int AddSampleNum);
17884 
17885 		/**
17886 		 * ソフトウエアで扱う波形データのプレイヤーハンドルにプレイヤーが対応したフォーマットの生波形データを追加する
17887 		 */
17888 		extern int AddDirectDataSoftSoundPlayer(int SSoundPlayerHandle, const (void)* SoundData, int AddSampleNum);
17889 
17890 		/**
17891 		 * ソフトウエアで扱う波形データのプレイヤーハンドルに波形データを1つ追加する
17892 		 */
17893 		extern int AddOneDataSoftSoundPlayer(int SSoundPlayerHandle, int Channel1, int Channel2);
17894 
17895 		/**
17896 		 * ソフトウエアで扱う波形データのプレイヤーハンドルが扱うデータフォーマットを取得する
17897 		 */
17898 		extern int GetSoftSoundPlayerFormat(int SSoundPlayerHandle, int* Channels, int* BitsPerSample, int* SamplesPerSec);
17899 
17900 		/**
17901 		 * ソフトウエアで扱う波形データのプレイヤーハンドルの再生処理を開始する
17902 		 */
17903 		extern int StartSoftSoundPlayer(int SSoundPlayerHandle);
17904 
17905 		/**
17906 		 * ソフトウエアで扱う波形データのプレイヤーハンドルの再生処理が開始されているか取得する
17907 		 *
17908 		 * Returns: TRUE:開始している  FALSE:停止している
17909 		 */
17910 		extern int CheckStartSoftSoundPlayer(int SSoundPlayerHandle);
17911 
17912 		/**
17913 		 * ソフトウエアで扱う波形データのプレイヤーハンドルの再生処理を停止する
17914 		 */
17915 		extern int StopSoftSoundPlayer(int SSoundPlayerHandle);
17916 
17917 		/**
17918 		 * ソフトウエアで扱う波形データのプレイヤーハンドルの状態を初期状態に戻す( 追加された波形データは削除され、再生状態だった場合は停止する )
17919 		 */
17920 		extern int ResetSoftSoundPlayer(int SSoundPlayerHandle);
17921 
17922 		/**
17923 		 * ソフトウエアで扱う波形データのプレイヤーハンドルに追加した波形データでまだ再生用サウンドバッファに転送されていない波形データのサンプル数を取得する
17924 		 */
17925 		extern int GetStockDataLengthSoftSoundPlayer(int SSoundPlayerHandle);
17926 
17927 		/**
17928 		 * ソフトウエアで扱う波形データのプレイヤーハンドルに再生用サウンドバッファに転送していない波形データが無く、再生用サウンドバッファにも無音データ以外無いかどうかを取得する
17929 		 *
17930 		 * Returns: TRUE:無音データ以外無い  FALSE:有効データがある
17931 		 */
17932 		extern int CheckSoftSoundPlayerNoneData(int SSoundPlayerHandle);
17933 
17934 		// MIDI制御関数
17935 
17936 		/**
17937 		 * MIDIハンドルを削除する
17938 		 */
17939 		extern int DeleteMusicMem(int MusicHandle);
17940 
17941 		/**
17942 		 * MIDIファイルを読み込みMIDIハンドルを作成する
17943 		 */
17944 		extern int LoadMusicMem(const (dxlib_d.dxdatatype.TCHAR)* FileName);
17945 
17946 		/**
17947 		 * MIDIファイルを読み込みMIDIハンドルを作成する
17948 		 */
17949 		extern int LoadMusicMemWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
17950 
17951 		/**
17952 		 * メモリ上に展開されたMIDIファイルイメージからMIDIハンドルを作成する
17953 		 */
17954 		extern int LoadMusicMemByMemImage(const (void)* FileImage, size_t FileImageSize);
17955 
17956 		/**
17957 		 * MIDIハンドルの演奏を開始する
17958 		 */
17959 		extern int PlayMusicMem(int MusicHandle, int PlayType);
17960 
17961 		/**
17962 		 * MIDIハンドルの演奏を停止する
17963 		 */
17964 		extern int StopMusicMem(int MusicHandle);
17965 
17966 		/**
17967 		 * MIDIハンドルが演奏中かどうかを取得する
17968 		 *
17969 		 * Returns: TRUE:演奏中  FALSE:停止中
17970 		 */
17971 		extern int CheckMusicMem(int MusicHandle);
17972 
17973 		/**
17974 		 * MIDIハンドルの再生音量をセットする
17975 		 */
17976 		extern int SetVolumeMusicMem(int Volume, int MusicHandle);
17977 
17978 		/**
17979 		 * MIDIハンドルの現在の再生位置を取得する
17980 		 */
17981 		extern int GetMusicMemPosition(int MusicHandle);
17982 
17983 		/**
17984 		 * MIDIハンドルをすべて削除する
17985 		 */
17986 		extern int InitMusicMem();
17987 
17988 		/**
17989 		 * MIDIハンドルの周期的処理( 内部で呼ばれます )
17990 		 */
17991 		extern int ProcessMusicMem();
17992 
17993 		/**
17994 		 * MIDIファイルを演奏する
17995 		 */
17996 		extern int PlayMusic(const (dxlib_d.dxdatatype.TCHAR)* FileName, int PlayType);
17997 
17998 		/**
17999 		 * MIDIファイルを演奏する
18000 		 */
18001 		extern int PlayMusicWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int PlayType);
18002 
18003 		/**
18004 		 * メモリ上に展開されているMIDIファイルを演奏する
18005 		 */
18006 		extern int PlayMusicByMemImage(const (void)* FileImage, size_t FileImageSize, int PlayType);
18007 
18008 		/**
18009 		 * MIDIの再生音量をセットする
18010 		 */
18011 		extern int SetVolumeMusic(int Volume);
18012 
18013 		/**
18014 		 * MIDIファイルの演奏停止
18015 		 */
18016 		extern int StopMusic();
18017 
18018 		/**
18019 		 * MIDIファイルが演奏中か否か情報を取得する
18020 		 */
18021 		extern int CheckMusic();
18022 
18023 		/**
18024 		 * MIDIの現在の再生位置を取得する
18025 		 */
18026 		extern int GetMusicPosition();
18027 
18028 		/**
18029 		 * MIDIの再生形式を設定する
18030 		 */
18031 		extern int SelectMidiMode(int Mode);
18032 	}
18033 
18034 	// DxArchive_.cpp 関数 プロトタイプ宣言
18035 
18036 	/**
18037 	 * DXアーカイブファイルの読み込み機能を使うかどうかを設定する
18038 	 *
18039 	 * Returns: FALSE:使用しない  TRUE:使用する
18040 	 */
18041 	extern int SetUseDXArchiveFlag(int Flag);
18042 
18043 	/**
18044 	 * 同名のDXアーカイブファイルとフォルダが存在した場合、どちらを優先させるかを設定する
18045 	 *
18046 	 * Params:
18047 	 *      Priority = 1:フォルダを優先  0:DXアーカイブファイルを優先( デフォルト )
18048 	 */
18049 	extern int SetDXArchivePriority(int Priority = 0);
18050 
18051 	/**
18052 	 * 検索するDXアーカイブファイルの拡張子を設定する
18053 	 *
18054 	 * Params:
18055 	 *      Extension = 拡張子名文字列
18056 	 */
18057 	extern int SetDXArchiveExtension(const (dxlib_d.dxdatatype.TCHAR)* Extension = null);
18058 
18059 	/**
18060 	 * 検索するDXアーカイブファイルの拡張子を設定する
18061 	 *
18062 	 * Params:
18063 	 *      Extension = 拡張子名文字列
18064 	 *      ExtensionLength = ?
18065 	 */
18066 	extern int SetDXArchiveExtensionWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* Extension = null, size_t ExtensionLength = 0);
18067 
18068 	/**
18069 	 * DXアーカイブファイルの鍵文字列を設定する
18070 	 *
18071 	 * Params:
18072 	 *      KeyString = 鍵文字列
18073 	 */
18074 	extern int SetDXArchiveKeyString(const (dxlib_d.dxdatatype.TCHAR)* KeyString = null);
18075 
18076 	/**
18077 	 * DXアーカイブファイルの鍵文字列を設定する
18078 	 *
18079 	 * Params:
18080 	 *      KeyString = 鍵文字列
18081 	 *      KeyStringLength = ?
18082 	 */
18083 	extern int SetDXArchiveKeyStringWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* KeyString = null, size_t KeyStringLength = 0);
18084 
18085 	/**
18086 	 * 指定のDXAファイルを丸ごとメモリに読み込む
18087 	 *
18088 	 * Returns: -1:エラー  0:成功
18089 	 */
18090 	extern int DXArchivePreLoad(const (dxlib_d.dxdatatype.TCHAR)* FilePath, int ASync = dxlib_d.dxdatatype.FALSE);
18091 
18092 	/**
18093 	 * 指定のDXAファイルを丸ごとメモリに読み込む
18094 	 *
18095 	 * Returns: -1:エラー  0:成功
18096 	 */
18097 	extern int DXArchivePreLoadWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, int ASync = dxlib_d.dxdatatype.FALSE);
18098 
18099 	/**
18100 	 * 指定のDXAファイルの事前読み込みが完了したかどうかを取得する
18101 	 *
18102 	 * Returns: TRUE:完了した FALSE:まだ
18103 	 */
18104 	extern int DXArchiveCheckIdle(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
18105 
18106 	/**
18107 	 * 指定のDXAファイルの事前読み込みが完了したかどうかを取得する
18108 	 *
18109 	 * Returns: TRUE:完了した FALSE:まだ
18110 	 */
18111 	extern int DXArchiveCheckIdleWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
18112 
18113 	/**
18114 	 * 指定のDXAファイルをメモリから解放する
18115 	 */
18116 	extern int DXArchiveRelease(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
18117 
18118 	/**
18119 	 * 指定のDXAファイルをメモリから解放する
18120 	 */
18121 	extern int DXArchiveReleaseWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
18122 
18123 	/**
18124 	 * DXAファイルの中に指定のファイルが存在するかどうかを調べる、TargetFilePath はDXAファイルをカレントフォルダとした場合のパス
18125 	 *
18126 	 * Returns: -1:エラー  0:無い  1:ある
18127 	 */
18128 	extern int DXArchiveCheckFile(const (dxlib_d.dxdatatype.TCHAR)* FilePath, const (dxlib_d.dxdatatype.TCHAR)* TargetFilePath);
18129 
18130 	/**
18131 	 * DXAファイルの中に指定のファイルが存在するかどうかを調べる、TargetFilePath はDXAファイルをカレントフォルダとした場合のパス
18132 	 *
18133 	 * Returns: -1:エラー  0:無い  1:ある
18134 	 */
18135 	extern int DXArchiveCheckFileWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength, const (dxlib_d.dxdatatype.TCHAR)* TargetFilePath, size_t TargetFilePathLength);
18136 
18137 	/**
18138 	 * メモリ上に展開されたDXAファイルを指定のファイルパスにあることにする( EmulateFilePath は見立てる dxa ファイルのパス、例えばDXAファイルイメージを Image.dxa というファイル名で c:\Temp にあることにしたい場合は EmulateFilePath に "c:\\Temp\\Image.dxa" を渡す、SetDXArchiveExtension で拡張子を変更している場合は EmulateFilePath に渡すファイルパスの拡張子もそれに合わせる必要あり )
18139 	 */
18140 	extern int DXArchiveSetMemImage(void* ArchiveImage, int ArchiveImageSize, const (dxlib_d.dxdatatype.TCHAR)* EmulateFilePath, int ArchiveImageCopyFlag = dxlib_d.dxdatatype.FALSE, int ArchiveImageReadOnly = dxlib_d.dxdatatype.TRUE);
18141 
18142 	/**
18143 	 * メモリ上に展開されたDXAファイルを指定のファイルパスにあることにする( EmulateFilePath は見立てる dxa ファイルのパス、例えばDXAファイルイメージを Image.dxa というファイル名で c:\Temp にあることにしたい場合は EmulateFilePath に "c:\\Temp\\Image.dxa" を渡す、SetDXArchiveExtension で拡張子を変更している場合は EmulateFilePath に渡すファイルパスの拡張子もそれに合わせる必要あり )
18144 	 */
18145 	extern int DXArchiveSetMemImageWithStrLen(void* ArchiveImage, int ArchiveImageSize, const (dxlib_d.dxdatatype.TCHAR)* EmulateFilePath, size_t EmulateFilePathLength, int ArchiveImageCopyFlag = dxlib_d.dxdatatype.FALSE, int ArchiveImageReadOnly = dxlib_d.dxdatatype.TRUE);
18146 
18147 	/**
18148 	 * DXArchiveSetMemImage の設定を解除する
18149 	 */
18150 	extern int DXArchiveReleaseMemImage(void* ArchiveImage);
18151 
18152 	/**
18153 	 * バイナリデータを元に CRC32 のハッシュ値を計算する
18154 	 */
18155 	extern dxlib_d.dxdatatype.DWORD HashCRC32(const (void)* SrcData, size_t SrcDataSize);
18156 
18157 	// DxModel.cpp 関数 プロトタイプ宣言
18158 
18159 	version (DX_NON_MODEL) {
18160 	} else {
18161 		// モデルの読み込み・複製関係
18162 
18163 		/**
18164 		 * モデルの読み込み
18165 		 *
18166 		 * Returns: -1:エラー  0以上:モデルハンドル
18167 		 */
18168 		extern int MV1LoadModel(const (dxlib_d.dxdatatype.TCHAR)* FileName);
18169 
18170 		/**
18171 		 * モデルの読み込み
18172 		 *
18173 		 * Returns: -1:エラー  0以上:モデルハンドル
18174 		 */
18175 		extern int MV1LoadModelWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
18176 
18177 		/**
18178 		 * メモリ上のモデルファイルイメージと独自の読み込みルーチンを使用してモデルを読み込む
18179 		 */
18180 		extern int MV1LoadModelFromMem(const (void)* FileImage, int FileSize, int function(const (dxlib_d.dxdatatype.TCHAR)* FilePath, void** FileImageAddr, int* FileSize, void* FileReadFuncData) FileReadFunc, int function(void* MemoryAddr, void* FileReadFuncData) FileReleaseFunc, void* FileReadFuncData = null);
18181 
18182 		/**
18183 		 * 指定のモデルと同じモデル基本データを使用してモデルを作成する
18184 		 *
18185 		 * Returns: -1:エラー  0以上:モデルハンドル
18186 		 */
18187 		extern int MV1DuplicateModel(int SrcMHandle);
18188 
18189 		/**
18190 		 * 指定のモデルをモデル基本データも含め複製する( MV1DuplicateModel はモデル基本データは共有しますが、こちらは複製元のモデルとは一切共有データの無いモデルハンドルを作成します )
18191 		 *
18192 		 * Returns: -1:エラー  0以上:モデルハンドル
18193 		 */
18194 		extern int MV1CreateCloneModel(int SrcMHandle);
18195 
18196 		/**
18197 		 * モデルを削除する
18198 		 */
18199 		extern int MV1DeleteModel(int MHandle);
18200 
18201 		/**
18202 		 * すべてのモデルを削除する
18203 		 */
18204 		extern int MV1InitModel();
18205 
18206 		/**
18207 		 * モデルを読み込む際に法線の再計算を行うかどうかを設定する
18208 		 *
18209 		 * Params:
18210 		 *      Flag = TRUE:行う  FALSE:行わない( デフォルト )
18211 		 */
18212 		extern int MV1SetLoadModelReMakeNormal(int Flag);
18213 
18214 		/**
18215 		 * モデルを読み込む際に行う法泉の再計算で使用するスムージング角度を設定する( 単位はラジアン )
18216 		 */
18217 		extern int MV1SetLoadModelReMakeNormalSmoothingAngle(float SmoothingAngle = 1.562069f);
18218 
18219 		/**
18220 		 * モデルを読み込む際にスケーリングデータを無視するかどうかを設定する
18221 		 *
18222 		 * Params:
18223 		 *      Flag = TRUE:無視する  FALSE:無視しない( デフォルト )
18224 		 */
18225 		extern int MV1SetLoadModelIgnoreScaling(int Flag);
18226 
18227 		/**
18228 		 * モデルを読み込む際に座標データの最適化を行うかどうかを設定する
18229 		 *
18230 		 * Params:
18231 		 *      Flag = TRUE:行う  FALSE:行わない( デフォルト )
18232 		 */
18233 		extern int MV1SetLoadModelPositionOptimize(int Flag);
18234 
18235 		/**
18236 		 * モデルを読み込む際にポリゴンの辺が接していて、且つ法線の方向が異なる辺に面積0のポリゴンを埋め込むかどうかを設定する、( MV1ファイルの読み込みではこの関数の設定は無視され、ポリゴンの埋め込みは実行されません )
18237 		 *
18238 		 * Params:
18239 		 *      Flag = TRUE:埋め込む FALSE:埋め込まない( デフォルト )
18240 		 */
18241 		extern int MV1SetLoadModelNotEqNormalSide_AddZeroAreaPolygon(int Flag);
18242 
18243 		/**
18244 		 * 読み込むモデルの物理演算モードを設定する
18245 		 */
18246 		extern int MV1SetLoadModelUsePhysicsMode(int PhysicsMode /* DX_LOADMODEL_PHYSICS_LOADCALC 等 */);
18247 
18248 		/**
18249 		 * 読み込むモデルの物理演算に適用する重力パラメータを設定する
18250 		 */
18251 		extern int MV1SetLoadModelPhysicsWorldGravity(float Gravity);
18252 
18253 		/**
18254 		 * 読み込むモデルの物理演算に適用する重力パラメータを取得する
18255 		 */
18256 		extern float MV1GetLoadModelPhysicsWorldGravity();
18257 
18258 		/**
18259 		 * 読み込むモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に適用される重力の設定をする
18260 		 */
18261 		extern int MV1SetLoadCalcPhysicsWorldGravity(int GravityNo, .VECTOR Gravity);
18262 
18263 		/**
18264 		 * 読み込むモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に適用される重力を取得する
18265 		 */
18266 		extern .VECTOR MV1GetLoadCalcPhysicsWorldGravity(int GravityNo);
18267 
18268 		/**
18269 		 * 読み込むモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に適用される物理演算の時間進行の精度を設定する( 0:60FPS  1:120FPS  2:240FPS  3:480FPS  4:960FPS  5:1920FPS )
18270 		 *
18271 		 * Params:
18272 		 *      Precision = ?
18273 		 */
18274 		extern int MV1SetLoadModelPhysicsCalcPrecision(int Precision);
18275 
18276 		/**
18277 		 * PMD, PMX ファイルを読み込んだ際のアニメーションの FPS モードを設定する
18278 		 */
18279 		extern int MV1SetLoadModel_PMD_PMX_AnimationFPSMode(int FPSMode /* DX_LOADMODEL_PMD_PMX_ANIMATION_FPSMODE_30 等 */);
18280 
18281 		/**
18282 		 * 読み込むモデルの物理演算を特定の剛体のみ無効にするための名前のワードを追加する、追加できるワード文字列の最大長は 63 文字、追加できるワードの数は最大 256 個
18283 		 */
18284 		extern int MV1AddLoadModelDisablePhysicsNameWord(const (dxlib_d.dxdatatype.TCHAR)* NameWord);
18285 
18286 		/**
18287 		 * 読み込むモデルの物理演算を特定の剛体のみ無効にするための名前のワードを追加する、追加できるワード文字列の最大長は 63 文字、追加できるワードの数は最大 256 個
18288 		 */
18289 		extern int MV1AddLoadModelDisablePhysicsNameWordWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* NameWord, size_t NameWordLength);
18290 
18291 		/**
18292 		 * MV1AddLoadModelDisablePhysicsNameWord で追加した剛体の無効ワードをリセットして無効ワード無しの初期状態に戻す
18293 		 */
18294 		extern int MV1ResetLoadModelDisablePhysicsNameWord();
18295 
18296 		/**
18297 		 * MV1AddLoadModelDisablePhysicsNameWord で追加した剛体の無効ワードの適用ルールを変更する
18298 		 */
18299 		extern int MV1SetLoadModelDisablePhysicsNameWordMode(int DisableNameWordMode /* DX_LOADMODEL_PHYSICS_DISABLENAMEWORD_ALWAYS 等 */);
18300 
18301 		/**
18302 		 * 読み込むモデルに適用するアニメーションファイルのパスを設定する、NULLを渡すと設定リセット( 現在は PMD,PMX のみに効果あり )
18303 		 */
18304 		extern int MV1SetLoadModelAnimFilePath(const (dxlib_d.dxdatatype.TCHAR)* FileName);
18305 
18306 		/**
18307 		 * 読み込むモデルに適用するアニメーションファイルのパスを設定する、NULLを渡すと設定リセット( 現在は PMD,PMX のみに効果あり )
18308 		 */
18309 		extern int MV1SetLoadModelAnimFilePathWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength);
18310 
18311 		/**
18312 		 * 読み込むモデルを同時複数描画に対応させるかどうかを設定する、( 「対応させる」にすると描画が高速になる可能性がある代わりに消費VRAMが増えます )
18313 		 *
18314 		 * Params:
18315 		 *      Flag = TRUE:対応させる  FALSE:対応させない( デフォルト )
18316 		 */
18317 		extern int MV1SetLoadModelUsePackDraw(int Flag);
18318 
18319 		/**
18320 		 * 読み込むモデルのひとつのトライアングルリストで使用できる最大ボーン数を設定する( UseMaxBoneNum で指定できる値の範囲は 8 〜 54、 0 を指定するとデフォルト動作に戻る )
18321 		 */
18322 		extern int MV1SetLoadModelTriangleListUseMaxBoneNum(int UseMaxBoneNum);
18323 
18324 		// モデル保存関係
18325 
18326 		/**
18327 		 * 指定のパスにモデルを保存する
18328 		 *
18329 		 * Returns: 0:成功  -1:メモリ不足  -2:使われていないアニメーションがあった
18330 		 */
18331 		extern int MV1SaveModelToMV1File(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName, int SaveType = MV1_SAVETYPE_NORMAL, int AnimMHandle = -1, int AnimNameCheck = dxlib_d.dxdatatype.TRUE, int Normal8BitFlag = 1, int Position16BitFlag = 1, int Weight8BitFlag = 0, int Anim16BitFlag = 1);
18332 
18333 		/**
18334 		 * 指定のパスにモデルを保存する
18335 		 *
18336 		 * Returns: 0:成功  -1:メモリ不足  -2:使われていないアニメーションがあった
18337 		 */
18338 		extern int MV1SaveModelToMV1FileWithStrLen(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int SaveType = MV1_SAVETYPE_NORMAL, int AnimMHandle = -1, int AnimNameCheck = dxlib_d.dxdatatype.TRUE, int Normal8BitFlag = 1, int Position16BitFlag = 1, int Weight8BitFlag = 0, int Anim16BitFlag = 1);
18339 
18340 		version (DX_NON_SAVEFUNCTION) {
18341 		} else {
18342 			/**
18343 			 * 指定のパスにモデルをXファイル形式で保存する
18344 			 *
18345 			 * Returns: 0:成功  -1:メモリ不足  -2:使われていないアニメーションがあった
18346 			 */
18347 			extern int MV1SaveModelToXFile(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName, int SaveType = MV1_SAVETYPE_NORMAL, int AnimMHandle = -1, int AnimNameCheck = dxlib_d.dxdatatype.TRUE);
18348 
18349 			/**
18350 			 * 指定のパスにモデルをXファイル形式で保存する
18351 			 *
18352 			 * Returns: 0:成功  -1:メモリ不足  -2:使われていないアニメーションがあった
18353 			 */
18354 			extern int MV1SaveModelToXFileWithStrLen(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FileName, size_t FileNameLength, int SaveType = MV1_SAVETYPE_NORMAL, int AnimMHandle = -1, int AnimNameCheck = dxlib_d.dxdatatype.TRUE);
18355 		}
18356 
18357 		// モデル描画関係
18358 
18359 		/**
18360 		 * モデルを描画する
18361 		 */
18362 		extern int MV1DrawModel(int MHandle);
18363 
18364 		/**
18365 		 * モデルの指定のフレームを描画する
18366 		 */
18367 		extern int MV1DrawFrame(int MHandle, int FrameIndex);
18368 
18369 		/**
18370 		 * モデルの指定のメッシュを描画する
18371 		 */
18372 		extern int MV1DrawMesh(int MHandle, int MeshIndex);
18373 
18374 		/**
18375 		 * モデルの指定のトライアングルリストを描画する
18376 		 */
18377 		extern int MV1DrawTriangleList(int MHandle, int TriangleListIndex);
18378 
18379 		/**
18380 		 * モデルのデバッグ描画
18381 		 */
18382 		extern int MV1DrawModelDebug(int MHandle, uint Color, int IsNormalLine, float NormalLineLength, int IsPolyLine, int IsCollisionBox);
18383 
18384 		// 描画設定関係
18385 
18386 		/**
18387 		 * モデルの描画に SetUseVertexShader, SetUsePixelShader で指定したシェーダーを使用するかどうかを設定する
18388 		 *
18389 		 * Params:
18390 		 *      UseFlag = TRUE:使用する  FALSE:使用しない( デフォルト )
18391 		 */
18392 		extern int MV1SetUseOrigShader(int UseFlag);
18393 
18394 		/**
18395 		 * モデルの半透明要素がある部分についての描画モードを設定する
18396 		 */
18397 		extern int MV1SetSemiTransDrawMode(int DrawMode /* DX_SEMITRANSDRAWMODE_ALWAYS 等 */);
18398 
18399 		// モデル基本制御関係
18400 
18401 		/**
18402 		 * モデルのローカル座標からワールド座標に変換する行列を得る
18403 		 */
18404 		extern .MATRIX MV1GetLocalWorldMatrix(int MHandle);
18405 
18406 		/**
18407 		 * モデルのローカル座標からワールド座標に変換する行列を得る
18408 		 */
18409 		extern .MATRIX_D MV1GetLocalWorldMatrixD(int MHandle);
18410 
18411 		/**
18412 		 * モデルの座標をセット
18413 		 */
18414 		extern int MV1SetPosition(int MHandle, .VECTOR Position);
18415 
18416 		/**
18417 		 * モデルの座標をセット
18418 		 */
18419 		extern int MV1SetPositionD(int MHandle, .VECTOR_D Position);
18420 
18421 		/**
18422 		 * モデルの座標を取得
18423 		 */
18424 		extern .VECTOR MV1GetPosition(int MHandle);
18425 
18426 		/**
18427 		 * モデルの座標を取得
18428 		 */
18429 		extern .VECTOR_D MV1GetPositionD(int MHandle);
18430 
18431 		/**
18432 		 * モデルの拡大値をセット
18433 		 */
18434 		extern int MV1SetScale(int MHandle, .VECTOR Scale);
18435 
18436 		/**
18437 		 * モデルの拡大値を取得
18438 		 */
18439 		extern .VECTOR MV1GetScale(int MHandle);
18440 
18441 		/**
18442 		 * モデルの回転値をセット( X軸回転→Y軸回転→Z軸回転方式 )
18443 		 */
18444 		extern int MV1SetRotationXYZ(int MHandle, .VECTOR Rotate);
18445 
18446 		/**
18447 		 * モデルの回転値を取得( X軸回転→Y軸回転→Z軸回転方式 )
18448 		 */
18449 		extern .VECTOR MV1GetRotationXYZ(int MHandle);
18450 
18451 		/**
18452 		 * モデルのZ軸とY軸の向きをセットする
18453 		 */
18454 		extern int MV1SetRotationZYAxis(int MHandle, .VECTOR ZAxisDirection, .VECTOR YAxisDirection, float ZAxisTwistRotate);
18455 
18456 		/**
18457 		 * モデルのY軸の回転値を指定のベクトルの向きを元に設定する、モデルはZ軸のマイナス方向を向いていることを想定するので、そうではない場合は OffsetYAngle で補正する、X軸回転、Z軸回転は0で固定
18458 		 */
18459 		extern int MV1SetRotationYUseDir(int MHandle, .VECTOR Direction, float OffsetYAngle);
18460 
18461 		/**
18462 		 * モデルの回転用行列をセットする
18463 		 */
18464 		extern int MV1SetRotationMatrix(int MHandle, .MATRIX Matrix);
18465 
18466 		/**
18467 		 * モデルの回転用行列を取得する
18468 		 */
18469 		extern .MATRIX MV1GetRotationMatrix(int MHandle);
18470 
18471 		/**
18472 		 * モデルの変形用行列をセットする
18473 		 */
18474 		extern int MV1SetMatrix(int MHandle, .MATRIX Matrix);
18475 
18476 		/**
18477 		 * モデルの変形用行列をセットする
18478 		 */
18479 		extern int MV1SetMatrixD(int MHandle, .MATRIX_D Matrix);
18480 
18481 		/**
18482 		 * モデルの変形用行列を取得する
18483 		 */
18484 		extern .MATRIX MV1GetMatrix(int MHandle);
18485 
18486 		/**
18487 		 * モデルの変形用行列を取得する
18488 		 */
18489 		extern .MATRIX_D MV1GetMatrixD(int MHandle);
18490 
18491 		/**
18492 		 * モデルの表示、非表示状態を変更する
18493 		 *
18494 		 * Params:
18495 		 *      MHandle = ?
18496 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
18497 		 */
18498 		extern int MV1SetVisible(int MHandle, int VisibleFlag);
18499 
18500 		/**
18501 		 * モデルの表示、非表示状態を取得する
18502 		 *
18503 		 * Returns: TRUE:表示  FALSE:非表示
18504 		 */
18505 		extern int MV1GetVisible(int MHandle);
18506 
18507 		/**
18508 		 * モデルのメッシュの種類( DX_MV1_MESHCATEGORY_NORMAL など )毎の表示、非表示を設定する
18509 		 *
18510 		 * Params:
18511 		 *      MHandle = ?
18512 		 *      MeshCategory = ?
18513 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
18514 		 */
18515 		extern int MV1SetMeshCategoryVisible(int MHandle, int MeshCategory, int VisibleFlag);
18516 
18517 		/**
18518 		 * モデルのメッシュの種類( DX_MV1_MESHCATEGORY_NORMAL など )毎の表示、非表示を取得する
18519 		 *
18520 		 * Returns: TRUE:表示  FALSE:非表示
18521 		 */
18522 		extern int MV1GetMeshCategoryVisible(int MHandle, int MeshCategory);
18523 
18524 		/**
18525 		 * モデルのディフューズカラーのスケール値を設定する( デフォルト値は 1.0f )
18526 		 */
18527 		extern int MV1SetDifColorScale(int MHandle, .COLOR_F Scale);
18528 
18529 		/**
18530 		 * モデルのディフューズカラーのスケール値を取得する( デフォルト値は 1.0f )
18531 		 */
18532 		extern .COLOR_F MV1GetDifColorScale(int MHandle);
18533 
18534 		/**
18535 		 * モデルのスペキュラカラーのスケール値を設定する( デフォルト値は 1.0f )
18536 		 */
18537 		extern int MV1SetSpcColorScale(int MHandle, .COLOR_F Scale);
18538 
18539 		/**
18540 		 * モデルのスペキュラカラーのスケール値を取得する( デフォルト値は 1.0f )
18541 		 */
18542 		extern .COLOR_F MV1GetSpcColorScale(int MHandle);
18543 
18544 		/**
18545 		 * モデルのエミッシブカラーのスケール値を設定する( デフォルト値は 1.0f )
18546 		 */
18547 		extern int MV1SetEmiColorScale(int MHandle, .COLOR_F Scale);
18548 
18549 		/**
18550 		 * モデルのエミッシブカラーのスケール値を取得する( デフォルト値は 1.0f )
18551 		 */
18552 		extern .COLOR_F MV1GetEmiColorScale(int MHandle);
18553 
18554 		/**
18555 		 * モデルのアンビエントカラーのスケール値を設定する( デフォルト値は 1.0f )
18556 		 */
18557 		extern int MV1SetAmbColorScale(int MHandle, .COLOR_F Scale);
18558 
18559 		/**
18560 		 * モデルのアンビエントカラーのスケール値を取得する( デフォルト値は 1.0f )
18561 		 */
18562 		extern .COLOR_F MV1GetAmbColorScale(int MHandle);
18563 
18564 		/**
18565 		 * モデルに半透明要素があるかどうかを取得する
18566 		 *
18567 		 * Returns: TRUE:ある  FALSE:ない
18568 		 */
18569 		extern int MV1GetSemiTransState(int MHandle);
18570 
18571 		/**
18572 		 * モデルの不透明度を設定する( 不透明 1.0f 〜 透明 0.0f )
18573 		 */
18574 		extern int MV1SetOpacityRate(int MHandle, float Rate);
18575 
18576 		/**
18577 		 * モデルの不透明度を取得する( 不透明 1.0f 〜 透明 0.0f )
18578 		 */
18579 		extern float MV1GetOpacityRate(int MHandle);
18580 
18581 		/**
18582 		 * モデルを描画する際にRGB値に対してA値を乗算するかどうかを設定する( 描画結果が乗算済みアルファ画像になります )
18583 		 *
18584 		 * Params:
18585 		 *      MHandle = ?
18586 		 *      Flag = TRUE:RGB値に対してA値を乗算する  FALSE:乗算しない(デフォルト)
18587 		 */
18588 		extern int MV1SetUseDrawMulAlphaColor(int MHandle, int Flag);
18589 
18590 		/**
18591 		 * モデルを描画する際にRGB値に対してA値を乗算するかどうかを取得する( 描画結果が乗算済みアルファ画像になります )
18592 		 *
18593 		 * Returns: TRUE:RGB値に対してA値を乗算する  FALSE:乗算しない(デフォルト)
18594 		 */
18595 		extern int MV1GetUseDrawMulAlphaColor(int MHandle);
18596 
18597 		/**
18598 		 * モデルを描画する際にZバッファを使用するかどうかを設定する
18599 		 */
18600 		extern int MV1SetUseZBuffer(int MHandle, int Flag);
18601 
18602 		/**
18603 		 * モデルを描画する際にZバッファに書き込みを行うかどうかを設定する
18604 		 */
18605 		extern int MV1SetWriteZBuffer(int MHandle, int Flag);
18606 
18607 		/**
18608 		 * モデルの描画時のZ値の比較モードを設定する
18609 		 */
18610 		extern int MV1SetZBufferCmpType(int MHandle, int CmpType /* DX_CMP_NEVER 等 */);
18611 
18612 		/**
18613 		 * モデルの描画時の書き込むZ値のバイアスを設定する
18614 		 */
18615 		extern int MV1SetZBias(int MHandle, int Bias);
18616 
18617 		/**
18618 		 * モデルの含まれるメッシュの頂点ディフューズカラーをマテリアルのディフューズカラーの代わりに使用するかどうかを設定する
18619 		 *
18620 		 * Params:
18621 		 *      MHandle = ?
18622 		 *      UseFlag = TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
18623 		 */
18624 		extern int MV1SetUseVertDifColor(int MHandle, int UseFlag);
18625 
18626 		/**
18627 		 * モデルに含まれるメッシュの頂点スペキュラカラーをマテリアルのスペキュラカラーの代わりに使用するかどうかを設定する
18628 		 *
18629 		 * Params:
18630 		 *      MHandle = ?
18631 		 *      UseFlag = TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
18632 		 */
18633 		extern int MV1SetUseVertSpcColor(int MHandle, int UseFlag);
18634 
18635 		/**
18636 		 * モデルのテクスチャのサンプルフィルターモードを変更する( FilterMode は DX_DRAWMODE_NEAREST 等 )
18637 		 *
18638 		 * Params:
18639 		 *      MHandle = ?
18640 		 *      FilterMode = ?
18641 		 */
18642 		extern int MV1SetSampleFilterMode(int MHandle, int FilterMode);
18643 
18644 		/**
18645 		 * モデルの異方性フィルタリングの最大次数を設定する
18646 		 */
18647 		extern int MV1SetMaxAnisotropy(int MHandle, int MaxAnisotropy);
18648 
18649 		/**
18650 		 * モデルをワイヤーフレームで描画するかどうかを設定する
18651 		 */
18652 		extern int MV1SetWireFrameDrawFlag(int MHandle, int Flag);
18653 
18654 		/**
18655 		 * モデルの頂点カラーを現在設定されているマテリアルのカラーにする
18656 		 */
18657 		extern int MV1RefreshVertColorFromMaterial(int MHandle);
18658 
18659 		/**
18660 		 * モデルの物理演算の重力を設定する
18661 		 */
18662 		extern int MV1SetPhysicsWorldGravity(int MHandle, .VECTOR Gravity);
18663 
18664 		/**
18665 		 * モデルの物理演算を指定時間分経過したと仮定して計算する( MillisecondTime で指定する時間の単位はミリ秒 )
18666 		 */
18667 		extern int MV1PhysicsCalculation(int MHandle, float MillisecondTime);
18668 
18669 		/**
18670 		 * モデルの物理演算の状態をリセットする( 位置がワープしたとき用 )
18671 		 */
18672 		extern int MV1PhysicsResetState(int MHandle);
18673 
18674 		/**
18675 		 * モデルのシェイプ機能を使用するかどうかを設定する
18676 		 *
18677 		 * Params:
18678 		 *      MHandle = ?
18679 		 *      UseFlag = TRUE:使用する( デフォルト )  FALSE:使用しない
18680 		 */
18681 		extern int MV1SetUseShapeFlag(int MHandle, int UseFlag);
18682 
18683 		/**
18684 		 * モデルのマテリアル番号順にメッシュを描画するかどうかのフラグを取得する
18685 		 *
18686 		 * Returns: TRUE:マテリアル番号順に描画  FALSE:不透明メッシュの後半透明メッシュ
18687 		 */
18688 		extern int MV1GetMaterialNumberOrderFlag(int MHandle);
18689 
18690 		// アニメーション関係
18691 
18692 		/**
18693 		 * アニメーションをアタッチする
18694 		 *
18695 		 * Returns: -1:エラー  0以上:アタッチインデックス
18696 		 */
18697 		extern int MV1AttachAnim(int MHandle, int AnimIndex, int AnimSrcMHandle = -1, int NameCheck = dxlib_d.dxdatatype.TRUE);
18698 
18699 		/**
18700 		 * アニメーションをデタッチする
18701 		 */
18702 		extern int MV1DetachAnim(int MHandle, int AttachIndex);
18703 
18704 		/**
18705 		 * アタッチしているアニメーションの再生時間を設定する
18706 		 */
18707 		extern int MV1SetAttachAnimTime(int MHandle, int AttachIndex, float Time);
18708 
18709 		/**
18710 		 * アタッチしているアニメーションの再生時間を取得する
18711 		 */
18712 		extern float MV1GetAttachAnimTime(int MHandle, int AttachIndex);
18713 
18714 		/**
18715 		 * アタッチしているアニメーションの総時間を得る
18716 		 */
18717 		extern float MV1GetAttachAnimTotalTime(int MHandle, int AttachIndex);
18718 
18719 		/**
18720 		 * アタッチしているアニメーションのブレンド率を設定する
18721 		 */
18722 		extern int MV1SetAttachAnimBlendRate(int MHandle, int AttachIndex, float Rate = 1.0f);
18723 
18724 		/**
18725 		 * アタッチしているアニメーションのブレンド率を取得する
18726 		 */
18727 		extern float MV1GetAttachAnimBlendRate(int MHandle, int AttachIndex);
18728 
18729 		/**
18730 		 * アタッチしているアニメーションのブレンド率を設定する( フレーム単位 )
18731 		 */
18732 		extern int MV1SetAttachAnimBlendRateToFrame(int MHandle, int AttachIndex, int FrameIndex, float Rate, int SetChild = dxlib_d.dxdatatype.TRUE);
18733 
18734 		/**
18735 		 * アタッチしているアニメーションのブレンド率を設定する( フレーム単位 )
18736 		 */
18737 		extern float MV1GetAttachAnimBlendRateToFrame(int MHandle, int AttachIndex, int FrameIndex);
18738 
18739 		/**
18740 		 * アタッチしているアニメーションのアニメーションインデックスを取得する
18741 		 */
18742 		extern int MV1GetAttachAnim(int MHandle, int AttachIndex);
18743 
18744 		/**
18745 		 * アタッチしているアニメーションのシェイプを使用するかどうかを設定する
18746 		 *
18747 		 * Params:
18748 		 *      MHandle = ?
18749 		 *      AttachIndex = ?
18750 		 *      UseFlag = TRUE:使用する( デフォルト )  FALSE:使用しない
18751 		 */
18752 		extern int MV1SetAttachAnimUseShapeFlag(int MHandle, int AttachIndex, int UseFlag);
18753 
18754 		/**
18755 		 * アタッチしているアニメーションのシェイプを使用するかどうかを取得する
18756 		 */
18757 		extern int MV1GetAttachAnimUseShapeFlag(int MHandle, int AttachIndex);
18758 
18759 		/**
18760 		 * アタッチしているアニメーションの指定のフレームの現在のローカル座標を取得する
18761 		 */
18762 		extern .VECTOR MV1GetAttachAnimFrameLocalPosition(int MHandle, int AttachIndex, int FrameIndex);
18763 
18764 		/**
18765 		 * アタッチしているアニメーションの指定のフレームの現在のローカル変換行列を取得する
18766 		 */
18767 		extern .MATRIX MV1GetAttachAnimFrameLocalMatrix(int MHandle, int AttachIndex, int FrameIndex);
18768 
18769 		/**
18770 		 * アニメーションの数を取得する
18771 		 */
18772 		extern int MV1GetAnimNum(int MHandle);
18773 
18774 		/**
18775 		 * 指定番号のアニメーション名を取得する
18776 		 *
18777 		 * Returns: null:エラー
18778 		 */
18779 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetAnimName(int MHandle, int AnimIndex);
18780 
18781 		/**
18782 		 * 指定番号のアニメーション名を変更する
18783 		 */
18784 		extern int MV1SetAnimName(int MHandle, int AnimIndex, const (dxlib_d.dxdatatype.TCHAR)* AnimName);
18785 
18786 		/**
18787 		 * 指定番号のアニメーション名を変更する
18788 		 */
18789 		extern int MV1SetAnimNameWithStrLen(int MHandle, int AnimIndex, const (dxlib_d.dxdatatype.TCHAR)* AnimName, size_t AnimNameLength);
18790 
18791 		/**
18792 		 * 指定名のアニメーション番号を取得する
18793 		 *
18794 		 * Returns: -1:エラー
18795 		 */
18796 		extern int MV1GetAnimIndex(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* AnimName);
18797 
18798 		/**
18799 		 * 指定名のアニメーション番号を取得する
18800 		 *
18801 		 * Returns: -1:エラー
18802 		 */
18803 		extern int MV1GetAnimIndexWithStrLen(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* AnimName, size_t AnimNameLength);
18804 
18805 		/**
18806 		 * 指定番号のアニメーションの総時間を得る
18807 		 */
18808 		extern float MV1GetAnimTotalTime(int MHandle, int AnimIndex);
18809 
18810 		/**
18811 		 * 指定のアニメーションがターゲットとするフレームの数を取得する
18812 		 */
18813 		extern int MV1GetAnimTargetFrameNum(int MHandle, int AnimIndex);
18814 
18815 		/**
18816 		 * 指定のアニメーションがターゲットとするフレームの名前を取得する
18817 		 */
18818 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetAnimTargetFrameName(int MHandle, int AnimIndex, int AnimFrameIndex);
18819 
18820 		/**
18821 		 * 指定のアニメーションがターゲットとするフレームの番号を取得する
18822 		 */
18823 		extern int MV1GetAnimTargetFrame(int MHandle, int AnimIndex, int AnimFrameIndex);
18824 
18825 		/**
18826 		 * 指定のアニメーションがターゲットとするフレーム用のアニメーションキーセットの数を取得する
18827 		 */
18828 		extern int MV1GetAnimTargetFrameKeySetNum(int MHandle, int AnimIndex, int AnimFrameIndex);
18829 
18830 		/**
18831 		 * 指定のアニメーションがターゲットとするフレーム用のアニメーションキーセットキーセットインデックスを取得する
18832 		 */
18833 		extern int MV1GetAnimTargetFrameKeySet(int MHandle, int AnimIndex, int AnimFrameIndex, int Index);
18834 
18835 		/**
18836 		 * モデルに含まれるアニメーションキーセットの総数を得る
18837 		 */
18838 		extern int MV1GetAnimKeySetNum(int MHandle);
18839 
18840 		/**
18841 		 * 指定のアニメーションキーセットのタイプを取得する( MV1_ANIMKEY_TYPE_QUATERNION 等 )
18842 		 */
18843 		extern int MV1GetAnimKeySetType(int MHandle, int AnimKeySetIndex);
18844 
18845 		/**
18846 		 * 指定のアニメーションキーセットのデータタイプを取得する( MV1_ANIMKEY_DATATYPE_ROTATE 等 )
18847 		 */
18848 		extern int MV1GetAnimKeySetDataType(int MHandle, int AnimKeySetIndex);
18849 
18850 		/**
18851 		 * 指定のアニメーションキーセットのキーの時間データタイプを取得する( MV1_ANIMKEY_TIME_TYPE_ONE 等 )
18852 		 */
18853 		extern int MV1GetAnimKeySetTimeType(int MHandle, int AnimKeySetIndex);
18854 
18855 		/**
18856 		 * 指定のアニメーションキーセットのキーの数を取得する
18857 		 */
18858 		extern int MV1GetAnimKeySetDataNum(int MHandle, int AnimKeySetIndex);
18859 
18860 		/**
18861 		 * 指定のアニメーションキーセットのキーの時間を取得する
18862 		 */
18863 		extern float MV1GetAnimKeyDataTime(int MHandle, int AnimKeySetIndex, int Index);
18864 
18865 		/**
18866 		 * 指定のアニメーションキーセットの指定の時間でのキーの番号を取得する
18867 		 */
18868 		extern int MV1GetAnimKeyDataIndexFromTime(int MHandle, int AnimKeySetIndex, float Time);
18869 
18870 		/**
18871 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_QUATERNION では無かった場合は失敗する
18872 		 */
18873 		extern .FLOAT4 MV1GetAnimKeyDataToQuaternion(int MHandle, int AnimKeySetIndex, int Index);
18874 
18875 		/**
18876 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_QUATERNION では無かった場合は失敗する( 時間指定版 )
18877 		 */
18878 		extern .FLOAT4 MV1GetAnimKeyDataToQuaternionFromTime(int MHandle, int AnimKeySetIndex, float Time);
18879 
18880 		/**
18881 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_VECTOR では無かった場合は失敗する
18882 		 */
18883 		extern .VECTOR MV1GetAnimKeyDataToVector(int MHandle, int AnimKeySetIndex, int Index);
18884 
18885 		/**
18886 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_VECTOR では無かった場合は失敗する( 時間指定版 )
18887 		 */
18888 		extern .VECTOR MV1GetAnimKeyDataToVectorFromTime(int MHandle, int AnimKeySetIndex, float Time);
18889 
18890 		/**
18891 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_MATRIX4X4C か MV1_ANIMKEY_TYPE_MATRIX3X3 では無かった場合は失敗する
18892 		 */
18893 		extern .MATRIX MV1GetAnimKeyDataToMatrix(int MHandle, int AnimKeySetIndex, int Index);
18894 
18895 		/**
18896 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_MATRIX4X4C か MV1_ANIMKEY_TYPE_MATRIX3X3 では無かった場合は失敗する( 時間指定版 )
18897 		 */
18898 		extern .MATRIX MV1GetAnimKeyDataToMatrixFromTime(int MHandle, int AnimKeySetIndex, float Time);
18899 
18900 		/**
18901 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_FLAT では無かった場合は失敗する
18902 		 */
18903 		extern float MV1GetAnimKeyDataToFlat(int MHandle, int AnimKeySetIndex, int Index);
18904 
18905 		/**
18906 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_FLAT では無かった場合は失敗する( 時間指定版 )
18907 		 */
18908 		extern float MV1GetAnimKeyDataToFlatFromTime(int MHandle, int AnimKeySetIndex, float Time);
18909 
18910 		/**
18911 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_LINEAR では無かった場合は失敗する
18912 		 */
18913 		extern float MV1GetAnimKeyDataToLinear(int MHandle, int AnimKeySetIndex, int Index);
18914 
18915 		/**
18916 		 * 指定のアニメーションキーセットのキーを取得する、キータイプが MV1_ANIMKEY_TYPE_LINEAR では無かった場合は失敗する( 時間指定版 )
18917 		 */
18918 		extern float MV1GetAnimKeyDataToLinearFromTime(int MHandle, int AnimKeySetIndex, float Time);
18919 
18920 		// マテリアル関係
18921 
18922 		/**
18923 		 * モデルで使用しているマテリアルの数を取得する
18924 		 */
18925 		extern int MV1GetMaterialNum(int MHandle);
18926 
18927 		/**
18928 		 * 指定のマテリアルの名前を取得する
18929 		 */
18930 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetMaterialName(int MHandle, int MaterialIndex);
18931 
18932 		/**
18933 		 * 全てのマテリアルのタイプを変更する
18934 		 *
18935 		 * Params:
18936 		 *      MHandle = ?
18937 		 *      Type = DX_MATERIAL_TYPE_NORMAL など
18938 		 */
18939 		extern int MV1SetMaterialTypeAll(int MHandle, int Type);
18940 
18941 		/**
18942 		 * 指定のマテリアルのタイプを変更する
18943 		 *
18944 		 * Params:
18945 		 *      MHandle = ?
18946 		 *      MaterialIndex = ?
18947 		 *      Type = DX_MATERIAL_TYPE_NORMAL
18948 		 */
18949 		extern int MV1SetMaterialType(int MHandle, int MaterialIndex, int Type);
18950 
18951 		/**
18952 		 * 指定のマテリアルのタイプを取得する
18953 		 *
18954 		 * Returns: DX_MATERIAL_TYPE_NORMAL など
18955 		 */
18956 		extern int MV1GetMaterialType(int MHandle, int MaterialIndex);
18957 
18958 		/**
18959 		 * 全てのマテリアルのタイプ別パラメータを変更する( マテリアルタイプ DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_TWO_COLOR などで使用 )
18960 		 */
18961 		extern int MV1SetMaterialTypeParamAll(int MHandle, ...);
18962 
18963 		/**
18964 		 * 指定のマテリアルのタイプ別パラメータを変更する( マテリアルタイプ DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_TWO_COLOR などで使用 )
18965 		 */
18966 		extern int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, ...);
18967 
18968 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_UNORM            の場合 */ float MinParam = 正規化の下限値( この値以下が 0.0f になる ), float MaxParam = 正規化の上限値( この値以上が 1.0f になる ));
18969 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_CLIP_UNORM       の場合 */ float MinParam = 正規化の下限値( この値以下が 0.0f になる ), float MaxParam = 正規化の上限値( この値以上が 1.0f になる ), float ClipParam = 閾値( この値未満が 0.0f になる ));
18970 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_CMP_GREATEREQUAL の場合 */ float CmpParam = 比較値( この値以上の場合は 1.0f が、未満の場合は 0.0f が書き込まれる ));
18971 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_POWER_UNORM                の場合 */ float MinParam = 正規化の下限値( この値以下が 0.0f になる ), float MaxParam = 正規化の上限値( この値以上が 1.0f になる ));
18972 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_POWER_CLIP_UNORM           の場合 */ float MinParam = 正規化の下限値( この値以下が 0.0f になる ), float MaxParam = 正規化の上限値( この値以上が 1.0f になる ), float ClipParam = 閾値( この値未満が 0.0f になる ));
18973 		// int MV1SetMaterialTypeParam(int MHandle, int MaterialIndex, /* DX_MATERIAL_TYPE_MAT_SPEC_POWER_CMP_GREATEREQUAL     の場合 */ float CmpParam = 比較値( この値以上の場合は 1.0f が、未満の場合は 0.0f が書き込まれる ));
18974 
18975 		/**
18976 		 * 指定のマテリアルのディフューズカラーを設定する
18977 		 */
18978 		extern int MV1SetMaterialDifColor(int MHandle, int MaterialIndex, .COLOR_F Color);
18979 
18980 		/**
18981 		 * 指定のマテリアルのディフューズカラーを取得する
18982 		 */
18983 		extern .COLOR_F MV1GetMaterialDifColor(int MHandle, int MaterialIndex);
18984 
18985 		/**
18986 		 * 指定のマテリアルのスペキュラカラーを設定する
18987 		 */
18988 		extern int MV1SetMaterialSpcColor(int MHandle, int MaterialIndex, .COLOR_F Color);
18989 
18990 		/**
18991 		 * 指定のマテリアルのスペキュラカラーを取得する
18992 		 */
18993 		extern .COLOR_F MV1GetMaterialSpcColor(int MHandle, int MaterialIndex);
18994 
18995 		/**
18996 		 * 指定のマテリアルのエミッシブカラーを設定する
18997 		 */
18998 		extern int MV1SetMaterialEmiColor(int MHandle, int MaterialIndex, .COLOR_F Color);
18999 
19000 		/**
19001 		 * 指定のマテリアルのエミッシブカラーを取得する
19002 		 */
19003 		extern .COLOR_F MV1GetMaterialEmiColor(int MHandle, int MaterialIndex);
19004 
19005 		/**
19006 		 * 指定のマテリアルのアンビエントカラーを設定する
19007 		 */
19008 		extern int MV1SetMaterialAmbColor(int MHandle, int MaterialIndex, .COLOR_F Color);
19009 
19010 		/**
19011 		 * 指定のマテリアルのアンビエントカラーを取得する
19012 		 */
19013 		extern .COLOR_F MV1GetMaterialAmbColor(int MHandle, int MaterialIndex);
19014 
19015 		/**
19016 		 * 指定のマテリアルのスペキュラの強さを設定する
19017 		 */
19018 		extern int MV1SetMaterialSpcPower(int MHandle, int MaterialIndex, float Power);
19019 
19020 		/**
19021 		 * 指定のマテリアルのスペキュラの強さを取得する
19022 		 */
19023 		extern float MV1GetMaterialSpcPower(int MHandle, int MaterialIndex);
19024 
19025 		/**
19026 		 * 指定のマテリアルでディフューズマップとして使用するテクスチャを指定する
19027 		 */
19028 		extern int MV1SetMaterialDifMapTexture(int MHandle, int MaterialIndex, int TexIndex);
19029 
19030 		/**
19031 		 * 指定のマテリアルでディフューズマップとして使用されているテクスチャのインデックスを取得する
19032 		 */
19033 		extern int MV1GetMaterialDifMapTexture(int MHandle, int MaterialIndex);
19034 
19035 		/**
19036 		 * 指定のマテリアルでサブディフューズマップとして使用するテクスチャを指定する
19037 		 */
19038 		extern int MV1SetMaterialSubDifMapTexture(int MHandle, int MaterialIndex, int TexIndex);
19039 
19040 		/**
19041 		 * 指定のマテリアルでサブディフューズマップとして使用されているテクスチャのインデックスを取得する
19042 		 */
19043 		extern int MV1GetMaterialSubDifMapTexture(int MHandle, int MaterialIndex);
19044 
19045 		/**
19046 		 * 指定のマテリアルでスペキュラマップとして使用するテクスチャを指定する
19047 		 */
19048 		extern int MV1SetMaterialSpcMapTexture(int MHandle, int MaterialIndex, int TexIndex);
19049 
19050 		/**
19051 		 * 指定のマテリアルでスペキュラマップとして使用されているテクスチャのインデックスを取得する
19052 		 */
19053 		extern int MV1GetMaterialSpcMapTexture(int MHandle, int MaterialIndex);
19054 
19055 		/**
19056 		 * 指定のマテリアルで法線マップとして使用されているテクスチャのインデックスを取得する
19057 		 */
19058 		extern int MV1GetMaterialNormalMapTexture(int MHandle, int MaterialIndex);
19059 
19060 		/**
19061 		 * 指定のマテリアルでトゥーンレンダリングのディフューズグラデーションマップとして使用するテクスチャを設定する
19062 		 */
19063 		extern int MV1SetMaterialDifGradTexture(int MHandle, int MaterialIndex, int TexIndex);
19064 
19065 		/**
19066 		 * 指定のマテリアルでトゥーンレンダリングのディフューズグラデーションマップとして使用するテクスチャを取得する
19067 		 */
19068 		extern int MV1GetMaterialDifGradTexture(int MHandle, int MaterialIndex);
19069 
19070 		/**
19071 		 * 指定のマテリアルでトゥーンレンダリングのスペキュラグラデーションマップとして使用するテクスチャを設定する
19072 		 */
19073 		extern int MV1SetMaterialSpcGradTexture(int MHandle, int MaterialIndex, int TexIndex);
19074 
19075 		/**
19076 		 * 指定のマテリアルでトゥーンレンダリングのスペキュラグラデーションマップとして使用するテクスチャを取得する
19077 		 */
19078 		extern int MV1GetMaterialSpcGradTexture(int MHandle, int MaterialIndex);
19079 
19080 		/**
19081 		 * 指定のマテリアルでトゥーンレンダリングのスフィアマップとして使用するテクスチャを設定する
19082 		 */
19083 		extern int MV1SetMaterialSphereMapTexture(int MHandle, int MaterialIndex, int TexIndex);
19084 
19085 		/**
19086 		 * 指定のマテリアルでトゥーンレンダリングのスフィアマップとして使用するテクスチャを取得する
19087 		 */
19088 		extern int MV1GetMaterialSphereMapTexture(int MHandle, int MaterialIndex);
19089 
19090 		/**
19091 		 * 全てのマテリアルのトゥーンレンダリングで使用するディフューズグラデーションマップとディフューズカラーの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19092 		 */
19093 		extern int MV1SetMaterialDifGradBlendTypeAll(int MHandle, int BlendType);
19094 
19095 		/**
19096 		 * 指定のマテリアルのトゥーンレンダリングで使用するディフューズグラデーションマップとディフューズカラーの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19097 		 */
19098 		extern int MV1SetMaterialDifGradBlendType(int MHandle, int MaterialIndex, int BlendType);
19099 
19100 		/**
19101 		 * 指定のマテリアルのトゥーンレンダリングで使用するディフューズグラデーションマップとディフューズカラーの合成方法を取得する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19102 		 */
19103 		extern int MV1GetMaterialDifGradBlendType(int MHandle, int MaterialIndex);
19104 
19105 		/**
19106 		 * 全てのマテリアルのトゥーンレンダリングで使用するスペキュラグラデーションマップとスペキュラカラーの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19107 		 */
19108 		extern int MV1SetMaterialSpcGradBlendTypeAll(int MHandle, int BlendType);
19109 
19110 		/**
19111 		 * 指定のマテリアルのトゥーンレンダリングで使用するスペキュラグラデーションマップとスペキュラカラーの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19112 		 */
19113 		extern int MV1SetMaterialSpcGradBlendType(int MHandle, int MaterialIndex, int BlendType);
19114 
19115 		/**
19116 		 * 指定のマテリアルのトゥーンレンダリングで使用するスペキュラグラデーションマップとスペキュラカラーの合成方法を取得する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19117 		 */
19118 		extern int MV1GetMaterialSpcGradBlendType(int MHandle, int MaterialIndex);
19119 
19120 		/**
19121 		 * 全てのマテリアルのトゥーンレンダリングで使用するスフィアマップの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19122 		 */
19123 		extern int MV1SetMaterialSphereMapBlendTypeAll(int MHandle, int BlendType);
19124 
19125 		/**
19126 		 * 指定のマテリアルのトゥーンレンダリングで使用するスフィアマップの合成方法を設定する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19127 		 */
19128 		extern int MV1SetMaterialSphereMapBlendType(int MHandle, int MaterialIndex, int BlendType);
19129 
19130 		/**
19131 		 * 指定のマテリアルのトゥーンレンダリングで使用するスフィアマップの合成方法を取得する( DX_MATERIAL_BLENDTYPE_ADDITIVE など )
19132 		 */
19133 		extern int MV1GetMaterialSphereMapBlendType(int MHandle, int MaterialIndex);
19134 
19135 		/**
19136 		 * 全てのマテリアルのトゥーンレンダリングで使用する輪郭線の太さを設定する
19137 		 */
19138 		extern int MV1SetMaterialOutLineWidthAll(int MHandle, float Width);
19139 
19140 		/**
19141 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線の太さを設定する
19142 		 */
19143 		extern int MV1SetMaterialOutLineWidth(int MHandle, int MaterialIndex, float Width);
19144 
19145 		/**
19146 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線の太さを取得する
19147 		 */
19148 		extern float MV1GetMaterialOutLineWidth(int MHandle, int MaterialIndex);
19149 
19150 		/**
19151 		 * 全てのマテリアルのトゥーンレンダリングで使用する輪郭線のドット単位の太さを設定する
19152 		 */
19153 		extern int MV1SetMaterialOutLineDotWidthAll(int MHandle, float Width);
19154 
19155 		/**
19156 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線のドット単位の太さを設定する
19157 		 */
19158 		extern int MV1SetMaterialOutLineDotWidth(int MHandle, int MaterialIndex, float Width);
19159 
19160 		/**
19161 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線のドット単位の太さを取得する
19162 		 */
19163 		extern float MV1GetMaterialOutLineDotWidth(int MHandle, int MaterialIndex);
19164 
19165 		/**
19166 		 * 全てのマテリアルのトゥーンレンダリングで使用する輪郭線の色を設定する
19167 		 */
19168 		extern int MV1SetMaterialOutLineColorAll(int MHandle, .COLOR_F Color);
19169 
19170 		/**
19171 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線の色を設定する
19172 		 */
19173 		extern int MV1SetMaterialOutLineColor(int MHandle, int MaterialIndex, .COLOR_F Color);
19174 
19175 		/**
19176 		 * 指定のマテリアルのトゥーンレンダリングで使用する輪郭線の色を取得する
19177 		 */
19178 		extern .COLOR_F MV1GetMaterialOutLineColor(int MHandle, int MaterialIndex);
19179 
19180 		/**
19181 		 * 全てのマテリアルの描画ブレンドモードを設定する( DX_BLENDMODE_ALPHA 等 )
19182 		 */
19183 		extern int MV1SetMaterialDrawBlendModeAll(int MHandle, int BlendMode);
19184 
19185 		/**
19186 		 * 指定のマテリアルの描画ブレンドモードを設定する( DX_BLENDMODE_ALPHA 等 )
19187 		 */
19188 		extern int MV1SetMaterialDrawBlendMode(int MHandle, int MaterialIndex, int BlendMode);
19189 
19190 		/**
19191 		 * 指定のマテリアルの描画ブレンドモードを取得する( DX_BLENDMODE_ALPHA 等 )
19192 		 */
19193 		extern int MV1GetMaterialDrawBlendMode(int MHandle, int MaterialIndex);
19194 
19195 		/**
19196 		 * 全てのマテリアルの描画ブレンドパラメータを設定する
19197 		 */
19198 		extern int MV1SetMaterialDrawBlendParamAll(int MHandle, int BlendParam);
19199 
19200 		/**
19201 		 * 指定のマテリアルの描画ブレンドパラメータを設定する
19202 		 */
19203 		extern int MV1SetMaterialDrawBlendParam(int MHandle, int MaterialIndex, int BlendParam);
19204 
19205 		/**
19206 		 * 指定のマテリアルの描画ブレンドパラメータを設定する
19207 		 */
19208 		extern int MV1GetMaterialDrawBlendParam(int MHandle, int MaterialIndex);
19209 
19210 		/**
19211 		 * 全てのマテリアルの描画時のアルファテストの設定を行う
19212 		 *
19213 		 * Params:
19214 		 *      MHandle = ?
19215 		 *      Enable = αテストを行うかどうか( TRUE:行う  FALSE:行わない( デフォルト ) )
19216 		 *      Mode = テストモード( DX_CMP_GREATER等 )
19217 		 *      Param = 描画アルファ値との比較に使用する値( 0〜255 )
19218 		 */
19219 		extern int MV1SetMaterialDrawAlphaTestAll(int MHandle, int Enable, int Mode, int Param);
19220 
19221 		/**
19222 		 * 指定のマテリアルの描画時のアルファテストの設定を行う
19223 		 *
19224 		 * Params:
19225 		 *      MHandle = ?
19226 		 *      MaterialIndex = ?
19227 		 *      Enable = αテストを行うかどうか( TRUE:行う  FALSE:行わない( デフォルト ) )
19228 		 *      Mode = テストモード( DX_CMP_GREATER等 )
19229 		 *      Param = 描画アルファ値との比較に使用する値( 0〜255 )
19230 		 */
19231 		extern int MV1SetMaterialDrawAlphaTest(int MHandle, int MaterialIndex, int Enable, int Mode, int Param);
19232 
19233 		/**
19234 		 * 指定のマテリアルの描画時のアルファテストを行うかどうかを取得する
19235 		 *
19236 		 * Returns: TRUE:アルファテストを行う  FALSE:アルファテストを行わない
19237 		 */
19238 		extern int MV1GetMaterialDrawAlphaTestEnable(int MHandle, int MaterialIndex);
19239 
19240 		/**
19241 		 * 指定のマテリアルの描画時のアルファテストのテストモードを取得する
19242 		 *
19243 		 * Returns: テストモード( DX_CMP_GREATER等 )
19244 		 */
19245 		extern int MV1GetMaterialDrawAlphaTestMode(int MHandle, int MaterialIndex);
19246 
19247 		/**
19248 		 * 指定のマテリアルの描画時のアルファテストの描画アルファ地との比較に使用する値( 0〜255 )を取得する
19249 		 */
19250 		extern int MV1GetMaterialDrawAlphaTestParam(int MHandle, int MaterialIndex);
19251 
19252 		// テクスチャ関係
19253 
19254 		/**
19255 		 * テクスチャの数を取得
19256 		 */
19257 		extern int MV1GetTextureNum(int MHandle);
19258 
19259 		/**
19260 		 * テクスチャの名前を取得
19261 		 */
19262 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetTextureName(int MHandle, int TexIndex);
19263 
19264 		/**
19265 		 * カラーテクスチャのファイルパスを変更する
19266 		 */
19267 		extern int MV1SetTextureColorFilePath(int MHandle, int TexIndex, const (dxlib_d.dxdatatype.TCHAR)* FilePath);
19268 
19269 		/**
19270 		 * カラーテクスチャのファイルパスを変更する
19271 		 */
19272 		extern int MV1SetTextureColorFilePathWithStrLen(int MHandle, int TexIndex, const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
19273 
19274 		/**
19275 		 * カラーテクスチャのファイルパスを取得
19276 		 */
19277 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetTextureColorFilePath(int MHandle, int TexIndex);
19278 
19279 		/**
19280 		 * アルファテクスチャのファイルパスを変更する
19281 		 */
19282 		extern int MV1SetTextureAlphaFilePath(int MHandle, int TexIndex, const (dxlib_d.dxdatatype.TCHAR)* FilePath);
19283 
19284 		/**
19285 		 * アルファテクスチャのファイルパスを変更する
19286 		 */
19287 		extern int MV1SetTextureAlphaFilePathWithStrLen(int MHandle, int TexIndex, const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
19288 
19289 		/**
19290 		 * アルファテクスチャのファイルパスを取得
19291 		 */
19292 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetTextureAlphaFilePath(int MHandle, int TexIndex);
19293 
19294 		/**
19295 		 * テクスチャで使用するグラフィックハンドルを変更する( GrHandle を -1 にすると解除 )
19296 		 */
19297 		extern int MV1SetTextureGraphHandle(int MHandle, int TexIndex, int GrHandle, int SemiTransFlag);
19298 
19299 		/**
19300 		 * テクスチャのグラフィックハンドルを取得する
19301 		 */
19302 		extern int MV1GetTextureGraphHandle(int MHandle, int TexIndex);
19303 
19304 		/**
19305 		 * テクスチャのアドレスモードを設定する( AddUMode の値は DX_TEXADDRESS_WRAP 等 )
19306 		 */
19307 		extern int MV1SetTextureAddressMode(int MHandle, int TexIndex, int AddrUMode, int AddrVMode);
19308 
19309 		/**
19310 		 * テクスチャのU値のアドレスモードを取得する
19311 		 *
19312 		 * Returns: DX_TEXADDRESS_WRAP 等
19313 		 */
19314 		extern int MV1GetTextureAddressModeU(int MHandle, int TexIndex);
19315 
19316 		/**
19317 		 * テクスチャのV値のアドレスモードを取得する
19318 		 *
19319 		 * Returns: DX_TEXADDRESS_WRAP 等
19320 		 */
19321 		extern int MV1GetTextureAddressModeV(int MHandle, int TexIndex);
19322 
19323 		/**
19324 		 * テクスチャの幅を取得する
19325 		 */
19326 		extern int MV1GetTextureWidth(int MHandle, int TexIndex);
19327 
19328 		/**
19329 		 * テクスチャの高さを取得する
19330 		 */
19331 		extern int MV1GetTextureHeight(int MHandle, int TexIndex);
19332 
19333 		/**
19334 		 * テクスチャに半透明要素があるかどうかを取得する
19335 		 *
19336 		 * Returns: TRUE:ある  FALSE:ない
19337 		 */
19338 		extern int MV1GetTextureSemiTransState(int MHandle, int TexIndex);
19339 
19340 		/**
19341 		 * テクスチャで使用している画像がバンプマップかどうかを設定する
19342 		 */
19343 		extern int MV1SetTextureBumpImageFlag(int MHandle, int TexIndex, int Flag);
19344 
19345 		/**
19346 		 * テクスチャがバンプマップかどうかを取得する
19347 		 *
19348 		 * Returns: TRUE:バンプマップ  FALSE:違う
19349 		 */
19350 		extern int MV1GetTextureBumpImageFlag(int MHandle, int TexIndex);
19351 
19352 		/**
19353 		 * バンプマップ画像の場合の隣のピクセルとの距離を設定する
19354 		 */
19355 		extern int MV1SetTextureBumpImageNextPixelLength(int MHandle, int TexIndex, float Length);
19356 
19357 		/**
19358 		 * バンプマップ画像の場合の隣のピクセルとの距離を取得する
19359 		 */
19360 		extern float MV1GetTextureBumpImageNextPixelLength(int MHandle, int TexIndex);
19361 
19362 		/**
19363 		 * テクスチャのフィルタリングモードを設定する
19364 		 */
19365 		extern int MV1SetTextureSampleFilterMode(int MHandle, int TexIndex, int FilterMode);
19366 
19367 		/**
19368 		 * テクスチャのフィルタリングモードを取得する
19369 		 *
19370 		 * Returns: DX_DRAWMODE_BILINEAR等
19371 		 */
19372 		extern int MV1GetTextureSampleFilterMode(int MHandle, int TexIndex);
19373 
19374 		/**
19375 		 * 3Dモデルに貼り付けるのに向いた画像の読み込み方式で画像を読み込む
19376 		 *
19377 		 * Returns: -1:エラー  0以上:グラフィックハンドル
19378 		 */
19379 		extern int MV1LoadTexture(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
19380 
19381 		/**
19382 		 * 3Dモデルに貼り付けるのに向いた画像の読み込み方式で画像を読み込む
19383 		 *
19384 		 * Returns: -1:エラー  0以上:グラフィックハンドル
19385 		 */
19386 		extern int MV1LoadTextureWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
19387 
19388 		// フレーム関係
19389 
19390 		/**
19391 		 * フレームの数を取得する
19392 		 */
19393 		extern int MV1GetFrameNum(int MHandle);
19394 
19395 		/**
19396 		 * フレームの名前からモデル中のフレームのフレームインデックスを取得する
19397 		 *
19398 		 * Returns: 無かった場合は-1
19399 		 */
19400 		extern int MV1SearchFrame(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FrameName);
19401 
19402 		/**
19403 		 * フレームの名前からモデル中のフレームのフレームインデックスを取得する
19404 		 *
19405 		 * Returns: 無かった場合は-1
19406 		 */
19407 		extern int MV1SearchFrameWithStrLen(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* FrameName, size_t FrameNameLength);
19408 
19409 		/**
19410 		 * フレームの名前から指定のフレームの子フレームのフレームインデックスを取得する( 名前指定版 )( FrameIndex を -1 にすると親を持たないフレームを ChildIndex で指定する )
19411 		 *
19412 		 * Returns: 無かった場合は-1
19413 		 */
19414 		extern int MV1SearchFrameChild(int MHandle, int FrameIndex = -1, const (dxlib_d.dxdatatype.TCHAR)* ChildName = null);
19415 
19416 		/**
19417 		 * フレームの名前から指定のフレームの子フレームのフレームインデックスを取得する( 名前指定版 )( FrameIndex を -1 にすると親を持たないフレームを ChildIndex で指定する )
19418 		 *
19419 		 * Returns: 無かった場合は-1
19420 		 */
19421 		extern int MV1SearchFrameChildWithStrLen(int MHandle, int FrameIndex = -1, const (dxlib_d.dxdatatype.TCHAR)* ChildName = null, size_t ChildNameLength = 0);
19422 
19423 		/**
19424 		 * 指定のフレームの名前を取得する
19425 		 *
19426 		 * Returns: エラーの場合はNULL
19427 		 */
19428 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetFrameName(int MHandle, int FrameIndex);
19429 
19430 		/**
19431 		 * 指定のフレームの名前を取得する
19432 		 *
19433 		 * Returns: -1:エラー  -1以外:文字列のサイズ
19434 		 */
19435 		extern int MV1GetFrameName2(int MHandle, int FrameIndex, dxlib_d.dxdatatype.TCHAR* StrBuffer);
19436 
19437 		/**
19438 		 * 指定のフレームの親フレームのインデックスを得る
19439 		 *
19440 		 * Returns: 親がいない場合は -2
19441 		 */
19442 		extern int MV1GetFrameParent(int MHandle, int FrameIndex);
19443 
19444 		/**
19445 		 * 指定のフレームの子フレームの数を取得する( FrameIndex を -1 にすると親を持たないフレームの数が返ってくる )
19446 		 */
19447 		extern int MV1GetFrameChildNum(int MHandle, int FrameIndex = -1);
19448 
19449 		/**
19450 		 * 指定のフレームの子フレームのフレームインデックスを取得する( 番号指定版 )( FrameIndex を -1 にすると親を持たないフレームを ChildIndex で指定する )
19451 		 *
19452 		 * Returns: エラーの場合は-1
19453 		 */
19454 		extern int MV1GetFrameChild(int MHandle, int FrameIndex = -1, int ChildIndex = 0);
19455 
19456 		/**
19457 		 * 指定のフレームの座標を取得する
19458 		 */
19459 		extern .VECTOR MV1GetFramePosition(int MHandle, int FrameIndex);
19460 
19461 		/**
19462 		 * 指定のフレームの座標を取得する
19463 		 */
19464 		extern .VECTOR_D MV1GetFramePositionD(int MHandle, int FrameIndex);
19465 
19466 		/**
19467 		 * 指定のフレームの初期状態での座標変換行列を取得する
19468 		 */
19469 		extern .MATRIX MV1GetFrameBaseLocalMatrix(int MHandle, int FrameIndex);
19470 
19471 		/**
19472 		 * 指定のフレームの初期状態での座標変換行列を取得する
19473 		 */
19474 		extern .MATRIX_D MV1GetFrameBaseLocalMatrixD(int MHandle, int FrameIndex);
19475 
19476 		/**
19477 		 * 指定のフレームの座標変換行列を取得する
19478 		 */
19479 		extern .MATRIX MV1GetFrameLocalMatrix(int MHandle, int FrameIndex);
19480 
19481 		/**
19482 		 * 指定のフレームの座標変換行列を取得する
19483 		 */
19484 		extern .MATRIX_D MV1GetFrameLocalMatrixD(int MHandle, int FrameIndex);
19485 
19486 		/**
19487 		 * 指定のフレームのローカル座標からワールド座標に変換する行列を得る
19488 		 */
19489 		extern .MATRIX MV1GetFrameLocalWorldMatrix(int MHandle, int FrameIndex);
19490 
19491 		/**
19492 		 * 指定のフレームのローカル座標からワールド座標に変換する行列を得る
19493 		 */
19494 		extern .MATRIX_D MV1GetFrameLocalWorldMatrixD(int MHandle, int FrameIndex);
19495 
19496 		/**
19497 		 * 指定のフレームの座標変換行列( ローカル行列 )を設定する
19498 		 */
19499 		extern int MV1SetFrameUserLocalMatrix(int MHandle, int FrameIndex, .MATRIX Matrix);
19500 
19501 		/**
19502 		 * 指定のフレームの座標変換行列( ローカル行列 )を設定する
19503 		 */
19504 		extern int MV1SetFrameUserLocalMatrixD(int MHandle, int FrameIndex, .MATRIX_D Matrix);
19505 
19506 		/**
19507 		 * 指定のフレームの座標変換行列( ローカル行列 )をデフォルトに戻す
19508 		 */
19509 		extern int MV1ResetFrameUserLocalMatrix(int MHandle, int FrameIndex);
19510 
19511 		/**
19512 		 * 指定のフレームの座標変換行列( ローカル座標からワールド座標に変換する行列 )を設定する
19513 		 */
19514 		extern int MV1SetFrameUserLocalWorldMatrix(int MHandle, int FrameIndex, .MATRIX Matrix);
19515 
19516 		/**
19517 		 * 指定のフレームの座標変換行列( ローカル座標からワールド座標に変換する行列 )を設定する
19518 		 */
19519 		extern int MV1SetFrameUserLocalWorldMatrixD(int MHandle, int FrameIndex, .MATRIX_D Matrix);
19520 
19521 		/**
19522 		 * 指定のフレームの座標変換行列( ローカル座標からワールド座標に変換する行列 )をデフォルトに戻す
19523 		 */
19524 		extern int MV1ResetFrameUserLocalWorldMatrix(int MHandle, int FrameIndex);
19525 
19526 		/**
19527 		 * 指定のフレームが持つメッシュ頂点のローカル座標での最大値を得る
19528 		 */
19529 		extern .VECTOR MV1GetFrameMaxVertexLocalPosition(int MHandle, int FrameIndex);
19530 
19531 		/**
19532 		 * 指定のフレームが持つメッシュ頂点のローカル座標での最大値を得る
19533 		 */
19534 		extern .VECTOR_D MV1GetFrameMaxVertexLocalPositionD(int MHandle, int FrameIndex);
19535 
19536 		/**
19537 		 * 指定のフレームが持つメッシュ頂点のローカル座標での最小値を得る
19538 		 */
19539 		extern .VECTOR MV1GetFrameMinVertexLocalPosition(int MHandle, int FrameIndex);
19540 
19541 		/**
19542 		 * 指定のフレームが持つメッシュ頂点のローカル座標での最小値を得る
19543 		 */
19544 		extern .VECTOR_D MV1GetFrameMinVertexLocalPositionD(int MHandle, int FrameIndex);
19545 
19546 		/**
19547 		 * 指定のフレームが持つメッシュ頂点のローカル座標での平均値を得る
19548 		 */
19549 		extern .VECTOR MV1GetFrameAvgVertexLocalPosition(int MHandle, int FrameIndex);
19550 
19551 		/**
19552 		 * 指定のフレームが持つメッシュ頂点のローカル座標での平均値を得る
19553 		 */
19554 		extern .VECTOR_D MV1GetFrameAvgVertexLocalPositionD(int MHandle, int FrameIndex);
19555 
19556 		/**
19557 		 * 指定のフレームに含まれる頂点の数を取得する
19558 		 */
19559 		extern int MV1GetFrameVertexNum(int MHandle, int FrameIndex);
19560 
19561 		/**
19562 		 * 指定のフレームに含まれるポリゴンの数を取得する
19563 		 */
19564 		extern int MV1GetFrameTriangleNum(int MHandle, int FrameIndex);
19565 
19566 		/**
19567 		 * 指定のフレームが持つメッシュの数を取得する
19568 		 */
19569 		extern int MV1GetFrameMeshNum(int MHandle, int FrameIndex);
19570 
19571 		/**
19572 		 * 指定のフレームが持つメッシュのメッシュインデックスを取得する
19573 		 */
19574 		extern int MV1GetFrameMesh(int MHandle, int FrameIndex, int Index);
19575 
19576 		/**
19577 		 * 指定のフレームの表示、非表示状態を変更する
19578 		 *
19579 		 * Params:
19580 		 *      MHandle = ?
19581 		 *      FrameIndex = ?
19582 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
19583 		 */
19584 		extern int MV1SetFrameVisible(int MHandle, int FrameIndex, int VisibleFlag);
19585 
19586 		/**
19587 		 * 指定のフレームの表示、非表示状態を取得する
19588 		 *
19589 		 * Returns: TRUE:表示  FALSE:非表示
19590 		 */
19591 		extern int MV1GetFrameVisible(int MHandle, int FrameIndex);
19592 
19593 		/**
19594 		 * 指定のフレームのディフューズカラーのスケール値を設定する( デフォルト値は 1.0f )
19595 		 */
19596 		extern int MV1SetFrameDifColorScale(int MHandle, int FrameIndex, .COLOR_F Scale);
19597 
19598 		/**
19599 		 * 指定のフレームのスペキュラカラーのスケール値を設定する( デフォルト値は 1.0f )
19600 		 */
19601 		extern int MV1SetFrameSpcColorScale(int MHandle, int FrameIndex, .COLOR_F Scale);
19602 
19603 		/**
19604 		 * 指定のフレームのエミッシブカラーのスケール値を設定する( デフォルト値は 1.0f )
19605 		 */
19606 		extern int MV1SetFrameEmiColorScale(int MHandle, int FrameIndex, .COLOR_F Scale);
19607 
19608 		/**
19609 		 * 指定のフレームのアンビエントカラーのスケール値を設定する( デフォルト値は 1.0f )
19610 		 */
19611 		extern int MV1SetFrameAmbColorScale(int MHandle, int FrameIndex, .COLOR_F Scale);
19612 
19613 		/**
19614 		 * 指定のフレームのディフューズカラーのスケール値を取得する( デフォルト値は 1.0f )
19615 		 */
19616 		extern .COLOR_F MV1GetFrameDifColorScale(int MHandle, int FrameIndex);
19617 
19618 		/**
19619 		 * 指定のフレームのスペキュラカラーのスケール値を取得する( デフォルト値は 1.0f )
19620 		 */
19621 		extern .COLOR_F MV1GetFrameSpcColorScale(int MHandle, int FrameIndex);
19622 
19623 		/**
19624 		 * 指定のフレームのエミッシブカラーのスケール値を取得する( デフォルト値は 1.0f )
19625 		 */
19626 		extern .COLOR_F MV1GetFrameEmiColorScale(int MHandle, int FrameIndex);
19627 
19628 		/**
19629 		 * 指定のフレームのアンビエントカラーのスケール値を取得する( デフォルト値は 1.0f )
19630 		 */
19631 		extern .COLOR_F MV1GetFrameAmbColorScale(int MHandle, int FrameIndex);
19632 
19633 		/**
19634 		 * 指定のフレームに半透明要素があるかどうかを取得する
19635 		 *
19636 		 * Returns: TRUE:ある  FALSE:ない
19637 		 */
19638 		extern int MV1GetFrameSemiTransState(int MHandle, int FrameIndex);
19639 
19640 		/**
19641 		 * 指定のフレームの不透明度を設定する( 不透明 1.0f 〜 透明 0.0f )
19642 		 */
19643 		extern int MV1SetFrameOpacityRate(int MHandle, int FrameIndex, float Rate);
19644 
19645 		/**
19646 		 * 指定のフレームの不透明度を取得する( 不透明 1.0f 〜 透明 0.0f )
19647 		 */
19648 		extern float MV1GetFrameOpacityRate(int MHandle, int FrameIndex);
19649 
19650 		/**
19651 		 * 指定のフレームの初期表示状態を設定する
19652 		 *
19653 		 * Params:
19654 		 *      MHandle = ?
19655 		 *      FrameIndex = ?
19656 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
19657 		 */
19658 		extern int MV1SetFrameBaseVisible(int MHandle, int FrameIndex, int VisibleFlag);
19659 
19660 		/**
19661 		 * 指定のフレームの初期表示状態を取得する
19662 		 *
19663 		 * Returns: TRUE:表示  FALSE:非表示
19664 		 */
19665 		extern int MV1GetFrameBaseVisible(int MHandle, int FrameIndex);
19666 
19667 		/**
19668 		 * 指定のフレームのテクスチャ座標変換パラメータを設定する
19669 		 */
19670 		extern int MV1SetFrameTextureAddressTransform(int MHandle, int FrameIndex, float TransU, float TransV, float ScaleU, float ScaleV, float RotCenterU, float RotCenterV, float Rotate);
19671 
19672 		/**
19673 		 * 指定のフレームのテクスチャ座標変換行列をセットする
19674 		 */
19675 		extern int MV1SetFrameTextureAddressTransformMatrix(int MHandle, int FrameIndex, .MATRIX Matrix);
19676 
19677 		/**
19678 		 * 指定のフレームのテクスチャ座標変換パラメータをリセットする
19679 		 */
19680 		extern int MV1ResetFrameTextureAddressTransform(int MHandle, int FrameIndex);
19681 
19682 		// メッシュ関係
19683 
19684 		/**
19685 		 * モデルに含まれるメッシュの数を取得する
19686 		 */
19687 		extern int MV1GetMeshNum(int MHandle);
19688 
19689 		/**
19690 		 * 指定メッシュが使用しているマテリアルのインデックスを取得する
19691 		 */
19692 		extern int MV1GetMeshMaterial(int MHandle, int MeshIndex);
19693 
19694 		/**
19695 		 * 指定メッシュに含まれる頂点の数を取得する
19696 		 */
19697 		extern int MV1GetMeshVertexNum(int MHandle, int MeshIndex);
19698 
19699 		/**
19700 		 * 指定メッシュに含まれる三角形ポリゴンの数を取得する
19701 		 */
19702 		extern int MV1GetMeshTriangleNum(int MHandle, int MeshIndex);
19703 
19704 		/**
19705 		 * 指定メッシュの表示、非表示状態を変更する
19706 		 *
19707 		 * Params:
19708 		 *      MHandle = ?
19709 		 *      MeshIndex = ?
19710 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
19711 		 */
19712 		extern int MV1SetMeshVisible(int MHandle, int MeshIndex, int VisibleFlag);
19713 
19714 		/**
19715 		 * 指定メッシュの表示、非表示状態を取得する
19716 		 *
19717 		 * Returns: TRUE:表示  FALSE:非表示
19718 		 */
19719 		extern int MV1GetMeshVisible(int MHandle, int MeshIndex);
19720 
19721 		/**
19722 		 * 指定のメッシュのディフューズカラーのスケール値を設定する( デフォルト値は 1.0f )
19723 		 */
19724 		extern int MV1SetMeshDifColorScale(int MHandle, int MeshIndex, .COLOR_F Scale);
19725 
19726 		/**
19727 		 * 指定のメッシュのスペキュラカラーのスケール値を設定する( デフォルト値は 1.0f )
19728 		 */
19729 		extern int MV1SetMeshSpcColorScale(int MHandle, int MeshIndex, .COLOR_F Scale);
19730 
19731 		/**
19732 		 * 指定のメッシュのエミッシブカラーのスケール値を設定する( デフォルト値は 1.0f )
19733 		 */
19734 		extern int MV1SetMeshEmiColorScale(int MHandle, int MeshIndex, .COLOR_F Scale);
19735 
19736 		/**
19737 		 * 指定のメッシュのアンビエントカラーのスケール値を設定する( デフォルト値は 1.0f )
19738 		 */
19739 		extern int MV1SetMeshAmbColorScale(int MHandle, int MeshIndex, .COLOR_F Scale);
19740 
19741 		/**
19742 		 * 指定のメッシュのディフューズカラーのスケール値を取得する( デフォルト値は 1.0f )
19743 		 */
19744 		extern .COLOR_F MV1GetMeshDifColorScale(int MHandle, int MeshIndex);
19745 
19746 		/**
19747 		 * 指定のメッシュのスペキュラカラーのスケール値を取得する( デフォルト値は 1.0f )
19748 		 */
19749 		extern .COLOR_F MV1GetMeshSpcColorScale(int MHandle, int MeshIndex);
19750 
19751 		/**
19752 		 * 指定のメッシュのエミッシブカラーのスケール値を取得する( デフォルト値は 1.0f )
19753 		 */
19754 		extern .COLOR_F MV1GetMeshEmiColorScale(int MHandle, int MeshIndex);
19755 
19756 		/**
19757 		 * 指定のメッシュのアンビエントカラーのスケール値を取得する( デフォルト値は 1.0f )
19758 		 */
19759 		extern .COLOR_F MV1GetMeshAmbColorScale(int MHandle, int MeshIndex);
19760 
19761 		/**
19762 		 * 指定のメッシュの不透明度を設定する( 不透明 1.0f 〜 透明 0.0f )
19763 		 */
19764 		extern int MV1SetMeshOpacityRate(int MHandle, int MeshIndex, float Rate);
19765 
19766 		/**
19767 		 * 指定のメッシュの不透明度を取得する( 不透明 1.0f 〜 透明 0.0f )
19768 		 */
19769 		extern float MV1GetMeshOpacityRate(int MHandle, int MeshIndex);
19770 
19771 		/**
19772 		 * 指定のメッシュの描画ブレンドモードを設定する( DX_BLENDMODE_ALPHA 等 )
19773 		 */
19774 		extern int MV1SetMeshDrawBlendMode(int MHandle, int MeshIndex, int BlendMode);
19775 
19776 		/**
19777 		 * 指定のメッシュの描画ブレンドパラメータを設定する
19778 		 */
19779 		extern int MV1SetMeshDrawBlendParam(int MHandle, int MeshIndex, int BlendParam);
19780 
19781 		/**
19782 		 * 指定のメッシュの描画ブレンドモードを取得する( DX_BLENDMODE_ALPHA 等 )
19783 		 */
19784 		extern int MV1GetMeshDrawBlendMode(int MHandle, int MeshIndex);
19785 
19786 		/**
19787 		 * 指定のメッシュの描画ブレンドパラメータを設定する
19788 		 */
19789 		extern int MV1GetMeshDrawBlendParam(int MHandle, int MeshIndex);
19790 
19791 		/**
19792 		 * 指定のメッシュの初期表示状態を設定する
19793 		 *
19794 		 * Params:
19795 		 *      MHandle = ?
19796 		 *      MeshIndex = ?
19797 		 *      VisibleFlag = TRUE:表示  FALSE:非表示
19798 		 */
19799 		extern int MV1SetMeshBaseVisible(int MHandle, int MeshIndex, int VisibleFlag);
19800 
19801 		/**
19802 		 * 指定のメッシュの初期表示状態を取得する
19803 		 *
19804 		 * Returns: TRUE:表示  FALSE:非表示
19805 		 */
19806 		extern int MV1GetMeshBaseVisible(int MHandle, int MeshIndex);
19807 
19808 		/**
19809 		 * 指定のメッシュのバックカリングを行うかどうかを設定する( DX_CULLING_LEFT 等 )
19810 		 */
19811 		extern int MV1SetMeshBackCulling(int MHandle, int MeshIndex, int CullingFlag);
19812 
19813 		/**
19814 		 * 指定のメッシュのバックカリングを行うかどうかを取得する( DX_CULLING_LEFT 等 )
19815 		 */
19816 		extern int MV1GetMeshBackCulling(int MHandle, int MeshIndex);
19817 
19818 		/**
19819 		 * 指定のメッシュに含まれるポリゴンの最大ローカル座標を取得する
19820 		 */
19821 		extern .VECTOR MV1GetMeshMaxPosition(int MHandle, int MeshIndex);
19822 
19823 		/**
19824 		 * 指定のメッシュに含まれるポリゴンの最小ローカル座標を取得する
19825 		 */
19826 		extern .VECTOR MV1GetMeshMinPosition(int MHandle, int MeshIndex);
19827 
19828 		/**
19829 		 * 指定のメッシュに含まれるトライアングルリストの数を取得する
19830 		 */
19831 		extern int MV1GetMeshTListNum(int MHandle, int MeshIndex);
19832 
19833 		/**
19834 		 * 指定のメッシュに含まれるトライアングルリストのインデックスを取得する
19835 		 */
19836 		extern int MV1GetMeshTList(int MHandle, int MeshIndex, int Index);
19837 
19838 		/**
19839 		 * 指定のメッシュに半透明要素があるかどうかを取得する
19840 		 *
19841 		 * Returns: TRUE:ある  FALSE:ない
19842 		 */
19843 		extern int MV1GetMeshSemiTransState(int MHandle, int MeshIndex);
19844 
19845 		/**
19846 		 * 指定のメッシュの頂点ディフューズカラーをマテリアルのディフューズカラーの代わりに使用するかどうかを設定する
19847 		 *
19848 		 * Params:
19849 		 *      MHandle = ?
19850 		 *      MeshIndex = ?
19851 		 *      UseFlag = TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
19852 		 */
19853 		extern int MV1SetMeshUseVertDifColor(int MHandle, int MeshIndex, int UseFlag);
19854 
19855 		/**
19856 		 * 指定のメッシュの頂点スペキュラカラーをマテリアルのスペキュラカラーの代わりに使用するかどうかを設定する
19857 		 *
19858 		 * Params:
19859 		 *      MHandle = ?
19860 		 *      MeshIndex = ?
19861 		 *      UseFlag = TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
19862 		 */
19863 		extern int MV1SetMeshUseVertSpcColor(int MHandle, int MeshIndex, int UseFlag);
19864 
19865 		/**
19866 		 * 指定のメッシュの頂点ディフューズカラーをマテリアルのディフューズカラーの代わりに使用するかどうかの設定を取得する
19867 		 *
19868 		 * Returns: TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
19869 		 */
19870 		extern int MV1GetMeshUseVertDifColor(int MHandle, int MeshIndex);
19871 
19872 		/**
19873 		 * 指定のメッシュの頂点スペキュラカラーをマテリアルのスペキュラカラーの代わりに使用するかどうかの設定を取得する
19874 		 *
19875 		 * Returns: TRUE:マテリアルカラーの代わりに使用する  FALSE:マテリアルカラーを使用する
19876 		 */
19877 		extern int MV1GetMeshUseVertSpcColor(int MHandle, int MeshIndex);
19878 
19879 		/**
19880 		 * 指定のメッシュがシェイプメッシュかどうかを取得する
19881 		 *
19882 		 * Returns: TRUE:シェイプメッシュ  FALSE:通常メッシュ
19883 		 */
19884 		extern int MV1GetMeshShapeFlag(int MHandle, int MeshIndex);
19885 
19886 		// シェイプ関係
19887 
19888 		/**
19889 		 * モデルに含まれるシェイプの数を取得する
19890 		 */
19891 		extern int MV1GetShapeNum(int MHandle);
19892 
19893 		/**
19894 		 * シェイプの名前からモデル中のシェイプのシェイプインデックスを取得する
19895 		 *
19896 		 * Returns: 無かった場合は-1
19897 		 */
19898 		extern int MV1SearchShape(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* ShapeName);
19899 
19900 		/**
19901 		 * シェイプの名前からモデル中のシェイプのシェイプインデックスを取得する
19902 		 *
19903 		 * Returns: 無かった場合は-1
19904 		 */
19905 		extern int MV1SearchShapeWithStrLen(int MHandle, const (dxlib_d.dxdatatype.TCHAR)* ShapeName, size_t ShapeNameLength);
19906 
19907 		/**
19908 		 * 指定シェイプの名前を取得する
19909 		 */
19910 		extern const (dxlib_d.dxdatatype.TCHAR)* MV1GetShapeName(int MHandle, int ShapeIndex);
19911 
19912 		/**
19913 		 * 指定シェイプが対象としているメッシュの数を取得する
19914 		 */
19915 		extern int MV1GetShapeTargetMeshNum(int MHandle, int ShapeIndex);
19916 
19917 		/**
19918 		 * 指定シェイプが対象としているメッシュのメッシュインデックスを取得する
19919 		 */
19920 		extern int MV1GetShapeTargetMesh(int MHandle, int ShapeIndex, int Index);
19921 
19922 		/**
19923 		 * 指定シェイプの有効率を設定する
19924 		 *
19925 		 * Params:
19926 		 *      MHandle = ?
19927 		 *      ShapeIndex = ?
19928 		 *      Rate = 0.0f:0% 〜 1.0f:100%
19929 		 *      Type = ?
19930 		 */
19931 		extern int MV1SetShapeRate(int MHandle, int ShapeIndex, float Rate, int Type = DX_MV1_SHAPERATE_ADD);
19932 
19933 		/**
19934 		 * 指定シェイプの有効率を取得する
19935 		 *
19936 		 * Returns: 0.0f:0% 〜 1.0f:100%
19937 		 */
19938 		extern float MV1GetShapeRate(int MHandle, int ShapeIndex);
19939 
19940 		/**
19941 		 * 指定シェイプの有効率を取得する( MV1SetShapeRate で指定した値がそのまま戻り値となる MV1GetShapeRate と異なりアニメーションのシェイプ情報なども加味した値が戻り値となります )
19942 		 *
19943 		 * Returns: 0.0f:0% 〜 1.0f:100%
19944 		 */
19945 		extern float MV1GetShapeApplyRate(int MHandle, int ShapeIndex);
19946 
19947 		// トライアングルリスト関係
19948 
19949 		/**
19950 		 * モデルに含まれるトライアングルリストの数を取得する
19951 		 */
19952 		extern int MV1GetTriangleListNum(int MHandle);
19953 
19954 		/**
19955 		 * 指定のトライアングルリストの頂点データタイプを取得する( DX_MV1_VERTEX_TYPE_1FRAME 等 )
19956 		 */
19957 		extern int MV1GetTriangleListVertexType(int MHandle, int TListIndex);
19958 
19959 		/**
19960 		 * 指定のトライアングルリストに含まれるポリゴンの数を取得する
19961 		 */
19962 		extern int MV1GetTriangleListPolygonNum(int MHandle, int TListIndex);
19963 
19964 		/**
19965 		 * 指定のトライアングルリストに含まれる頂点データの数を取得する
19966 		 */
19967 		extern int MV1GetTriangleListVertexNum(int MHandle, int TListIndex);
19968 
19969 		/**
19970 		 * 指定のトライアングルリストが使用する座標変換行列の数を取得する
19971 		 */
19972 		extern int MV1GetTriangleListLocalWorldMatrixNum(int MHandle, int TListIndex);
19973 
19974 		/**
19975 		 * 指定のトライアングルリストが使用する座標変換行列( ローカル→ワールド )を取得する
19976 		 */
19977 		extern .MATRIX MV1GetTriangleListLocalWorldMatrix(int MHandle, int TListIndex, int LWMatrixIndex);
19978 
19979 		/**
19980 		 * 指定のトライアングルリストの指定のポリゴンが使用している頂点の座標を取得する
19981 		 *
19982 		 * Returns: エラー:-1  0以上:ポリゴンが使用している頂点の数
19983 		 */
19984 		extern int MV1GetTriangleListPolygonVertexPosition(int MHandle, int TListIndex, int PolygonIndex, .VECTOR* VertexPositionArray = null, float* MatrixWeightArray = null);
19985 
19986 		/**
19987 		 * 指定のトライアングルリストが使用しているマテリアルのインデックスを取得する
19988 		 */
19989 		extern int MV1GetTriangleListUseMaterial(int MHandle, int TListIndex);
19990 
19991 		// コリジョン関係
19992 
19993 		/**
19994 		 * コリジョン情報を構築する
19995 		 */
19996 		extern int MV1SetupCollInfo(int MHandle, int FrameIndex = -1, int XDivNum = 32, int YDivNum = 8, int ZDivNum = 32, int MeshIndex = -1);
19997 
19998 		/**
19999 		 * コリジョン情報の後始末
20000 		 */
20001 		extern int MV1TerminateCollInfo(int MHandle, int FrameIndex = -1, int MeshIndex = -1);
20002 
20003 		/**
20004 		 * コリジョン情報を更新する
20005 		 */
20006 		extern int MV1RefreshCollInfo(int MHandle, int FrameIndex = -1, int MeshIndex = -1);
20007 
20008 		/**
20009 		 * 線とモデルの当たり判定
20010 		 */
20011 		extern .MV1_COLL_RESULT_POLY MV1CollCheck_Line(int MHandle, int FrameIndex, .VECTOR PosStart, .VECTOR PosEnd, int MeshIndex = -1);
20012 
20013 		/**
20014 		 * 線とモデルの当たり判定( 戻り値が MV1_COLL_RESULT_POLY_DIM )
20015 		 */
20016 		extern .MV1_COLL_RESULT_POLY_DIM MV1CollCheck_LineDim(int MHandle, int FrameIndex, .VECTOR PosStart, .VECTOR PosEnd, int MeshIndex = -1);
20017 
20018 		/**
20019 		 * 球とモデルの当たり判定
20020 		 */
20021 		extern .MV1_COLL_RESULT_POLY_DIM MV1CollCheck_Sphere(int MHandle, int FrameIndex, .VECTOR CenterPos, float r, int MeshIndex = -1);
20022 
20023 		/**
20024 		 * カプセルとモデルの当たり判定
20025 		 */
20026 		extern .MV1_COLL_RESULT_POLY_DIM MV1CollCheck_Capsule(int MHandle, int FrameIndex, .VECTOR Pos1, .VECTOR Pos2, float r, int MeshIndex = -1);
20027 
20028 		/**
20029 		 * 三角形とモデルの当たり判定
20030 		 */
20031 		extern .MV1_COLL_RESULT_POLY_DIM MV1CollCheck_Triangle(int MHandle, int FrameIndex, .VECTOR Pos1, .VECTOR Pos2, .VECTOR Pos3, int MeshIndex = -1);
20032 
20033 		/**
20034 		 * コリジョン結果ポリゴン配列から指定番号のポリゴン情報を取得する
20035 		 */
20036 		extern .MV1_COLL_RESULT_POLY MV1CollCheck_GetResultPoly(.MV1_COLL_RESULT_POLY_DIM ResultPolyDim, int PolyNo);
20037 
20038 		/**
20039 		 * コリジョン結果ポリゴン配列の後始末をする
20040 		 */
20041 		extern int MV1CollResultPolyDimTerminate(.MV1_COLL_RESULT_POLY_DIM ResultPolyDim);
20042 
20043 		// 参照用メッシュ関係
20044 
20045 		/**
20046 		 * 参照用メッシュのセットアップ
20047 		 */
20048 		extern int MV1SetupReferenceMesh(int MHandle, int FrameIndex, int IsTransform, int IsPositionOnly = dxlib_d.dxdatatype.FALSE, int MeshIndex = -1);
20049 
20050 		/**
20051 		 * 参照用メッシュの後始末
20052 		 */
20053 		extern int MV1TerminateReferenceMesh(int MHandle, int FrameIndex, int IsTransform, int IsPositionOnly = dxlib_d.dxdatatype.FALSE, int MeshIndex = -1);
20054 
20055 		/**
20056 		 * 参照用メッシュの更新
20057 		 */
20058 		extern int MV1RefreshReferenceMesh(int MHandle, int FrameIndex, int IsTransform, int IsPositionOnly = dxlib_d.dxdatatype.FALSE, int MeshIndex = -1);
20059 
20060 		/**
20061 		 * 参照用メッシュを取得する
20062 		 */
20063 		extern .MV1_REF_POLYGONLIST MV1GetReferenceMesh(int MHandle, int FrameIndex, int IsTransform, int IsPositionOnly = dxlib_d.dxdatatype.FALSE, int MeshIndex = -1);
20064 	}
20065 
20066 	// DxLive2DCubism4.cpp 関数 プロトタイプ宣言
20067 
20068 	version (DX_NON_LIVE2D_CUBISM4) {
20069 	} else {
20070 		/**
20071 		 * Live2DCubismCore.dll のファイルパスを設定する
20072 		 */
20073 		extern int Live2D_SetCubism4CoreDLLPath(const (dxlib_d.dxdatatype.TCHAR)* CoreDLLFilePath);
20074 
20075 		/**
20076 		 * Live2DCubismCore.dll のファイルパスを設定する
20077 		 */
20078 		extern int Live2D_SetCubism4CoreDLLPathWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* CoreDLLFilePath, size_t CoreDLLFilePathLength);
20079 
20080 		/**
20081 		 * Live2DCubismCore.dll のファイルパスを設定する
20082 		 */
20083 		extern int Live2D_SetCubism3CoreDLLPath(const (dxlib_d.dxdatatype.TCHAR)* CoreDLLFilePath);
20084 
20085 		/**
20086 		 * Live2DCubismCore.dll のファイルパスを設定する
20087 		 */
20088 		extern int Live2D_SetCubism3CoreDLLPathWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* CoreDLLFilePath, size_t CoreDLLFilePathLength);
20089 
20090 		/**
20091 		 * Live2D の描画処理を開始する
20092 		 */
20093 		extern int Live2D_RenderBegin();
20094 
20095 		/**
20096 		 * Live2D の描画処理を終了する
20097 		 */
20098 		extern int Live2D_RenderEnd();
20099 
20100 		/**
20101 		 * Live2D のモデルファイルを読み込む
20102 		 *
20103 		 * Returns: 0以上:Live2Dモデルハンドル  マイナス値:エラー発生
20104 		 */
20105 		extern int Live2D_LoadModel(const (dxlib_d.dxdatatype.TCHAR)* FilePath);
20106 
20107 		/**
20108 		 * Live2D のモデルファイルを読み込む
20109 		 *
20110 		 * Returns: 0以上:Live2Dモデルハンドル  マイナス値:エラー発生
20111 		 */
20112 		extern int Live2D_LoadModelWithStrLen(const (dxlib_d.dxdatatype.TCHAR)* FilePath, size_t FilePathLength);
20113 
20114 		/**
20115 		 * Live2D のモデルを削除する
20116 		 */
20117 		extern int Live2D_DeleteModel(int Live2DModelHandle);
20118 
20119 		/**
20120 		 * すべての Live2D のモデルを削除する
20121 		 */
20122 		extern int Live2D_InitModel();
20123 
20124 		/**
20125 		 * Live2D のモデルの状態を更新する
20126 		 */
20127 		extern int Live2D_Model_Update(int Live2DModelHandle, float DeltaTimeSeconds);
20128 
20129 		/**
20130 		 * Live2D のモデルの位置を設定する
20131 		 */
20132 		extern int Live2D_Model_SetTranslate(int Live2DModelHandle, float x, float y);
20133 
20134 		/**
20135 		 * Live2D のモデルの拡大率を設定する
20136 		 */
20137 		extern int Live2D_Model_SetExtendRate(int Live2DModelHandle, float ExRateX, float ExRateY);
20138 
20139 		/**
20140 		 * Live2D のモデルの回転を設定する
20141 		 */
20142 		extern int Live2D_Model_SetRotate(int Live2DModelHandle, float RotAngle);
20143 
20144 		/**
20145 		 * Live2D のモデルを描画する
20146 		 */
20147 		extern int Live2D_Model_Draw(int Live2DModelHandle);
20148 
20149 		/**
20150 		 * Live2D のモデルの指定のモーションを再生する
20151 		 */
20152 		extern int Live2D_Model_StartMotion(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* group, int no);
20153 
20154 		/**
20155 		 * Live2D のモデルの指定のモーションを再生する
20156 		 */
20157 		extern int Live2D_Model_StartMotionWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* group, size_t groupLength, int no);
20158 
20159 		/**
20160 		 * Live2D のモデルのモーション再生が終了しているかを取得する
20161 		 *
20162 		 * Returns: TRUE:再生が終了している  FALSE:再生中
20163 		 */
20164 		extern int Live2D_Model_IsMotionFinished(int Live2DModelHandle);
20165 
20166 		/**
20167 		 * Live2D のモデルの指定の表情モーションを設定する
20168 		 */
20169 		extern int Live2D_Model_SetExpression(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* expressionID);
20170 
20171 		/**
20172 		 * Live2D のモデルの指定の表情モーションを設定する
20173 		 */
20174 		extern int Live2D_Model_SetExpressionWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* expressionID, size_t expressionIDLength);
20175 
20176 		/**
20177 		 * 指定の座標が Live2D のモデルの指定の当たり判定の矩形範囲内か判定する
20178 		 *
20179 		 * Returns: TRUE:矩形範囲内  FALSE:矩形範囲外
20180 		 */
20181 		extern int Live2D_Model_HitTest(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* hitAreaName, float x, float y);
20182 
20183 		/**
20184 		 * 指定の座標が Live2D のモデルの指定の当たり判定の矩形範囲内か判定する
20185 		 *
20186 		 * Returns: TRUE:矩形範囲内  FALSE:矩形範囲外
20187 		 */
20188 		extern int Live2D_Model_HitTestWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* hitAreaName, size_t hitAreaNameLength, float x, float y);
20189 
20190 		/**
20191 		 * Live2D のモデルに設定されているパラメータの数を取得する
20192 		 */
20193 		extern int Live2D_Model_GetParameterCount(int Live2DModelHandle);
20194 
20195 		/**
20196 		 * Live2D のモデルに設定されているパラメータのIDを取得する
20197 		 */
20198 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetParameterId(int Live2DModelHandle, int index);
20199 
20200 		/**
20201 		 * Live2D のモデルに設定されているパラメータを取得する
20202 		 */
20203 		extern float Live2D_Model_GetParameterValue(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* parameterId);
20204 
20205 		/**
20206 		 * Live2D のモデルに設定されているパラメータを取得する
20207 		 */
20208 		extern float Live2D_Model_GetParameterValueWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* parameterId, size_t parameterIdLength);
20209 
20210 		/**
20211 		 * Live2D のモデルに設定されているパラメータを設定する
20212 		 */
20213 		extern int Live2D_Model_SetParameterValue(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* parameterId, float value);
20214 
20215 		/**
20216 		 * Live2D のモデルに設定されているパラメータを設定する
20217 		 */
20218 		extern int Live2D_Model_SetParameterValueWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* parameterId, size_t parameterIdLength, float value);
20219 
20220 		/**
20221 		 * Live2D のモデルに設定された当たり判定の数を取得する
20222 		 */
20223 		extern int Live2D_Model_GetHitAreasCount(int Live2DModelHandle);
20224 
20225 		/**
20226 		 * Live2D のモデルの当たり判定に設定された名前を取得する
20227 		 */
20228 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetHitAreaName(int Live2DModelHandle, int index);
20229 
20230 		/**
20231 		 * Live2D のモデルの物理演算設定ファイルの名前を取得する
20232 		 */
20233 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetPhysicsFileName(int Live2DModelHandle);
20234 
20235 		/**
20236 		 * Live2D のモデルのパーツ切り替え設定ファイルの名前を取得する
20237 		 */
20238 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetPoseFileName(int Live2DModelHandle);
20239 
20240 		/**
20241 		 * Live2D のモデルの表情設定ファイルの数を取得する
20242 		 */
20243 		extern int Live2D_Model_GetExpressionCount(int Live2DModelHandle);
20244 
20245 		/**
20246 		 * Live2D のモデルの表情設定ファイルを識別するIDを取得する
20247 		 */
20248 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetExpressionName(int Live2DModelHandle, int index);
20249 
20250 		/**
20251 		 * Live2D のモデルの表情設定ファイルの名前を取得する
20252 		 */
20253 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetExpressionFileName(int Live2DModelHandle, int index);
20254 
20255 		/**
20256 		 * Live2D のモデルのモーショングループの数を取得する
20257 		 */
20258 		extern int Live2D_Model_GetMotionGroupCount(int Live2DModelHandle);
20259 
20260 		/**
20261 		 * Live2D のモデルのモーショングループの名前を取得する
20262 		 */
20263 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetMotionGroupName(int Live2DModelHandle, int index);
20264 
20265 		/**
20266 		 * Live2D のモデルのモーショングループに含まれるモーションの数を取得する
20267 		 */
20268 		extern int Live2D_Model_GetMotionCount(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName);
20269 
20270 		/**
20271 		 * Live2D のモデルのモーショングループに含まれるモーションの数を取得する
20272 		 */
20273 		extern int Live2D_Model_GetMotionCountWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, size_t groupNameLength);
20274 
20275 		/**
20276 		 * Live2D のモデルのグループ名とインデックス値からモーションファイルの名前を取得する
20277 		 */
20278 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetMotionFileName(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, int index);
20279 
20280 		/**
20281 		 * Live2D のモデルのグループ名とインデックス値からモーションファイルの名前を取得する
20282 		 */
20283 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetMotionFileNameWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, size_t groupNameLength, int index);
20284 
20285 		/**
20286 		 * Live2D のモデルのモーションに対応するサウンドファイルの名前を取得する
20287 		 */
20288 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetMotionSoundFileName(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, int index);
20289 
20290 		/**
20291 		 * Live2D のモデルのモーションに対応するサウンドファイルの名前を取得する
20292 		 */
20293 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetMotionSoundFileNameWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, size_t groupNameLength, int index);
20294 
20295 		/**
20296 		 * Live2D のモデルのモーション開始時のフェードイン処理時間を取得する
20297 		 */
20298 		extern float Live2D_Model_GetMotionFadeInTimeValue(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, int index);
20299 
20300 		/**
20301 		 * Live2D のモデルのモーション開始時のフェードイン処理時間を取得する
20302 		 */
20303 		extern float Live2D_Model_GetMotionFadeInTimeValueWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, size_t groupNameLength, int index);
20304 
20305 		/**
20306 		 * Live2D のモデルのモーション終了時のフェードアウト処理時間を取得する
20307 		 */
20308 		extern float Live2D_Model_GetMotionFadeOutTimeValue(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, int index);
20309 
20310 		/**
20311 		 * Live2D のモデルのモーション終了時のフェードアウト処理時間を取得する
20312 		 */
20313 		extern float Live2D_Model_GetMotionFadeOutTimeValueWithStrLen(int Live2DModelHandle, const (dxlib_d.dxdatatype.TCHAR)* groupName, size_t groupNameLength, int index);
20314 
20315 		/**
20316 		 * Live2D のモデルのユーザデータのファイル名を取得する
20317 		 */
20318 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetUserDataFile(int Live2DModelHandle);
20319 
20320 		/**
20321 		 * Live2D のモデルの目パチに関連付けられたパラメータの数を取得する
20322 		 */
20323 		extern int Live2D_Model_GetEyeBlinkParameterCount(int Live2DModelHandle);
20324 
20325 		/**
20326 		 * Live2D のモデルの目パチに関連付けられたパラメータのIDを取得する
20327 		 */
20328 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetEyeBlinkParameterId(int Live2DModelHandle, int index);
20329 
20330 		/**
20331 		 * Live2D のモデルのリップシンクに関連付けられたパラメータの数を取得する
20332 		 */
20333 		extern int Live2D_Model_GetLipSyncParameterCount(int Live2DModelHandle);
20334 
20335 		/**
20336 		 * Live2D のモデルのリップシンクに関連付けられたパラメータのIDを取得する
20337 		 */
20338 		extern const (dxlib_d.dxdatatype.TCHAR)* Live2D_Model_GetLipSyncParameterId(int Live2DModelHandle, int index);
20339 	}
20340 }
20341 
20342 // ネームスペース DxLib を使用する ------------------------------------------------------
20343 version (DX_NON_NAMESPACE) {
20344 } else {
20345 	version (DX_NON_USING_NAMESPACE_DXLIB) {
20346 	} else {
20347 		/+
20348 		using namespace DxLib;
20349 		+/
20350 	}
20351 }
20352 
20353 // DXライブラリ内部でのみ使用するヘッダファイルのインクルード -------------------------
20354 
20355 version (DX_MAKE) {
20356 	//    #include "DxStatic.h"
20357 }