The ACS Appearance classes implement the "Apple Grayscale Appearance" for System 7, and provide a foundation for support of the Appearance Manager extension. Apple has published the visual specifications for grayscale user interface components under System 7 that are consistent with the Appearance Manager default theme. The Appearance suite implements this appearance in a set of core C++ classes, plus a set of "adapter" classes for MacApp and the toolbox Dialog Manager, that make it really easy for developers to add to their applications.
The core Appearance classes are provided in the ACS suites:Appearance folder. These classes are not framework-specific. In addition to implementing the complete set of Apple Grayscale Appearance controls, the Appearance classes provide several additional features that you can take advantage of:
In addition to the core Appearance classes, there are MacApp and Dialog Manager adapter classes:
In order to support friendly co-existence with the Appearance Manager and with popular user-installed system extensions, The Appearance suite has the ability to "suppress" its own handling of the standard Control Manager controls at runtime. This allows the Appearance Manager or the extensions Aaron and Kaleidoscope to draw the controls.
The default behavior of the Appearance suite is to detect the Appearance Manager, Aaron, or Kaleidoscope, via Gestalt() calls during InitAGA_AC(). If it encounters any of these, it will let them take over control drawing. The MacApp framework automatically calls this initialization function as part of its initialization.
Control suppression is handled by calling SetEmulateControls_AC() after InitAGA_AC() and before creating any Appearance controls.
These are the core AGA classes that do most of the work. See the header and implementation files in ACS Appearance for usage instructions. If you are using the MacApp view classes, you will probably not instantiate core class objects directly (although you certainly can, especially if you are using the Dialog Manager adapter with the new controls).
CButton_AC |
Standard push button control, with optional default button outline. |
CCheckBox_AC |
Standard check box control, with mixed-state capability. |
CCluster_AC |
Standard primary and secondary group boxes, with or without a title, or with gap for separate title object. |
CControl_AC |
Base class for ACS Appearance controls. |
CDisclosureTriangle_AC |
Standard disclosure triangle, with automatic animation. |
CIconButton_AC |
Standard icon button control, with push button behavior. Supports icon family, cicn, and PICT resources. |
CIconCheckBox_AC |
Standard icon button control, with check box behavior. Supports icon family, cicn, and PICT resources. |
CIconRadio_AC |
Standard icon button control, with radio button behavior. Supports icon family, cicn, and PICT resources. |
CIndicator_AC |
Base class for ACS Appearance controls that have a value indicator (on/off, etc.). |
CPopup_AC |
Standard popup menu control, with choice of horizontal resizing behavior. |
CProgressIndicator_AC |
Standard determinate and indeterminate progress indicators. |
CRadioButton_AC |
Standard radio button control, with mixed-state capability. |
CScrollBar_AC |
Standard scroll bar control, with options for live scrolling and proportional thumb. |
CSeparator_AC |
Standard separator line. |
CSlider_AC |
Standard slider control, labeled or unlabeled, horizontal or vertical, left- or right-oriented, with options for live tracking and proportional indicator. |
CStaticText_AC |
Simple text object that knows how to dim and erase on a gray background. |
CTabbedView_AC |
Standard tab panel, with or without box frame, in small or large tab format. |
CUpDownControl_AC |
Standard little arrows control. |
There are also some AGA imaging functions used by the core and adapter classes that you may find useful.
AGAStringOut |
Draws a single line of text with truncation, style, and coloring options. |
AGATextBox |
Draws text with line wrapping like TETextBox, with style and coloring options. |
AGABackgroundPaint |
Paints a window background of the specified kind, with optional grow box notch. |
AGAInstallGrayWCTB |
Installs a gray ramp as the window's 'wctb' background. |
AGADrawBorderFrame |
Draws a shaded "3D" sunken border frame around an area, with optional grow box notch. |
AGADrawSeparator |
Draws an indented "3D" separator line. |
The Appearance suite classes require Color QuickDraw and System 7, and support multiple screen devices including 1-bit drawing and monitor spanning.
The supplied MacApp example programs have been compiled using CodeWarrior 11 targeting both 68K and PowerPC.