
                      EnhancedGEM-Library  Version 1.30
                     -----------------------------------
                     (inkl. Sourcen in C und Assembler)


                         Eine Dialog-Library von ...

                            Christian Grunenberg
                               Traminerweg  5
                              D-71717 Beilstein

                            Tel.: 07062 - 5287

                   E-Mail: Christian Grunenberg @ S2 (MAUS)
                   Christian_Grunenberg@S2.maus.de (Usenet)


EnhancedGEM ist eine Dialoglibrary, welche nach dem Freeware-Prinzip verteilt
wird. Dies bedeutet, da jeder die Library inkl. der Sourcen kopieren, be-
nutzen und weitergeben darf, auer es handelt sich um PD-Versender, denn diese
mssen sich bei mir eine schriftliche Genehmigung einholen. Eine kommerzielle
Verwendung der Library ist allerdings untersagt bzw. muss mit mir abgesprochen
werden. Ebenso ist es verboten, vernderte Versionen der Sourcen bzw. unvoll-
stndige Archive zu verbreiten. Bei vorhandenen Fehlern sollte man sich statt-
dessen immer mit genauen Fehlermeldungen an mich wenden.

Fr das einwandfreie Funktionieren der Library oder eventuell entstehender
Schden bernehme ich keinerlei Garantie bzw. Verantwortung.

Sollte Ihnen die Library dennoch gefallen oder Sie wollen die neueste
Version, so senden Sie mir einfach eine beliebige PD-Diskette (als
Anerkennung) und einen frankierten Rckumschlag (fr die neueste Version)
zu.

In der Maus S2 liegt immer die neueste Version der Library.

Fhigkeiten der EnhancedGEM-Dialog-Library:
-------------------------------------------
    - lt sich mit GNU-C, Pure C und Lattice C einsetzen
    - an MultiTOS, Mag!X 2.0 sowie Winx 2.x angepat
    - alle Fhigkeiten von Let 'em fly, den FlyDials, der XFormDo-Lib, den
      WinDials sowie der Ruby-Library u.. Libraries
    - beliebig viele Fenster-/fliegende Dialoge gleichzeitig
    - fliegende Dialoge springen zur Mausposition bei Mausklick auerhalb
      des Dialogs
    - Fensterdialoge optional auch (!) vor MTOS/Falcon-TOS im Hintergrund
      bedienbar (funktioniert teilweise nicht einwandfrei bei aktivem ArrowFix
      von Martin Osieka)
    - unmodale/modale Fensterdialoge
    - Tastaturbedienung der Dialoge, wobei in Dialogen mit Edit-Feldern
      zustzlich die Alternate-Taste gedrckt werden mu (Doppelklick durch
      zustzlich gedrckte Shift-Taste)
    - erweiterte Alert-Funktion:
        - 18 vordefinierten Icons
        - benutzerdefinierte Icons beliebiger Gre
        - beliebig langen Zeilen und Buttons
        - maximal 10 Zeilen sowie 5 Buttons
        - Buttons ber Hotkey anwhlbar (auch ohne Alternate-Teste)
    - erweiterte Eingabemglichkeiten in EDIT-Feldern
        - exakte Cursorpositionierung per Maus
        - Mauscursor wird ber Eingabefeldern zum Textcursor
        - erstes/letzes Eingabefeld (Home/Shift-Home)
        - Wort vor/zurck (Ctrl-Left/Right)
        - Anfang/Ende des Eingabesfeldes (Shift-Left/Right)
        - nchstes Eingabefeld (Tab/(Shift-) Enter/Shift-Return/opt. Return)
        - Eingabefeld lschen (Esc)
        - Eingabefeld nach Cursor lschen (Shift-Del)
        - Eingabebox fr alle Ascii-Zeichen (Shift-Insert)
        - Undo
        - History ((Shift-) Ctrl-Up/Down)
        - Clipboarduntersttzung ((Shift-) Ctrl-X/C/V)
        |
        -> s.a. Let' em fly 1.20
    - Cookie-/Scrap-/Rsrc- u. Environment-Library
    - erweiterte Rectangle- & Object-Library von PC-GEM 2.0
    - viele erweiterte Objekte:
        - Radio-Buttons
        - Check-Buttons
        - Cycle-Buttons fr Popups
        - Help-Button
        - Text mit Attributen
            - unterstrichen,kursiv,umrandet,schattiert,fett,hell,klein/gro
        - Rahmen mit Titel
        - Titel (=unterstrichener Text)
            - beliebige Strichdicke, optional doppelt unterstrichen
        - Flugecke
        - Slider-Arrows
        - Niceline
        - opt. von EDIT-Eingaben abhngiges DEFAULT-Objekt
        - modale Objekte, d.h. das Objekt kommt nur in modalen Dialogen vor
        - usw.
    - Echtzeitgummiband/-schieber
    - variable Popup-Mens (vollstndig tastaturbedienbar (Hotkeys),
      frei positionierbar)
    - Dialogoptik in weiten Grenzen variierbar:
        - Hintergrundbox (Muster,Farbe,Rahmen)
        - Flugecke wird an Hintergrundbox angepat
        - Rahmen (Titel umrandet,Titelgre,doppelter Rahmen)
        - Titel-Unterstrich (Lnge,Dicke,doppelt unterstrichen)
        - Farben der erweiterten Objekte
        - viele Varianten der Radio-/Check/Cycle-Buttons sowie Sliderpfeile
        - usw.
    - sauber programmiert, d.h. unabhngig von
        - Computer (ST/TT/Falcon/Emulator)
        - Auflsung und Anzahl der Farben
        - (Multi) TOS-Version
        - VDI/GDOS-Treiber
        - Gre des System-Fonts
    - usw.


