/*
 * Kepek.java (fake!)
 * kamu az eNTitanok.gfx.Kepek helyett, a prototípushoz
 * by pts@fazekas.hu at Sun Apr 22 17:44:56 CEST 2001
 * további doksi: a README-ben és e file legkülső class-ának fejkommentjében
 *
 * Kincskereső Kisgömböc (C) Early May 2001 by eNTitánok (Rév Szilvia,
 * Szabó Péter <pts@inf.bme.hu>, Szurdi Miklós, Weizengruber Attila).
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or   
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package eNTitanok.fake;

/**
 * Kamu az eNTitanok.gfx.Kepek helyett, a prototípushoz.
 */
public class Kepek {
  /**
   * A fő (toplevel) AWT komponenst állítja be. Ez legtöbbször Applet vagy
   * Frame típusú. (A kamu implementáció törzse üres.)
   */
  public static void setMainComponent(Object mainComponent_) {}

  /**
   * A képfile-ok aszinkron betöltésének elindításáért, és a folyamatben levő
   * betöltések megvárásáért felel.
   */
  public static class Kepbetolto {
    public Kepbetolto() {}
    /**
     * A megadott nevű kép betöltését kezdeményezi. Azonnal visszatér egy
     * :Kép objektummal, ami ekkor még üres, és csak később töltődik bele a
     * valódi kép.
     */
    public Kep betolt(String filenev) { return new Kep()}
    /**
     * Megvárja, amíg az összes folyamatben levő betöltés befejeződik.
     */
    public void mind_meglegyen() {}
    /**
     * A megadott nevű képett kitörli saját cache-éből.
     */
    public void elfelejt(String filenev) {}
  } /// class Kepbetolto

  public static class Kep {
    public Kep() {}
    /**
     * Betöltés utáni inicializálást hajt végre a képen. A kamu implementáció
     * törzse üres.
     */
    public Kep initi(Sdpts sd, int bx1, int by1, int arnyeka) {
      return this;
    }
    /**
     * Betöltés utáni inicializálást hajt végre a képen. A kamu implementáció
     * törzse üres.
     */
    public Kep initi(Sdpts sd, int bx1, int by1) {
      return this;
    }
    /**
     * @return pontosan akkor `true', ha `this' ütközik `masik'-kal, ha
     * `masik'-nak `this'-től mért távolsága <I>(dx,dy)</I>. A kamu
     * implementáció mindkét képet egy 23x23-as teli négyzetnek tekinti.
     */
    public boolean utkozik_e(Kep masik, int dx, int dy) {
      return Math.abs(dx)<23 && Math.abs(dy)<23;
    }
    /**
     * A kép filenevét adja vissza. A kamu implementációban mindig ugyanazt.
     */
    public String getFilenev() { return "__fake.gif"}
    /**
     * Kirajzolja magát a megadott Graphics objektumra (x,y) pozíción. A kamu
     * implementáció törzse üres.
     */
    public void rarajzol(Object g, int x, int y) { }
    /**
     * Kirajzolja az árnyékát a saját :Sdpts megjelenítőjére az (x,y) pozíción.
     * A kamu implementáció törzse üres.
     */
    public void felrajzol_arnyek(int x, int y) { }
    /**
     * Kirajzolja magát a saját :Sdpts megjelenítőjére az (x,y) pozíción.
     * A kamu implementáció törzse üres.
     */
    public void felrajzol_kep(int x, int y) { }
    /**
     * Törli a pixel cache-ét. A kamu implementációban nincs pixel cache (és
     * egyelőre nem is dokumentáljuk, mi az), így a törzse üres.
     */
    public void pixelt_felejt() {}
  } /// class Kep

  /**
   * Egy háromrétegű, téglalap alakú, memóriabeli rajztáblát reprezentál,
   * melynek tartalma igény szerint megjeleníthető a képernyőn. A kamu
   * implementáció nem rajzol semmit sehová, a metódusok törzse üres.
   */
  public static class Sdpts {
    public Sdpts() {}
    /**
     * Törli a cache-ét. A kamu implementációban nincs cache (és
     * egyelőre nem is dokumentáljuk, mi az), így a törzse üres.
     */
    public void dirtyClear() {}
  }

  /**
   * Egy olyan AWT komponens (Canvas), melyre egy `Sdpts'-en keresztül lehet
   * rajzolni, és a memóriában levő állapotot időnként a képernyőre visszük.
   * A kamu implementációban a metódusok törzse üres.
   */
  public static class SdRajzolo {
    private Sdpts sd;
    public Sdpts getSd() { return sd; }
    public void atmeretez(int w, int h) {}
    public void init_sd() { sd=new Sdpts()}
    public void paintMost() {}
    public void repaint() {}
  } /// class SdRajzolo
} /// class Kepek