ダブルクリック

ダブルクリックのイベントを追加してみた。

int CHand::Click(void)
{
	if(!mainCursor) return(0);

	int ret;

	if(mainCursor->selectObject) {
		if(CAnimeManager::currentTime - clickedTime <= doubleClickTime) {
			mainCursor->selectObject->DoubleClick();
			clickedTime = -(doubleClickTime + 1);
		} else {
			mainCursor->selectObject->Click();
		}
		ret = 0;
	} else {
		ret = mainCursor->Click();
		clickedTime = CAnimeManager::currentTime;
	}

	return(ret);
}

普通に一定時間(doubleClickTime)内に二回クリック(携帯のマーカーならセレクト二回押し、紙のマーカーならくっつけてすぐ離す)すると、DoubleClick()が呼び出される仕組み。
これでもう少し複雑なインターフェイスが作れるようになるだろう。

しかしまあ、自分で読み直してみてもARDeskTopのイベントの内部処理はややこしいと思う。あんまり手を付けたくはないなあ。いくつか把握してるバグはあるけど。

http://wiki.livedoor.jp/wah_wah_hawah/d/%c1%e0%ba%ee%ca%fd%cb%a1?wiki_id=73030