
                      EnhancedGEM-Library  Version 1.20
                     -----------------------------------
                     (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)


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

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.


Fhigkeiten der EnhancedGEM-Dialog-Library:
-------------------------------------------
    - lt sich mit GNU-C, Pure C und Lattice C einsetzen
    - 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 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 der 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
    - an MultiTOS angepat
    - 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 33 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 aller-
dings 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 darstellen.

Weiterhin sollte die Verwendung der einzelnen Funktionen aus den Quelltexten bzw.
dem Namen oder hnlichen Libraries ersichtlich sein. Sollte jemand dennoch 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.

