summaryrefslogtreecommitdiff
path: root/fpdfsdk/pdfwindow/cpwl_color.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/pdfwindow/cpwl_color.cpp')
-rw-r--r--fpdfsdk/pdfwindow/cpwl_color.cpp176
1 files changed, 0 insertions, 176 deletions
diff --git a/fpdfsdk/pdfwindow/cpwl_color.cpp b/fpdfsdk/pdfwindow/cpwl_color.cpp
deleted file mode 100644
index 689c3dec45..0000000000
--- a/fpdfsdk/pdfwindow/cpwl_color.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2017 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 "fpdfsdk/pdfwindow/cpwl_color.h"
-
-#include <algorithm>
-
-namespace {
-
-bool InRange(float comp) {
- return comp >= 0.0f && comp <= 1.0f;
-}
-
-CPWL_Color ConvertCMYK2GRAY(float dC, float dM, float dY, float dK) {
- if (!InRange(dC) || !InRange(dM) || !InRange(dY) || !InRange(dK))
- return CPWL_Color(COLORTYPE_GRAY);
- return CPWL_Color(
- COLORTYPE_GRAY,
- 1.0f - std::min(1.0f, 0.3f * dC + 0.59f * dM + 0.11f * dY + dK));
-}
-
-CPWL_Color ConvertGRAY2CMYK(float dGray) {
- if (!InRange(dGray))
- return CPWL_Color(COLORTYPE_CMYK);
- return CPWL_Color(COLORTYPE_CMYK, 0.0f, 0.0f, 0.0f, 1.0f - dGray);
-}
-
-CPWL_Color ConvertGRAY2RGB(float dGray) {
- if (!InRange(dGray))
- return CPWL_Color(COLORTYPE_RGB);
- return CPWL_Color(COLORTYPE_RGB, dGray, dGray, dGray);
-}
-
-CPWL_Color ConvertRGB2GRAY(float dR, float dG, float dB) {
- if (!InRange(dR) || !InRange(dG) || !InRange(dB))
- return CPWL_Color(COLORTYPE_GRAY);
- return CPWL_Color(COLORTYPE_GRAY, 0.3f * dR + 0.59f * dG + 0.11f * dB);
-}
-
-CPWL_Color ConvertCMYK2RGB(float dC, float dM, float dY, float dK) {
- if (!InRange(dC) || !InRange(dM) || !InRange(dY) || !InRange(dK))
- return CPWL_Color(COLORTYPE_RGB);
- return CPWL_Color(COLORTYPE_RGB, 1.0f - std::min(1.0f, dC + dK),
- 1.0f - std::min(1.0f, dM + dK),
- 1.0f - std::min(1.0f, dY + dK));
-}
-
-CPWL_Color ConvertRGB2CMYK(float dR, float dG, float dB) {
- if (!InRange(dR) || !InRange(dG) || !InRange(dB))
- return CPWL_Color(COLORTYPE_CMYK);
-
- float c = 1.0f - dR;
- float m = 1.0f - dG;
- float y = 1.0f - dB;
- return CPWL_Color(COLORTYPE_CMYK, c, m, y, std::min(c, std::min(m, y)));
-}
-
-} // namespace
-
-CPWL_Color CPWL_Color::ConvertColorType(int32_t nConvertColorType) const {
- if (nColorType == nConvertColorType)
- return *this;
-
- CPWL_Color ret;
- switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
- ret = *this;
- ret.nColorType = COLORTYPE_TRANSPARENT;
- break;
- case COLORTYPE_GRAY:
- switch (nConvertColorType) {
- case COLORTYPE_RGB:
- ret = ConvertGRAY2RGB(fColor1);
- break;
- case COLORTYPE_CMYK:
- ret = ConvertGRAY2CMYK(fColor1);
- break;
- }
- break;
- case COLORTYPE_RGB:
- switch (nConvertColorType) {
- case COLORTYPE_GRAY:
- ret = ConvertRGB2GRAY(fColor1, fColor2, fColor3);
- break;
- case COLORTYPE_CMYK:
- ret = ConvertRGB2CMYK(fColor1, fColor2, fColor3);
- break;
- }
- break;
- case COLORTYPE_CMYK:
- switch (nConvertColorType) {
- case COLORTYPE_GRAY:
- ret = ConvertCMYK2GRAY(fColor1, fColor2, fColor3, fColor4);
- break;
- case COLORTYPE_RGB:
- ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
- break;
- }
- break;
- }
- return ret;
-}
-
-FX_COLORREF CPWL_Color::ToFXColor(int32_t nTransparency) const {
- CPWL_Color ret;
- switch (nColorType) {
- case COLORTYPE_TRANSPARENT: {
- ret = CPWL_Color(COLORTYPE_TRANSPARENT, 0, 0, 0, 0);
- break;
- }
- case COLORTYPE_GRAY: {
- ret = ConvertGRAY2RGB(fColor1);
- ret.fColor4 = nTransparency;
- break;
- }
- case COLORTYPE_RGB: {
- ret = CPWL_Color(COLORTYPE_RGB, fColor1, fColor2, fColor3);
- ret.fColor4 = nTransparency;
- break;
- }
- case COLORTYPE_CMYK: {
- ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
- ret.fColor4 = nTransparency;
- break;
- }
- }
- return ArgbEncode(ret.fColor4, static_cast<int32_t>(ret.fColor1 * 255),
- static_cast<int32_t>(ret.fColor2 * 255),
- static_cast<int32_t>(ret.fColor3 * 255));
-}
-
-CPWL_Color CPWL_Color::operator-(float fColorSub) const {
- CPWL_Color sRet(nColorType);
- switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
- sRet.nColorType = COLORTYPE_RGB;
- sRet.fColor1 = std::max(1.0f - fColorSub, 0.0f);
- sRet.fColor2 = std::max(1.0f - fColorSub, 0.0f);
- sRet.fColor3 = std::max(1.0f - fColorSub, 0.0f);
- break;
- case COLORTYPE_RGB:
- case COLORTYPE_GRAY:
- case COLORTYPE_CMYK:
- sRet.fColor1 = std::max(fColor1 - fColorSub, 0.0f);
- sRet.fColor2 = std::max(fColor2 - fColorSub, 0.0f);
- sRet.fColor3 = std::max(fColor3 - fColorSub, 0.0f);
- sRet.fColor4 = std::max(fColor4 - fColorSub, 0.0f);
- break;
- }
- return sRet;
-}
-
-CPWL_Color CPWL_Color::operator/(float fColorDivide) const {
- CPWL_Color sRet(nColorType);
- switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
- sRet.nColorType = COLORTYPE_RGB;
- sRet.fColor1 = 1.0f / fColorDivide;
- sRet.fColor2 = 1.0f / fColorDivide;
- sRet.fColor3 = 1.0f / fColorDivide;
- break;
- case COLORTYPE_RGB:
- case COLORTYPE_GRAY:
- case COLORTYPE_CMYK:
- sRet = *this;
- sRet.fColor1 /= fColorDivide;
- sRet.fColor2 /= fColorDivide;
- sRet.fColor3 /= fColorDivide;
- sRet.fColor4 /= fColorDivide;
- break;
- }
- return sRet;
-}