code: function () {
  			//check if canvas is supported
  			if (!Crafty.support.canvas) {
  				Crafty.trigger("NoCanvas");
  				Crafty.stop();
  				return;
  			}
  
  			//create an empty canvas element
  			var c;
  			c = document.createElement("canvas");
  			c.width = Crafty.viewport.width;
  			c.height = Crafty.viewport.height;
  			c.style.position = 'absolute';
  			c.style.left = "0px";
  			c.style.top = "0px";
  
  			Crafty.stage.elem.appendChild(c);
  			Crafty.canvas.context = c.getContext('2d');
  			Crafty.canvas._canvas = c;
  
  			//Set any existing transformations
  			var zoom = Crafty.viewport._zoom
  			if (zoom != 1)
  				Crafty.canvas.context.scale(zoom, zoom);
  		}
docs: @
  #Crafty.canvas._canvas
  @comp Crafty.canvas
  
  Main Canvas element
   @
  #Crafty.canvas.init
  @comp Crafty.canvas
  @sign public void Crafty.canvas.init(void)
  @trigger NoCanvas - triggered if `Crafty.support.canvas` is false
  
  Creates a `canvas` element inside `Crafty.stage.elem`. Must be called
  before any entities with the Canvas component can be drawn.
  
  This method will automatically be called if no `Crafty.canvas.context` is
  found.