//
//	ToolLib_List.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
//	- ToolList_IsAnyHovered(),ToolList_IsHovered()関数を追加しました。
//	  詳細は、ToolLib.hの同日のコメントを参照して下さい。
//
#ifndef __TOOLLIB_LIST_H__
#define __TOOLLIB_LIST_H__
#ifdef  __cplusplus
extern "C" {
#endif//__cplusplus
//*****************************************************************************
//	定数、マクロ、構造体
//*****************************************************************************
typedef struct _SToolList SToolList;	//opaque datatype
//*****************************************************************************
//	アプリケーション用関数
//*****************************************************************************
SToolList* ToolList_Create();
void ToolList_Delete(SToolList* TList);
void ToolList_Delete_All();
void ToolList_SetVisibleHandle(SToolList* TList, SToolVisible* TVisible);
void ToolList_Initialize(SToolList* TList, SToolWindow* TWindow);
int ToolList_GetChange(SToolList* TList, int Reset);
void ToolList_AddObj(SToolList* TList, const char* String, ...);
void ToolList_SetVisible(SToolList* TList, int Visible);
int ToolList_GetVisible(SToolList* TList);
void ToolList_SetSelectIndex(SToolList* TList, int Index);
int ToolList_GetSelectIndex(SToolList* TList);
int ToolList_GetObjNum(SToolList* TList);
int ToolList_GetHeight(SToolList* TList);
int ToolList_GetWidth(SToolList* TList);
void ToolList_Step_All();
void ToolList_Draw_All();
int ToolList_IsAnyHovered();
int ToolList_IsHovered(SToolList* TList);
//*****************************************************************************
//	
//*****************************************************************************
#ifdef  __cplusplus
}//extern "C"
#endif//__cplusplus
#endif//__TOOLLIB_LIST_H__
