iTextSharp.text.pdf.qrcode.MaskUtil.GetDataMaskBit C# (CSharp) Method

GetDataMaskBit() public static method

public static GetDataMaskBit ( int maskPattern, int x, int y ) : bool
maskPattern int
x int
y int
return bool
        public static bool GetDataMaskBit(int maskPattern, int x, int y) {
    if (!QRCode.IsValidMaskPattern(maskPattern)) {
      throw new ArgumentException("Invalid mask pattern");
    }
    int intermediate, temp;
    switch (maskPattern) {
      case 0:
        intermediate = (y + x) & 0x1;
        break;
      case 1:
        intermediate = y & 0x1;
        break;
      case 2:
        intermediate = x % 3;
        break;
      case 3:
        intermediate = (y + x) % 3;
        break;
      case 4:
        intermediate = ((y >> 1) + (x / 3)) & 0x1;
        break;
      case 5:
        temp = y * x;
        intermediate = (temp & 0x1) + (temp % 3);
        break;
      case 6:
        temp = y * x;
        intermediate = (((temp & 0x1) + (temp % 3)) & 0x1);
        break;
      case 7:
        temp = y * x;
        intermediate = (((temp % 3) + ((y + x) & 0x1)) & 0x1);
        break;
      default:
        throw new ArgumentException("Invalid mask pattern: " + maskPattern);
    }
    return intermediate == 0;
  }