// Path: webgl/src/main/java/com/threerings/jiggl/rsrc/WGLTileSetLoader.java
// public class WGLTileSetLoader extends TileSetLoader
// {
//     public WGLTileSetLoader (String baseURL)
//     {
//         _baseURL = baseURL + (baseURL.endsWith("/") ? "" : "/");
//     }
// 
//     @Override // from TileSetLoader
//     public TileSet load (String tileSetId)
//     {
//         int width = 64, height = 64; // TODO
//         return new WGLTileSet(_baseURL + tileSetId, width, height);
//     }
// 
//     protected final String _baseURL;
// }
// 
// Path: webgl/src/main/java/com/threerings/jiggl/util/WGLDriver.java
// public class WGLDriver extends Driver
// {
//     public WGLDriver (WGLView view, int freqMillis)
//     {
//         super(view);
//         new Timer() {
//             public void run () {
//                 tick((System.currentTimeMillis()-_start)/1000f);
//             }
//         }.scheduleRepeating(freqMillis);
//     }
// 
//     protected long _start = System.currentTimeMillis();
// }
// 
// Path: webgl/src/main/java/com/threerings/jiggl/view/WGLView.java
// public class WGLView extends View
// {
//     /** Provides access to shared rendering bits. */
//     public final WGLRenderer renderer;
// 
//     public WGLView (Canvas canvas, int width, int height)
//     {
//         _wctx = (WebGLRenderingContext)canvas.getContext("experimental-webgl");
// 
//         canvas.setCoordinateSpaceHeight(width);
//         canvas.setCoordinateSpaceWidth(height);
//         _wctx.viewport(0, 0, width, height);
// 
//         // create our renderer now that the basic viewport is configured
//         renderer = new WGLRenderer(_wctx);
// 
//         // temp: initialize the view
//         _wctx.clearColor(0.0f, 0.0f, 0.0f, 1.0f);
//         _wctx.clearDepth(1.0f);
//         _wctx.enable(WebGLRenderingContext.DEPTH_TEST);
//         _wctx.depthFunc(WebGLRenderingContext.LEQUAL);
//     }
// 
//     @Override // from View
//     public void render ()
//     {
//         // clear the view
//         _wctx.clear(WebGLRenderingContext.COLOR_BUFFER_BIT | WebGLRenderingContext.DEPTH_BUFFER_BIT);
// 
//         // render all registered visibles
//         renderVisibles();
//     }
// 
//     @Override // from View
//     public Viz newGeomViz (Geometry geom, Color color)
//     {
//         return new ColorViz(geom, color);
//     }
// 
//     @Override // from View
//     public Viz newTileViz (Tile tile)
//     {
//         return new TileViz(renderer, tile);
//     }
// 
//     protected final WebGLRenderingContext _wctx;
// }


import com.threerings.jiggl.rsrc.WGLTileSetLoader;
import com.threerings.jiggl.util.WGLDriver;
import com.threerings.jiggl.view.WGLView;
import com.google.gwt.canvas.client.Canvas;
//
// Jiggl WebGL - GWT + WebGL backend for 2D game framework
// http://github.com/threerings/jiggl/blob/master/LICENSE

package com.threerings.jiggl;



/**
 * The main factory for WebGL views and visibles.
 */
public class WebGL
{
// Path: webgl/src/main/java/com/threerings/jiggl/rsrc/WGLTileSetLoader.java
// public class WGLTileSetLoader extends TileSetLoader
// {
//     public WGLTileSetLoader (String baseURL)
//     {
//         _baseURL = baseURL + (baseURL.endsWith("/") ? "" : "/");
//     }
// 
//     @Override // from TileSetLoader
//     public TileSet load (String tileSetId)
//     {
//         int width = 64, height = 64; // TODO
//         return new WGLTileSet(_baseURL + tileSetId, width, height);
//     }
// 
//     protected final String _baseURL;
// }
// 
// Path: webgl/src/main/java/com/threerings/jiggl/util/WGLDriver.java
// public class WGLDriver extends Driver
// {
//     public WGLDriver (WGLView view, int freqMillis)
//     {
//         super(view);
//         new Timer() {
//             public void run () {
//                 tick((System.currentTimeMillis()-_start)/1000f);
//             }
//         }.scheduleRepeating(freqMillis);
//     }
// 
//     protected long _start = System.currentTimeMillis();
// }
// 
// Path: webgl/src/main/java/com/threerings/jiggl/view/WGLView.java
// public class WGLView extends View
// {
//     /** Provides access to shared rendering bits. */
//     public final WGLRenderer renderer;
// 
//     public WGLView (Canvas canvas, int width, int height)
//     {
//         _wctx = (WebGLRenderingContext)canvas.getContext("experimental-webgl");
// 
//         canvas.setCoordinateSpaceHeight(width);
//         canvas.setCoordinateSpaceWidth(height);
//         _wctx.viewport(0, 0, width, height);
// 
//         // create our renderer now that the basic viewport is configured
//         renderer = new WGLRenderer(_wctx);
// 
//         // temp: initialize the view
//         _wctx.clearColor(0.0f, 0.0f, 0.0f, 1.0f);
//         _wctx.clearDepth(1.0f);
//         _wctx.enable(WebGLRenderingContext.DEPTH_TEST);
//         _wctx.depthFunc(WebGLRenderingContext.LEQUAL);
//     }
// 
//     @Override // from View
//     public void render ()
//     {
//         // clear the view
//         _wctx.clear(WebGLRenderingContext.COLOR_BUFFER_BIT | WebGLRenderingContext.DEPTH_BUFFER_BIT);
// 
//         // render all registered visibles
//         renderVisibles();
//     }
// 
//     @Override // from View
//     public Viz newGeomViz (Geometry geom, Color color)
//     {
//         return new ColorViz(geom, color);
//     }
// 
//     @Override // from View
//     public Viz newTileViz (Tile tile)
//     {
//         return new TileViz(renderer, tile);
//     }
// 
//     protected final WebGLRenderingContext _wctx;
// }


// Path: webgl/src/main/java/com/threerings/jiggl/WebGL.java
import com.threerings.jiggl.rsrc.WGLTileSetLoader;
import com.threerings.jiggl.util.WGLDriver;
import com.threerings.jiggl.view.WGLView;
import com.google.gwt.canvas.client.Canvas;

//
// Jiggl WebGL - GWT + WebGL backend for 2D game framework
// http://github.com/threerings/jiggl/blob/master/LICENSE

package com.threerings.jiggl;



/**
 * The main factory for WebGL views and visibles.
 */
public class WebGL
{
    public static Context create (Canvas canvas, String rsrcRootURL)