2010-12-16 9 views
1

ココアでカスタムシェイプトラッキングエリアを作成するには? ココアでは、追跡領域として長方形しか見つけられませんでした。ココアのカスタムシェイプトラッキングエリア

炭素は、HIViewNewTrackingAreaを通じてこの機能を提供しました。これを通じて、 がHIShapeRefをトラッキングエリアとして登録することができました。これに似たココアがありますか?

私は、さまざまな地域のマウスカーソルを変更したいという複雑な形をしています。

私が試みた1つのアプローチは、全体の領域をカバーする大きな追跡矩形を作成してから mouseMovedイベントを使用してカーソルを変更していました。

これ以外の方法をお勧めしますか。

ココアにHIViewNewTrackingAreaのような類似のAPIがあった方が簡単でした。

ありがとうございました。

答えて

3

トラッキングエリアは、Cocoaフレームワークでは長方形のみです。あなたはあなたのエリア全体をカバーし、次にNSBezierPathを作成します(あなたは周りを囲むが、ストロークまたは塗りつぶしはしません)。ポイントが-containsPoint:を介してその中にあるかどうかを尋ねます。

パスがカスタムシェイプのヒット検出メカニズムを提供している間、トラッキングエリアはマウストラッキングを「アクティブ化」します。

+0

ありがとうございました。最後に、パスをカバーする複数のトラッキングエリアを使用して解決しました。 –