//
//	ToolLib_StringInput.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
//	- ToolStringInput_IsAnyHovered(),ToolStringInput_IsHovered()関数を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//
#ifndef __TOOLLIB_STRINGINPUT_H__
#define __TOOLLIB_STRINGINPUT_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
#ifdef  TOOLLIB_USE_STRINGINPUT
//*****************************************************************************
//	定数、マクロ、構造体
//*****************************************************************************
typedef struct _SToolStringInput SToolStringInput;	//opaque datatype
//*****************************************************************************
//	アプリケーション用関数
//*****************************************************************************
SToolStringInput* ToolStringInput_Create(const char* Name, int x, int y, int NumberOnly, int NumberNum, int StringDrawWidth);
void ToolStringInput_Delete(SToolStringInput* TStringInput);
void ToolStringInput_Delete_All();
void ToolStringInput_SetVisibleHandle(SToolStringInput* TStringInput, SToolVisible* TVisible);
void ToolStringInput_SetVisible(SToolStringInput* TStringInput, int Visible);
int ToolStringInput_GetVisible(SToolStringInput* TStringInput);
void ToolStringInput_SetWindow(SToolStringInput* TStringInput, SToolWindow* TWindow);
void ToolStringInput_SetPosition(SToolStringInput* TStringInput, int x, int y);
void ToolStringInput_SetString(SToolStringInput* TStringInput, const char* String);
void ToolStringInput_GetString(SToolStringInput* TStringInput, char* String);
void ToolStringInput_AlwaysEnd(SToolStringInput* TStringInput);
void ToolStringInput_SetIntNumber(SToolStringInput* TStringInput, int Number);
void ToolStringInput_SetFloatNumber(SToolStringInput* TStringInput, double Number);
int ToolStringInput_GetIntNumber(SToolStringInput* TStringInput);
double ToolStringInput_GetFloatNumber(SToolStringInput* TStringInput);
int ToolStringInput_CheckEnd(SToolStringInput* TStringInput, int Reset);
void ToolStringInput_ResetActive(SToolStringInput* TStringInput);
void ToolStringInput_Step_All();
void ToolStringInput_Draw_All();
int ToolStringInput_IsAnyHovered();
int ToolStringInput_IsHovered(SToolStringInput* TStringInput);
//*****************************************************************************
//	
//*****************************************************************************
#endif//TOOLLIB_USE_STRINGINPUT
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__TOOLLIB_STRINGINPUT_H__
