/* Auteur: Nicolas JANEY, nico@univ-fcomte.fr */

import java.awt.*;
import java.awt.font.*;

public class Java2DExemple001Canvas extends Canvas {
  public int im = 0 ;

  public void paint(Graphics g) {
    Graphics2D g2 =(Graphics2D) g;
    g2.setColor(new Color(0,0,255));
    g2.drawString("Chaîne de caractères simple",50,30);
    FontRenderContext frc = g2.getFontRenderContext();
    Font f = new Font("Comic Sans MS",Font.BOLD,22);
    String s = new String("Font : 22 Comic Sans MS Bold");
    TextLayout tl = new TextLayout(s,f,frc);
    g2.setColor(new Color(0,255,255));
    tl.draw(g2,20,80);
    g2.setColor(new Color(255,0,0));
    g2.draw3DRect(100,100,200,60,true);
    BasicStroke bs1 = new BasicStroke(8,
      BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
    g2.setStroke(bs1);
    g2.setColor(new Color(200,200,100));
    Polygon p1 = new Polygon();
    p1.addPoint(20,200); 
    p1.addPoint(90,250); 
    p1.addPoint(150,220); 
    p1.addPoint(180,230); 
    p1.addPoint(220,180); 
    g2.drawPolygon(p1);
    BasicStroke bs2 = new BasicStroke(1,
      BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
    g2.setStroke(bs2);
    g2.setColor(new Color(0,0,0));
    GradientPaint gp = new GradientPaint(100,310,
      new Color(30,90,150),
      200,320,
      new Color(230,170,70),
      true); 
    g2.setPaint(gp);
    Polygon p2 = new Polygon();
    p2.addPoint(10,300); 
    p2.addPoint(100,350); 
    p2.addPoint(130,320); 
    p2.addPoint(190,330); 
    p2.addPoint(210,280); 
    g2.fillPolygon(p2);
    if ( Java2DExemple001.i != null )
      g2.drawImage(Java2DExemple001.i,370,10,this) ;
    if ( Java2DExemple001.a[im] != null ) {
      g2.drawImage(Java2DExemple001.a[im],280,180,this) ;
      im++ ;
      if ( im == 36 )
        im = 0 ; }
  }

  public void update(Graphics g) {
    setBackground(Color.white); 
    paint(g) ;
  }
}
