  TeXDraw wurde mit TDI-Modula-2 und den Magic-Tools von Peter Hel-
  linger entwickelt (drfte ohne groe nderungen auf dem neuen Me-
  gamax-M2-Compiler laufen), kann mit entsprechendem Aufwand aber
  auch in C o.. konvertiert werden (haha, viel Spa). Der Quellcode
  kann von registrierten Benutzern gegen Einsendung einer Diskette und
  eines adressierten und (ausreichend) frankierten Rckumschlag sowie
  eines (eher symbolisch zu verstehenden) Obulus von 20,-- DM bei mir
  angefordert werden. Ich htte dann nur gerne Nachricht ber vorge-
  nommene nderungen am Programm; vielleicht sind diese ja so gut, da
  man sie der Allgemeinheit zuteil werden lassen sollte.

  In meinem Programm wird ausgiebig Gebrauch von Routinen aus der
  Magic-Lib und den Magic-Tools von Peter Hellinger gemacht. Diese
  Routinen werden kommerziell vertrieben und drfen deswegen nicht
  weitergegeben werden. Wer also Interesse an diesen (wirklich
  ausgezeichneten) Bibliotheken hat, wende sich an:

                          Peter Hellinger
                          Brunnengasse 51
                          8500 Nrnberg 1

Jetzt folgt eine kurze Beschreibung dieser Bibliotheken:
(P.S.: Nein, ich kriege keine Provision (leider) )

                                                  \
                                                   \ o
----------------------- cut here ------------------ x ------
                                                   / o
                                                  /


  ---##-----##-----#######------#######-----##------#######----
  ---###---###----##-----##----##-----##----##-----##-----##---
  ---##-#-#-##----##-----##----##-----------##-----##----------
  ---##--#--##----#########----##---####----##-----##----------
  ---##-----##----##-----##----##-----##----##-----##----------
  ---##-----##----##-----##----##-----##----##-----##-----##---
  ---##-----##----##-----##-----#######-----##------#######----

       MAGIC   Modula's All purpose Gem Interface Cadre
                                         
-----------------------------------------------------------------
 Ein Vorschlag fr eine systembergreifende GEM-Schnittstelle in
                              Modula-2
-----------------------------------------------------------------
     Version 2.01 vom 01.12.1990      (c) by Peter Hellinger
-----------------------------------------------------------------

1.    MAGIC - Was ist das?
      
      MAGIC ist die Abkrzung fr "Modula's All purpose Gem
      Interface Cadre", was soviel wie "Von allen benutzter GEM-
      Interface Stamm" bedeutet. Damit ist eigentlich schon klar,
      um was es bei MAGIC geht: Um eine Modula-2-Bibliothek, die
      einheitliche Systemaufrufe fr das Betriebssystem der Atari
      ST- und TT-Linie fr mglichst alle Modula-2-Compiler die
      im Handel sind bereitstellt.

      Mit MAGIC steht zwar nicht zum ersten Mal aber doch um-
      fangreicher als bisher eine Bibliothek zur Verfgung, die
      die Programmierung von GEM-Applikationen vereinheitlichen
      und vereinfachen soll.  Durch die nahe Anlehnung an das
      Profibuch, die hohe Flexibilitt der Prozedur-Parameter
      und der Verfgbarkeit fr die meisten der auf dem ST
      implementierten Modula-2-Compiler eignet sich MAGIC
      hervorragend fr die professionelle und semiprofessionelle
      Programmentwicklung.

2.    Compiler und Magie
      
      MAGIC steht zur Zeit fr folgende Modula-2 Compiler zur
      Verfgung:

      - Megamax-Modula-2
      - TDI-Modula-2/ST
      - Hnisch Modula-2/ST     (Ab Januar 1991)
      - SPC-Modula-2            (Mit Einschrnkungen)
      - LPR-Modula-2  PD-Modula der TU Mnchen  (Mit Einschr.)

      In Vorbereitung:

      - FTL Modula-2/ST
      - ANA Modula-2/68  Shareware-Compiler aus USA

      Anpassungen an andere Compiler, Fehlerreports und Verbes-
      serungsvorschlge bitte ich an untenstehende Adresse zu
      senden. Siehe Anhang.

