============================================================================= Official release of version 1.22, Jan '90 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 all that intuition offers the programmer is a boring, inflexible, slow, painful requester, req.library allows fast & user-friendly requesters. Notice I said 'requesters', as they include a text requester (who's size is automatically figured from the body of text within), a colour requester (intelligent enough to correctly size it's palette according to the depth of the screen), string and int requesters, and a file requester!!! Not to mention numerous gadget creation routines, and a real-time scroll routine. The nice thing about the gadget creation routines, is that they create fully re-entrant gadgets, so if you wish to run a routine over and over (for, say, a multi-window program), you may feel free. All you do is pass a buffer (the sizes required are defined in reqbase.i and reqbase.h) and they will fill it in. (Please see req.doc for a more comprehensive explanation). Here is an overview of the files included in this ZOO archive: reqreadme This file. areqglue.o Gluecode for aztec C. Link with your C code. lreqglue.o Gluecode for Lattice C. Link with your C code. 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. macros.i Some handy macros. ----------------------------------------------------------------------------- Included is a demo program called Showoffreq, which opens a screen with text gadgets in it, one per requester, and lets you try out many of the requesters. You can look at the source code for examples of how to call the different requesters. 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 showoffreq -oo/showoffreq.o 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:lreqglue.o LIB lib:amiga.lib 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 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ To link with areqglue.o (for Aztec), an 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