Important: The information in this document is obsolete and should not be used for new development.
SetDepthTo change the pixel depth of a video device, use the
FUNCTION SetDepth (aDevice: GDHandle; depth: Integer; whichFlags: Integer; flags: Integer): OSErr;
- A handle to the
GDevicerecord of the video device whose pixel depth you wish to change.
- The mode ID returned by the
HasDepthfunction (described in the previous section) indicating that the video device supports the desired pixel depth. Alternatively, you can pass the desired pixel depth directly in this parameter, although you should use the
HasDepthfunction to ensure that the device supports this depth.
gdDevTypeconstant, which represents a bit in the
gdFlagsfield of the
GDevicerecord. (If this bit is set to 0 in the
GDevicerecord, the video device is black and white; if the bit is set to 1, the device supports color.)
- The value 0 or 1. If you pass 0 in this parameter, the
SetDepthfunction changes the video device to black and white; if you pass 1 in this parameter,
SetDepthchanges the video device to color.
SetDepthfunction sets the video device you specify in the
aDeviceparameter to the pixel depth you specify in the
depthparameter, and it sets the device to either black and white or color as you specify in the
flagsparameter. You should use the
HasDepthfunction to ensure that the video device supports the values you specify to
SetDepthreturns zero if successful, or it returns a nonzero value if it cannot impose the desired depth and display mode on the requested device.
SetDepthfunction does not change the
'scrn'resource; when the system is restarted, the original depth for this device is restored.
SPECIAL CONSIDERATIONSYour application should use
SetDepthonly if your application can run on devices of a particular pixel depth and is unable to adapt to any other depth. Your application should display a dialog box that offers the user a choice between changing to that depth or canceling display of the image before your application uses
SetDepth. Such a dialog box saves the user the trouble of going to the Monitors control panel before returning to your application.
SetDepthfunction may move or purge blocks of memory in the application heap. Your application should not call this function at interrupt time.
SEE ALSOSee the chapter "Dialog Manager" in Inside Macintosh: Macintosh Toolbox Essentials for information about creating and using dialog boxes.