internal static void simpleSubtract(MultiRectArea src1, MultiRectArea src2, MultiRectArea dst) { for (int i = 1; i < src1.rect[0]; i += 4) { subtractRect( src1.rect[i + 0], src1.rect[i + 1], src1.rect[i + 2], src1.rect[i + 3], src2.rect, 1, dst); } dst.resort(); }
static void simpleUnion(MultiRectArea src1, MultiRectArea src2, MultiRectArea dst) { if (src1.getRectCount() < src2.getRectCount()) { simpleUnion(src2, src1, dst); } else { Subtraction.simpleSubtract(src1, src2, dst); int pos = dst.rect[0]; int size = src2.rect[0] - 1; dst.rect = checkBufSize(dst.rect, size); java.lang.SystemJ.arraycopy(src2.rect, 1, dst.rect, pos, size); dst.resort(); } }
static void simpleUnion(MultiRectArea src1, MultiRectArea src2, MultiRectArea dst) { if (src1.getRectCount() < src2.getRectCount()) { simpleUnion(src2, src1, dst); } else { Subtraction.simpleSubtract(src1, src2, dst); int pos = dst.rect[0]; int size = src2.rect[0] - 1; dst.rect = checkBufSize(dst.rect, size); java.lang.SystemJ.arraycopy(src2.rect,1, dst.rect, pos, size); dst.resort(); } }
internal static void simpleSubtract(MultiRectArea src1, MultiRectArea src2, MultiRectArea dst) { for(int i = 1; i < src1.rect[0]; i += 4) { subtractRect( src1.rect[i + 0], src1.rect[i + 1], src1.rect[i + 2], src1.rect[i + 3], src2.rect, 1, dst); } dst.resort(); }