============================================================================= Official release of version 1.2, October '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 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 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