Important: The information in this document is obsolete and should not be used for new development.
SetDepth
To change the pixel depth of a video device, use theSetDepthfunction.
FUNCTION SetDepth (aDevice: GDHandle; depth: Integer; whichFlags: Integer; flags: Integer): OSErr;
aDevice- A handle to the
GDevicerecord of the video device whose pixel depth you wish to change.depth- 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 theHasDepthfunction to ensure that the device supports this depth.whichFlags
ThegdDevTypeconstant, which represents a bit in thegdFlagsfield of theGDevicerecord. (If this bit is set to 0 in theGDevicerecord, the video device is black and white; if the bit is set to 1, the device supports color.)flags- 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.DESCRIPTION
TheSetDepthfunction sets the video device you specify in theaDeviceparameter to the pixel depth you specify in thedepthparameter, and it sets the device to either black and white or color as you specify in theflagsparameter. You should use theHasDepthfunction to ensure that the video device supports the values you specify toSetDepth. TheSetDepthreturns zero if successful, or it returns a nonzero value if it cannot impose the desired depth and display mode on the requested device.The
SetDepthfunction does not change the'scrn'resource; when the system is restarted, the original depth for this device is restored.SPECIAL CONSIDERATIONS
Your application should useSetDepthonly 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 usesSetDepth. Such a dialog box saves the user the trouble of going to the Monitors control panel before returning to your application.The
SetDepthfunction may move or purge blocks of memory in the application heap. Your application should not call this function at interrupt time.SEE ALSO
See the chapter "Dialog Manager" in Inside Macintosh: Macintosh Toolbox Essentials for information about creating and using dialog boxes.