Einsatz unter Pure C, GNU-C und Lattice C:
------------------------------------------

1. Pure C

EnhancedGEM lt sich sowohl mit den Pure-C-Libraries als auch mit den MiNT-
Libraries ab Patchlevel 30 compilieren.
Hierzu mu jedoch im Header-File AESBIND.H der MiNT-Libraries die Zeile

__EXTERN int    evnt_timer __PROTO((unsigned long Interval));

in

__EXTERN int    evnt_timer __PROTO((int Int_locount,int Int_hicount));

gendert werden.

Weiterhin mu das Makro __MINT_LIB__ definiert werden (s. E_GEMMNT.PRJ)

2. GNU-C/Lattice C

Ebenfalls lt sich EnhancedGEM mit GNU-C und Lattice C verwenden, wobei
allerdings die MiNT-Library sowie die entsprechenden Makefiles (Makefile.GCC
bzw. Makefile.LCC) benutzt werden mssen. Eventuell auftretende Warnungen bei
der bersetzung sind bedeutungslos.

WICHTIG:
--------
Wurde EnhancedGEM mit Hilfe der MiNT-Libraries bersetzt, so MSSEN die
MiNT-Libraries und die dazugehrigen Header-Dateien auch benutzt werden.
Ansonsten sind die Reaktionen nicht vorhersehbar, aber hchstwahrscheinlich
resultieren daraus Fehlfunktionen (auer evtl. bei GNU-C).


Durch das beiliegende kommentierte Beispielprogramm, das einen Teil der Fhig-
keiten demonstriert, sowie die verffentlichten Quelltexte der WinLupe sollte
die Programierung unter Verwendung der Library kein greres Problem dar-
stellen.

Weiterhin sollte die Verwendung der einzelnen Funktionen aus den Quelltexten
bzw. dem Namen oder hnlichen Libraries ersichtlich sein. Sollte jemand den-
noch nicht damit zurecht kommen, kann er sich an mich wenden.

Verbesserungen an den Quelltexten sollten immer an mich eingesandt werden,
damit die Library einheitlich bleibt und nicht zig verschiedene Versionen im
Umlauf sind. Fr den privaten Gebrauch kann die Library natrlich nach
Belieben verndert werden.

