QrRsBlock class
class QrRsBlock { final int totalCount; final int dataCount; QrRsBlock(this.totalCount, this.dataCount); static List<QrRsBlock> getRSBlocks(int typeNumber, int errorCorrectLevel) { final rsBlock = getRsBlockTable(typeNumber, errorCorrectLevel); final int length = rsBlock.length ~/ 3; final list = new List<QrRsBlock>(); for (var i = 0; i < length; i++) { var count = rsBlock[i * 3 + 0]; var totalCount = rsBlock[i * 3 + 1]; var dataCount = rsBlock[i * 3 + 2]; for (var j = 0; j < count; j++) { list.add(new QrRsBlock(totalCount, dataCount)); } } return list; } static List<int> getRsBlockTable(int typeNumber, int errorCorrectLevel) { switch (errorCorrectLevel) { case QrErrorCorrectLevel.L: return _rsBlockTable[(typeNumber - 1) * 4 + 0]; case QrErrorCorrectLevel.M: return _rsBlockTable[(typeNumber - 1) * 4 + 1]; case QrErrorCorrectLevel.Q: return _rsBlockTable[(typeNumber - 1) * 4 + 2]; case QrErrorCorrectLevel.H: return _rsBlockTable[(typeNumber - 1) * 4 + 3]; default: throw 'bad rs block @ typeNumber: $typeNumber/errorCorrectLevel:$errorCorrectLevel'; } } static List<List<int>> _rsBlockTable = const [ // L // M // Q // H // 1 const [1, 26, 19], const [1, 26, 16], const [1, 26, 13], const [1, 26, 9], // 2 const [1, 44, 34], const [1, 44, 28], const [1, 44, 22], const [1, 44, 16], // 3 const [1, 70, 55], const [1, 70, 44], const [2, 35, 17], const [2, 35, 13], // 4 const [1, 100, 80], const [2, 50, 32], const [2, 50, 24], const [4, 25, 9], // 5 const [1, 134, 108], const [2, 67, 43], const [2, 33, 15, 2, 34, 16], const [2, 33, 11, 2, 34, 12], // 6 const [2, 86, 68], const [4, 43, 27], const [4, 43, 19], const [4, 43, 15], // 7 const [2, 98, 78], const [4, 49, 31], const [2, 32, 14, 4, 33, 15], const [4, 39, 13, 1, 40, 14], // 8 const [2, 121, 97], const [2, 60, 38, 2, 61, 39], const [4, 40, 18, 2, 41, 19], const [4, 40, 14, 2, 41, 15], // 9 const [2, 146, 116], const [3, 58, 36, 2, 59, 37], const [4, 36, 16, 4, 37, 17], const [4, 36, 12, 4, 37, 13], // 10 const [2, 86, 68, 2, 87, 69], const [4, 69, 43, 1, 70, 44], const [6, 43, 19, 2, 44, 20], const [6, 43, 15, 2, 44, 16] ]; }
Constructors
new QrRsBlock(int totalCount, int dataCount) #
QrRsBlock(this.totalCount, this.dataCount);
Static Methods
List<QrRsBlock> getRSBlocks(int typeNumber, int errorCorrectLevel) #
static List<QrRsBlock> getRSBlocks(int typeNumber, int errorCorrectLevel) { final rsBlock = getRsBlockTable(typeNumber, errorCorrectLevel); final int length = rsBlock.length ~/ 3; final list = new List<QrRsBlock>(); for (var i = 0; i < length; i++) { var count = rsBlock[i * 3 + 0]; var totalCount = rsBlock[i * 3 + 1]; var dataCount = rsBlock[i * 3 + 2]; for (var j = 0; j < count; j++) { list.add(new QrRsBlock(totalCount, dataCount)); } } return list; }
List<int> getRsBlockTable(int typeNumber, int errorCorrectLevel) #
static List<int> getRsBlockTable(int typeNumber, int errorCorrectLevel) { switch (errorCorrectLevel) { case QrErrorCorrectLevel.L: return _rsBlockTable[(typeNumber - 1) * 4 + 0]; case QrErrorCorrectLevel.M: return _rsBlockTable[(typeNumber - 1) * 4 + 1]; case QrErrorCorrectLevel.Q: return _rsBlockTable[(typeNumber - 1) * 4 + 2]; case QrErrorCorrectLevel.H: return _rsBlockTable[(typeNumber - 1) * 4 + 3]; default: throw 'bad rs block @ typeNumber: $typeNumber/errorCorrectLevel:$errorCorrectLevel'; } }
Properties
final int dataCount #
final int dataCount;
final Type runtimeType #
A representation of the runtime type of the object.
external Type get runtimeType;
final int totalCount #
final int totalCount;
Operators
bool operator ==(other) #
The equality operator.
The default behavior for all Object
s is to return true if and
only if this
and
other are the same object.
If a subclass overrides the equality operator it should override
the hashCode
method as well to maintain consistency.
bool operator ==(other) => identical(this, other);
Methods
int hashCode() #
Get a hash code for this object.
All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator ==
. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.
If a subclass overrides hashCode
it should override the
equality operator as well to maintain consistency.
external int hashCode();
noSuchMethod(String name, List args) #
noSuchMethod
is invoked when users invoke a non-existant method
on an object. The name of the method and the arguments of the
invocation are passed to noSuchMethod
. If noSuchMethod
returns a value, that value becomes the result of the original
invocation.
The default behavior of noSuchMethod
is to throw a
noSuchMethodError
.
external Dynamic noSuchMethod(String name, List args);
const Object() #
Creates a new Object
instance.
Object
instances have no meaningful state, and are only useful
through their identity. An Object
instance is equal to itself
only.
const Object();
new QrRsBlock(int totalCount, int dataCount) #
QrRsBlock(this.totalCount, this.dataCount);
String toString() #
Returns a string representation of this object.
external String toString();