DataMask class

Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8.

Implementations of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix, including areas used for finder patterns, timing patterns, etc. These areas should be unused after the point they are unmasked anyway.

Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position and j is row position. In fact, as the text says, i is row position and j is column position.

@author Sean Owen

Constructors

DataMask(bool isMasked(int i, int j))

Properties

hashCode int
The hash code for this object.
no setterinherited
isMasked bool Function(int i, int j)
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
unmaskBitMatrix(BitMatrix bits, int dimension) → void
Implementations of this method reverse the data masking process applied to a QR Code and make its bits ready to read.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

dataMask000 DataMask
000: mask bits for which (x + y) mod 2 == 0
final
dataMask001 DataMask
001: mask bits for which x mod 2 == 0
final
dataMask010 DataMask
010: mask bits for which y mod 3 == 0
final
dataMask011 DataMask
011: mask bits for which (x + y) mod 3 == 0
final
dataMask100 DataMask
100: mask bits for which (x/2 + y/3) mod 2 == 0
final
dataMask101 DataMask
101: mask bits for which xy mod 2 + xy mod 3 == 0 equivalently, such that xy mod 6 == 0
final
dataMask110 DataMask
110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0 equivalently, such that xy mod 6 < 3
final
dataMask111 DataMask
111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0 equivalently, such that (x + y + xy mod 3) mod 2 == 0
final
values List<DataMask>
getter/setter pair