bool color::convert(CJS_Runtime* pRuntime, const std::vector<CJS_Value>& params, CJS_Value& vRet, CFX_WideString& sError) { int iSize = params.size(); if (iSize < 2) return false; CJS_Array aSource; if (!params[0].ConvertToArray(pRuntime, aSource)) return false; CPWL_Color crSource; ConvertArrayToPWLColor(pRuntime, aSource, &crSource); CFX_ByteString sDestSpace = params[1].ToCFXByteString(pRuntime); int nColorType = COLORTYPE_TRANSPARENT; if (sDestSpace == "T") { nColorType = COLORTYPE_TRANSPARENT; } else if (sDestSpace == "G") { nColorType = COLORTYPE_GRAY; } else if (sDestSpace == "RGB") { nColorType = COLORTYPE_RGB; } else if (sDestSpace == "CMYK") { nColorType = COLORTYPE_CMYK; } CJS_Array aDest; CPWL_Color crDest = crSource.ConvertColorType(nColorType); ConvertPWLColorToArray(pRuntime, crDest, &aDest); vRet = CJS_Value(pRuntime, aDest); return true; }
FX_BOOL color::convert(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError) { v8::Isolate* isolate = GetIsolate(cc); int iSize = params.size(); if (iSize < 2) return FALSE; CJS_Array aSource(isolate); if (!params[0].ConvertToArray(aSource)) return FALSE; CPWL_Color crSource; ConvertArrayToPWLColor(aSource, crSource); CFX_ByteString sDestSpace = params[1].ToCFXByteString(); int nColorType = COLORTYPE_TRANSPARENT; if (sDestSpace == "T") { nColorType = COLORTYPE_TRANSPARENT; } else if (sDestSpace == "G") { nColorType = COLORTYPE_GRAY; } else if (sDestSpace == "RGB") { nColorType = COLORTYPE_RGB; } else if (sDestSpace == "CMYK") { nColorType = COLORTYPE_CMYK; } CJS_Array aDest(isolate); CPWL_Color crDest = crSource; crDest.ConvertColorType(nColorType); ConvertPWLColorToArray(crDest, aDest); vRet = aDest; return TRUE; }