public void buildImage() {
		bi = new BufferedImage(getPreferredSize().width, getPreferredSize().height, BufferedImage.TYPE_INT_RGB);
		// Fill in flat rectangles
		for(int a = 0; a<flatRects.size(); a++) {
			for(int x = flatRects.get(a).x; x<flatRects.get(a).getMaxX(); x++) {
				for(int y = flatRects.get(a).y; y<flatRects.get(a).getMaxY(); y++) {
					bi.setRGB(x, y, Color.RED.getRGB());
				}
			}
		}
		
		// Fill in solid rectangles
		for(int a = 0; a<solidRects.size(); a++) {
			for(int x = solidRects.get(a).x; x<solidRects.get(a).getMaxX(); x++) {
				for(int y = solidRects.get(a).y; y<solidRects.get(a).getMaxY(); y++) {
					bi.setRGB(x, y, Color.WHITE.getRGB());
				}
			}
		}
	}