0

当我的 x 和 y 坐标等于鼠标坐标时,如何在绘制 NSMakeRect 时设置边界。我不希望我的 NSRect 被画出某个坐标

NSMakeRect(mouseLoc.x, mouseLoc.y, 50, 50);

我是否创建一个范围或最大 x 和 y 值,如果是,我如何将其合并到我的 MakeRect 中?

谢谢

4

1 回答 1

0

如果您正在构建 64 位,则NSRectedtypedefCGRect. 您可以执行以下操作:

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;
}

所以你构造了一个新的矩形,看看它是否包含在更大的边界矩形中,如果是的话,用新的替换旧的。否则,再次使用旧的。

于 2012-04-05T05:48:14.180 回答