Carbon


CMMGetPS2ColorRenderingVMSize

Header: CMMComponent.h Carbon status: Unsupported

Handles the kCMMGetPS2ColorRenderingVMSize request by obtaining the maximum virtual memory (VM) size of the color rendering dictionary (CRD) for the rendering intent specified by the source profile.

CMError CMMGetPS2ColorRenderingVMSize (
    CMMComponentInst cmm, 
    CMProfileRef srcProf, 
    CMProfileRef dstProf, 
    UInt32 *vmSize
);
Parameter descriptions
cmm

A handle to your CMM’s storage for the instance of your component associated with the calling application or device driver.

srcProf

A profile reference to the source profile specifying the rendering intent to use.

dstProf

A profile reference to the destination printer profile from which you obtain or assess the virtual memory (VM) size of the CRD.

vmSize

The VM size of the CRD, returned by the function.

DISCUSSION

A CMM may respond to the kCMMGetPS2ColorRenderingVMSize request code, but it is not required to do so. The ColorSync Manager sends this request code to your CMM on behalf of an application that called the CMGetPS2ColorRenderingVMSize function. The ColorSync Manager dispatches this request to the Component Manager, which calls your CMM to service the request. A CMM typically responds to the kCMMGetPS2ColorRenderingVMSize request code by calling a CMM-defined function (for example, CMMGetPS2ColorRenderingVMSize) to handle the request.

Only for special cases should a custom CMM need to support this request code. If your CMM supports this function, your CMMGetPS2ColorRenderingVMSize function must obtain the maximum VM size of the CRD for the rendering intent specified by the source profile.

Your function must return the VM size in the vmSize parameter. (In turn, the ColorSync Manager returns the VM size to the calling application or device driver.) The CRD whose maximum size you return must be that of the dictionary for the rendering intent specified by the source profile.

If the destination profile contains the Apple-defined private tag 'psvm', described later in this section, then your CMM may read the tag and return the CRD VM size data supplied by this tag for the specified rendering intent. If the destination profile does not contain this tag, then you must assess the VM size of the CRD. In this case, the assessment may be larger than the actual maximum VM size.

The CMPS2CRDVMSizeType data type defines the Apple-defined 'psvm' optional tag that a profile may contain to identify the maximum VM size of a CRD for different rendering intents. This tag’s element data includes an array containing one entry for each rendering intent and its virtual memory size.

The CMIntentCRDVMSize data type defines the rendering intent and its maximum VM size:

struct CMIntentCRDVMSize { long rendering Intent; unsigned long VMSize; };

For example, a rendering intent might be 0 and its VM size 120 KB.

CARBON NOTES

CMMGetPS2ColorRenderingVMSize is an API to CMMs; use CMGetPS2ColorRenderingVMSize instead. Application developers should avoid calling CMMs directly, since they may or may not support a given API.


© 2000 Apple Computer, Inc. (Last Updated 7/17/2000)