aliceml_link_list.h

#include "aliceml.h"
#include "aliceml_link.h"

ソースコードを見る。

型定義

typedef ML_LinkList ML_LinkList
 選択肢のIDやその画面領域などを保存します。

関数

ALICEMLAPI ML_LinkList *ALICEMLCALL ML_LinkList_Create ()
 リンクリストを新規に作成します。
ALICEMLAPI void ALICEMLCALL ML_LinkList_Destroy (ML_LinkList *list)
 リンクリストを破棄します。
ALICEMLAPI int ALICEMLCALL ML_LinkList_Clear (ML_LinkList *list)
 リンクリスト中のリンクをすべて削除します。
ALICEMLAPI ML_Link *ALICEMLCALL ML_LinkList_Iterate (ML_LinkList *list, int *index)
 すべての描画領域を持つリンクを巡回します。
ALICEMLAPI ML_Link *ALICEMLCALL ML_LinkList_FindLinkFromPosition (ML_LinkList *list, int x, int y)
 与えられた座標を含むリンクがあれば、それを返します。
ALICEMLAPI ML_Link *ALICEMLCALL ML_LinkList_FindLink (ML_LinkList *list, int id)
 リンクリストからリンクを探し出します。
ALICEMLAPI int ALICEMLCALL ML_LinkList_AddLink (ML_LinkList *list, int id)
 リンクリストにリンクを追加します。
ALICEMLAPI ML_Link *ALICEMLCALL ML_LinkList_GetLink (ML_LinkList *list, int id)
 リンクリストからリンクを探し出し、無ければ追加します。
ALICEMLAPI ML_Link *ALICEMLCALL ML_LinkList_FindLinkFromCommand (ML_LinkList *list, ML_Command *command)
 リンクリスト中のコマンドから、そのコマンドを持ったリンクを取得します。
ALICEMLAPI int ALICEMLCALL ML_LinkList_AddCommand (ML_LinkList *list, int id, ML_Command *command)
 リンクリストにコマンドを追加します。
ALICEMLAPI int ALICEMLCALL ML_LinkList_RemoveCommand (ML_LinkList *list, ML_Command *command)
 リンクリストからコマンドを破棄します。
ALICEMLAPI int ALICEMLCALL ML_LinkList_ClearRects (ML_LinkList *list)
 リンクリストに含まれるリンクの矩形をすべて削除します。


型定義

typedef struct ML_LinkList ML_LinkList

選択肢のIDやその画面領域などを保存します。

このオブジェクトでは、コマンドがリンクに対して追加されていきます。 コマンド巡回時にコマンドからリンクを取得、そのリンクに対して描画矩形を追加することで、 マウスクリックやホバーを調べるのに使われます。 コマンドからのリンク取得は何度も行われ非常に速度が重要なので、ハッシュとして実装されています。


関数

ALICEMLAPI int ALICEMLCALL ML_LinkList_AddCommand ( ML_LinkList list,
int  id,
ML_Command command 
)

リンクリストにコマンドを追加します。

ALICEMLAPI int ALICEMLCALL ML_LinkList_AddLink ( ML_LinkList list,
int  id 
)

リンクリストにリンクを追加します。

ALICEMLAPI int ALICEMLCALL ML_LinkList_Clear ( ML_LinkList list  ) 

リンクリスト中のリンクをすべて削除します。

ALICEMLAPI int ALICEMLCALL ML_LinkList_ClearRects ( ML_LinkList list  ) 

リンクリストに含まれるリンクの矩形をすべて削除します。

ALICEMLAPI ML_LinkList* ALICEMLCALL ML_LinkList_Create (  ) 

リンクリストを新規に作成します。

ALICEMLAPI void ALICEMLCALL ML_LinkList_Destroy ( ML_LinkList list  ) 

リンクリストを破棄します。

ALICEMLAPI ML_Link* ALICEMLCALL ML_LinkList_FindLink ( ML_LinkList list,
int  id 
)

リンクリストからリンクを探し出します。

ALICEMLAPI ML_Link* ALICEMLCALL ML_LinkList_FindLinkFromCommand ( ML_LinkList list,
ML_Command command 
)

リンクリスト中のコマンドから、そのコマンドを持ったリンクを取得します。

ALICEMLAPI ML_Link* ALICEMLCALL ML_LinkList_FindLinkFromPosition ( ML_LinkList list,
int  x,
int  y 
)

与えられた座標を含むリンクがあれば、それを返します。

ALICEMLAPI ML_Link* ALICEMLCALL ML_LinkList_GetLink ( ML_LinkList list,
int  id 
)

リンクリストからリンクを探し出し、無ければ追加します。

ALICEMLAPI ML_Link* ALICEMLCALL ML_LinkList_Iterate ( ML_LinkList list,
int *  index 
)

すべての描画領域を持つリンクを巡回します。

引数:
list リンクのリストを指定します。
index 以前の巡回時に使ったindexを指定してください。最初は index = 0 でお願いします。
int index = 0; while ((link = ML_LinkList_Iterate(link_list, &index)) != NULL) { ... }

ALICEMLAPI int ALICEMLCALL ML_LinkList_RemoveCommand ( ML_LinkList list,
ML_Command command 
)

リンクリストからコマンドを破棄します。


AliceMLに対してSat Apr 21 13:06:20 2007に生成されました。  doxygen 1.4.7