| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "core/fxcodec/codec/codec_int.h" | 7 #include "core/fxcodec/codec/codec_int.h" |
| 8 #include "core/fxcodec/include/fx_codec.h" | 8 #include "core/fxcodec/include/fx_codec.h" |
| 9 #include "third_party/lcms2-2.6/include/lcms2.h" | 9 #include "third_party/lcms2-2.6/include/lcms2.h" |
| 10 | 10 |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 TransferProfileType(pOutputProfile, pOutputParam->dwFormat); | 493 TransferProfileType(pOutputProfile, pOutputParam->dwFormat); |
| 494 if (dwInputProfileType == 0 || dwOutputProfileType == 0) { | 494 if (dwInputProfileType == 0 || dwOutputProfileType == 0) { |
| 495 return NULL; | 495 return NULL; |
| 496 } | 496 } |
| 497 void* pProofProfile = NULL; | 497 void* pProofProfile = NULL; |
| 498 if (pProofParam) { | 498 if (pProofParam) { |
| 499 pProofProfile = CreateProfile(pProofParam, Icc_CLASS_PROOF, &key); | 499 pProofProfile = CreateProfile(pProofParam, Icc_CLASS_PROOF, &key); |
| 500 } | 500 } |
| 501 key << dwInputProfileType << dwOutputProfileType << dwIntent << dwFlag | 501 key << dwInputProfileType << dwOutputProfileType << dwIntent << dwFlag |
| 502 << (pProofProfile != NULL) << dwPrfIntent << dwPrfFlag; | 502 << (pProofProfile != NULL) << dwPrfIntent << dwPrfFlag; |
| 503 CFX_ByteStringC TransformKey(key.GetBuffer(), key.GetSize()); | 503 CFX_ByteString TransformKey(key.GetBuffer(), key.GetSize()); |
| 504 CFX_IccTransformCache* pTransformCache; | 504 CFX_IccTransformCache* pTransformCache; |
| 505 auto it = m_MapTranform.find(TransformKey); | 505 auto it = m_MapTranform.find(TransformKey); |
| 506 if (it == m_MapTranform.end()) { | 506 if (it == m_MapTranform.end()) { |
| 507 pCmm = FX_Alloc(CLcmsCmm, 1); | 507 pCmm = FX_Alloc(CLcmsCmm, 1); |
| 508 pCmm->m_nSrcComponents = T_CHANNELS(dwInputProfileType); | 508 pCmm->m_nSrcComponents = T_CHANNELS(dwInputProfileType); |
| 509 pCmm->m_nDstComponents = T_CHANNELS(dwOutputProfileType); | 509 pCmm->m_nDstComponents = T_CHANNELS(dwOutputProfileType); |
| 510 pCmm->m_bLab = T_COLORSPACE(pInputParam->dwFormat) == PT_Lab; | 510 pCmm->m_bLab = T_COLORSPACE(pInputParam->dwFormat) == PT_Lab; |
| 511 pTransformCache = new CFX_IccTransformCache(pCmm); | 511 pTransformCache = new CFX_IccTransformCache(pCmm); |
| 512 if (pProofProfile) { | 512 if (pProofProfile) { |
| 513 pTransformCache->m_pIccTransform = cmsCreateProofingTransform( | 513 pTransformCache->m_pIccTransform = cmsCreateProofingTransform( |
| (...skipping 1463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1977 uint8_t c1 = FXSYS_round(c * 255); | 1977 uint8_t c1 = FXSYS_round(c * 255); |
| 1978 uint8_t m1 = FXSYS_round(m * 255); | 1978 uint8_t m1 = FXSYS_round(m * 255); |
| 1979 uint8_t y1 = FXSYS_round(y * 255); | 1979 uint8_t y1 = FXSYS_round(y * 255); |
| 1980 uint8_t k1 = FXSYS_round(k * 255); | 1980 uint8_t k1 = FXSYS_round(k * 255); |
| 1981 uint8_t r, g, b; | 1981 uint8_t r, g, b; |
| 1982 AdobeCMYK_to_sRGB1(c1, m1, y1, k1, r, g, b); | 1982 AdobeCMYK_to_sRGB1(c1, m1, y1, k1, r, g, b); |
| 1983 R = 1.0f * r / 255; | 1983 R = 1.0f * r / 255; |
| 1984 G = 1.0f * g / 255; | 1984 G = 1.0f * g / 255; |
| 1985 B = 1.0f * b / 255; | 1985 B = 1.0f * b / 255; |
| 1986 } | 1986 } |
| OLD | NEW |