@DATABASE Picture V1.00
$VER: Pure Basic - Picture library V1.00 (01.09.1999) © Fantaisie Software
@NODE MAIN "Picture V1.00"

  @{b}Pure Basic Picture library V1.00@{ub}

    Die von PureBasic unterstützten Bilder müssen im IFF/ILBM Format
    vorliegen, dem Amiga Bilderstandard. Die Bilder können komprimiert
    sein oder nicht, beide Formen werden unterstützt. Die Lade- und
    Entpack-Routinen wurden hoch optimiert und selbst große Bilder
    werden in weniger als einer Sekunde geladen, auf jedem Amiga.
    Viel Freude damit...

  @{b}Befehlsübersicht:@{ub}

    @{" FreePicture     " LINK FreePicture}
    @{" InitPicture     " LINK InitPicture}
    @{" LoadPicture     " LINK LoadPicture}
    @{" PictureDepth    " LINK PictureDepth}
    @{" PictureHeight   " LINK PictureHeight}
    @{" PictureID       " LINK PictureID}
    @{" PictureToBitMap " LINK PictureToBitMap}
    @{" PictureWidth    " LINK PictureWidth}
    @{" UsePicture      " LINK UsePicture}

  @{b}Beispiel:@{ub}

    @{" Bildanzeiger  " LINK "/Examples/Sources/Picture.pb/Main"}

@ENDNODE


@NODE FreePicture

    @{b}SYNTAX@{ub}
  FreePicture(#Picture)

    @{b}STATEMENT@{ub}
  Entfernt das angegebene Bild aus dem Speicher.

@ENDNODE


@NODE InitPicture

    @{b}SYNTAX@{ub}
  result.l = InitPicture(#NumPictureMax)

    @{b}FUNCTION@{ub}
  Initialisiert die gesamte Bilder Programmierumgebung für die weitere
  Benutzung. Sie müssen diese Funktion am Anfang Ihres Sourcecodes
  aufrufen, wenn Sie Befehle der Picture Library nutzen möchten.

  #NumPictureMax : Maximale Anzahl zu verwaltender Bilder.

@ENDNODE


@NODE LoadPicture

    @{b}SYNTAX@{ub}
  PictureID.l = LoadPicture(#Picture, FileName$)

    @{b}FUNCTION@{ub}
  LoadPicture() versucht ein IFF/ILBM Bild in den Speicher zu laden.
  Es wird in JEDEN Speicher geladen, auch ins FAST Ram wenn verfügbar.
  Es wird im komprimierten Format gelassen (wenn es eine komprimierte
  IFF/ILBM Datei ist, aber normalerweise ist dies so), um keinen
  Speicherplatz zu verschwenden.

    Das Resultat kann 3 verschiedene Werte ergeben:

      PictureID  = -1: Datei wurde nicht gefunden
      PictureID  = -2: Datei ist kein IFF/ILBM Bild
      PictureID  = -3: Nicht genug freier Speicher, um das Bild zu
                         laden
      PictureID >=  0: Alles in Ordnung

@ENDNODE


@NODE PictureDepth

    @{b}SYNTAX@{ub}
  Depth.b = PictureDepth()

    @{b}FUNCTION@{ub}
  Gibt die Tiefe (in Bit) des aktuellen Bildes zurück.

@ENDNODE


@NODE PictureHeight

    @{b}SYNTAX@{ub}
  Height.w = PictureHeight()

    @{b}FUNCTION@{ub}
  Gibt die Höhe des aktuellen Bildes zurück.

@ENDNODE


@NODE PictureID

    @{b}SYNTAX@{ub}
  *PictureAddr = PictureID()

    @{b}FUNCTION@{ub}
  Gibt die Speicheradresse des aktuellen Bildes zurück. Das Ergebnis
  zeigt auf den Beginn des IFF Bildes ('FORM' chunk).

@ENDNODE


@NODE PictureToBitMap

    @{b}SYNTAX@{ub}
  Result = PictureToBitMap(#Picture, BitMapID)

    @{b}COMMAND@{ub}
  Kopiert das angegebene IFF/ILBM Bild in die angegebene Bitmap.
  Diese Funktion ist hoch optimiert. Sie unterstützt komprimierte
  und unkomprimierte IFF Bilder.

    Das Resultat kann 2 verschiedene Werte ergeben:

      Result = -1: BitmapHeader oder Body-Chunk wurden nicht gefunden
                   (z.B.: nur IFF Paletten).
      Result = -2: Die Bildgröße ist zu groß für die Bitmap.

@ENDNODE


@NODE PictureWidth

    @{b}SYNTAX@{ub}
  Width.w = PictureWidth()

    @{b}FUNCTION@{ub}
  Gibt die Breite des aktuellen Bildes zurück.

@ENDNODE


@NODE UsePicture

    @{b}SYNTAX@{ub}
  UsePicture(#Picture)

    @{b}STATEMENT@{ub}
  Ändert das aktuell benutzte Bild auf das angegebene #Picture.

@ENDNODE
