fix formatting; fix binomial filter params check; set format beforehand for SetPictureTransform

This commit is contained in:
Andrey Sidorov 2015-11-08 16:53:24 +11:00
parent 21cc95a8bb
commit 4a3f3f6075

View file

@ -170,12 +170,11 @@ exports.requireExt = function(display, callback)
} }
ext.SetPictureTransform = function(pid, matrix) { ext.SetPictureTransform = function(pid, matrix) {
var format = 'CCSL'; var format = 'CCSLLLLLLLLLLLLL';
if (matrix.length !== 9) if (matrix.length !== 9)
throw 'Render.SetPictureTransform: incorrect transform matrix. Must be array of 9 numbers'; throw 'Render.SetPictureTransform: incorrect transform matrix. Must be array of 9 numbers';
var params = [ext.majorOpcode, 28, 11, pid]; var params = [ext.majorOpcode, 28, 11, pid];
for (var i=0; i < 9; ++i) { for (var i=0; i < 9; ++i) {
format += 'L';
if (typeof matrix[i] !== 'number') if (typeof matrix[i] !== 'number')
throw 'Render.SetPictureTransform: matrix element must be a number'; throw 'Render.SetPictureTransform: matrix element must be a number';
params.push(floatToFix(matrix[i])); params.push(floatToFix(matrix[i]));
@ -201,7 +200,7 @@ exports.requireExt = function(display, callback)
reqLen += xutil.padded_length(name.length+3)/4 + filterParams.length; reqLen += xutil.padded_length(name.length+3)/4 + filterParams.length;
if (name == 'nearest' || name == 'bilinear' || name == 'fast' || name == 'good' || name == 'best') { if (name == 'nearest' || name == 'bilinear' || name == 'fast' || name == 'good' || name == 'best') {
if (filterParams.length != 0) { if (filterParams.length !== 0) {
throw 'Render.SetPictureFilter: "' + name + '" - unexpected parameters for filters'; throw 'Render.SetPictureFilter: "' + name + '" - unexpected parameters for filters';
} }
} else if (name == 'convolution') { } else if (name == 'convolution') {
@ -213,7 +212,7 @@ exports.requireExt = function(display, callback)
params.push(floatToFix(filterParams[i])); params.push(floatToFix(filterParams[i]));
} }
} else if (name == 'binomial' || name == 'gaussian') { } else if (name == 'binomial' || name == 'gaussian') {
if (filterParams.length < 2) { if (filterParams.length !== 1) {
throw 'Render.SetPictureFilter: "' + name + '" - incorrect number of parameters, must be exactly 1 number, instead got: ' + filterParams; throw 'Render.SetPictureFilter: "' + name + '" - incorrect number of parameters, must be exactly 1 number, instead got: ' + filterParams;
} }
format += 'L'; format += 'L';