in src/main/java/org/apache/pdfbox/jbig2/image/Bitmaps.java [594:626]
private static void blitUnshifted(Bitmap src, Bitmap dst, int startLine, int lastLine,
int dstStartIdx, int srcStartIdx, int srcEndIdx, CombinationOperator op)
{
final int length = srcEndIdx - srcStartIdx + 1; // srcEndIdx is inclusive
int srcStartOffset = srcStartIdx;
int dstStartOffset = dstStartIdx;
for ( int lines = lastLine - startLine; lines > 0; lines-- )
{
int srcIdx = srcStartOffset;
int dstIdx = dstStartOffset;
int count = length;
// Go through the bytes in a line of the Symbol
switch (op)
{
case OR:
case AND:
case XOR:
case XNOR:
while ( count-- > 0 )
{
dst.setByte(dstIdx, combineBytes(src.getByte(srcIdx++), dst.getByte(dstIdx++), op));
}
break;
case REPLACE:
Bitmap.arraycopy(src, srcIdx, dst, dstIdx, count);
break;
default:
break;
}
srcStartOffset += src.getRowStride();
dstStartOffset += dst.getRowStride();
}
}