summaryrefslogtreecommitdiff
path: root/share/frontend/impattern/js/preview.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/frontend/impattern/js/preview.js')
-rw-r--r--share/frontend/impattern/js/preview.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/share/frontend/impattern/js/preview.js b/share/frontend/impattern/js/preview.js
new file mode 100644
index 0000000..0800308
--- /dev/null
+++ b/share/frontend/impattern/js/preview.js
@@ -0,0 +1,47 @@
+function Preview(){
+ var that = this;
+ this.preview_div = document.querySelectorAll('#sample')[0];
+// this.canvas = document.querySelectorAll('canvas')[0]
+// this.ctx = this.canvas.getContext('2d');
+ this.pat = ""
+ this._fill_preview = function(pat){
+ this.preview_div.style.background = 'url('+pat+')'
+ }
+//{{{
+// this._fill_preview = function(pat){
+// that.ctx.fillStyle = that.ctx.createPattern(pat, "repeat")
+// that.ctx.fillRect(
+// 0, 0,
+// that.canvas.width,
+// that.canvas.height
+// )
+// }
+// }}}
+ this.from_matrix = function(data){
+ var pat = document.createElement("canvas");
+ pat.height = data.height
+ pat.width = data.width
+ var pat_ctx = pat.getContext('2d')
+ for (var h = 0; h< data.height; h++){
+ for (var i = 0; i < data.width; i++){
+ if (parseInt(data.matrix[h][i])){
+ pat_ctx.fillRect(i, h, 1, 1)
+ }else{
+ pat_ctx.clearRect(i, h, 1, 1)
+ }
+ }
+ }
+
+ that._fill_preview(pat.toDataURL())
+ }
+ this.from_image = function(url){
+ var pat = document.createElement("img");
+ pat.src = url
+ pat.onload = function(){
+ that._fill_preview(pat.src)
+ }
+ }
+}
+$(document).ready(function(){
+ window.preview_controller = new Preview()
+})