先程登場したNSRectについてどんな関数があるのかをここで勉強しておくことにします。一気に全部覚える必要はありませんので、必要になった時にここのページを参照していただければよいかと思います。
難しいものはありませんので、ざっと目を通してどんな機能があるのかを知っておきましょう。
推奨環境 この解説は、以下の環境を前提に作成し、動作確認等を行っています。ご確認ください。
改版履歴
書式 : NSRect NSMakeRect( float x, float y, float w, float h ) 入力 : x - 矩形の左端の座標 : y - 矩形の下端の座標 : w - 矩形の幅 : h - 矩形の高さ 出力 : RETURN - 矩形
書式 : NSRect NSRectFromString( NSString *aString ) 入力 : aString - 文字列のフォーマット : "{{x, y}, {h, w}}" 出力 : RETURN - 矩形
書式 : NSString *NSStringFromRect( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 矩形を表す文字列 : "{{x, y}, {h, w}}"
書式 : float NSWidth( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 矩形の幅
書式 : float NSHeight( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 矩形の高さ
書式 : float NSMinX( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 左端のX座標
書式 : float NSMidX( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 中心のX座標
書式 : float NSMaxX( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 右端のX座標
書式 : float NSMinY( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 下端のY座標
書式 : float NSMidY( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 下端のY座標
書式 : float NSMaxY( NSRect aRect ) 入力 : aRect - 矩形 出力 : RETURN - 上端のY座標
注:Cocoaは、左下原点で上向きにY座標がデフォルトですが、図は下向きY座標になってます。いつか修正します。
書式 : NSRect NSOffsetRect( NSRect aRect, float dX, float dY ) 入力 : aRect - 矩形 : dX - X座標方向の移動量 : dY - Y座標方向の移動量 出力 : RETURN - 移動後の矩形
書式 : NSRect NSInsetRect( NSRect aRect, float dX, float dY ) 入力 : aRect - 矩形 : dX - X座標方向の縮小量 : dY - Y座標方向の縮小量 出力 : RETURN - 縮小後の矩形
書式 : NSRect NSIntersectionRect( NSRect aRect, NSRect bRect ) 入力 : aRect - 矩形 : bRect - 矩形 出力 : RETURN - aRectとbRectの共通部分の矩形、共通部分が無いときはNSZeroRect(0,0,0,0)が返る。
書式 : NSRect NSUnionRect( NSRect aRect, NSRect bRect ) 入力 : aRect - 矩形 : bRect - 矩形 出力 : RETURN - aRectとbRectを含む最小の矩形、共通部分が無いときはNSZeroRect(0,0,0,0)が返る。
書式 : BOOL NSIsEmptyRect(NSRect aRect) 入力 : aRect - 矩形 出力 : RETURN - 高さと幅のどちらかが0以下のときYES。それ以外はNO。
書式 : BOOL NSEqualRects( NSRect aRect, NSRect bRect ) 入力 : aRect - 矩形 出力 : RETURN - 同じならYES。それ以外はNO。
書式 : BOOL NSPointInRect( NSPoint aPoint, NSRect aRect ) 入力 : aPoint - 位置 : aRect - 矩形 出力 : RETURN - aRectがaPointを含んでいればYES。それ以外はNO。
書式 : BOOL NSContainsRect( NSRect aRect, NSRect bRect ) 入力 : aRect - 矩形 : bRect - 矩形 出力 : RETURN - aRectが完全にbRectを含んでいればYES。それ以外はNO。
書式 : BOOL NSIntersectsRect( NSRect aRect, NSRect bRect ) 入力 : aRect - 矩形 : bRect - 矩形 出力 : RETURN - 2つのNSRectに共通部分があればYES。それ以外はNO。