/** * Constructs a new MultiRectArea consists of single rectangle */ public MultiRectArea(java.awt.Rectangle r) { rect = MultiRectAreaOp.createBuf(0); if (r != null && !r.isEmpty()) { rect[0] = 5; rect[1] = r.x; rect[2] = r.y; rect[3] = r.x + r.width - 1; rect[4] = r.y + r.height - 1; } check(this, "MultiRectArea(Rectangle)"); //$NON-NLS-1$ }
/** * Tests does Rectangle2D intersect MultiRectArea object */ public bool intersects(java.awt.geom.Rectangle2D r) { if (r == null || r.isEmpty()) { return false; } for (int i = 1; i < rect[0]; i += 4) { if (r.intersects(rect[i], rect[i + 1], rect[i + 2] - rect[i] + 1, rect[i + 3] - rect[i + 1] + 1)) { return true; } } return false; }