import java.awt.*;
import java.awt.print.*;
import javax.swing.*;
/**
 * Projet:PaintRevolution
 * <p>Title:Imprimante.java </p>
 * <p>Description:
 *</p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Societe: IUT NANCY CHARLEMAGNE II</p>
 * @author VIGNERON GEOFFROY && GANGANELLI DORIAN
 * @version 3.0
 */
public class Imprimante extends Component implements Printable {
    
    JFramePrincipale fenetre;
    
    /**
    * Constructeur (a besoin de se référer à l'application principale)
    */
    Imprimante (JFramePrincipale f) {
    	
    	fenetre = f;
    	
    }
    
    /**
     * 
     */
   public int print (Graphics g, PageFormat p, int pageIndex) {
	
	if (pageIndex > 0) {
	    	return Printable.NO_SUCH_PAGE;
	}
	Graphics2D g2d = (Graphics2D) g;
	g2d.translate(p.getImageableX(),p.getImageableY());	
  	
	g2d.setColor(fenetre.getPanel().getDessin().getBackground());
	g2d.fillRect(0, 0,fenetre.getPanel().getDessin().getSize().width,fenetre.getPanel().getDessin().getSize().height);
	g2d.setStroke(new BasicStroke());
	g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (float) 1));
	
	g2d.setColor(Color.black);
	g2d.drawString("Réalisé par PaintRevolution",50,fenetre.getPanel().getDessin().getHeight() + 50);
	
	paint(g2d);
	
	return Printable.PAGE_EXISTS;
    
  }


  public static void disableDoubleBuffering(Component c) {
    RepaintManager currentManager = RepaintManager.currentManager(c);
    currentManager.setDoubleBufferingEnabled(false);
  }

  public static void enableDoubleBuffering(Component c) {
    RepaintManager currentManager = RepaintManager.currentManager(c);
    currentManager.setDoubleBufferingEnabled(true);
  }


}
