package page.image;

import java.awt.*;
import java.awt.image.*;
import java.io.IOException;
import java.util.Date;

import org.wikiwebserver.handler.http.HTTPHandler;
import org.wikiwebserver.handler.http.interfaces.*;
import org.wikiwebserver.handler.http.responder.BufferedImageResponder;

public class Example implements HTTPResponder {
    
    public void paint(Graphics2D g2d) {
        
        g2d.setColor(Color.white);
        g2d.fillRect(0, 0, 200, 200);        
        
        g2d.setColor(Color.black);
        g2d.drawString("My Simple Image", 10, 20);
        
        g2d.setColor(Color.red);
        g2d.fillRect(30, 30, 150, 100);     
        
        g2d.setColor(Color.blue);
        g2d.fillOval(40, 40, 120, 120);   
        
        g2d.translate(10, 180);
        g2d.rotate(-0.5);
        g2d.setColor(Color.green);
        g2d.drawString(new Date().toString(), 10, 10);
    }
	
    public Object respond(HTTPHandler conn) throws IOException {
        
        BufferedImage image = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2d = image.createGraphics();
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                             RenderingHints.VALUE_ANTIALIAS_ON);        
        
        paint(g2d);
        
        return new BufferedImageResponder(image);
    }
}
