ダブルクリック
ダブルクリックのイベントを追加してみた。
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