Expose all info (palette and transparent color) to the user

This commit is contained in:
Luke Page 2015-08-22 07:03:16 +01:00
parent 33be98c413
commit 15896644fd

View file

@ -16,18 +16,17 @@ module.exports = function(buffer, options) {
err = _err_; err = _err_;
} }
var metaData, bitmapInfo; var metaData;
function handleMetaData(_metaData_) { function handleMetaData(_metaData_) {
metaData = _metaData_; metaData = _metaData_;
bitmapInfo = Object.create(metaData);
} }
function handleTransColor(transColor) { function handleTransColor(transColor) {
bitmapInfo.transColor = transColor; metaData.transColor = transColor;
} }
function handlePalette(palette) { function handlePalette(palette) {
bitmapInfo.palette = palette; metaData.palette = palette;
} }
var gamma; var gamma;
@ -70,13 +69,13 @@ module.exports = function(buffer, options) {
throw new Error('bad png - invalid inflate data response'); throw new Error('bad png - invalid inflate data response');
} }
var unfilteredData = FilterSync.process(inflatedData, bitmapInfo); var unfilteredData = FilterSync.process(inflatedData, metaData);
inflateData = null; inflateData = null;
var bitmapData = bitmapper.dataToBitMap(unfilteredData, bitmapInfo); var bitmapData = bitmapper.dataToBitMap(unfilteredData, metaData);
unfilteredData = null; unfilteredData = null;
var normalisedBitmapData = formatNormaliser(bitmapData, bitmapInfo); var normalisedBitmapData = formatNormaliser(bitmapData, metaData);
metaData.data = normalisedBitmapData; metaData.data = normalisedBitmapData;
metaData.gamma = gamma || 0; metaData.gamma = gamma || 0;