STSLib ====== SciTech Software 23, Stag Leys Ashtead Surrey KT21 2TD Tel.: +44 (0372) 275775 STSLib is a commercial product. However, the linkable library is being distributed through public domain collections such as the Fish Disk series. Our intention is thus to bring programmers STSLib at a minimum cost, by removing overheads such as advertising. To use STSLib in your own software (whether for your own use, public domain, shareware or commercial distribution) you must pay the licence fee of £20.00 sterling to SciTech Software. In addition to the right to use STSLib in your own software, this licence fee will get you a disk containing the latest version of STSLib, source code for STSLib and a printed and bound manual (>50 A5 pages) explaining the functions which STSLib supplies and how to use them. Distribution Information ======================== You are encouraged to pass the Blink compatible library on to your friends, include it in public domain libraries, etc., subject to the following conditions: o You must charge no more than a nominal distribution/copying fee (a maximum of £4.00 in the U.K.). o This file (STSLib.readme) must be included in the distribution. o If you are releasing your own public domain or shareware software which uses STSLib, you must have paid the registration (licence) fee to SciTech Software. You should also acknowledge SciTech Software in the program and/or its accompanying documentation. o You must NOT distribute the documentation on the use of STSLib (which is only available if you have paid the licence fee) in any form whatsoever. o You must NOT distribute the STSLib source code (which is only available if you have paid the licence fee). o The Blink library may not be distributed with a commercial product unless you have gained prior permission from SciTech Software, although executables resulting from linking with STSLib may be distributed subject to the following condition. o Executables resulting from linking with STSLib may only be distributed if you have paid the registration (licence) fee to SciTech Software. You should also acknowledge SciTech Software in the program and/or its accompanying documentation. If you are not distributing your own public domain or shareware software with the Blink library, you are requested to distribute a program such as PrLabel from SciTech Software which uses STSLib. Introduction - What is STSLib? ============================== Utility software such as PowerWindows (PowerWindows is a trademark of InovaTronics, Inc.) allows the easy creation of screens, windows, gadgets and menus for the Amiga's Intuition (Amiga, AmigaDOS and Intuition are trademarks of Commodore-Amiga, Inc.) interface. However, these utilities create static structures which greatly increase the amount of source code which needs to be handled and creates large executables. In addition, at present none of these utilities support the 3D-look of AmigaDOS V2.0. AmigaDOS V2.0 now supplies a library of routines known as `gadtools'. These routines allocate memory and create 3D-look gadgets using function calls rather than the programmer having to define static structures. However, programs written to use these functions are not compatible with Amigas running AmigaDOS V1.3 and programmers wishing to write code which will run on the widest range of machines must either ignore gadtools or write code conditional on the operating system version. In addition, the calls to gadtools routines are somewhat complex. STSLib is similar to gadtools. It allocates space for gadgets and menus supplying 3D-look AmigaDOS V2.0 style gadgets to programmers in a form which is compatible with both AmigaDOS V1.3 and V2.0. STSLib is able to select pens intelligently for the top-left and bottom-right of gadgets such that the 3D-look will appear lit from the top left under the vast majority of screen colour combinations. AmigaDOS V2.04 gadtools performs badly in this respect, always selecting pen 2 for the top-left and pen 1 for the bottom-right. Routines are available to build the check box, radio button and cycle gadgets found in gadtools as well as boolean, string, and slider gadgets. Routines are also supplied to allocate and build Menu and MenuItem structures. As with the gadtools routines, these take account of the font size being used for menus and correctly scale the menus to cope with large or small fonts. Another routine allows pairs of menu items or sub-items to be made mutually exclusive. Miscellaneous routines include those for creating windows, treating windows as requesters, creating IntuiText structures, drawing raised or depressed frames and freeing memory allocated by the other routines. Additionally, a replacement for AutoRequest() is supplied which produces a more attractive requester under V1.3. The C calls used to create menus and gadgets are easier to use than those supplied with gadtools. This ease of use means that some of the flexibility of gadtools is missing in the supplied calls. However, since the gadgets and menus created are standard Intuition structures (unlike gadtools), they may be further modified by the programmer if required. Additionally, source code for the routines is available and the programmer may modify this to satisfy particular requirements. STSLib V1.0 does not support the composite gadget types provided by gadtools. These include sliders with associated arrow gadgets and sliders which display a value. The software is fully compatible with AmigaDOS V2.0, the enhanced chip set and the Amiga A3000 as well as earlier machines and AmigaDOS V1.3