 |
GrayOn |
Function (tigcc.a) |
Activates grayscale mode with four shades of gray.
GrayOn activates grayscale mode. This works on both hardware version 1 and 2
calculators because the calculator type is detected automatically.
See GrayAdjust for information on how to reduce flickering
on HW2 calculators as much as possible.
The GrayMode function as well as the constants defined in the enum GrayModes still exist
to maintain compatibility with programs written before TIGCC v0.91. In fact, GrayMode is
now defined as a macro which optimizes into a call to GrayOn or GrayOff if you call it with
a constant value.
GrayOn returns FALSE if there was an error in switching to grayscale
mode, otherwise it returns TRUE. Don't forget to switch off grayscale mode
before your program terminates, or your TI will crash very soon!
Here is an example of a program for testing grayscale mode (called "Gray Test Project"), which displays 3 squares on the
screen, each with a different level of gray (see other functions from this header file and
from the graph.h header file for an explanation about how it works):
// Grayscale test program for TIGCC
#define USE_TI89
#define USE_TI92PLUS
#define USE_V200
#define MIN_AMS 100
#define SAVE_SCREEN
#include <tigcclib.h>
void _main(void)
{
if (!GrayOn ())
return;
GraySetAMSPlane (LIGHT_PLANE);
ClrScr ();
ScrRectFill (&(SCR_RECT){{20,20,40,40}}, ScrRect, A_NORMAL);
ScrRectFill (&(SCR_RECT){{80,20,100,40}}, ScrRect, A_NORMAL);
GraySetAMSPlane (DARK_PLANE);
ClrScr ();
ScrRectFill (&(SCR_RECT){{50,20,70,40}}, ScrRect, A_NORMAL);
ScrRectFill (&(SCR_RECT){{80,20,100,40}}, ScrRect, A_NORMAL);
ngetchx ();
GrayOff ();
}
Starting from release 2.2 of the library, it is safe to call GrayOn
even if grayscale mode is already on, and to call GrayOff
even if grayscale mode is already off.
Uses: HeapAllocHigh, HeapDeref, PortSet
Used by: GrayMode, GrayOnThrow
See also: GrayOff, GrayOnThrow