Permalink
Browse files

merging stats branch

  • Loading branch information...
1 parent 57a78ca commit a4cae6f31358975e0dd21cec8ce03fcce468755a @stevehb committed Feb 25, 2012
Showing with 45 additions and 0 deletions.
  1. +45 −0 THREEx.WindowResize.js
@@ -0,0 +1,45 @@
+// This THREEx helper makes it easy to handle window resize.
+// It will update renderer and camera when window is resized.
+//
+// # Usage
+//
+// **Step 1**: Start updating renderer and camera
+//
+// ```var windowResize = THREEx.WindowResize(aRenderer, aCamera)```
+//
+// **Step 2**: Start updating renderer and camera
+//
+// ```windowResize.stop()```
+// # Code
+
+//
+
+/** @namespace */
+var THREEx = THREEx || {};
+
+/**
+ * Update renderer and camera when the window is resized
+ *
+ * @param {Object} renderer the renderer to update
+ * @param {Object} Camera the camera to update
+*/
+THREEx.WindowResize = function(renderer, camera){
+ var callback = function(){
+ // notify the renderer of the size change
+ renderer.setSize( window.innerWidth, window.innerHeight );
+ // update the camera
+ camera.aspect = window.innerWidth / window.innerHeight;
+ camera.updateProjectionMatrix();
+ }
+ // bind the resize event
+ window.addEventListener('resize', callback, false);
+ // return .stop() the function to stop watching window resize
+ return {
+ /**
+ * Stop watching window resize
+ */
+ stop : function(){
+ window.removeEventListener('resize', callback);
+ }
+ };
+}

0 comments on commit a4cae6f

Please sign in to comment.