public void ZoomExtents()
	{
		Rectangle r = null;
		LinkedList<Vector2> verticies = new LinkedList<Vector2>();
		
		switch(mEditType)
		{
			case Polygon:
			{				
				ListIterator<Polygon> i = mSelectedPolys.listIterator();
				
				while(i.hasNext())
				{
					verticies.addAll(i.next().GetAbsoluteVerticies());
				}
			}			
			break;
		}
		
		if (verticies.size() == 0)
		{
			LinkedList<Polygon> polygons = mLevel.GetPolygons();
			
			ListIterator<Polygon> i = polygons.listIterator();
			
			while (i.hasNext())
			{
				verticies.addAll(i.next().GetAbsoluteVerticies());
			}			
		}
		
		r = BoundingRectOfPoints(verticies);
		
		float scaleX = mGameWindow.Width() / r.width;
		float scaleY = mGameWindow.Height() / r.height;
		
		if (scaleX > scaleY)
		{
			mCamera.ForceScaleFocus(scaleY * 0.9f);
		}
		else
		{
			mCamera.ForceScaleFocus(scaleX * 0.9f);
		}
		
		mCamera.ForceTranslationFocus(new Vector2(r.x + r.width / 2, r.y + r.height / 2));
		mCamera.ForceRotationFocus(0);
	}