package stiftUndCo;
import  java.awt.*;
//
//
// Blatt
//
//
public class Blatt implements Malflaeche
{
	private Graphics gk;
	private PrintJob pjob;
	private int breite,hoehe;
/**
Blatt demonstriert die Möglichkeit einen Drucker anzusprechen. Es kann wie ein
Bildschirm benutzt werden. Stifte können auf Blättern zeichnen, wenn das Blatt dem
Stift bei der Initialisierung &uuml;bergeben wird: BuntStift bs=new BuntStift(meinblatt)
@author Georg Dick
@version 22.7.98

 */	
	public Blatt()
	{
		try {
		pjob = ((Bildschirm)(DasFenster.hauptFenster)).getToolkit().getPrintJob(
				((Bildschirm)(DasFenster.hauptFenster)),
				"",
				null);
		}
		catch (Exception e) { pjob=null; 	System.out.println("Hallo Fehler") ;}
		if (pjob != null) {
         //Metriken
         int pres = pjob.getPageResolution();
         int sres = ((Bildschirm)(DasFenster.hauptFenster)).getToolkit().getScreenResolution();
         breite = (int)(((21.0 - 2.0) / 2.54) * sres);
		 hoehe = (int)(((29.7 - 2.0) / 2.54) * sres);
         gk = pjob.getGraphics();
			System.out.println("Hallo"+pres+"  "+sres) ;
		} else {
			System.out.println("nix da"+breite+"  "+hoehe) ;}
    }

	public Graphics aktuellerGrafikkontext()
	{ return gk;}
	public int breite()
	{ return breite;}
	public void gibFrei(){}
	public Color hintergrundFarbe(){return Color.white;}
	public int hoehe()
	{ return hoehe;}
	/**
	Anfrage	h&ouml;he()  liefert die H&ouml;he der Zeichenebene.
	*/	
	public int h\u00f6he()
	{
	   	return this.hoehe();
	}
	public void loescheAlles(){}
	public void l\u00f6scheAlles()
	{
		this.loescheAlles();
	}
	public void setzeHintergrundFarbe(Color c){/* macht nichts*/}

   public void drucke()
   {
         if (pjob != null) 
		 {
			//Seite ausgeben
            gk.dispose();
			pjob.end();
		 }
      
   }
}

