code: function (x, y) {
  		//text based origin
  		if (typeof x === "string") {
  			if (x === "centre" || x === "center" || x.indexOf(' ') === -1) {
  				x = this._w / 2;
  				y = this._h / 2;
  			} else {
  				var cmd = x.split(' ');
  				if (cmd[0] === "top") y = 0;
  				else if (cmd[0] === "bottom") y = this._h;
  				else if (cmd[0] === "middle" || cmd[1] === "center" || cmd[1] === "centre") y = this._h / 2;
  
  				if (cmd[1] === "center" || cmd[1] === "centre" || cmd[1] === "middle") x = this._w / 2;
  				else if (cmd[1] === "left") x = 0;
  				else if (cmd[1] === "right") x = this._w;
  			}
  		}
  
  		this._origin.x = x;
  		this._origin.y = y;
  
  		return this;
  	}
docs: @
  #.origin
  @comp 2D
  @sign public this .origin(Number x, Number y)
  @param x - Pixel value of origin offset on the X axis
  @param y - Pixel value of origin offset on the Y axis
  @sign public this .origin(String offset)
  @param offset - Combination of center, top, bottom, middle, left and right
  Set the origin point of an entity for it to rotate around.
  
  @example
  ~~~
  this.origin("top left")
  this.origin("center")
  this.origin("bottom right")
  this.origin("middle right")
  ~~~
  
  @see .rotation