Prog_Bar Features
Prog_Bar is a library of functions for creating and managing progress bars within another program. It provides quite a bit of flexibility, not just in the visual appearance of the bars, but also in the behaviour of the bars.

If necessary all of the settings of a bar may be changed with a single function call and a suitable set of parameters. Below is a summary of the available settings and their possible values. Hopefully this will give you an indication of just what the library is capable of.
- Co-ordinates - The horizontal and vertical position of the progress bar may both be changed independently. The values are measured in pixels from the top left corner of the window, and each can be anywhere in the range from 0 to 65535 inclusive. No validation is done so it is possible (but pointless) to place the bar beyond the edge of the window.
- Dimensions - These settings control the visual size of the progress bar. Each (width and height) is measured in pixels and can be changed independently, so it is possible to make a bar which is tall, wide, or even square. They can range from 0 to 65535 and will not be validated. If your bar extends beyond the limits of the window it will be cropped at the edge. Setting either of them to 0 will remove the bar's imagery from the display, which might be useful for creating a counter.
- Direction - The Direction in which the progress bar expands may also be changed. The four
available options are
- from left to right (this is the default direction),
- from right to left,
- from the bottom up, or
- from the top down.
- Colours - There are four colour settings which may each be set to any colour in the screen's
palette. The four settings are
- The bar's foreground (the bit that grows as the value increases),
- The bar's background (the bit that shrinks),
- The text's foreground, and finally
- The text's background.
- Border Type - The type of border which will be drawn around the progress bar may be selected
from several possibilities. The available options are
- no border,
- a plain black border (this is the default),
- a recessed border (the bar appears sunken into the screen),
- a raised border (the bar appears to be in lifted out of the screen), and finally
- a ridge effect border.
- Logical Size - This is the value represented by the full bar and is not related to the bar's visual dimensions. The minimum acceptable value is 1 (the bar can be empty or filled) and the maximum is 65535 (empty, filled and just about anywhere in between).
- Value - The logical value of the progress bar is the value represented by the filled portion of the bar, and may be any value between 0 (completely empty) and the size of the bar (completely filled).
- Text - Each progress bar may have an optional text display in addition to its graphical
imagery. By default this text will be disabled, but if used it may be displayed in one of two formats. These are
- as the fraction "Value/Size", for example "67/153", and
- as a percentage of the bar's size, for example "44%".
- centred below the progress bar (the default setting),
- centred above the bar,
- vertically centred at the left hand side of the bar,
- vertically centred at the right hand side of the bar, and finally
- centred inside the bar (If it will not fit within the borders of the progress bar, it will not be displayed).