From 9e8aa54b190dcc341d3dbc4789aa5e90184641bd Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Tue, 19 Apr 2016 12:11:10 +0200 Subject: [PATCH 1/2] support resetting min-max values (and graph optionnaly) --- src/Stats.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/Stats.js b/src/Stats.js index 3b80b1f..be0b3ea 100644 --- a/src/Stats.js +++ b/src/Stats.js @@ -6,6 +6,7 @@ var Stats = function () { var mode = 0; + var panelTable = []; var container = document.createElement( 'div' ); container.style.cssText = 'position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000'; container.addEventListener( 'click', function ( event ) { @@ -20,6 +21,8 @@ var Stats = function () { function addPanel( panel ) { container.appendChild( panel.dom ); + panelTable.push( panel ); + return panel; } @@ -100,6 +103,16 @@ var Stats = function () { }, + reset: function ( resetGraph ) { + + for ( var i = 0; i < panelTable.length; i ++ ) { + + panelTable[ i ].reset( resetGraph ); + + } + + }, + // Backwards Compatibility domElement: container, @@ -143,6 +156,28 @@ Stats.Panel = function ( name, fg, bg ) { dom: canvas, + reset: function ( resetGraph ) { + + min = Infinity; + max = 0; + + if ( resetGraph ) { + + context.fillStyle = bg; + context.fillRect( 0, 0, WIDTH, HEIGHT ); + + context.fillStyle = fg; + context.fillText( name, TEXT_X, TEXT_Y ); + context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); + + context.fillStyle = bg; + context.globalAlpha = 0.9; + context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); + + } + + }, + update: function ( value, maxValue ) { min = Math.min( min, value ); From 477dc8c476a742687424e4ba8526de397ce8fe06 Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Wed, 20 Apr 2016 11:41:08 +0200 Subject: [PATCH 2/2] updated build --- build/stats.min.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/stats.min.js b/build/stats.min.js index ef000cf..82f9ec5 100644 --- a/build/stats.min.js +++ b/build/stats.min.js @@ -1,5 +1,6 @@ // stats.js - http://github.com/mrdoob/stats.js -var Stats=function(){function h(a){c.appendChild(a.dom);return a}function k(a){for(var d=0;de+1E3&&(r.update(1E3*a/(c-e),100),e=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){g=this.end()},domElement:c,setMode:k}}; -Stats.Panel=function(h,k,l){var c=Infinity,g=0,e=Math.round,a=e(window.devicePixelRatio||1),r=80*a,f=48*a,t=3*a,u=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement("canvas");q.width=r;q.height=f;q.style.cssText="width:80px;height:48px";var b=q.getContext("2d");b.font="bold "+9*a+"px Helvetica,Arial,sans-serif";b.textBaseline="top";b.fillStyle=l;b.fillRect(0,0,r,f);b.fillStyle=k;b.fillText(h,t,u);b.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(f, -v){c=Math.min(c,f);g=Math.max(g,f);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=k;b.fillText(e(f)+" "+h+" ("+e(c)+"-"+e(g)+")",t,u);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,e((1-f/v)*p))}}};"object"===typeof module&&(module.exports=Stats); +var Stats=function(){function k(b){e.appendChild(b.dom);l.push(b);return b}function m(b){for(var d=0;dc+1E3&&(g.update(1E3*n/(b-c),100),c=b,n=0,r)){var d=performance.memory;r.update(d.usedJSHeapSize/1048576,d.jsHeapSizeLimit/1048576)}return b},update:function(){f=this.end()},reset:function(b){for(var d=0;d