Please enable JavaScript to view this site.

ASQL Reference

Navigation: » No topics above this level «

Beveling

Scroll Prev Top Next More

Beveling has been largely superceded by more powerful GUI enhancements, although is still of interest for traditional text mode programs.

Beveling is the term we have given to a display enhancement that uses shading to give a three dimensional (or "beveled") appearance to certain display features. Currently this affects only line drawing characters (such as box borders) and input fields (processed with INFLD), but may potentially be expanded to other features as opportunities are recognized. It may be turned on (and saved with the other settings) via the Settings menu, or it may be turned on and off under program control, using AG_BEVEL.

Most people prefer the beveled look, at it gives the application a more "Windows-like" appearance, but for best results you should follow the guidelines and tips described below.

Since the effect is produced by drawing lines in lighter and darker shades of the background color (to simulate the effect of light and shadow), it requires that you use a "middle-range" background color. By "middle-range", we mean one whose R, G, and B values are somewhere in the middle between 0 and 255. The worst case is black (RGB=0,0,0) or white (RGB=255,255,255), since there is no way to make a darker version of black or a lighter version of white. But in fact, most of the standard colors are hardly any better, since they are typically made up of various combinations of 0 and 255. For example, the typical blue is made up of R=0,G=0,B=255; yellow is typically R=255,G=255,B=0. It is possible to simulate darker and lighter shades of such colors, but the effect is not as good as with colors whose RGB values are, say, between 50 and 200. The best results are probably achieved with the standard Windows gray background, which is R=192,G=192,B=192, although any pastel color will work well both in terms of making the beveling stand out and in terms of making the application appear at first glance to be more Windows-like than DOS-like.  

You can redefine the RGB values for the standard color numbers 0-15 either via the Custom Colors option in the Settings...Colors dialog, or via AG_SETCOLOR. Also note that as an alternative to explicitly defining a suitable background color via RGB codes, you can use MX_SYSBCLR or SET TERM SYSBCOLOR to associate one of the standard numeric colors 0-7 with the current Windows background color, which is typically gray but changes according to the desktop color scheme selected in the Windows control panel.

When drawing boxes or grids using line drawing characters, the beveling effect looks best if you make the background color of the lines (or box border, if using a routine such as MSBOXXxs) match the background color of the surrounding screen area.

To maximize the Windows-like effect of the beveled (sunken) INFLD fields, you may want to experiment with the INFLD color parameters, for example, making the background of the field light gray while editing it and then returning it to the surrounding background color once the field is updated. (This has nothing to do with beveling but it is often nice to select a redisplay foreground color that is slightly different from the initial data foreground color to highlight those fields that have been edited.) The easiest way to experiment with INFLD color parameters is via the INI.CLR file or under MX_INICLR.