

=============================================================================
Official release of version 1.21, December '89


Req.library  is Copyright ©1989, 1990 by C.W.  Fox and Bruce Dawson.  It is
freely  distributable.  No charge may be made for it's distribution, except
for a nominal media fee.

     Feel free to distribute and use this library with your programs, along
with a notice that the library is 'FreeWare'.

=============================================================================

    Hello! This is the introduction to the all-new "req.library"!

    What is it?

    Req.library  adds  user-friendliness  to  the  Amiga's  user interface.
While  Intuition  does supply requesters, they have certain limitations and
are awkward to set up.  We designed ours to be quick and easy to set up, as
well  as  adding  features.  The text requester has PRINTF style formatting
built  in!   There is a colour requester, a very powerful file requester, a
string  requester  (allowing  the  user  to  enter  a line of text), and an
integer  requester  (allowing  the user to enter an integer number).  There
are  also low-level support routines, such as routines to create any of the
Amiga's gadgets, as well as a real-time scroll routine.

    The  nice  thing about the gadget creation routines, is that they allow
you to create gadgets from parameters, meaning that you can allocate memory
and have your gadgets constructed there.  This allows you to use gadgets in
code  that  is  meant to be re-entrant.  This normally wouldn't be possible
with gadgets.  The size necessary for each gadget has been defined, and you
will find the definitions in reqbase.i and reqbase.h.

    (Please see req.doc for a more comprehensive explanation).

  Here is an overview of the files included in this ZOO archive:

    areqglue.o            Gluecode for Aztec C. Link in with your programs.
    lreqglue.o            Gluecode for Lattice C. Link in with your programs.
    reqglue.asm           Sourcecode for the gluecode.
    customizefile.asm     How to customize the file requester.
    customizefile         The executable of the file requester customizer.
    reqbase.h             The C include file. Put it in include/libraries
    reqbase.i             The asm include file. Put it in include/libraries
    showoffreq.c          The C source code for the req demo program.
    showoffreq            The req demo executable.
    req.library           The actual library. This goes in libs:
    reqproto.h            The prototype file for Lattice C
    req.doc               The instructions and calling conventions.
    read.me               This file
    macros.i              Some handy macros.

-----------------------------------------------------------------------------
    Included is a demo program called Showoffreq, which opens a screen with
text  gadgets in it, one per requester.  If you wish to experiment with the
requesters, this might be a good place to start.


To compile showoffreq.c under Lattice, use:

               lc -Lcd+lib:lreqglue.o showoffreq




To compile showoffreq.c under Aztec, use:

               cc -o o/showoffreq.o showoffreq.c

               ln -w +Q -o showoffreq o/showoffreq.o lib:areqglue.o -lc

-----------------------------------------------------------------------------

                               For Assembly

-----------------------------------------------------------------------------

    To  use  req.library  from  assembly  language  is quite easy.  So far,
nothing's been said about it, so here is some info.

    First  of  all,  the library is EXACTLY like system libraries; you open
it, call functions, and then close it.  We've included some macros that may
make working with it a bit easier.  All you have to include to actually use
the req.library is reqbase.i.  This contains all the function offsets.  You
may  wish  to call the functions directly, or use a bit of gluecode to make
things even easier.  If you wish to do it all yourself, then all you've got
to  do  is  include  reqbase.i.   If you wish to use some pre-made function
setup, then you have to link with the appropriate reqglue.o (lreqglue.o for
Lattice, and areqglue.o for Aztec).





\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

  To link with lreqglue.o (for Lattice), an example linkfile might look like
this:

---cut here---cut here---cut here---cut here---cut here---cut here---cut here

FROM
lib:startup.o
obj/file1.o
obj/file2.o
obj/data.o
obj/menus.o

LIB
lib:amiga.lib (or lib:lvo.lib if you have it)
lib:lreqglue.o

TO
file

nodebug smallcode smalldata

BATCH

---cut here---cut here---cut here---cut here---cut here---cut here---cut here

and to use this linkfile, just say:

    blink with <linkfile>




\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

To link with areqglue.o (for Aztec), and example linkfile might look like this:



---cut here---cut here---cut here---cut here---cut here---cut here---cut here

ln -w +Q -o file1 o/file1.o lib:areqglue.o -lc

---cut here---cut here---cut here---cut here---cut here---cut here---cut here

and to use this linkfile, just say:

    ln -f <linkfile>