3.    Jedem seinen Typ!
      
      Um den Anwender mglichst freie Hand bei der Typgestaltung
      zu lassen, wurde auf das Verfahren der OPEN ARRAY's in
      Modula-2 zurckgegriffen. Die Bibliothek ist daher fr
      falsche Parameter relativ anfllig, da hier das strenge
      Typkonzept Modula's umgangen wird. Dafr steht es dem
      Benutzer aber frei, beliebige eigene Datenstrukturen zu
      verwenden; Hauptsache ist, da die geforderten Daten in
      der von GEM erwarteten Form im Speicher stehen.

4.    MagicSys
      
      MagicSys ist der Versuch, compilerabhngige Dinge zu ver-
      einheitlichen, bzw. vor den Klientmodulen zu verbergen.
      Mit dem kommenden ISO-Standard werden auch nderungen
      betreffend der Gre der einzelnen Typen gltig werden. Um
      diesen Umstand Rechung zu tragen, und vor allem weil die
      verschiedenen Compiler auch unterschiedliche Typen - und
      Gren - zur Verfgung stellen wurden fr MAGIC einheit-
      liche Typen festgelegt.

5.    MagicTypes
      
      Mit MagicTypes erhalten Sie ein Modul, in dem wichtige
      Strukturen des Atari-ST Betriebssystems deklariert sind.
      Die Bezeichner und Strukturen richten sich nach dem Profi-
      buch, Anhang C.  Details entnehmen Sie bitte dort.

6.    MagicStrings
      
      Als groes Hemmnis fr compilerunabhngige Klientmodule
      erweisen sich immer wieder die String-Manipulationen, die
      doch sehr oft bentigt, aber fr fast jeden Compiler
      anders implementiert sind.  MagicStrings stellt ein
      langjhrig (in einem Texteditor) erprobtes Modul zur
      Stringmanipulation dar.

7.    MagicConvert
      
      Ebenso wie Stringmanipulationen werden oft Zahlenkonver-
      sionen von Strings in Zahlen oder umgekehrt notwendig.
      Auch hier weichen die einzelnen spezifischen Implementa-
      tionen stark voneinander ab. MagicConvert schafft Abhilfe.

8.    Die System-Module
      
      Die System-Module implementieren den jeweiligen Abschnitt
      des ST/TT-Betriebssystems:

        MagicBIOS       BIOS-Routinen
        MagicXBIOS      XBIOS-Routinen
        MagicDOS        GEMDOS-Routinen
        MagicAES        AES-Routinen
        MagicVDI        VDI-Routinen

      Details knnen Sie den jeweiligen DEFINITION MODULEs
      entnehmen.

9.    Aus der Werkzeugkiste
      
      Was ntzt der schnellste Compiler, was ntzt die tollste
      Programmiersprache, wenn man doch wieder das "Rad neu
      erfinden" mu?  Aus diesem Grund stehen ausser den in
      Teil 1 beschriebenen Grundmodulen gem der MAGIC-
      Philosophie die sogenannten MAGIC-TOOLS zur Verfgung, die
      oft bentigte Programmteile sowie einige nicht so ohne
      weiteres mgliche GEM-Spielereien zur Verfgung stellen.
      Diese Module basieren allesamt auf den zuvor beschriebenen
      MAGIC-Modulen und enthalten (fast) keinerlei compiler-
      spezifischen Code.

10.   MagicApplikation
      
      MagicApplikation erledigt viele grundstzliche Prozeduren
      einer GEM-Applikation, wie etwa Anmelden beim AES, ffnen
      von VDI-Workstations, laden von GDOS-Fonts, auslesen der
      Kommandozeile usw.

11.   MagicArea
      
      MagicArea implementiert Routinen, die zum Sichern und
      Restaurieren von Bildspeicher gedacht sind.

