public void setScale(double s) { 
		double so = this.scale;
		double sn = s < 0.001 ? 0.001 : s;
		
		/*
		 	== What we are basicly doing ==
			double oWidth = canvas.getWidth() / scaleOld;
			double nWidth = canvas.getWidth() / scaleNew;
			double xDiff = nWidth - oWidth;
			this.x += xDiff / 2;
		*/
		
		this.x += ((canvas.getWidth() / sn) - (canvas.getWidth() / so)) / 2;
		this.y += ((canvas.getHeight() / sn) - (canvas.getHeight() / so)) / 2;
		
		this.scale = sn;
	}