-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: janusweb
action: commit
revision:
path_from:
revision_from: 63435d9df20ecdbceb1ddc757f832343e963dc5d:
path_to:
revision_to:

git.thebackupbox.net

janusweb

git://git.thebackupbox.net/janusweb

commit 63435d9df20ecdbceb1ddc757f832343e963dc5d
Author: James Baicoianu <james_github@baicoianu.com>
Date:   Mon Feb 27 00:10:45 2017 -0800

    Fix for gif frames in <Image> tags

diff --git a/scripts/image.js b/scripts/image.js

index 575d4197b33f4709c156b78fe7493c011d39ab8a..

index ..bd817c87f7b03a0ca7dd67f738ab87acfcb1b795 100644

--- a/scripts/image.js
+++ b/scripts/image.js
@@ -80,7 +80,7 @@ elation.require(['janusweb.janusbase'], function() {
       }
       var matargs = {
         color: this.color,
-        transparent: true,
+        transparent: this.asset.hasalpha,
         alphaTest: 0.2
       };

@@ -88,20 +88,25 @@ elation.require(['janusweb.janusbase'], function() {
         var sidemattex = this.texture.clone();
         this.sidetex = sidemattex;
         sidemattex.repeat.x = .0001;
+        matargs.map = this.texture;
       }
       var sidematargs = {
         map: sidemattex,
         color: this.properties.color,
-        transparent: true,
+        transparent: this.asset.hasalpha,
         alphaTest: 0.2
       };

       var mat = (this.properties.lighting ? new THREE.MeshPhongMaterial(matargs) : new THREE.MeshBasicMaterial(matargs));
       var sidemat = (this.properties.lighting ? new THREE.MeshPhongMaterial(sidematargs) : new THREE.MeshBasicMaterial(sidematargs));
       var facemat = new THREE.MultiMaterial([sidemat,sidemat,sidemat,sidemat,mat,mat]);
-      this.facematerial = mat;
+      this.facematerial = facemat;
       this.frontmaterial = mat;
       this.sidematerial = sidemat;
+      if (this.texture) {
+        // Update diffuse map whenever the asset updates (gif frames, etc)
+        elation.events.add(this.texture, 'asset_update', elation.bind(this, function(ev) { this.frontmaterial.map = ev.data; }));
+      }
       return facemat;
     }
     this.setMaterialDirty = function() {
@@ -127,7 +132,7 @@ elation.require(['janusweb.janusbase'], function() {
         } else {
           elation.events.add(this.texture, 'asset_load', elation.bind(this, this.imageloaded));
         }
-        elation.events.add(this.texture, 'update', elation.bind(this, this.refresh));
+        elation.events.add(this.texture, 'asset_update', elation.bind(this, function(ev) { this.frontmaterial.map = ev.data; }));
       }
     }
     this.getAspect = function() {

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 16:51:22 2024