//
//	ToolLib_FileSelect.h
//
//	エディター共通処理 - ツールのGUIのファイル選択
//
//	* Tue Apr 18 21:46:46 JST 2017 Naoyuki Sawa
//	- 1st リリース。
//	* Wed Apr 19 22:11:14 JST 2017 Naoyuki Sawa
//	- 「①DxLibに依存しないようにする」と「②C言語でコンパイル出来るようにする」を対応しました。
//	  詳細は、/clip/ToolLib/README.TXT の、同日のコメントを参照して下さい。
//	* Thu Apr 20 21:31:57 JST 2017 Naoyuki Sawa
//	- 当ライブラリが生成するオブジェクトの識別子を、整数ハンドル⇒ポインタに変更しました。
//	  オリジナル版では生成したオブジェクトを固定長配列に格納して管理していたのですが、メモリ節約のためにリストで管理するように変更し、そのためには整数ハンドルよりもポインタの方が都合が良いからです。
//	  尚、フォントハンドルと文字列入力ハンドルは、当ライブラリが生成するオブジェクトではなくバックエンドのオブジェクトなので、今回の変更には関係無く整数ハンドルのままです。
//	* Tue May 02 22:54:46 JST 2017 Naoyuki Sawa
//	- 各モジュール内のサイズ定義の倍率を一律で調整出来るように、ToolLib.hにTOOL_SCALEの定義を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//	* Sun May 14 23:23:22 JST 2017 Naoyuki Sawa
//	- ToolFileSelect_IsAnyHovered(),ToolFileSelect_IsHovered()関数を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//
#ifndef __TOOLLIB_FILESELECT_H__
#define __TOOLLIB_FILESELECT_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
#ifdef  TOOLLIB_USE_STRINGINPUT
//*****************************************************************************
//	定数、マクロ、構造体
//*****************************************************************************
typedef struct _SToolFileSelect SToolFileSelect;	//opaque datatype
//*****************************************************************************
//	アプリケーション用関数
//*****************************************************************************
SToolFileSelect* ToolFileSelect_Create(const char* Name, int x, int y);
void ToolFileSelect_Delete(SToolFileSelect* TFileSelect);
void ToolFileSelect_Delete_All();
void ToolFileSelect_SetVisibleHandle(SToolFileSelect* TFileSelect, SToolVisible* TVisible);
void ToolFileSelect_SetWindow(SToolFileSelect* TFileSelect, SToolWindow* TWindow);
void ToolFileSelect_SetPosition(SToolFileSelect* TFileSelect, int x, int y);
void ToolFileSelect_SetVisible(SToolFileSelect* TFileSelect, int Visible);
int ToolFileSelect_GetVisible(SToolFileSelect* TFileSelect);
int ToolFileSelect_CheckEnd(SToolFileSelect* TFileSelect, int Reset);
void ToolFileSelect_SetPath(SToolFileSelect* TFileSelect, const char* FilePath);
void ToolFileSelect_GetPath(SToolFileSelect* TFileSelect, char* DestBuffer);
void ToolFileSelect_Step_All();
void ToolFileSelect_Draw_All();
int ToolFileSelect_IsAnyHovered();
int ToolFileSelect_IsHovered(SToolFileSelect* TFileSelect);
//*****************************************************************************
//	
//*****************************************************************************
#endif//TOOLLIB_USE_STRINGINPUT
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__TOOLLIB_FILESELECT_H__
