Ejemplo n.º 1
0
//-------------------------------------------------------------------------------
//
// WriteScriptParameters
//
// Write our parameters to the Photoshop scripting system in case we are being
// recorded in the actions pallete.
//
//-------------------------------------------------------------------------------
OSErr WriteScriptParameters(void)
{
    OSErr err = noErr;
    PIWriteDescriptor token = NULL;
    PIDescriptorHandle h;
    const double percent = gParams->percent;

    PIDescriptorParameters*	descParams = gFilterRecord->descriptorParameters;
    if (descParams == NULL) return err;

    WriteDescriptorProcs* writeProcs = gFilterRecord->descriptorParameters->writeDescriptorProcs;
    if (writeProcs == NULL) return err;

    token = writeProcs->openWriteDescriptorProc();
    if (token != NULL)
    {
        writeProcs->putUnitFloatProc(token,
                                     keyAmount,
                                     unitPercent,
                                     &percent);
        writeProcs->putEnumeratedProc(token,
                                      keyDisposition,
                                      typeMood,
                                      DialogToScript(gParams->disposition));
        if (gParams->ignoreSelection)
            writeProcs->putBooleanProc(token,
                                       keyIgnoreSelection,
                                       gParams->ignoreSelection);
        gFilterRecord->handleProcs->disposeProc(descParams->descriptor);
        writeProcs->closeWriteDescriptorProc(token, &h);
        descParams->descriptor = h;
        descParams->recordInfo = plugInDialogOptional;
    }
    else
    {
        return errMissingParameter;
    }
    return err;
}
Ejemplo n.º 2
0
void PutKeysAction::PutEnum(DescriptorKeyID key, DescriptorEnumID e, DescriptorEnumTypeID type)
{
	SPErr iErr = writeProcs->putEnumeratedProc(m_Token, key, type, e);
	if(iErr)
		throw ExceptionSPErr(StringUtil::ssprintf("PutKeysAction::PutEnum(%08x)", key), iErr);
}