home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 432b.lha / EzLib / README < prev    next >
Text File  |  1990-11-10  |  5KB  |  132 lines

  1.                  Ez Lib
  2.          A link time library to make life easy
  3.          -------------------------------------
  4.  
  5.     Howdy.  You have just gotten your greedy little hands on a library
  6. called Ez.lib.    Ez.lib is a link time library which provides numerous calls
  7. to access many Intuition features without the normal hassle.  There are
  8. single line calls to open any type of screen, window, or boolean gadget.
  9.  
  10.     This library is my effort at making the Amiga a little bit less of a
  11. bear to program.  You can now do something like this:
  12.  
  13.         struct Screen *screen;
  14.  
  15.         screen = makescreen(HIRES|LACE, 4); /* 640x400x16 color */
  16.         if (screen == NULL)
  17.           error_no_screen();
  18.  
  19.     As you can see from the above code, you will save yourself HOURS of
  20. time with a single function call.  No more hassling around worrying about
  21. BitMap structures etc....  The makescreen() call will even check to make
  22. sure that Graphics.library and Intuition.library are opened.  Working with
  23. screens, windows, and boolean gadgets now becomes trivial.
  24.  
  25.     In addition there are two "widgets" in the library.  The first widget
  26. is getyn().  It will simply return true or false depending on how the user
  27. clicked the AutoRequest().  NOTE: this function was taken from M. Dillon's
  28. DME, however I did enhance it somewhat.
  29.     The other "widget", getstring() will pop open a small window to get a
  30. string of input from the user.    It is about as difficult to use as fgets()
  31. or similar - making it easy to create Intuitionized programs.
  32.  
  33.     For the more hacker types there are a few lower level functions
  34. which you can call if you wish.  These provide access to properly allocated
  35. and filled in BitMaps, Gadgets, and other things.
  36.  
  37.  
  38.  
  39.  
  40.                Installing and Using Ez.lib
  41.                ---------------------------
  42.  
  43.     What do you have to do to use all these nifty and wonderful things?
  44.  
  45.     Not much.  The included library is for Manx 3.6.  If you have Manx 5.0
  46. you will just have to recompile the modules and use LB to make the library.
  47. You can find out more about this by looking at the makefile in the SRC
  48. directory.
  49.  
  50.     If you have Lattice, you will have to recompile the modules and then
  51. use whatever tool is provided with Lattice to make a link time library.  I
  52. don't have Lattice so I can't help you too much.  Basically all there is in
  53. the SRC directory is a bunch of individual source modules which need to be
  54. compiled.  Granted the code isn't ANSI C, but it should compile without too
  55. many warnings (I hope ;^)
  56.  
  57.     After you have the correct version of the library, you simply need to
  58. put it where your compiler will find it.  Same thing for the header file.
  59. You can just put these wherever your setup looks for them.
  60.  
  61.     Then, when you write a program that uses Ez.lib, you just
  62.  
  63.          #include <ezlib.h>
  64.  
  65. at the beginning of your program.  When you get to the linking stage,
  66. simply link with ez.lib (e.g. "ln -o demo demo.o -lez -lc") and you are
  67. done.  That's it, no more no less.
  68.  
  69.  
  70.  
  71.  
  72.             Other things of interest
  73.             ------------------------
  74.  
  75.     The full docs for each of the functions in Ez.lib are in the DOC
  76. directory.  Poke around there for more info.
  77.  
  78.     The SRC directory just contains the individual files that provide the
  79. functionality.    You can sniff through here if you don't trust my coding or
  80. to see if I did something wrong (hey, if I did I'd like to hear about it,
  81. as I certainly don't want trashy code floating around with my name on it :)
  82.  
  83.     The demo that is in the root level is just a simple demo which
  84. exercises each of the features in Ez.lib.  As you can see it is less than
  85. 9K and does a fair amount.  BTW, it looks for a font.  If you don't have it
  86. it's no big deal, but just so you know.
  87.  
  88.     The DEMOS directory contains a few programs that show how to use the
  89. library.  They are all very simple, purposely, so that you can see how the
  90. library is used.
  91.  
  92.  
  93.  
  94.                 Final Notes
  95.                 -----------
  96.  
  97.     At the moment the gadget creation facilities are somewhat plain.  They
  98. just create simple box affairs.  I'm looking into changing this to a more
  99. 3-D'ish look.  Don't worry though as the changes would be transparent to
  100. you - they would just require a re-compile.
  101.  
  102.     I'm going to continue to add functionality to this library as needed.
  103. I'd like access to string gadgets and ideally prop gadgets too (but I
  104. understand this is much easier in 2.0, so I may not bother).  I'm probably
  105. going to add some Rexx code that I have written (to send/receive rexx
  106. messages in an abstract way - i.e. send_rxmsg(string) ).  I also have a few
  107. routines to work with ARP, and chances are they will be in the next
  108. release too.
  109.  
  110.     I hope that this library will now make it easy for you to say - "Hey
  111. I've got this neat idea, let me do it."  Instead of (what I used to do)
  112. "Aww man, it's too much hassle to open a {window,screen,gadget}".
  113.  
  114.     I would also like feedback on these routines and ways to improve them.
  115. They work fine for me, but maybe not for you.  If so, lemme know.
  116.  
  117.  
  118. --dominic giampaolo
  119.   Appt. # 8067 West
  120.   4201 Mass. Ave.
  121.   Washington, D.C. 20016
  122.  
  123. E-Mail    :    nick@chopin.uunet.uu.net     >
  124.              or          |
  125.            uunet!chopin!nick     >---- preferred
  126.              or          |
  127.         chopin!nick@uunet.uu.net     >
  128.              or
  129.           giampal@auvm.bitnet
  130.  
  131.  
  132.