(*-------------------------------------------------------------------------*)
(*                                                                         *)
(*  Amiga Oberon Library Module: Icons                Date: 02-Nov-92      *)
(*                                                                         *)
(*   © 1992 by Fridtjof Siebert                                            *)
(*                                                                         *)
(*-------------------------------------------------------------------------*)

MODULE Icons;

IMPORT sd  := SecureDos,
       str := Strings,
       wb  := Workbench,
              Icon,
       d   := Dos;

PROCEDURE PutIcon*(Iconname: ARRAY OF CHAR; to: ARRAY OF CHAR);
(* Kopiert das Icon "OBERON:Icons/"+Iconname+".info" nach to+".info" *)

VAR
  i,o: ARRAY 80 OF CHAR;
  lock: d.FileLockPtr;
  do: wb.DiskObjectPtr;

BEGIN
  i := "OBERON:Icons/"; str.Append(i,Iconname);
  COPY(to,o); str.Append(o,".info");

  lock := sd.Lock(o,d.oldFile);         (* exisitiert Icon schon? *)
  IF lock#NIL THEN sd.UnLock(lock); RETURN END; (* Ja, dann zurück        *)

  do := Icon.GetDiskObject(i);
  IF do#NIL THEN
    IF Icon.PutDiskObject(to,do) THEN END;
    Icon.FreeDiskObject(do);
  END;

END PutIcon;

END Icons.



