示例#1
0
 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();
 }
示例#2
0
 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();
     }
 }
示例#3
0
 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();
     }
 }
示例#4
0
 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();
 }