Convert CPVT_Color to CFX_Color
This CL converts the use of CPVT_Color to CFX_Color and removes the
CPVT_Color class.
Change-Id: I86a2d06524cd8f0fbce2335f0185426cc41dbe84
Reviewed-on: https://pdfium-review.googlesource.com/16030
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index 3e3f22f..57d07fc 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -353,8 +353,6 @@
"core/fpdfdoc/cpdf_variabletext.h",
"core/fpdfdoc/cpdf_viewerpreferences.cpp",
"core/fpdfdoc/cpdf_viewerpreferences.h",
- "core/fpdfdoc/cpvt_color.cpp",
- "core/fpdfdoc/cpvt_color.h",
"core/fpdfdoc/cpvt_dash.h",
"core/fpdfdoc/cpvt_floatrect.h",
"core/fpdfdoc/cpvt_fontmap.cpp",
diff --git a/core/fpdfdoc/cpdf_annotlist.cpp b/core/fpdfdoc/cpdf_annotlist.cpp
index 9224943..c0f7ae2 100644
--- a/core/fpdfdoc/cpdf_annotlist.cpp
+++ b/core/fpdfdoc/cpdf_annotlist.cpp
@@ -11,6 +11,7 @@
#include <utility>
#include "core/fpdfapi/page/cpdf_page.h"
+#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfapi/parser/cpdf_name.h"
#include "core/fpdfapi/parser/cpdf_number.h"
diff --git a/core/fpdfdoc/cpdf_apsettings.cpp b/core/fpdfdoc/cpdf_apsettings.cpp
index 0fc9c20..076cdd9 100644
--- a/core/fpdfdoc/cpdf_apsettings.cpp
+++ b/core/fpdfdoc/cpdf_apsettings.cpp
@@ -10,7 +10,7 @@
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "core/fpdfdoc/cpdf_formcontrol.h"
+#include "core/fxge/cfx_color.h"
CPDF_ApSettings::CPDF_ApSettings(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
@@ -28,7 +28,7 @@
FX_ARGB CPDF_ApSettings::GetColor(int& iColorType,
const ByteString& csEntry) const {
- iColorType = COLORTYPE_TRANSPARENT;
+ iColorType = CFX_Color::kTransparent;
if (!m_pDict)
return 0;
@@ -39,19 +39,19 @@
FX_ARGB color = 0;
size_t dwCount = pEntry->GetCount();
if (dwCount == 1) {
- iColorType = COLORTYPE_GRAY;
+ iColorType = CFX_Color::kGray;
float g = pEntry->GetNumberAt(0) * 255;
return ArgbEncode(255, (int)g, (int)g, (int)g);
}
if (dwCount == 3) {
- iColorType = COLORTYPE_RGB;
+ iColorType = CFX_Color::kRGB;
float r = pEntry->GetNumberAt(0) * 255;
float g = pEntry->GetNumberAt(1) * 255;
float b = pEntry->GetNumberAt(2) * 255;
return ArgbEncode(255, (int)r, (int)g, (int)b);
}
if (dwCount == 4) {
- iColorType = COLORTYPE_CMYK;
+ iColorType = CFX_Color::kCMYK;
float c = pEntry->GetNumberAt(0);
float m = pEntry->GetNumberAt(1);
float y = pEntry->GetNumberAt(2);
@@ -76,7 +76,7 @@
void CPDF_ApSettings::GetOriginalColor(int& iColorType,
float fc[4],
const ByteString& csEntry) const {
- iColorType = COLORTYPE_TRANSPARENT;
+ iColorType = CFX_Color::kTransparent;
for (int i = 0; i < 4; i++)
fc[i] = 0;
@@ -89,15 +89,15 @@
size_t dwCount = pEntry->GetCount();
if (dwCount == 1) {
- iColorType = COLORTYPE_GRAY;
+ iColorType = CFX_Color::kGray;
fc[0] = pEntry->GetNumberAt(0);
} else if (dwCount == 3) {
- iColorType = COLORTYPE_RGB;
+ iColorType = CFX_Color::kRGB;
fc[0] = pEntry->GetNumberAt(0);
fc[1] = pEntry->GetNumberAt(1);
fc[2] = pEntry->GetNumberAt(2);
} else if (dwCount == 4) {
- iColorType = COLORTYPE_CMYK;
+ iColorType = CFX_Color::kCMYK;
fc[0] = pEntry->GetNumberAt(0);
fc[1] = pEntry->GetNumberAt(1);
fc[2] = pEntry->GetNumberAt(2);
diff --git a/core/fpdfdoc/cpdf_defaultappearance.cpp b/core/fpdfdoc/cpdf_defaultappearance.cpp
index bd7ea1b..02d6eea 100644
--- a/core/fpdfdoc/cpdf_defaultappearance.cpp
+++ b/core/fpdfdoc/cpdf_defaultappearance.cpp
@@ -10,7 +10,7 @@
#include "core/fpdfapi/parser/cpdf_simple_parser.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
-#include "core/fpdfdoc/cpdf_formcontrol.h"
+#include "core/fxge/cfx_color.h"
bool CPDF_DefaultAppearance::HasFont() {
if (m_csDA.IsEmpty())
@@ -110,7 +110,7 @@
void CPDF_DefaultAppearance::GetColor(int& iColorType,
float fc[4],
PaintOperation nOperation) {
- iColorType = COLORTYPE_TRANSPARENT;
+ iColorType = CFX_Color::kTransparent;
for (int c = 0; c < 4; c++)
fc[c] = 0;
@@ -120,13 +120,13 @@
CPDF_SimpleParser syntax(m_csDA.AsStringView());
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "G" : "g"), 1)) {
- iColorType = COLORTYPE_GRAY;
+ iColorType = CFX_Color::kGray;
fc[0] = FX_atof(syntax.GetWord());
return;
}
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "RG" : "rg"), 3)) {
- iColorType = COLORTYPE_RGB;
+ iColorType = CFX_Color::kRGB;
fc[0] = FX_atof(syntax.GetWord());
fc[1] = FX_atof(syntax.GetWord());
fc[2] = FX_atof(syntax.GetWord());
@@ -134,7 +134,7 @@
}
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "K" : "k"), 4)) {
- iColorType = COLORTYPE_CMYK;
+ iColorType = CFX_Color::kCMYK;
fc[0] = FX_atof(syntax.GetWord());
fc[1] = FX_atof(syntax.GetWord());
fc[2] = FX_atof(syntax.GetWord());
@@ -146,21 +146,21 @@
int& iColorType,
PaintOperation nOperation) {
color = 0;
- iColorType = COLORTYPE_TRANSPARENT;
+ iColorType = CFX_Color::kTransparent;
if (m_csDA.IsEmpty())
return;
CPDF_SimpleParser syntax(m_csDA.AsStringView());
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "G" : "g"), 1)) {
- iColorType = COLORTYPE_GRAY;
+ iColorType = CFX_Color::kGray;
float g = FX_atof(syntax.GetWord()) * 255 + 0.5f;
color = ArgbEncode(255, (int)g, (int)g, (int)g);
return;
}
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "RG" : "rg"), 3)) {
- iColorType = COLORTYPE_RGB;
+ iColorType = CFX_Color::kRGB;
float r = FX_atof(syntax.GetWord()) * 255 + 0.5f;
float g = FX_atof(syntax.GetWord()) * 255 + 0.5f;
float b = FX_atof(syntax.GetWord()) * 255 + 0.5f;
@@ -169,7 +169,7 @@
}
if (syntax.FindTagParamFromStart(
(nOperation == PaintOperation::STROKE ? "K" : "k"), 4)) {
- iColorType = COLORTYPE_CMYK;
+ iColorType = CFX_Color::kCMYK;
float c = FX_atof(syntax.GetWord());
float m = FX_atof(syntax.GetWord());
float y = FX_atof(syntax.GetWord());
diff --git a/core/fpdfdoc/cpdf_formcontrol.h b/core/fpdfdoc/cpdf_formcontrol.h
index b22b074..6485af0 100644
--- a/core/fpdfdoc/cpdf_formcontrol.h
+++ b/core/fpdfdoc/cpdf_formcontrol.h
@@ -28,11 +28,6 @@
#define TEXTPOS_LEFT 5
#define TEXTPOS_OVERLAID 6
-#define COLORTYPE_TRANSPARENT 0
-#define COLORTYPE_GRAY 1
-#define COLORTYPE_RGB 2
-#define COLORTYPE_CMYK 3
-
class CFX_RenderDevice;
class CPDF_Dictionary;
class CPDF_Font;
diff --git a/core/fpdfdoc/cpvt_color.cpp b/core/fpdfdoc/cpvt_color.cpp
deleted file mode 100644
index 914e416..0000000
--- a/core/fpdfdoc/cpvt_color.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// 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/fpdfdoc/cpvt_color.h"
-
-#include "core/fpdfapi/parser/cpdf_simple_parser.h"
-
-// Static.
-CPVT_Color CPVT_Color::ParseColor(const ByteString& str) {
- CPDF_SimpleParser syntax(str.AsStringView());
- if (syntax.FindTagParamFromStart("g", 1))
- return CPVT_Color(CPVT_Color::kGray, FX_atof(syntax.GetWord()));
-
- if (syntax.FindTagParamFromStart("rg", 3)) {
- float f1 = FX_atof(syntax.GetWord());
- float f2 = FX_atof(syntax.GetWord());
- float f3 = FX_atof(syntax.GetWord());
- return CPVT_Color(CPVT_Color::kRGB, f1, f2, f3);
- }
- if (syntax.FindTagParamFromStart("k", 4)) {
- float f1 = FX_atof(syntax.GetWord());
- float f2 = FX_atof(syntax.GetWord());
- float f3 = FX_atof(syntax.GetWord());
- float f4 = FX_atof(syntax.GetWord());
- return CPVT_Color(CPVT_Color::kCMYK, f1, f2, f3, f4);
- }
- return CPVT_Color(CPVT_Color::kTransparent);
-}
-
-// Static.
-CPVT_Color CPVT_Color::ParseColor(const CPDF_Array& array) {
- CPVT_Color rt;
- switch (array.GetCount()) {
- case 1:
- rt = CPVT_Color(CPVT_Color::kGray, array.GetFloatAt(0));
- break;
- case 3:
- rt = CPVT_Color(CPVT_Color::kRGB, array.GetFloatAt(0),
- array.GetFloatAt(1), array.GetFloatAt(2));
- break;
- case 4:
- rt = CPVT_Color(CPVT_Color::kCMYK, array.GetFloatAt(0),
- array.GetFloatAt(1), array.GetFloatAt(2),
- array.GetFloatAt(3));
- break;
- }
- return rt;
-}
diff --git a/core/fpdfdoc/cpvt_color.h b/core/fpdfdoc/cpvt_color.h
deleted file mode 100644
index a7e925b..0000000
--- a/core/fpdfdoc/cpvt_color.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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
-
-#ifndef CORE_FPDFDOC_CPVT_COLOR_H_
-#define CORE_FPDFDOC_CPVT_COLOR_H_
-
-#include "core/fpdfapi/parser/cpdf_array.h"
-#include "core/fxcrt/fx_string.h"
-#include "core/fxcrt/fx_system.h"
-
-struct CPVT_Color {
- enum Type { kTransparent = 0, kGray, kRGB, kCMYK };
-
- CPVT_Color(Type type = kTransparent,
- float color1 = 0.0f,
- float color2 = 0.0f,
- float color3 = 0.0f,
- float color4 = 0.0f)
- : nColorType(type),
- fColor1(color1),
- fColor2(color2),
- fColor3(color3),
- fColor4(color4) {}
-
- Type nColorType;
- float fColor1;
- float fColor2;
- float fColor3;
- float fColor4;
-
- static CPVT_Color ParseColor(const ByteString& str);
- static CPVT_Color ParseColor(const CPDF_Array& array);
-};
-
-#endif // CORE_FPDFDOC_CPVT_COLOR_H_
diff --git a/core/fpdfdoc/cpvt_generateap.cpp b/core/fpdfdoc/cpvt_generateap.cpp
index 634864c..ac3e7a5 100644
--- a/core/fpdfdoc/cpvt_generateap.cpp
+++ b/core/fpdfdoc/cpvt_generateap.cpp
@@ -12,6 +12,7 @@
#include <utility>
#include "core/fpdfapi/font/cpdf_font.h"
+#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_boolean.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
@@ -24,7 +25,6 @@
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fpdfdoc/cpdf_annot.h"
#include "core/fpdfdoc/cpdf_formfield.h"
-#include "core/fpdfdoc/cpvt_color.h"
#include "core/fpdfdoc/cpvt_fontmap.h"
#include "core/fpdfdoc/cpvt_word.h"
#include "third_party/base/ptr_util.h"
@@ -58,7 +58,7 @@
return false;
float fFontSize = FX_atof(syntax.GetWord());
- CPVT_Color crText = CPVT_Color::ParseColor(DA);
+ CFX_Color crText = CFX_Color::ParseColor(DA);
CPDF_Dictionary* pDRDict = pFormDict->GetDictFor("DR");
if (!pDRDict)
return false;
@@ -116,8 +116,8 @@
BorderStyle nBorderStyle = BorderStyle::SOLID;
float fBorderWidth = 1;
CPVT_Dash dsBorder(3, 0, 0);
- CPVT_Color crLeftTop;
- CPVT_Color crRightBottom;
+ CFX_Color crLeftTop;
+ CFX_Color crRightBottom;
if (CPDF_Dictionary* pBSDict = pAnnotDict->GetDictFor("BS")) {
if (pBSDict->KeyExist("W"))
fBorderWidth = pBSDict->GetNumberFor("W");
@@ -137,14 +137,14 @@
case 'B':
nBorderStyle = BorderStyle::BEVELED;
fBorderWidth *= 2;
- crLeftTop = CPVT_Color(CPVT_Color::kGray, 1);
- crRightBottom = CPVT_Color(CPVT_Color::kGray, 0.5);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.5);
break;
case 'I':
nBorderStyle = BorderStyle::INSET;
fBorderWidth *= 2;
- crLeftTop = CPVT_Color(CPVT_Color::kGray, 0.5);
- crRightBottom = CPVT_Color(CPVT_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
break;
case 'U':
nBorderStyle = BorderStyle::UNDERLINE;
@@ -152,13 +152,13 @@
}
}
}
- CPVT_Color crBorder;
- CPVT_Color crBG;
+ CFX_Color crBorder;
+ CFX_Color crBG;
if (CPDF_Dictionary* pMKDict = pAnnotDict->GetDictFor("MK")) {
if (CPDF_Array* pArray = pMKDict->GetArrayFor("BC"))
- crBorder = CPVT_Color::ParseColor(*pArray);
+ crBorder = CFX_Color::ParseColor(*pArray);
if (CPDF_Array* pArray = pMKDict->GetArrayFor("BG"))
- crBG = CPVT_Color::ParseColor(*pArray);
+ crBG = CFX_Color::ParseColor(*pArray);
}
std::ostringstream sAppStream;
ByteString sBG = CPVT_GenerateAP::GenerateColorAP(crBG, PaintOperation::FILL);
@@ -320,8 +320,8 @@
<< "Q\nEMC\n";
}
ByteString sButton = CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kRGB, 220.0f / 255.0f, 220.0f / 255.0f,
- 220.0f / 255.0f),
+ CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f, 220.0f / 255.0f,
+ 220.0f / 255.0f),
PaintOperation::FILL);
if (sButton.GetLength() > 0 && !rcButton.IsEmpty()) {
sAppStream << "q\n" << sButton;
@@ -329,10 +329,9 @@
<< rcButton.Width() << " " << rcButton.Height() << " re f\n";
sAppStream << "Q\n";
ByteString sButtonBorder = CPVT_GenerateAP::GenerateBorderAP(
- rcButton, 2, CPVT_Color(CPVT_Color::kGray, 0),
- CPVT_Color(CPVT_Color::kGray, 1),
- CPVT_Color(CPVT_Color::kGray, 0.5), BorderStyle::BEVELED,
- CPVT_Dash(3, 0, 0));
+ rcButton, 2, CFX_Color(CFX_Color::kGray, 0),
+ CFX_Color(CFX_Color::kGray, 1), CFX_Color(CFX_Color::kGray, 0.5),
+ BorderStyle::BEVELED, CPVT_Dash(3, 0, 0));
if (sButtonBorder.GetLength() > 0)
sAppStream << "q\n" << sButtonBorder << "Q\n";
@@ -398,16 +397,15 @@
rcBody.left, fy - fItemHeight, rcBody.right, fy);
sBody << "q\n"
<< CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kRGB, 0, 51.0f / 255.0f,
- 113.0f / 255.0f),
+ CFX_Color(CFX_Color::kRGB, 0, 51.0f / 255.0f,
+ 113.0f / 255.0f),
PaintOperation::FILL)
<< rcItem.left << " " << rcItem.bottom << " "
<< rcItem.Width() << " " << rcItem.Height() << " re f\n"
<< "Q\n";
sBody << "BT\n"
<< CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kGray, 1),
- PaintOperation::FILL)
+ CFX_Color(CFX_Color::kGray, 1), PaintOperation::FILL)
<< CPVT_GenerateAP::GenerateEditAP(&map, vt.GetIterator(),
CFX_PointF(0.0f, fy),
true, 0)
@@ -461,10 +459,10 @@
}
ByteString GetColorStringWithDefault(CPDF_Array* pColor,
- const CPVT_Color& crDefaultColor,
+ const CFX_Color& crDefaultColor,
PaintOperation nOperation) {
if (pColor) {
- CPVT_Color color = CPVT_Color::ParseColor(*pColor);
+ CFX_Color color = CFX_Color::ParseColor(*pColor);
return CPVT_GenerateAP::GenerateColorAP(color, nOperation);
}
@@ -546,7 +544,7 @@
std::ostringstream sAppStream;
sAppStream << "BT\n"
<< CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0), PaintOperation::FILL)
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::FILL)
<< sContent << "ET\n"
<< "Q\n";
return ByteString(sAppStream);
@@ -577,9 +575,9 @@
ByteString GenerateTextSymbolAP(const CFX_FloatRect& rect) {
std::ostringstream sAppStream;
sAppStream << CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kRGB, 1, 1, 0), PaintOperation::FILL);
+ CFX_Color(CFX_Color::kRGB, 1, 1, 0), PaintOperation::FILL);
sAppStream << CPVT_GenerateAP::GenerateColorAP(
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
const float fBorderWidth = 1;
sAppStream << fBorderWidth << " w\n";
@@ -687,12 +685,11 @@
sAppStream << "/" << sExtGSDictName << " gs ";
CPDF_Array* pInteriorColor = pAnnotDict->GetArrayFor("IC");
- sAppStream << GetColorStringWithDefault(pInteriorColor,
- CPVT_Color(CPVT_Color::kTransparent),
- PaintOperation::FILL);
+ sAppStream << GetColorStringWithDefault(
+ pInteriorColor, CFX_Color(CFX_Color::kTransparent), PaintOperation::FILL);
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
@@ -761,7 +758,7 @@
sAppStream << "/" << sExtGSDictName << " gs ";
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 1, 1, 0),
+ CFX_Color(CFX_Color::kRGB, 1, 1, 0),
PaintOperation::FILL);
CFX_FloatRect rect = CPDF_Annot::RectFromQuadPoints(pAnnotDict);
@@ -799,7 +796,7 @@
sAppStream << "/" << sExtGSDictName << " gs ";
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
sAppStream << fBorderWidth << " w ";
@@ -866,7 +863,7 @@
sAppStream << "/" << sExtGSDictName << " gs ";
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
CFX_FloatRect rect = CPDF_Annot::RectFromQuadPoints(pAnnotDict);
@@ -892,9 +889,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs\n";
- sAppStream << GenerateColorAP(CPVT_Color(CPVT_Color::kRGB, 1, 1, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 1, 1, 0),
PaintOperation::FILL);
- sAppStream << GenerateColorAP(CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
const float fBorderWidth = 1;
@@ -931,12 +928,11 @@
sAppStream << "/" << sExtGSDictName << " gs ";
CPDF_Array* pInteriorColor = pAnnotDict->GetArrayFor("IC");
- sAppStream << GetColorStringWithDefault(pInteriorColor,
- CPVT_Color(CPVT_Color::kTransparent),
- PaintOperation::FILL);
+ sAppStream << GetColorStringWithDefault(
+ pInteriorColor, CFX_Color(CFX_Color::kTransparent), PaintOperation::FILL);
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
@@ -979,7 +975,7 @@
sAppStream << "/" << sExtGSDictName << " gs ";
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
CFX_FloatRect rect = CPDF_Annot::RectFromQuadPoints(pAnnotDict);
@@ -1028,7 +1024,7 @@
sAppStream << "/" << sExtGSDictName << " gs ";
sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CPVT_Color(CPVT_Color::kRGB, 0, 0, 0),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0),
PaintOperation::STROKE);
CFX_FloatRect rect = CPDF_Annot::RectFromQuadPoints(pAnnotDict);
@@ -1135,9 +1131,9 @@
// Static.
ByteString CPVT_GenerateAP::GenerateBorderAP(const CFX_FloatRect& rect,
float fWidth,
- const CPVT_Color& color,
- const CPVT_Color& crLeftTop,
- const CPVT_Color& crRightBottom,
+ const CFX_Color& color,
+ const CFX_Color& crLeftTop,
+ const CFX_Color& crRightBottom,
BorderStyle nStyle,
const CPVT_Dash& dash) {
std::ostringstream sAppStream;
@@ -1240,28 +1236,28 @@
}
// Static.
-ByteString CPVT_GenerateAP::GenerateColorAP(const CPVT_Color& color,
+ByteString CPVT_GenerateAP::GenerateColorAP(const CFX_Color& color,
PaintOperation nOperation) {
std::ostringstream sColorStream;
switch (color.nColorType) {
- case CPVT_Color::kRGB:
+ case CFX_Color::kRGB:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " "
<< (nOperation == PaintOperation::STROKE ? "RG" : "rg")
<< "\n";
break;
- case CPVT_Color::kGray:
+ case CFX_Color::kGray:
sColorStream << color.fColor1 << " "
<< (nOperation == PaintOperation::STROKE ? "G" : "g")
<< "\n";
break;
- case CPVT_Color::kCMYK:
+ case CFX_Color::kCMYK:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " " << color.fColor4 << " "
<< (nOperation == PaintOperation::STROKE ? "K" : "k")
<< "\n";
break;
- case CPVT_Color::kTransparent:
+ case CFX_Color::kTransparent:
break;
}
return ByteString(sColorStream);
diff --git a/core/fpdfdoc/cpvt_generateap.h b/core/fpdfdoc/cpvt_generateap.h
index 2812b29..31962e2 100644
--- a/core/fpdfdoc/cpvt_generateap.h
+++ b/core/fpdfdoc/cpvt_generateap.h
@@ -11,11 +11,11 @@
#include "core/fpdfdoc/cpdf_defaultappearance.h"
#include "core/fpdfdoc/cpdf_variabletext.h"
-#include "core/fpdfdoc/cpvt_color.h"
#include "core/fpdfdoc/cpvt_dash.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
+#include "core/fxge/cfx_color.h"
class CPDF_Dictionary;
class CPDF_Document;
@@ -55,12 +55,12 @@
uint16_t SubWord);
static ByteString GenerateBorderAP(const CFX_FloatRect& rect,
float fWidth,
- const CPVT_Color& color,
- const CPVT_Color& crLeftTop,
- const CPVT_Color& crRightBottom,
+ const CFX_Color& color,
+ const CFX_Color& crLeftTop,
+ const CFX_Color& crRightBottom,
BorderStyle nStyle,
const CPVT_Dash& dash);
- static ByteString GenerateColorAP(const CPVT_Color& color,
+ static ByteString GenerateColorAP(const CFX_Color& color,
PaintOperation nOperation);
static std::unique_ptr<CPDF_Dictionary> GenerateExtGStateDict(
const CPDF_Dictionary& pAnnotDict,
diff --git a/core/fxge/cfx_color.cpp b/core/fxge/cfx_color.cpp
index eebdd2c..42ab39d 100644
--- a/core/fxge/cfx_color.cpp
+++ b/core/fxge/cfx_color.cpp
@@ -8,6 +8,9 @@
#include <algorithm>
+#include "core/fpdfapi/parser/cpdf_array.h"
+#include "core/fpdfapi/parser/cpdf_simple_parser.h"
+
namespace {
bool InRange(float comp) {
@@ -16,86 +19,127 @@
CFX_Color ConvertCMYK2GRAY(float dC, float dM, float dY, float dK) {
if (!InRange(dC) || !InRange(dM) || !InRange(dY) || !InRange(dK))
- return CFX_Color(COLORTYPE_GRAY);
+ return CFX_Color(CFX_Color::kGray);
return CFX_Color(
- COLORTYPE_GRAY,
+ CFX_Color::kGray,
1.0f - std::min(1.0f, 0.3f * dC + 0.59f * dM + 0.11f * dY + dK));
}
CFX_Color ConvertGRAY2CMYK(float dGray) {
if (!InRange(dGray))
- return CFX_Color(COLORTYPE_CMYK);
- return CFX_Color(COLORTYPE_CMYK, 0.0f, 0.0f, 0.0f, 1.0f - dGray);
+ return CFX_Color(CFX_Color::kCMYK);
+ return CFX_Color(CFX_Color::kCMYK, 0.0f, 0.0f, 0.0f, 1.0f - dGray);
}
CFX_Color ConvertGRAY2RGB(float dGray) {
if (!InRange(dGray))
- return CFX_Color(COLORTYPE_RGB);
- return CFX_Color(COLORTYPE_RGB, dGray, dGray, dGray);
+ return CFX_Color(CFX_Color::kRGB);
+ return CFX_Color(CFX_Color::kRGB, dGray, dGray, dGray);
}
CFX_Color ConvertRGB2GRAY(float dR, float dG, float dB) {
if (!InRange(dR) || !InRange(dG) || !InRange(dB))
- return CFX_Color(COLORTYPE_GRAY);
- return CFX_Color(COLORTYPE_GRAY, 0.3f * dR + 0.59f * dG + 0.11f * dB);
+ return CFX_Color(CFX_Color::kGray);
+ return CFX_Color(CFX_Color::kGray, 0.3f * dR + 0.59f * dG + 0.11f * dB);
}
CFX_Color ConvertCMYK2RGB(float dC, float dM, float dY, float dK) {
if (!InRange(dC) || !InRange(dM) || !InRange(dY) || !InRange(dK))
- return CFX_Color(COLORTYPE_RGB);
- return CFX_Color(COLORTYPE_RGB, 1.0f - std::min(1.0f, dC + dK),
+ return CFX_Color(CFX_Color::kRGB);
+ return CFX_Color(CFX_Color::kRGB, 1.0f - std::min(1.0f, dC + dK),
1.0f - std::min(1.0f, dM + dK),
1.0f - std::min(1.0f, dY + dK));
}
CFX_Color ConvertRGB2CMYK(float dR, float dG, float dB) {
if (!InRange(dR) || !InRange(dG) || !InRange(dB))
- return CFX_Color(COLORTYPE_CMYK);
+ return CFX_Color(CFX_Color::kCMYK);
float c = 1.0f - dR;
float m = 1.0f - dG;
float y = 1.0f - dB;
- return CFX_Color(COLORTYPE_CMYK, c, m, y, std::min(c, std::min(m, y)));
+ return CFX_Color(CFX_Color::kCMYK, c, m, y, std::min(c, std::min(m, y)));
}
} // namespace
+// Static.
+CFX_Color CFX_Color::ParseColor(const CPDF_Array& array) {
+ CFX_Color rt;
+ switch (array.GetCount()) {
+ case 1:
+ rt = CFX_Color(CFX_Color::kGray, array.GetFloatAt(0));
+ break;
+ case 3:
+ rt = CFX_Color(CFX_Color::kRGB, array.GetFloatAt(0), array.GetFloatAt(1),
+ array.GetFloatAt(2));
+ break;
+ case 4:
+ rt = CFX_Color(CFX_Color::kCMYK, array.GetFloatAt(0), array.GetFloatAt(1),
+ array.GetFloatAt(2), array.GetFloatAt(3));
+ break;
+ }
+ return rt;
+}
+
+// Static.
+CFX_Color CFX_Color::ParseColor(const ByteString& str) {
+ CPDF_SimpleParser syntax(str.AsStringView());
+ if (syntax.FindTagParamFromStart("g", 1))
+ return CFX_Color(CFX_Color::kGray, FX_atof(syntax.GetWord()));
+
+ if (syntax.FindTagParamFromStart("rg", 3)) {
+ float f1 = FX_atof(syntax.GetWord());
+ float f2 = FX_atof(syntax.GetWord());
+ float f3 = FX_atof(syntax.GetWord());
+ return CFX_Color(CFX_Color::kRGB, f1, f2, f3);
+ }
+ if (syntax.FindTagParamFromStart("k", 4)) {
+ float f1 = FX_atof(syntax.GetWord());
+ float f2 = FX_atof(syntax.GetWord());
+ float f3 = FX_atof(syntax.GetWord());
+ float f4 = FX_atof(syntax.GetWord());
+ return CFX_Color(CFX_Color::kCMYK, f1, f2, f3, f4);
+ }
+ return CFX_Color(CFX_Color::kTransparent);
+}
+
CFX_Color CFX_Color::ConvertColorType(int32_t nConvertColorType) const {
if (nColorType == nConvertColorType)
return *this;
CFX_Color ret;
switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
+ case CFX_Color::kTransparent:
ret = *this;
- ret.nColorType = COLORTYPE_TRANSPARENT;
+ ret.nColorType = CFX_Color::kTransparent;
break;
- case COLORTYPE_GRAY:
+ case CFX_Color::kGray:
switch (nConvertColorType) {
- case COLORTYPE_RGB:
+ case CFX_Color::kRGB:
ret = ConvertGRAY2RGB(fColor1);
break;
- case COLORTYPE_CMYK:
+ case CFX_Color::kCMYK:
ret = ConvertGRAY2CMYK(fColor1);
break;
}
break;
- case COLORTYPE_RGB:
+ case CFX_Color::kRGB:
switch (nConvertColorType) {
- case COLORTYPE_GRAY:
+ case CFX_Color::kGray:
ret = ConvertRGB2GRAY(fColor1, fColor2, fColor3);
break;
- case COLORTYPE_CMYK:
+ case CFX_Color::kCMYK:
ret = ConvertRGB2CMYK(fColor1, fColor2, fColor3);
break;
}
break;
- case COLORTYPE_CMYK:
+ case CFX_Color::kCMYK:
switch (nConvertColorType) {
- case COLORTYPE_GRAY:
+ case CFX_Color::kGray:
ret = ConvertCMYK2GRAY(fColor1, fColor2, fColor3, fColor4);
break;
- case COLORTYPE_RGB:
+ case CFX_Color::kRGB:
ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
break;
}
@@ -107,21 +151,21 @@
FX_COLORREF CFX_Color::ToFXColor(int32_t nTransparency) const {
CFX_Color ret;
switch (nColorType) {
- case COLORTYPE_TRANSPARENT: {
- ret = CFX_Color(COLORTYPE_TRANSPARENT, 0, 0, 0, 0);
+ case CFX_Color::kTransparent: {
+ ret = CFX_Color(CFX_Color::kTransparent, 0, 0, 0, 0);
break;
}
- case COLORTYPE_GRAY: {
+ case CFX_Color::kGray: {
ret = ConvertGRAY2RGB(fColor1);
ret.fColor4 = nTransparency;
break;
}
- case COLORTYPE_RGB: {
- ret = CFX_Color(COLORTYPE_RGB, fColor1, fColor2, fColor3);
+ case CFX_Color::kRGB: {
+ ret = CFX_Color(CFX_Color::kRGB, fColor1, fColor2, fColor3);
ret.fColor4 = nTransparency;
break;
}
- case COLORTYPE_CMYK: {
+ case CFX_Color::kCMYK: {
ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
ret.fColor4 = nTransparency;
break;
@@ -135,15 +179,15 @@
CFX_Color CFX_Color::operator-(float fColorSub) const {
CFX_Color sRet(nColorType);
switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
- sRet.nColorType = COLORTYPE_RGB;
+ case CFX_Color::kTransparent:
+ sRet.nColorType = CFX_Color::kRGB;
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:
+ case CFX_Color::kRGB:
+ case CFX_Color::kGray:
+ case CFX_Color::kCMYK:
sRet.fColor1 = std::max(fColor1 - fColorSub, 0.0f);
sRet.fColor2 = std::max(fColor2 - fColorSub, 0.0f);
sRet.fColor3 = std::max(fColor3 - fColorSub, 0.0f);
@@ -156,15 +200,15 @@
CFX_Color CFX_Color::operator/(float fColorDivide) const {
CFX_Color sRet(nColorType);
switch (nColorType) {
- case COLORTYPE_TRANSPARENT:
- sRet.nColorType = COLORTYPE_RGB;
+ case CFX_Color::kTransparent:
+ sRet.nColorType = CFX_Color::kRGB;
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:
+ case CFX_Color::kRGB:
+ case CFX_Color::kGray:
+ case CFX_Color::kCMYK:
sRet = *this;
sRet.fColor1 /= fColorDivide;
sRet.fColor2 /= fColorDivide;
diff --git a/core/fxge/cfx_color.h b/core/fxge/cfx_color.h
index b92c0bc..413c0a4 100644
--- a/core/fxge/cfx_color.h
+++ b/core/fxge/cfx_color.h
@@ -11,10 +11,15 @@
#include "core/fxge/fx_dib.h"
struct CFX_Color {
+ static CFX_Color ParseColor(const CPDF_Array& array);
+ static CFX_Color ParseColor(const ByteString& str);
+
+ enum Type { kTransparent = 0, kGray, kRGB, kCMYK };
+
explicit CFX_Color(FX_COLORREF ref)
: CFX_Color(FXARGB_R(ref), FXARGB_G(ref), FXARGB_B(ref)) {}
- CFX_Color(int32_t type = COLORTYPE_TRANSPARENT,
+ CFX_Color(int32_t type = CFX_Color::kTransparent,
float color1 = 0.0f,
float color2 = 0.0f,
float color3 = 0.0f,
@@ -26,7 +31,7 @@
fColor4(color4) {}
CFX_Color(int32_t r, int32_t g, int32_t b)
- : nColorType(COLORTYPE_RGB),
+ : nColorType(CFX_Color::kRGB),
fColor1(r / 255.0f),
fColor2(g / 255.0f),
fColor3(b / 255.0f),
@@ -40,7 +45,7 @@
FX_COLORREF ToFXColor(int32_t nTransparency) const;
void Reset() {
- nColorType = COLORTYPE_TRANSPARENT;
+ nColorType = CFX_Color::kTransparent;
fColor1 = 0.0f;
fColor2 = 0.0f;
fColor3 = 0.0f;
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index a859dcd..c8bd4ea 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -562,14 +562,14 @@
CPDF_FormControl* pFormCtrl = GetFormControl();
int iColorType = 0;
color = ARGBToColorRef(pFormCtrl->GetBackgroundColor(iColorType));
- return iColorType != COLORTYPE_TRANSPARENT;
+ return iColorType != CFX_Color::kTransparent;
}
bool CPDFSDK_Widget::GetBorderColor(FX_COLORREF& color) const {
CPDF_FormControl* pFormCtrl = GetFormControl();
int iColorType = 0;
color = ARGBToColorRef(pFormCtrl->GetBorderColor(iColorType));
- return iColorType != COLORTYPE_TRANSPARENT;
+ return iColorType != CFX_Color::kTransparent;
}
bool CPDFSDK_Widget::GetTextColor(FX_COLORREF& color) const {
@@ -579,10 +579,10 @@
return false;
FX_ARGB argb;
- int iColorType = COLORTYPE_TRANSPARENT;
+ int iColorType = CFX_Color::kTransparent;
da.GetColor(argb, iColorType);
color = ARGBToColorRef(argb);
- return iColorType != COLORTYPE_TRANSPARENT;
+ return iColorType != CFX_Color::kTransparent;
}
float CPDFSDK_Widget::GetFontSize() const {
@@ -919,7 +919,7 @@
}
CFX_Color CPDFSDK_Widget::GetTextPWLColor() const {
- CFX_Color crText = CFX_Color(COLORTYPE_GRAY, 0);
+ CFX_Color crText = CFX_Color(CFX_Color::kGray, 0);
CPDF_FormControl* pFormCtrl = GetFormControl();
CPDF_DefaultAppearance da = pFormCtrl->GetDefaultAppearance();
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index 8f48c02..f86cb68 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -301,7 +301,7 @@
if (m_pWidget->GetBorderColor(color))
cp.sBorderColor = CFX_Color(color);
- cp.sTextColor = CFX_Color(COLORTYPE_GRAY, 0);
+ cp.sTextColor = CFX_Color(CFX_Color::kGray, 0);
if (m_pWidget->GetTextColor(color))
cp.sTextColor = CFX_Color(color);
diff --git a/fpdfsdk/fpdfannot.cpp b/fpdfsdk/fpdfannot.cpp
index 3125ad1..a671032 100644
--- a/fpdfsdk/fpdfannot.cpp
+++ b/fpdfsdk/fpdfannot.cpp
@@ -20,8 +20,8 @@
#include "core/fpdfdoc/cpdf_annot.h"
#include "core/fpdfdoc/cpdf_formfield.h"
#include "core/fpdfdoc/cpdf_interform.h"
-#include "core/fpdfdoc/cpvt_color.h"
#include "core/fpdfdoc/cpvt_generateap.h"
+#include "core/fxge/cfx_color.h"
#include "fpdfsdk/fsdk_define.h"
namespace {
@@ -536,24 +536,25 @@
}
return true;
}
- CPVT_Color color = CPVT_Color::ParseColor(*pColor);
+
+ CFX_Color color = CFX_Color::ParseColor(*pColor);
switch (color.nColorType) {
- case CPVT_Color::kRGB:
+ case CFX_Color::kRGB:
*R = color.fColor1 * 255.f;
*G = color.fColor2 * 255.f;
*B = color.fColor3 * 255.f;
break;
- case CPVT_Color::kGray:
+ case CFX_Color::kGray:
*R = 255.f * color.fColor1;
*G = 255.f * color.fColor1;
*B = 255.f * color.fColor1;
break;
- case CPVT_Color::kCMYK:
+ case CFX_Color::kCMYK:
*R = 255.f * (1 - color.fColor1) * (1 - color.fColor4);
*G = 255.f * (1 - color.fColor2) * (1 - color.fColor4);
*B = 255.f * (1 - color.fColor3) * (1 - color.fColor4);
break;
- case CPVT_Color::kTransparent:
+ case CFX_Color::kTransparent:
*R = 0;
*G = 0;
*B = 0;
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index da0e60c..4e40e6f 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -1453,19 +1453,19 @@
pFormControl->GetBackgroundColor(iColorType);
CFX_Color color;
- if (iColorType == COLORTYPE_TRANSPARENT) {
- color = CFX_Color(COLORTYPE_TRANSPARENT);
- } else if (iColorType == COLORTYPE_GRAY) {
+ if (iColorType == CFX_Color::kTransparent) {
+ color = CFX_Color(CFX_Color::kTransparent);
+ } else if (iColorType == CFX_Color::kGray) {
+ color = CFX_Color(CFX_Color::kGray,
+ pFormControl->GetOriginalBackgroundColor(0));
+ } else if (iColorType == CFX_Color::kRGB) {
color =
- CFX_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBackgroundColor(0));
- } else if (iColorType == COLORTYPE_RGB) {
- color =
- CFX_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroundColor(0),
+ CFX_Color(CFX_Color::kRGB, pFormControl->GetOriginalBackgroundColor(0),
pFormControl->GetOriginalBackgroundColor(1),
pFormControl->GetOriginalBackgroundColor(2));
- } else if (iColorType == COLORTYPE_CMYK) {
+ } else if (iColorType == CFX_Color::kCMYK) {
color =
- CFX_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBackgroundColor(0),
+ CFX_Color(CFX_Color::kCMYK, pFormControl->GetOriginalBackgroundColor(0),
pFormControl->GetOriginalBackgroundColor(1),
pFormControl->GetOriginalBackgroundColor(2),
pFormControl->GetOriginalBackgroundColor(3));
@@ -2227,16 +2227,17 @@
pFormControl->GetBorderColor(iColorType);
CFX_Color color;
- if (iColorType == COLORTYPE_TRANSPARENT) {
- color = CFX_Color(COLORTYPE_TRANSPARENT);
- } else if (iColorType == COLORTYPE_GRAY) {
- color = CFX_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderColor(0));
- } else if (iColorType == COLORTYPE_RGB) {
- color = CFX_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderColor(0),
+ if (iColorType == CFX_Color::kTransparent) {
+ color = CFX_Color(CFX_Color::kTransparent);
+ } else if (iColorType == CFX_Color::kGray) {
+ color =
+ CFX_Color(CFX_Color::kGray, pFormControl->GetOriginalBorderColor(0));
+ } else if (iColorType == CFX_Color::kRGB) {
+ color = CFX_Color(CFX_Color::kRGB, pFormControl->GetOriginalBorderColor(0),
pFormControl->GetOriginalBorderColor(1),
pFormControl->GetOriginalBorderColor(2));
- } else if (iColorType == COLORTYPE_CMYK) {
- color = CFX_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderColor(0),
+ } else if (iColorType == CFX_Color::kCMYK) {
+ color = CFX_Color(CFX_Color::kCMYK, pFormControl->GetOriginalBorderColor(0),
pFormControl->GetOriginalBorderColor(1),
pFormControl->GetOriginalBorderColor(2),
pFormControl->GetOriginalBorderColor(3));
@@ -2375,10 +2376,10 @@
std::tie(a, r, g, b) = ArgbDecode(color);
CFX_Color crRet =
- CFX_Color(COLORTYPE_RGB, r / 255.0f, g / 255.0f, b / 255.0f);
+ CFX_Color(CFX_Color::kRGB, r / 255.0f, g / 255.0f, b / 255.0f);
- if (iColorType == COLORTYPE_TRANSPARENT)
- crRet = CFX_Color(COLORTYPE_TRANSPARENT);
+ if (iColorType == CFX_Color::kTransparent)
+ crRet = CFX_Color(CFX_Color::kTransparent);
color::ConvertPWLColorToArray(pRuntime, crRet, &crArray);
vp << crArray;
diff --git a/fpdfsdk/javascript/color.cpp b/fpdfsdk/javascript/color.cpp
index 574c81a..db860d3 100644
--- a/fpdfsdk/javascript/color.cpp
+++ b/fpdfsdk/javascript/color.cpp
@@ -39,18 +39,18 @@
IMPLEMENT_JS_CLASS(CJS_Color, color)
color::color(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject) {
- m_crTransparent = CFX_Color(COLORTYPE_TRANSPARENT);
- m_crBlack = CFX_Color(COLORTYPE_GRAY, 0);
- m_crWhite = CFX_Color(COLORTYPE_GRAY, 1);
- m_crRed = CFX_Color(COLORTYPE_RGB, 1, 0, 0);
- m_crGreen = CFX_Color(COLORTYPE_RGB, 0, 1, 0);
- m_crBlue = CFX_Color(COLORTYPE_RGB, 0, 0, 1);
- m_crCyan = CFX_Color(COLORTYPE_CMYK, 1, 0, 0, 0);
- m_crMagenta = CFX_Color(COLORTYPE_CMYK, 0, 1, 0, 0);
- m_crYellow = CFX_Color(COLORTYPE_CMYK, 0, 0, 1, 0);
- m_crDKGray = CFX_Color(COLORTYPE_GRAY, 0.25);
- m_crGray = CFX_Color(COLORTYPE_GRAY, 0.5);
- m_crLTGray = CFX_Color(COLORTYPE_GRAY, 0.75);
+ m_crTransparent = CFX_Color(CFX_Color::kTransparent);
+ m_crBlack = CFX_Color(CFX_Color::kGray, 0);
+ m_crWhite = CFX_Color(CFX_Color::kGray, 1);
+ m_crRed = CFX_Color(CFX_Color::kRGB, 1, 0, 0);
+ m_crGreen = CFX_Color(CFX_Color::kRGB, 0, 1, 0);
+ m_crBlue = CFX_Color(CFX_Color::kRGB, 0, 0, 1);
+ m_crCyan = CFX_Color(CFX_Color::kCMYK, 1, 0, 0, 0);
+ m_crMagenta = CFX_Color(CFX_Color::kCMYK, 0, 1, 0, 0);
+ m_crYellow = CFX_Color(CFX_Color::kCMYK, 0, 0, 1, 0);
+ m_crDKGray = CFX_Color(CFX_Color::kGray, 0.25);
+ m_crGray = CFX_Color(CFX_Color::kGray, 0.5);
+ m_crLTGray = CFX_Color(CFX_Color::kGray, 0.75);
}
color::~color() {}
@@ -59,20 +59,20 @@
const CFX_Color& color,
CJS_Array* array) {
switch (color.nColorType) {
- case COLORTYPE_TRANSPARENT:
+ case CFX_Color::kTransparent:
array->SetElement(pRuntime, 0, CJS_Value(pRuntime, "T"));
break;
- case COLORTYPE_GRAY:
+ case CFX_Color::kGray:
array->SetElement(pRuntime, 0, CJS_Value(pRuntime, "G"));
array->SetElement(pRuntime, 1, CJS_Value(pRuntime, color.fColor1));
break;
- case COLORTYPE_RGB:
+ case CFX_Color::kRGB:
array->SetElement(pRuntime, 0, CJS_Value(pRuntime, "RGB"));
array->SetElement(pRuntime, 1, CJS_Value(pRuntime, color.fColor1));
array->SetElement(pRuntime, 2, CJS_Value(pRuntime, color.fColor2));
array->SetElement(pRuntime, 3, CJS_Value(pRuntime, color.fColor3));
break;
- case COLORTYPE_CMYK:
+ case CFX_Color::kCMYK:
array->SetElement(pRuntime, 0, CJS_Value(pRuntime, "CMYK"));
array->SetElement(pRuntime, 1, CJS_Value(pRuntime, color.fColor1));
array->SetElement(pRuntime, 2, CJS_Value(pRuntime, color.fColor2));
@@ -119,14 +119,14 @@
}
if (sSpace == "T") {
- *color = CFX_Color(COLORTYPE_TRANSPARENT);
+ *color = CFX_Color(CFX_Color::kTransparent);
} else if (sSpace == "G") {
- *color = CFX_Color(COLORTYPE_GRAY, (float)d1);
+ *color = CFX_Color(CFX_Color::kGray, (float)d1);
} else if (sSpace == "RGB") {
- *color = CFX_Color(COLORTYPE_RGB, (float)d1, (float)d2, (float)d3);
+ *color = CFX_Color(CFX_Color::kRGB, (float)d1, (float)d2, (float)d3);
} else if (sSpace == "CMYK") {
*color =
- CFX_Color(COLORTYPE_CMYK, (float)d1, (float)d2, (float)d3, (float)d4);
+ CFX_Color(CFX_Color::kCMYK, (float)d1, (float)d2, (float)d3, (float)d4);
}
}
@@ -226,16 +226,16 @@
ConvertArrayToPWLColor(pRuntime, aSource, &crSource);
ByteString sDestSpace = params[1].ToCFXByteString(pRuntime);
- int nColorType = COLORTYPE_TRANSPARENT;
+ int nColorType = CFX_Color::kTransparent;
if (sDestSpace == "T") {
- nColorType = COLORTYPE_TRANSPARENT;
+ nColorType = CFX_Color::kTransparent;
} else if (sDestSpace == "G") {
- nColorType = COLORTYPE_GRAY;
+ nColorType = CFX_Color::kGray;
} else if (sDestSpace == "RGB") {
- nColorType = COLORTYPE_RGB;
+ nColorType = CFX_Color::kRGB;
} else if (sDestSpace == "CMYK") {
- nColorType = COLORTYPE_CMYK;
+ nColorType = CFX_Color::kCMYK;
}
CJS_Array aDest;
diff --git a/fpdfsdk/pwl/cpwl_appstream.cpp b/fpdfsdk/pwl/cpwl_appstream.cpp
index 7d7f172..27fa09b 100644
--- a/fpdfsdk/pwl/cpwl_appstream.cpp
+++ b/fpdfsdk/pwl/cpwl_appstream.cpp
@@ -104,19 +104,19 @@
std::ostringstream sColorStream;
switch (color.nColorType) {
- case COLORTYPE_RGB:
+ case CFX_Color::kRGB:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " "
<< (bFillOrStroke ? kSetRGBOperator : kSetRGBStrokedOperator)
<< "\n";
break;
- case COLORTYPE_GRAY:
+ case CFX_Color::kGray:
sColorStream << color.fColor1 << " "
<< (bFillOrStroke ? kSetGrayOperator
: kSetGrayStrokedOperator)
<< "\n";
break;
- case COLORTYPE_CMYK:
+ case CFX_Color::kCMYK:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " " << color.fColor4 << " "
<< (bFillOrStroke ? kSetCMYKOperator
@@ -1055,7 +1055,7 @@
std::ostringstream sAppStream;
{
AutoClosedQCommand q(&sAppStream);
- sAppStream << GetColorAppStream(CFX_Color(COLORTYPE_RGB, 220.0f / 255.0f,
+ sAppStream << GetColorAppStream(CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
220.0f / 255.0f, 220.0f / 255.0f),
true)
<< rcBBox.left << " " << rcBBox.bottom << " "
@@ -1067,9 +1067,9 @@
{
AutoClosedQCommand q(&sAppStream);
sAppStream << GetBorderAppStreamInternal(
- rcBBox, 2, CFX_Color(COLORTYPE_GRAY, 0), CFX_Color(COLORTYPE_GRAY, 1),
- CFX_Color(COLORTYPE_GRAY, 0.5), BorderStyle::BEVELED,
- CPWL_Dash(3, 0, 0));
+ rcBBox, 2, CFX_Color(CFX_Color::kGray, 0),
+ CFX_Color(CFX_Color::kGray, 1), CFX_Color(CFX_Color::kGray, 0.5),
+ BorderStyle::BEVELED, CPWL_Dash(3, 0, 0));
}
CFX_PointF ptCenter = CFX_PointF((rcBBox.left + rcBBox.right) / 2,
@@ -1164,20 +1164,20 @@
break;
case BorderStyle::BEVELED:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::INSET:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0.5);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
break;
default:
break;
}
CFX_FloatRect rcClient = rcWindow.GetDeflated(fBorderWidth, fBorderWidth);
- CFX_Color crText(COLORTYPE_GRAY, 0);
+ CFX_Color crText(CFX_Color::kGray, 0);
ByteString csNameTag;
CPDF_DefaultAppearance da = pControl->GetDefaultAppearance();
if (da.HasColor()) {
@@ -1287,8 +1287,8 @@
break;
}
case BorderStyle::INSET: {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 1);
break;
}
default:
@@ -1339,13 +1339,13 @@
break;
case BorderStyle::BEVELED:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::INSET:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0.5);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
break;
default:
break;
@@ -1399,8 +1399,8 @@
break;
}
case BorderStyle::INSET: {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 1);
break;
}
default:
@@ -1455,13 +1455,13 @@
break;
case BorderStyle::BEVELED:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::INSET:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0.5);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
break;
default:
break;
@@ -1504,11 +1504,11 @@
CFX_FloatRect rcCenter = rcWindow.GetCenterSquare().GetDeflated(1.0f, 1.0f);
if (nStyle == CheckStyle::kCircle) {
if (nBorderStyle == BorderStyle::BEVELED) {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
crRightBottom = crBackground - 0.25f;
} else if (nBorderStyle == BorderStyle::INSET) {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0.5f);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 0.75f);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5f);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75f);
}
csAP_N_ON =
@@ -1532,8 +1532,8 @@
break;
}
case BorderStyle::INSET: {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 1);
break;
}
default:
@@ -1546,11 +1546,11 @@
CFX_Color crBK = crBackground - 0.25f;
if (nBorderStyle == BorderStyle::BEVELED) {
crLeftTop = crBackground - 0.25f;
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 1);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 1);
crBK = crBackground;
} else if (nBorderStyle == BorderStyle::INSET) {
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 1);
}
csAP_D_ON =
@@ -1695,7 +1695,7 @@
CFX_FloatRect(rcClient.left, fy - fItemHeight, rcClient.right, fy);
{
AutoClosedQCommand q(&sList);
- sList << GetColorAppStream(CFX_Color(COLORTYPE_RGB, 0, 51.0f / 255.0f,
+ sList << GetColorAppStream(CFX_Color(CFX_Color::kRGB, 0, 51.0f / 255.0f,
113.0f / 255.0f),
true)
<< rcItem.left << " " << rcItem.bottom << " " << rcItem.Width()
@@ -1704,7 +1704,7 @@
}
AutoClosedCommand bt(&sList, kTextBeginOperator, kTextEndOperator);
- sList << GetColorAppStream(CFX_Color(COLORTYPE_GRAY, 1), true)
+ sList << GetColorAppStream(CFX_Color(CFX_Color::kGray, 1), true)
<< GetEditAppStream(pEdit.get(), CFX_PointF(0.0f, fy), true, 0);
} else {
CFX_Color crText = widget_->GetTextPWLColor();
@@ -1953,7 +1953,7 @@
ByteString CPWL_AppStream::GetBackgroundAppStream() const {
CFX_Color crBackground = widget_->GetFillPWLColor();
- if (crBackground.nColorType != COLORTYPE_TRANSPARENT)
+ if (crBackground.nColorType != CFX_Color::kTransparent)
return GetRectFillAppStream(widget_->GetRotatedRect(), crBackground);
return ByteString();
@@ -1976,13 +1976,13 @@
break;
case BorderStyle::BEVELED:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 1);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::INSET:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(COLORTYPE_GRAY, 0.5);
- crRightBottom = CFX_Color(COLORTYPE_GRAY, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
break;
default:
break;
diff --git a/fpdfsdk/pwl/cpwl_combo_box.cpp b/fpdfsdk/pwl/cpwl_combo_box.cpp
index 92b0165..67d2d88 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.cpp
+++ b/fpdfsdk/pwl/cpwl_combo_box.cpp
@@ -279,7 +279,7 @@
CreateParams bcp = cp;
bcp.pParentWnd = this;
bcp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BORDER | PWS_BACKGROUND;
- bcp.sBackgroundColor = CFX_Color(COLORTYPE_RGB, 220.0f / 255.0f,
+ bcp.sBackgroundColor = CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
220.0f / 255.0f, 220.0f / 255.0f);
bcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR;
bcp.dwBorderWidth = 2;
@@ -309,10 +309,10 @@
else
lcp.fFontSize = cp.fFontSize;
- if (cp.sBorderColor.nColorType == COLORTYPE_TRANSPARENT)
+ if (cp.sBorderColor.nColorType == CFX_Color::kTransparent)
lcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR;
- if (cp.sBackgroundColor.nColorType == COLORTYPE_TRANSPARENT)
+ if (cp.sBackgroundColor.nColorType == CFX_Color::kTransparent)
lcp.sBackgroundColor = PWL_DEFAULT_WHITECOLOR;
m_pList->Create(lcp);
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.cpp b/fpdfsdk/pwl/cpwl_scroll_bar.cpp
index 58a8745..3ec9367 100644
--- a/fpdfsdk/pwl/cpwl_scroll_bar.cpp
+++ b/fpdfsdk/pwl/cpwl_scroll_bar.cpp
@@ -22,7 +22,7 @@
} // namespace
-#define PWL_DEFAULT_HEAVYGRAYCOLOR CFX_Color(COLORTYPE_GRAY, 0.50)
+#define PWL_DEFAULT_HEAVYGRAYCOLOR CFX_Color(CFX_Color::kGray, 0.50)
PWL_FLOATRANGE::PWL_FLOATRANGE() {
Default();
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp
index 124065c..ec605a3 100644
--- a/fpdfsdk/pwl/cpwl_wnd.cpp
+++ b/fpdfsdk/pwl/cpwl_wnd.cpp
@@ -716,9 +716,9 @@
CFX_Color CPWL_Wnd::GetBorderLeftTopColor(BorderStyle nBorderStyle) const {
switch (nBorderStyle) {
case BorderStyle::BEVELED:
- return CFX_Color(COLORTYPE_GRAY, 1);
+ return CFX_Color(CFX_Color::kGray, 1);
case BorderStyle::INSET:
- return CFX_Color(COLORTYPE_GRAY, 0.5f);
+ return CFX_Color(CFX_Color::kGray, 0.5f);
default:
return CFX_Color();
}
@@ -729,7 +729,7 @@
case BorderStyle::BEVELED:
return GetBackgroundColor() / 2.0f;
case BorderStyle::INSET:
- return CFX_Color(COLORTYPE_GRAY, 0.75f);
+ return CFX_Color(CFX_Color::kGray, 0.75f);
default:
return CFX_Color();
}
diff --git a/fpdfsdk/pwl/cpwl_wnd.h b/fpdfsdk/pwl/cpwl_wnd.h
index 38d4ce0..a9a434d 100644
--- a/fpdfsdk/pwl/cpwl_wnd.h
+++ b/fpdfsdk/pwl/cpwl_wnd.h
@@ -95,8 +95,8 @@
#define PWL_SCROLLBAR_WIDTH 12.0f
#define PWL_SCROLLBAR_TRANSPARENCY 150
-#define PWL_DEFAULT_BLACKCOLOR CFX_Color(COLORTYPE_GRAY, 0)
-#define PWL_DEFAULT_WHITECOLOR CFX_Color(COLORTYPE_GRAY, 1)
+#define PWL_DEFAULT_BLACKCOLOR CFX_Color(CFX_Color::kGray, 0)
+#define PWL_DEFAULT_WHITECOLOR CFX_Color(CFX_Color::kGray, 1)
class CPWL_Wnd : public CPWL_TimerHandler, public Observable<CPWL_Wnd> {
public: