私は、ウィンドウ位置をマニピュレートするアプリケーションを作成しており、マルチモニタのサポートを追加しています。NSScreensで作業するとき、グローバル座標とローカル座標をどのように変換しますか?
これを容易にするために、私は "ローカル"ウィンドウ位置(NSScreenのフレームに対して)を持っており、これを "グローバル"ウィンドウ位置(すべてのモニター位置が指定されている位置これは[NSスクリーンスクリーン]の最初の(0番目の)インデックスの左下隅です。
1つの座標系を使用してウィンドウの位置を保存し、グローバル座標系を基準にしてこれをローカル座標系に変換して表示したいとします。
NSScreenフレームとグローバルなスクリーンスペースの間で座標を変換するヘルパーメソッドとは何ですか?
がマルチモニターを扱う私のアプリケーションの一つで、私はグローバルに全力を尽くします座標(どのスクリーンフレームが入っているか)。個々の画面に関連する座標のみを持っている場合は、それらを画面のフレーム座標に追加するための単純な計算を行うだけで済みます。 – DouglasHeriot
ええ、画面のフレーム原点に画面相対位置を追加することで、グローバルオフセットを取得できるはずです。これは、ゼロスクリーンの起点に相対的なポイントになります。 –