summaryrefslogtreecommitdiff
path: root/core/fpdfapi/render/cpdf_transferfunc.cpp
diff options
context:
space:
mode:
authornpm <npm@chromium.org>2016-11-21 07:28:42 -0800
committerCommit bot <commit-bot@chromium.org>2016-11-21 07:28:43 -0800
commitca5300a2cb1332dbdcf877653658910ccdad5326 (patch)
tree0cbffc8e05edb58171951a984e1b029b7f9aff38 /core/fpdfapi/render/cpdf_transferfunc.cpp
parent88cb0a32586cae4d00654c679dbb41fa0133c3e5 (diff)
downloadpdfium-ca5300a2cb1332dbdcf877653658910ccdad5326.tar.xz
Continue splitting up render_int
Moved CPDF_ImageLoader, CPDF_ImageLoaderHandle, and CPDF_TransferFunc Review-Url: https://codereview.chromium.org/2518553002
Diffstat (limited to 'core/fpdfapi/render/cpdf_transferfunc.cpp')
-rw-r--r--core/fpdfapi/render/cpdf_transferfunc.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/fpdfapi/render/cpdf_transferfunc.cpp b/core/fpdfapi/render/cpdf_transferfunc.cpp
new file mode 100644
index 0000000000..a2cee3992d
--- /dev/null
+++ b/core/fpdfapi/render/cpdf_transferfunc.cpp
@@ -0,0 +1,25 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "core/fpdfapi/render/cpdf_transferfunc.h"
+
+#include "core/fpdfapi/parser/cpdf_document.h"
+#include "core/fpdfapi/render/render_int.h"
+
+CPDF_TransferFunc::CPDF_TransferFunc(CPDF_Document* pDoc) : m_pPDFDoc(pDoc) {}
+
+FX_COLORREF CPDF_TransferFunc::TranslateColor(FX_COLORREF rgb) const {
+ return FXSYS_RGB(m_Samples[FXSYS_GetRValue(rgb)],
+ m_Samples[256 + FXSYS_GetGValue(rgb)],
+ m_Samples[512 + FXSYS_GetBValue(rgb)]);
+}
+
+CFX_DIBSource* CPDF_TransferFunc::TranslateImage(const CFX_DIBSource* pSrc,
+ bool bAutoDropSrc) {
+ CPDF_DIBTransferFunc* pDest = new CPDF_DIBTransferFunc(this);
+ pDest->LoadSrc(pSrc, bAutoDropSrc);
+ return pDest;
+}