1 // -------------------------------------------------------------------------------
2 //
3 //         DXライブラリ        iOS専用関数プロトタイプ宣言用ヘッダファイル
4 //
5 //                 Ver 3.22a
6 //
7 // -------------------------------------------------------------------------------
8 module dxlib_d.dxfunctionios;
9 
10 
11 version (iOS):
12 
13 nothrow @nogc:
14 
15 // インクルード ------------------------------------------------------------------
16 private static import dxlib_d.dxdatatypeios;
17 public import dxlib_d.dxlib;
18 
19 extern (C++, DxLib) {
20 	// マクロ定義---------------------------------------------------------------------
21 
22 	// 振動の種類
23 	enum IOS_VIBRATE_ONE_STRONG_LONG = 4095;
24 	enum IOS_VIBRATE_TWO_STRONG_SHORT = 1011;
25 	enum IOS_VIBRATE_TWO_WEAK_SHORT = 1102;
26 	enum IOS_VIBRATE_ONE_WEAK_SHORT = 1519;
27 	enum IOS_VIBRATE_ONE_MIDDLE_SHORT = 1520;
28 	enum IOS_VIBRATE_THREE_WEAK_SHORT = 1521;
29 
30 	// 構造体定義 --------------------------------------------------------------------
31 
32 	package struct tagDEVICEMOTIONINFO_IOS
33 	{
34 		double Attitude_Roll;
35 		double Attitude_Pitch;
36 		double Attitude_Yaw;
37 		dxlib_d.dxlib.VECTOR_D RotationRate;
38 		dxlib_d.dxlib.VECTOR_D Gravity;
39 		dxlib_d.dxlib.VECTOR_D UserAcceleration;
40 		dxlib_d.dxlib.VECTOR_D MagneticField;
41 	}
42 
43 	public alias DEVICEMOTIONINFO_IOS = .tagDEVICEMOTIONINFO_IOS;
44 
45 	// 関数プロトタイプ宣言-----------------------------------------------------------
46 
47 	/**
48 	 * アプリの外部データ保存用のディレクトリパスを取得する
49 	 */
50 	extern int GetDocumentsDirPath(dxlib_d.dxdatatypeios.TCHAR* PathBuffer, size_t PathBufferBytes);
51 
52 	/**
53 	 * アプリのデータ保存用のディレクトリパスを取得する
54 	 */
55 	extern int GetLibraryPreferencesDirPath(dxlib_d.dxdatatypeios.TCHAR* PathBuffer, size_t PathBufferBytes);
56 
57 	/**
58 	 * アプリのキャッシュファイル保存用のディレクトリパスを取得する
59 	 */
60 	extern int GetLibraryCachesDirPath(dxlib_d.dxdatatypeios.TCHAR* PathBuffer, size_t PathBufferBytes);
61 
62 	/**
63 	 * アプリの一時ファイル保存用のディレクトリパスを取得する
64 	 */
65 	extern int GetTmpDirPath(dxlib_d.dxdatatypeios.TCHAR* PathBuffer, size_t PathBufferBytes);
66 
67 	/**
68 	 * ディスプレイの解像度を取得する
69 	 */
70 	extern int GetDisplayResolution_iOS(int* SizeX, int* SizeY);
71 
72 	/**
73 	 * 端末に設定されている言語を取得する
74 	 *
75 	 * Returns: -1:エラー 0以上:言語名文字列の格納に必要なバイト数
76 	 */
77 	extern int GetLanguage_iOS(dxlib_d.dxdatatypeios.TCHAR* StringBuffer, int StringBufferSize);
78 
79 	/**
80 	 * 端末に設定されている国を取得する
81 	 *
82 	 * Returns: -1:エラー 0以上:国名文字列の格納に必要なバイト数
83 	 */
84 	extern int GetCountry_iOS(dxlib_d.dxdatatypeios.TCHAR* StringBuffer, int StringBufferSize);
85 
86 	/**
87 	 * 文字列入力ダイアログを出す
88 	 *      StringBuffer = 入力された文字列を代入するバッファの先頭アドレス
89 	 *      StringBufferBytes = 入力された文字列を代入するバッファのサイズ( 単位:バイト )
90 	 *      Title = ダイアログのタイトル
91 	 *      Message = ダイアログのメッセージ
92 	 *      IsBlock = 入力が完了するまで関数から出てこないかどうか( 1:入力が完了するまで関数から出てこない  0:ダイアログを表示したら関数から出てくる( 入力完了のチェックは GetStateInputStringDialogBox で行う ) )
93 	 *
94 	 * Returns: 0:成功  2:キャンセルされた  -1:エラー発生
95 	 */
96 	extern int StartInputStringDialogBox(dxlib_d.dxdatatypeios.TCHAR* StringBuffer, size_t StringBufferBytes, const (dxlib_d.dxdatatypeios.TCHAR)* Title, const (dxlib_d.dxdatatypeios.TCHAR)* Message, int IsBlock);
97 
98 	/**
99 	 * 文字列入力ダイアログの処理が終わったかどうかを取得する
100 	 *
101 	 * Returns: 0:入力中   1:入力完了  2:キャンセルされた
102 	 */
103 	extern int GetStateInputStringDialogBox();
104 
105 	/**
106 	 * モーションセンサーの情報を取得する
107 	 */
108 	extern int GetDeviceMotionInfo_iOS(.DEVICEMOTIONINFO_IOS* DeviceMotionInfo);
109 
110 	/**
111 	 * 振動を再生する
112 	 *      VibrationType = 振動の種類( IOS_VIBRATE_ONE_STRONG_LONG など )
113 	 */
114 	extern int PlayVibration_iOS(int VibrationType);
115 }