GWT Canvas (Java) を使用して、ある種の図面/フローチャート/UML ダイアグラムのようなツールを作成しています。描画のヒット検出については、3 つの異なる戦略を想像できましたが、どれが自分の目標に最適かはわかりません。
- すべてのシェイプ座標を追跡し、マウスクリックですべてのオブジェクトを反復するだけです
- マウスクリックでゴーストキャンバスにすべてのオブジェクトを描画し、すべてのオブジェクトの描画後に isPointInPath() を使用します
- ゴースト キャンバスを使用して、各オブジェクトを独自の色 (#000001、#000002 など) で描画し、それらの参照をマップに保持します。次に、ゴーストキャンバスでマウスクリックを検出し、マウスの下のピクセルカラーに属するオブジェクトを取得します
あなたは何を好みますか、そしてその理由は何ですか?