//
//	ToolLib_ParamBar.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
//	- ToolParamBar_IsAnyHovered(),ToolParamBar_IsHovered()関数を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//
#ifndef __TOOLLIB_PARAMBAR_H__
#define __TOOLLIB_PARAMBAR_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
#ifdef  TOOLLIB_USE_STRINGINPUT
//*****************************************************************************
//	定数、マクロ、構造体
//*****************************************************************************
typedef struct _SToolParamBar SToolParamBar;	//opaque datatype
//*****************************************************************************
//	アプリケーション用関数
//*****************************************************************************
SToolParamBar* ToolParamBar_Create(const char* Name, int PositionX, int PositionY, int BarPositionX, int BarWidth, int NumberLength, double ParamMin, double ParamMax, double InitParam);
void ToolParamBar_Delete(SToolParamBar* TParamBar);
void ToolParamBar_Delete_All();
void ToolParamBar_SetVisibleHandle(SToolParamBar* TParamBar, SToolVisible* TVisible);
void ToolParamBar_SetVisible(SToolParamBar* TParamBar, int Visible);
int ToolParamBar_GetVisible(SToolParamBar* TParamBar);
void ToolParamBar_SetWindow(SToolParamBar* TParamBar, SToolWindow* TWindow);
void ToolParamBar_SetPosition(SToolParamBar* TParamBar, int PositionX, int PositionY);
void ToolParamBar_SetParam(SToolParamBar* TParamBar, double Param);
void ToolParamBar_SetMinMax(SToolParamBar* TParamBar, double ParamMin, double ParamMax);
void ToolParamBar_AlwaysEnd(SToolParamBar* TParamBar);
int ToolParamBar_CheckChange(SToolParamBar* TParamBar);
double ToolParamBar_GetParam(SToolParamBar* TParamBar);
void ToolParamBar_Step_All();
void ToolParamBar_Draw_All();
int ToolParamBar_IsAnyHovered();
int ToolParamBar_IsHovered(SToolParamBar* TParamBar);
//*****************************************************************************
//	
//*****************************************************************************
#endif//TOOLLIB_USE_STRINGINPUT
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__TOOLLIB_PARAMBAR_H__
