当我的 x 和 y 坐标等于鼠标坐标时,如何在绘制 NSMakeRect 时设置边界。我不希望我的 NSRect 被画出某个坐标
NSMakeRect(mouseLoc.x, mouseLoc.y, 50, 50);
我是否创建一个范围或最大 x 和 y 值,如果是,我如何将其合并到我的 MakeRect 中?
谢谢
当我的 x 和 y 坐标等于鼠标坐标时,如何在绘制 NSMakeRect 时设置边界。我不希望我的 NSRect 被画出某个坐标
NSMakeRect(mouseLoc.x, mouseLoc.y, 50, 50);
我是否创建一个范围或最大 x 和 y 值,如果是,我如何将其合并到我的 MakeRect 中?
谢谢
如果您正在构建 64 位,则NSRect
edtypedef
为CGRect
. 您可以执行以下操作:
CGRect oldRect; // This is the rectangle's previous position saved somewhere
CGRect newRect = NSMakeRect (mouseLoc.x, mouseLoc.y, 50, 50);
if (CGRectContainsRect (constrainingRect, newRect))
{
oldRect = newRect;
}
所以你构造了一个新的矩形,看看它是否包含在更大的边界矩形中,如果是的话,用新的替换旧的。否则,再次使用旧的。