//
//	ToolLib_Button.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
//	- ToolButton_IsAnyHovered(),ToolButton_IsHovered()関数を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//
#ifndef __TOOLLIB_BUTTON_H__
#define __TOOLLIB_BUTTON_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
//*****************************************************************************
//	定数、マクロ、構造体
//*****************************************************************************
typedef struct _SToolButton SToolButton;	//opaque datatype
//*****************************************************************************
//	アプリケーション用関数
//*****************************************************************************
SToolButton* ToolButton_Create(int On_Off_SwitchType, const char* Name, int x, int y, int w, int h);
void ToolButton_Delete(SToolButton* TButton);
void ToolButton_Delete_All();
void ToolButton_SetVisibleHandle(SToolButton* TButton, SToolVisible* TVisible);
void ToolButton_SetName(SToolButton* TButton, const char* Name);
void ToolButton_SetWindow(SToolButton* TButton, SToolWindow* TWindow);
void ToolButton_SetPosition(SToolButton* TButton, int x, int y);
void ToolButton_SetOnOffFlag(SToolButton* TButton, int Flag);
int ToolButton_GetOnOffFlag(SToolButton* TButton);
int ToolButton_GetClick(SToolButton* TButton, int Reset);
int ToolButton_GetBottom(SToolButton* TButton);
int ToolButton_GetRepeatBottom(SToolButton* TButton);
void ToolButton_SetVisible(SToolButton* TButton, int Visible);
int ToolButton_GetVisible(SToolButton* TButton);
void ToolButton_Step_All(double StepTime);
void ToolButton_Draw_All();
int ToolButton_IsAnyHovered();
int ToolButton_IsHovered(SToolButton* TButton);
//*****************************************************************************
//	
//*****************************************************************************
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__TOOLLIB_BUTTON_H__
