From 122b430d7a13d325dedc8d715b415e0c07a77e44 Mon Sep 17 00:00:00 2001 From: Loaye Date: Fri, 21 Jul 2017 15:03:35 -0700 Subject: [PATCH 1/4] updated scaffold --- model/bitmap-constructor.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 model/bitmap-constructor.js diff --git a/model/bitmap-constructor.js b/model/bitmap-constructor.js new file mode 100644 index 0000000..4fc40b0 --- /dev/null +++ b/model/bitmap-constructor.js @@ -0,0 +1,20 @@ +'use strict'; + +const fs = require('fs'); + +//Gets bitmap data and put into construtor +const Bitmap = module.exports = function(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); + this.data = data; +}; + + + + + + From b23d3c69c3ea305d7571575fb1d5df3c852bedcd Mon Sep 17 00:00:00 2001 From: Loaye Date: Fri, 21 Jul 2017 15:04:04 -0700 Subject: [PATCH 2/4] Scaffold Files --- lib/read-file.js | 0 lib/transforms/blackout.js | 0 lib/transforms/blue.js | 0 lib/transforms/invert.js | 0 lib/write-file.js | 0 test/bitmap-constructor-test.js | 0 test/blackout-test.js | 0 test/blue-test.js | 0 test/invert-test.js | 0 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/read-file.js create mode 100644 lib/transforms/blackout.js create mode 100644 lib/transforms/blue.js create mode 100644 lib/transforms/invert.js create mode 100644 lib/write-file.js create mode 100644 test/bitmap-constructor-test.js create mode 100644 test/blackout-test.js create mode 100644 test/blue-test.js create mode 100644 test/invert-test.js diff --git a/lib/read-file.js b/lib/read-file.js new file mode 100644 index 0000000..e69de29 diff --git a/lib/transforms/blackout.js b/lib/transforms/blackout.js new file mode 100644 index 0000000..e69de29 diff --git a/lib/transforms/blue.js b/lib/transforms/blue.js new file mode 100644 index 0000000..e69de29 diff --git a/lib/transforms/invert.js b/lib/transforms/invert.js new file mode 100644 index 0000000..e69de29 diff --git a/lib/write-file.js b/lib/write-file.js new file mode 100644 index 0000000..e69de29 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/blackout-test.js b/test/blackout-test.js new file mode 100644 index 0000000..e69de29 diff --git a/test/blue-test.js b/test/blue-test.js new file mode 100644 index 0000000..e69de29 diff --git a/test/invert-test.js b/test/invert-test.js new file mode 100644 index 0000000..e69de29 From f5ca0a19a0d1fcc77af83f5610445b00fce8a01d Mon Sep 17 00:00:00 2001 From: Loaye Date: Fri, 21 Jul 2017 15:09:15 -0700 Subject: [PATCH 3/4] Modified Scaffold --- lib/transforms/blackout.js => index.js | 0 lib/{transforms/blue.js => transform.js} | 0 test/blackout-test.js | 0 test/blue-test.js | 0 test/invert-test.js | 0 lib/transforms/invert.js => test/transform-test.js | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename lib/transforms/blackout.js => index.js (100%) rename lib/{transforms/blue.js => transform.js} (100%) delete mode 100644 test/blackout-test.js delete mode 100644 test/blue-test.js delete mode 100644 test/invert-test.js rename lib/transforms/invert.js => test/transform-test.js (100%) diff --git a/lib/transforms/blackout.js b/index.js similarity index 100% rename from lib/transforms/blackout.js rename to index.js diff --git a/lib/transforms/blue.js b/lib/transform.js similarity index 100% rename from lib/transforms/blue.js rename to lib/transform.js diff --git a/test/blackout-test.js b/test/blackout-test.js deleted file mode 100644 index e69de29..0000000 diff --git a/test/blue-test.js b/test/blue-test.js deleted file mode 100644 index e69de29..0000000 diff --git a/test/invert-test.js b/test/invert-test.js deleted file mode 100644 index e69de29..0000000 diff --git a/lib/transforms/invert.js b/test/transform-test.js similarity index 100% rename from lib/transforms/invert.js rename to test/transform-test.js From cb8cc1b4fde0386b60ebad3c417822bfddc8d3d7 Mon Sep 17 00:00:00 2001 From: Loaye Date: Fri, 21 Jul 2017 15:42:51 -0700 Subject: [PATCH 4/4] scaffold --- index.js | 7 +++++++ lib/read-file.js | 12 ++++++++++++ lib/write-file.js | 11 +++++++++++ model/bitmap-constructor.js | 10 +++++++++- lib/transform.js => test/read-test.js | 0 test/{transform-test.js => write-test.js} | 0 6 files changed, 39 insertions(+), 1 deletion(-) rename lib/transform.js => test/read-test.js (100%) rename test/{transform-test.js => write-test.js} (100%) diff --git a/index.js b/index.js index e69de29..a07a5d5 100644 --- a/index.js +++ 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 index e69de29..1d65750 100644 --- a/lib/read-file.js +++ 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 index e69de29..8758ed7 100644 --- a/lib/write-file.js +++ 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 index 4fc40b0..55fd058 100644 --- a/model/bitmap-constructor.js +++ b/model/bitmap-constructor.js @@ -4,16 +4,24 @@ 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); - this.data = data; }; +//blackout +Bitmap.prototype.blackOut = function() { + this.colorArray.fill(0); +}; +//reverse +Bitmap.prototype.reversed = function() { + this.pixelOffSet.reverse(); +}; diff --git a/lib/transform.js b/test/read-test.js similarity index 100% rename from lib/transform.js rename to test/read-test.js diff --git a/test/transform-test.js b/test/write-test.js similarity index 100% rename from test/transform-test.js rename to test/write-test.js