                            GadUtil.library v36.57
                            ~~~~~~~~~~~~~~~~~~~~~~
    GadUtil is another gui library which main goal was to make it easy to
    create font sensitive user interfaces. The library has grown away from
    this main goal, and become another useful-routine-library.

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Distribution:

        1) Distribution of this library is allowed in two ways:
             ) Only the .library file
             ) The complete distribution

        2) Programmers of totally free software can use and distribute this
          library for free.

        3) Programmers of Shareware, Licensware, commercial products and other
           programs that the programmer get any kind of profit from shall send
           a fully working (and registered) copy of the program and its docs to
           us. All larger updates of the program should also be sent to us.
          
        4) Programmers of non-free software not covered by 1) and 2) (my Diskware
           concept belongs to this group) shall be treated as in 3) (a fully
           working and registered copy...).

        5) All programs (except commercial products in some cases) must state
           that gadutil.library is used. This may be done in either the About
           requester or in the documentation, but best of all in both places.

           Demonstration programs for gadutil.library (that includes the full
           source) may be distributed without this note.

           Example for inclusion in About requester:

                "This program uses gadutil.library, which
                 is Copyright  1994-1995 by P-O Yliniemi
                 and Staffan Hml."

        6) All localized programs that uses this library should include the
           .ct file(s) to allow anyone to translate that program into their
           own language.
 

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Below is a list of some of the main functions covered by this library.

    * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
      WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!

    * Font adaptive. Use any of the system fonts and most other fonts for
      gadgets, texts and menus. All gadgets are placed relative to each
      other, but can be placed at absolute positions (needed for the first
      gadget).

    * No need to use GIMMEZEROZERO windows, as this is automatically handled
      by the library. If you specify a gadget position of 10,10 the gadget
      will be placed at 10,10 within the window's border.

    * Localized. It is really easy to localize all your (new) programs by
      using this library. Functions and macros for creating localized menus
      are supplied.

    * Both assembly and 'C' language support. This is one of the things that is
      missing in most of the other gui libraries. Some extra macros are defined
      for assembly language users, and will make the gadget and menu creating
      process even more easy.

    * All GadTools gadgets are supported. Some extra functions are provided
      for ListViews. BUTTON_KIND (and IMAGE_KIND) gadgets have some extra tags,
      including a toggle-select option.

      5 extended gadget types are handled by the library:
    
         FILE_KIND     - gadget for selecting a file.

         DRAWER_KIND   - gadget for selecting a drawer. Most programs also
                         use this gadget for file selection.

         IMAGE_KIND    - uses an intuition image for the gadget. Can use
                          different images for selected and non-selected state.

         BEVELBOX_KIND - gadtools bevelboxes, with some extensions. All
                          gadtools bevelboxes are supported (even with v37).
                          Extensions allows text to be placed above, in or below
                          the upper line of the box. All kinds can be inverted.

                          New for v36.52: Bevelbox text placement extended.
                          3 new placements available together with the old
                          ones: centered, left adjusted & right adjusted.

                          BFT_BUTTON   - GT v37 BUTTON_KIND border
                          BFT_RIDGE    - GT v37 STRING_KIND border
                          BFT_DROPBOX  - GT v39 BBFT_ICONDROPBOX border
                          BFT_HORIZBAR - A horizontal shadowed line
                          BFT_VERTBAR  - A vertical shadowed line

                          This makes it a total of 100 bevel box types. The bevel
                          boxes are treated as gadgets by the library, and you
                          can obtain the structure for the bevelbox in the same
                          way as you get the gadget pointer.

                          New for v36.53: Added optional shadow on bevel box text.
                          The shadow has a selectable color/pen and the "sun" can
                          be placed in four different positions.

         PROGRESS_KIND - progress indicator gadget. Background and fill color
                          can be selected. Supports values up to 4.294.967.295,
                          but maximum value should not exceed 4.294.967.295/width.
                          v36.55.

    * Can create the minimum required IDCMP mask so that all gadgets works.

    * A new OpenFont (graphics.library and diskfont.library replacement) is supplied.
      This function will open any font (from RAM, ROM or load it from disk).

    * Functions for listviews include adding nodes (memory for the string is
      allocated by the function), counting nodes, getting node pointers, clearing
      a listview, attach and detach lists, moving nodes up and down.

    * No need to open gadtools.library anymore, since all gadtools functions are
      provided through this library. Some (the most useable) functions from locale
      library are also provided by gadutil.

    * Many libraries are opened through gadutil.library, and these library bases
      are available for your own use (you don't have to open or close some libs).

    * All gadgets are created using tag lists. Every next gadget will use the
      previous gadgets values as defaults. Only one call to the gadget making
      routine is needed for every gadget list.

    * All gadgets can have their own hotkey. No extra work is needed by the
      programmer (only one extra tag).

    * Distributed with lots of examples, mostly in assembly language, but also
      in 'C'.

    * Other functions include:

         Status change for toggle select buttons.

         String change for STRING and TEXT_KIND gadgets.

         Disable functions for all gadget kinds (new for 36.56).

         Routines to set up a busy-pointer (available for both v37 and v39). These
          routines also blocks the input to the main window of the program.

         Routine to check if the mouse pointer is within a gadgets box. Useful
          for mouse-position sensitive appwindows.

         Bevelbox and window refreshing functions.

    * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
      WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!


  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Per-Olof Yliniemi                           Staffan Hml
        Box 78                                      Pellovgen 268
        S-980 61 Trend                            S-957 93 Pello
        SWEDEN                                      SWEDEN

        email:                                      email:
          P-O_Yliniemi@spectre.talshiar.pp.se         staffan_hamala@loyd.joy.se

        phone:
          +46-(0)978-20522

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
