home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / examples.lha / Examples / Oberon0 / Draw0.Mod < prev    next >
Encoding:
Text File  |  1994-06-16  |  1022 b   |  29 lines

  1. MODULE Draw0;  (*HM Mar-25-92*)
  2. IMPORT OS, IO:=io, Texts0, TextFrames0, Shapes0, GraphicFrames0, Viewers0;
  3.  
  4. PROCEDURE Open*;
  5.   VAR s: IO.Scanner; v: Viewers0.Viewer; menu: TextFrames0.Frame;
  6.     cont: GraphicFrames0.Frame; file: OS.File; r: OS.Rider; g: Shapes0.Graphic;
  7. BEGIN s.SetToParameters; s.Read;
  8.   IF s.class = IO.name THEN
  9.     menu := TextFrames0.NewMenu(s.str, "Viewers0.Close  Viewers0.Copy  Draw0.Store");
  10.     NEW(g); Shapes0.InitGraphic(g); file := OS.OldFile(s.str);
  11.     IF file # NIL THEN OS.InitRider(r); r.Set(file, 0); g.Load(r) END;
  12.     cont := GraphicFrames0.New(g); 
  13.     v := Viewers0.New(menu, cont)
  14.   END
  15. END Open;
  16.  
  17. PROCEDURE Store*;
  18.   VAR v: Viewers0.Viewer; s: IO.Scanner; file: OS.File; r: OS.Rider;
  19. BEGIN v := Viewers0.ViewerAt(TextFrames0.cmdFrame.y);
  20.   s.Set(v.menu(TextFrames0.Frame).text, 0); s.Read;
  21.   IF s.class = IO.name THEN file := OS.NewFile(s.str); OS.InitRider(r); r.Set(file,
  22. 0);
  23.     v.cont(GraphicFrames0.Frame).graphic.Store(r);
  24.     OS.Register(file)
  25.   END
  26. END Store;
  27.  
  28. END Draw0.
  29.