現在、ユーザーがアプリケーション固有のタスクのレイアウトを設計できるようにするウィジェットを作成しています。そして、ユーザーにパワーポイント/基調講演風のインターフェイス (la 280slides) を提供したいと思います。ただし、基本的にユーザーがページ上の複数の要素を整列させるのに役立つガイドである「スナップガイド」(申し訳ありませんが、それらを説明するのに適切な言葉がありません) も提供したいと思います。
この例は Flash IDE で見ることができます。ドラッグすると、IDE は周辺オブジェクトの寸法と位置を自動的に計算し、それらを整列させようとします。モッキンバード アプリケーション (https://gomockingbird.com/mockingbird/) は、同様のことを実現します。(ヒント: いくつかのオブジェクトをドラッグしてみて、オブジェクトを境界ボックスに揃えようとするガイドがあることを確認してください)。
ビューポートに要素の配列をキャッシュし、各要素の位置と寸法を計算して最適なスナップを見つけることで、同様の効果が得られると思います。ただし、ドラッグされている要素の最も可能性の高い位置を計算するにはどうすればよいですか? 代替ソリューションはありますか?
どなたか詳しい方、教えてください!:)