12.   MagicDials
      
      Sicherlich haben Sie schon einmal die Programme RUFUS oder
      GEMINI und die dort eingesetzten FlyDials, die verschieb-
      und tastaturbedienbaren Dialogboxen mit dem "MacIntosh-
      Feeling" gesehen und bewundert. MagicDials sind eine Sammlung
      von Routinen, mit denen Sie gleiche oder hnliche Dialogboxen
      wie das berhmte Vorbild hervorzaubern knnen - mit einem
      Minimum an Aufwand.

13.   MagicAlerts
      
      MagicAlerts sind eine Anwendung der MagicDials. Das Modul
      stellt Alertroutinen analog zu FormAlert des Original-AES
      zur Verfgung.

14.   MagicDir
      
      MagicDir implementiert Funktionen zur Pfad- und Filenamen-
      Manipulationen, sowie Zugriff auf Fileselectorboxen.

15.   MagicPopups
      
      MagicPopups stellen dem Programmierer Routinen zur
      Verfgung, die aus normalen GEM-Menzeilen Popupmens
      generieren. ALLE Menus knnen auch ber die Tastatur
      bedient werden! Ab Version 2.01 knnen die Popups auch
      - hnlich den MagicDials - verschoben werden.

16.   MagicMenus
      
      MagicMenus stellt Routinen zur Verfgung, die eine GEM-
      Menzeile IN einem Fenster darstellen und verwalten. Die
      Menzeile ist in Erscheinungsbild und Handling getreu nach
      der Original-AES-Menzeile gearbeitet.

17.   MagicResource
      
      MagicResource implementiert Routinen, die es erlauben
      mehrere Resource-Files in einer Applikation zu benutzen.

18.   MagicTerminal
      
      MagicTerminal ist als vollstndiger VT52-Treiber fr
      Fensterausgabe konzipiert.  Die VT-52-Funktionen knnen
      nicht nur mittels der exportierten Prozeduren aktiviert
      werden, sondern auch ber die bekannten Escape-Sequenzen,
      die auch in einem String eingebettet sein knnen.
      Zustzlich werden die blichen VDI-Effekte sowie hochge-
      stellte und tiefgestellte Schrift untersttzt.

19.   MagicWindows
      
      Dieses Modul bernimmt viele Standardfunktionen einer
      Fensterverwaltung.




A.1   Lieferumfang
      
      Auf der gelieferten Diskette sind alle Magic-Module sowohl
      der MAGIC-LIB als auch der MAGIC-TOOLS im Quelltext
      enthalten.  Eine genaue Aufstellung entnehmen Sie bitte
      der Datei INHALT.DOC auf der Lieferdiskette.

      Sollten Sie Bedarf an weiteren Compiler-Anpassungen von
      Magic haben, senden Sie bitte eine doppelseitig im Stan-
      dard-TOS-Format formatierte 3.5"-Diskette sowie einen als
      Warensendung frankierten Umschlag mit Ihrer Adresse an:

                          Peter Hellinger
                          Brunnengasse 51
                          8500 Nrnberg 1

      Sie erhalten dann postwendend die neueste Version der
      MAGIC-LIB und MAGIC-TOOLS, sowie alle vorliegenden
      Implementationen fr andere Modula-2-Compiler.

A.2   Service
      
      Sollten Sie Probleme mit MAGIC haben, knnen Sie ruhig
      Kontakt ber die obige Adresse mit mir aufnehmen.  Wenn
      Sie ber ein Modem oder einen Akustikkoppler verfgen,
      knnen Sie mich auch ber folgende Mailboxen erreichen:

       Peter Hellinger @ STA
       MAUS Pcking/Starnberg    08157-7626  300-2400bd 8N1

       FIDO-Adresse:  Peter Hellinger  2:246/7  oder 2:246/8

       GENIE:  P.HELLINGER

      ber neue Versionen oder weitere Anpassungen von MAGIC
      werden Sie in den obigen Medien bzw. von Application
      Systems Heidelberg in deren Bekanntmachungen unterrichtet.

