diff options
| author | jules <jules@okfoc.us> | 2014-01-31 23:40:37 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2014-01-31 23:40:37 -0500 |
| commit | 7c6c73cd52330a165e5297ba2ae819101dac641c (patch) | |
| tree | d9f8be73706ebd54b3e733c291c04f8e5cd63c69 | |
| parent | 2a4e1b7c615a5b0a9e5819e6703992fe34a9a74c (diff) | |
get width/height from db
| -rw-r--r-- | js/api/gallery.js | 7 | ||||
| -rw-r--r-- | js/api/set.js | 4 | ||||
| -rw-r--r-- | js/image.js | 4 | ||||
| -rw-r--r-- | js/render.js | 26 |
4 files changed, 30 insertions, 11 deletions
diff --git a/js/api/gallery.js b/js/api/gallery.js index e8af7f1..ae50dc9 100644 --- a/js/api/gallery.js +++ b/js/api/gallery.js @@ -53,7 +53,14 @@ function run_shader(shader_object){ console.log(shader_object) shader_id_root = shader_object.shader_id if ($("#persist-image:checked").length) { + var new_w = parseInt(shader_object.width,10) + var new_h = parseInt(shader_object.width,10) $("#url").val( shader_object.image_url ) + if (new_w && new_h) { + preserve_dimensions = true + w = new_w + h = new_h + } load() } $("#shader").val(shader_object.script) diff --git a/js/api/set.js b/js/api/set.js index 088edbc..3446134 100644 --- a/js/api/set.js +++ b/js/api/set.js @@ -6,7 +6,9 @@ function save_shader(){ image_url: $("#url").val(), username: user.username, name: $("#shader-name").val() || "", - shader_id: shader_id_root + shader_id: shader_id_root, + width: $("#width").int() || "", + height: $("#height").int() || "" } var thumb = make_thumbnail() diff --git a/js/image.js b/js/image.js index 3138299..9ac1290 100644 --- a/js/image.js +++ b/js/image.js @@ -17,14 +17,14 @@ function loadImage(imageURL, callback) { // gif.on("error", tryToLoadNextImage); // gif.on("rendered", trackLoadTime); gif.on("rendered", callback); - return gif.render(); + gif.render(); } else { window.img = new Image(); // img.addEventListener("error", tryToLoadNextImage); img.addEventListener("load", callback); img.crossOrigin = "anonymous"; - return img.src = imageURL; + img.src = imageURL; } } diff --git a/js/render.js b/js/render.js index ac26eec..68554cb 100644 --- a/js/render.js +++ b/js/render.js @@ -2,6 +2,7 @@ var frame, img_frame; var timeout, raf_id, start_t = 0, old_t = 0, pause_t = 0 var paused = false, dragging = false, rendering = false, scrolling = false, deferring = false, scrollTimeout = null var fps = 30 +var preserve_dimensions = true; function choose (){ loading = true @@ -24,26 +25,35 @@ function ready(){ status("") if (window.gif) { frame = gif.frames[0] - actual_w = w = cc.canvas.width = frame.ctx.canvas.width - actual_h = h = cc.canvas.height = frame.ctx.canvas.height + cc.canvas.width = frame.ctx.canvas.width + cc.canvas.height = frame.ctx.canvas.height + if (preserve_dimensions) { + actual_w = w = cc.canvas.width + actual_h = h = cc.canvas.height + } for (var i=0, f; f=gif.frames[i]; i++){ - f.cloneData = f.ctx.getImageData(0,0,w,h) + f.cloneData = f.ctx.getImageData(0,0,cc.canvas.width,cc.canvas.height) } } else if (window.img) { fc = cq(img.width, img.height) fc.drawImage(img, 0, 0) frame = img_frame = { ctx: fc.context } - actual_w = w = cc.canvas.width = frame.ctx.canvas.width - actual_h = h = cc.canvas.height = frame.ctx.canvas.height - frame.cloneData = frame.ctx.getImageData(0,0,w,h) + cc.canvas.width = frame.ctx.canvas.width + cc.canvas.height = frame.ctx.canvas.height + if (preserve_dimensions) { + actual_w = w = cc.canvas.width + actual_h = h = cc.canvas.height + } + frame.cloneData = frame.ctx.getImageData(0,0,cc.canvas.width,cc.canvas.height) } else { - cc.canvas.width = w - cc.canvas.height = h + cc.canvas.width = actual_w = w + cc.canvas.height = actual_h = h shader_build() } displayWidthHeight(w, h) + preserve_dimensions = false; } function displayWidthHeight(width, height){ |
