diff --git a/index.js b/index.js new file mode 100644 index 0000000..a07a5d5 --- /dev/null +++ b/index.js @@ -0,0 +1,7 @@ +'use strict'; + +const fs = require('fs'); + +var read = require(`${__dirname}/lib/read-file.js`); +var write = require(`${__dirname}/lib/write-file.js`); +var transform = require(`${__dirname}/lib/transform.js`); \ No newline at end of file diff --git a/lib/read-file.js b/lib/read-file.js new file mode 100644 index 0000000..1d65750 --- /dev/null +++ b/lib/read-file.js @@ -0,0 +1,12 @@ +'use strict'; + +const fs = require('fs'); +const Bitmap = require('../model/bitmap-constructor.js'); + +module.exports = function(inputFile, cb) { + fs.readFile(inputFile, function(err, data) { + if(err) console.error(err); + var result = new Bitmap(data); + cb(null, result); + }; +}; \ No newline at end of file diff --git a/lib/write-file.js b/lib/write-file.js new file mode 100644 index 0000000..8758ed7 --- /dev/null +++ b/lib/write-file.js @@ -0,0 +1,11 @@ +'use strict'; + +const fs = require('fs'); + +module.exports = function(path, bitmap, callback) { + fs.writeFile(path, bitmap.buff, function(err) { + if(err) return callback(err); + callback(null, bitmap.buff); + }); +}; + diff --git a/model/bitmap-constructor.js b/model/bitmap-constructor.js new file mode 100644 index 0000000..55fd058 --- /dev/null +++ b/model/bitmap-constructor.js @@ -0,0 +1,28 @@ +'use strict'; + +const fs = require('fs'); + +//Gets bitmap data and put into construtor +const Bitmap = module.exports = function(data) { + this.data = data; + this.id = data.toString('utf-8', 0, 2); + this.size = data.readUInt32LE(2); + this.height = data.readUInt32LE(18); + this.width = data.readUInt32LE(22); + this.pixelOffSet = data.readUInt32LE(10); + this.colorArray = data.readUInt32LE(54, this.pixelOffSet); +}; + +//blackout +Bitmap.prototype.blackOut = function() { + this.colorArray.fill(0); +}; + +//reverse +Bitmap.prototype.reversed = function() { + this.pixelOffSet.reverse(); +}; + + + + diff --git a/test/bitmap-constructor-test.js b/test/bitmap-constructor-test.js new file mode 100644 index 0000000..e69de29 diff --git a/test/read-test.js b/test/read-test.js new file mode 100644 index 0000000..e69de29 diff --git a/test/write-test.js b/test/write-test.js new file mode 100644 index 0000000..e69de29