mlib_status __mlib_ImageNotAnd( mlib_image *dst, const mlib_image *src1, const mlib_image *src2) { MLIB_IMAGE_CHECK(src1); MLIB_IMAGE_CHECK(src2); MLIB_IMAGE_CHECK(dst); if ((mlib_ImageGetType(src1) == MLIB_BYTE) || (mlib_ImageGetType(src1) == MLIB_SHORT) || (mlib_ImageGetType(src1) == MLIB_USHORT) || mlib_ImageGetType(src1) == MLIB_INT) { return (mlib_v_ImageLogic(dst, src1, src2)); } else if (mlib_ImageGetType(src1) == MLIB_BIT) { if ((mlib_ImageGetBitOffset(src1) == mlib_ImageGetBitOffset(dst)) && (mlib_ImageGetBitOffset(src2) == mlib_ImageGetBitOffset(dst))) { return (mlib_v_ImageNotAnd_Bit(dst, src1, src2)); } else { return (mlib_ImageNotAnd_Bit(dst, src1, src2)); } } else return (MLIB_FAILURE); }
mlib_status __mlib_ImageXor(mlib_image *dst, mlib_image *src1, mlib_image *src2) { MLIB_IMAGE_CHECK(src1); MLIB_IMAGE_CHECK(src2); MLIB_IMAGE_CHECK(dst); return mlib_v_ImageLogic(dst, src1, src2); }