This is not the perfect color scheme. It is the one
this library runs on. The color scheme relates to SuperLib functions,
and will not affect your other color usage.
Basically, when a SuperLib metafunction is called, it
will usually have a main screen, a menu, and a number of popups
and other attached screens. Rather than have a burned-in color
set, or use SETCOLOR() as the default, SuperLib has a dynamic
color scheme, which may be changed and stored by both the
programmer and the end-user.
Several global color settings are used by SuperLib
functions. The settings are accessed and set via a set of
functions calls, which themselves access a set of STATIC
variables. The functions are:
<cSetting> := sls_normcol([cNew]) For normal output
<cSetting> := sls_normmenu([cNew]) For normal 'menu to'
<cSetting> := sls_popcol([cNew]) For popup box colors
<cSetting> := sls_popmenu([cNew]) For popup box menus
<cSetting> := sls_frame([cNew]) Frame string
<nSetting> := sls_shadatt([nNew]) Shadow color attribute
<nSetting> := sls_shadpos([nNew]) Shadow position
(0,1,3,7,9) to match the numeric keypad
<lSetting> := sls_xplode([lNew]) Logical - explode
popups
All colors are of the format "fg/bg,fg/bg,,,fg/bg"
(fg-foreground bg-background) except for shadow
attribute, which is numeric.
By default, a monochrome set of colors is used. You
may call the function SATTCOLOR() to make the 'color' colors the
default.
The function SETCOLORS() allows interactive setting
of these colors. The variables are stored in COLORS.DBF, which
contains multiple sets of colors.
You may override the Clipper ISCOLOR() by
initializing another setting accessed via the function
SLS_ISCOLOR(), and setting it to True or False. This is helpful
in instances where ISCOLOR() sees a color card with a monochrome
monitor, or some such combination.
If you are upgrading from 2.50 or previous, see
"Upgrading" in the appendix.