Make CFX_Color::Type an enum class
Avoid some stray int usage.
-- Also remove Reset(), uncalled.
-- Add copy-assign declaration.
Change-Id: I4595f7b8615a911b7d4d54efc4b2de5058afb1d1
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80531
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfdoc/cpdf_apsettings.cpp b/core/fpdfdoc/cpdf_apsettings.cpp
index f709ecd..0374e93 100644
--- a/core/fpdfdoc/cpdf_apsettings.cpp
+++ b/core/fpdfdoc/cpdf_apsettings.cpp
@@ -29,22 +29,22 @@
std::pair<CFX_Color::Type, FX_ARGB> CPDF_ApSettings::GetColorARGB(
const ByteString& csEntry) const {
if (!m_pDict)
- return {CFX_Color::kTransparent, 0};
+ return {CFX_Color::Type::kTransparent, 0};
CPDF_Array* pEntry = m_pDict->GetArrayFor(csEntry);
if (!pEntry)
- return {CFX_Color::kTransparent, 0};
+ return {CFX_Color::Type::kTransparent, 0};
const size_t dwCount = pEntry->size();
if (dwCount == 1) {
const float g = pEntry->GetNumberAt(0) * 255;
- return {CFX_Color::kGray, ArgbEncode(255, (int)g, (int)g, (int)g)};
+ return {CFX_Color::Type::kGray, ArgbEncode(255, (int)g, (int)g, (int)g)};
}
if (dwCount == 3) {
float r = pEntry->GetNumberAt(0) * 255;
float g = pEntry->GetNumberAt(1) * 255;
float b = pEntry->GetNumberAt(2) * 255;
- return {CFX_Color::kRGB, ArgbEncode(255, (int)r, (int)g, (int)b)};
+ return {CFX_Color::Type::kRGB, ArgbEncode(255, (int)r, (int)g, (int)b)};
}
if (dwCount == 4) {
float c = pEntry->GetNumberAt(0);
@@ -54,9 +54,9 @@
float r = (1.0f - std::min(1.0f, c + k)) * 255;
float g = (1.0f - std::min(1.0f, m + k)) * 255;
float b = (1.0f - std::min(1.0f, y + k)) * 255;
- return {CFX_Color::kCMYK, ArgbEncode(255, (int)r, (int)g, (int)b)};
+ return {CFX_Color::Type::kCMYK, ArgbEncode(255, (int)r, (int)g, (int)b)};
}
- return {CFX_Color::kTransparent, 0};
+ return {CFX_Color::Type::kTransparent, 0};
}
float CPDF_ApSettings::GetOriginalColorComponent(
@@ -79,14 +79,14 @@
size_t dwCount = pEntry->size();
if (dwCount == 1) {
- return CFX_Color(CFX_Color::kGray, pEntry->GetNumberAt(0));
+ return CFX_Color(CFX_Color::Type::kGray, pEntry->GetNumberAt(0));
}
if (dwCount == 3) {
- return CFX_Color(CFX_Color::kRGB, pEntry->GetNumberAt(0),
+ return CFX_Color(CFX_Color::Type::kRGB, pEntry->GetNumberAt(0),
pEntry->GetNumberAt(1), pEntry->GetNumberAt(2));
}
if (dwCount == 4) {
- return CFX_Color(CFX_Color::kCMYK, pEntry->GetNumberAt(0),
+ return CFX_Color(CFX_Color::Type::kCMYK, pEntry->GetNumberAt(0),
pEntry->GetNumberAt(1), pEntry->GetNumberAt(2),
pEntry->GetNumberAt(3));
}
diff --git a/core/fpdfdoc/cpdf_color_utils.cpp b/core/fpdfdoc/cpdf_color_utils.cpp
index 6a7802c..6b79715 100644
--- a/core/fpdfdoc/cpdf_color_utils.cpp
+++ b/core/fpdfdoc/cpdf_color_utils.cpp
@@ -17,14 +17,14 @@
CFX_Color rt;
switch (array.size()) {
case 1:
- rt = CFX_Color(CFX_Color::kGray, array.GetNumberAt(0));
+ rt = CFX_Color(CFX_Color::Type::kGray, array.GetNumberAt(0));
break;
case 3:
- rt = CFX_Color(CFX_Color::kRGB, array.GetNumberAt(0),
+ rt = CFX_Color(CFX_Color::Type::kRGB, array.GetNumberAt(0),
array.GetNumberAt(1), array.GetNumberAt(2));
break;
case 4:
- rt = CFX_Color(CFX_Color::kCMYK, array.GetNumberAt(0),
+ rt = CFX_Color(CFX_Color::Type::kCMYK, array.GetNumberAt(0),
array.GetNumberAt(1), array.GetNumberAt(2),
array.GetNumberAt(3));
break;
diff --git a/core/fpdfdoc/cpdf_defaultappearance.cpp b/core/fpdfdoc/cpdf_defaultappearance.cpp
index 1b83d13..b61758d 100644
--- a/core/fpdfdoc/cpdf_defaultappearance.cpp
+++ b/core/fpdfdoc/cpdf_defaultappearance.cpp
@@ -87,20 +87,20 @@
CPDF_SimpleParser syntax(m_csDA.AsStringView().raw_span());
if (FindTagParamFromStart(&syntax, "g", 1)) {
fc[0] = StringToFloat(syntax.GetWord());
- return CFX_Color(CFX_Color::kGray, fc[0]);
+ return CFX_Color(CFX_Color::Type::kGray, fc[0]);
}
if (FindTagParamFromStart(&syntax, "rg", 3)) {
fc[0] = StringToFloat(syntax.GetWord());
fc[1] = StringToFloat(syntax.GetWord());
fc[2] = StringToFloat(syntax.GetWord());
- return CFX_Color(CFX_Color::kRGB, fc[0], fc[1], fc[2]);
+ return CFX_Color(CFX_Color::Type::kRGB, fc[0], fc[1], fc[2]);
}
if (FindTagParamFromStart(&syntax, "k", 4)) {
fc[0] = StringToFloat(syntax.GetWord());
fc[1] = StringToFloat(syntax.GetWord());
fc[2] = StringToFloat(syntax.GetWord());
fc[3] = StringToFloat(syntax.GetWord());
- return CFX_Color(CFX_Color::kCMYK, fc[0], fc[1], fc[2], fc[3]);
+ return CFX_Color(CFX_Color::Type::kCMYK, fc[0], fc[1], fc[2], fc[3]);
}
return {};
}
@@ -112,26 +112,27 @@
return pdfium::nullopt;
const CFX_Color& color = maybe_color.value();
- if (color.nColorType == CFX_Color::kGray) {
+ if (color.nColorType == CFX_Color::Type::kGray) {
int g = static_cast<int>(color.fColor1 * 255 + 0.5f);
- return std::pair<CFX_Color::Type, FX_ARGB>(CFX_Color::kGray,
+ return std::pair<CFX_Color::Type, FX_ARGB>(CFX_Color::Type::kGray,
ArgbEncode(255, g, g, g));
}
- if (color.nColorType == CFX_Color::kRGB) {
+ if (color.nColorType == CFX_Color::Type::kRGB) {
int r = static_cast<int>(color.fColor1 * 255 + 0.5f);
int g = static_cast<int>(color.fColor2 * 255 + 0.5f);
int b = static_cast<int>(color.fColor3 * 255 + 0.5f);
- return std::pair<CFX_Color::Type, FX_ARGB>(CFX_Color::kRGB,
+ return std::pair<CFX_Color::Type, FX_ARGB>(CFX_Color::Type::kRGB,
ArgbEncode(255, r, g, b));
}
- if (color.nColorType == CFX_Color::kCMYK) {
+ if (color.nColorType == CFX_Color::Type::kCMYK) {
float r = 1.0f - std::min(1.0f, color.fColor1 + color.fColor4);
float g = 1.0f - std::min(1.0f, color.fColor2 + color.fColor4);
float b = 1.0f - std::min(1.0f, color.fColor3 + color.fColor4);
return std::pair<CFX_Color::Type, FX_ARGB>(
- CFX_Color::kCMYK, ArgbEncode(255, static_cast<int>(r * 255 + 0.5f),
- static_cast<int>(g * 255 + 0.5f),
- static_cast<int>(b * 255 + 0.5f)));
+ CFX_Color::Type::kCMYK,
+ ArgbEncode(255, static_cast<int>(r * 255 + 0.5f),
+ static_cast<int>(g * 255 + 0.5f),
+ static_cast<int>(b * 255 + 0.5f)));
}
NOTREACHED();
return pdfium::nullopt;
diff --git a/core/fpdfdoc/cpdf_generateap.cpp b/core/fpdfdoc/cpdf_generateap.cpp
index b26b121..b8b941f 100644
--- a/core/fpdfdoc/cpdf_generateap.cpp
+++ b/core/fpdfdoc/cpdf_generateap.cpp
@@ -178,24 +178,24 @@
ByteString GenerateColorAP(const CFX_Color& color, PaintOperation nOperation) {
std::ostringstream sColorStream;
switch (color.nColorType) {
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " "
<< (nOperation == PaintOperation::kStroke ? "RG" : "rg")
<< "\n";
break;
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
sColorStream << color.fColor1 << " "
<< (nOperation == PaintOperation::kStroke ? "G" : "g")
<< "\n";
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " " << color.fColor4 << " "
<< (nOperation == PaintOperation::kStroke ? "K" : "k")
<< "\n";
break;
- case CFX_Color::kTransparent:
+ case CFX_Color::Type::kTransparent:
break;
}
return ByteString(sColorStream);
@@ -394,7 +394,7 @@
std::ostringstream sAppStream;
sAppStream << "BT\n"
- << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 0, 0, 0),
+ << GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0),
PaintOperation::kFill)
<< sContent << "ET\n"
<< "Q\n";
@@ -424,9 +424,9 @@
ByteString GenerateTextSymbolAP(const CFX_FloatRect& rect) {
std::ostringstream sAppStream;
- sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 1, 1, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 1, 1, 0),
PaintOperation::kFill);
- sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 0, 0, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0),
PaintOperation::kStroke);
const float fBorderWidth = 1;
@@ -538,13 +538,13 @@
sAppStream << "/" << sExtGSDictName << " gs ";
CPDF_Array* pInteriorColor = pAnnotDict->GetArrayFor("IC");
- sAppStream << GetColorStringWithDefault(pInteriorColor,
- CFX_Color(CFX_Color::kTransparent),
- PaintOperation::kFill);
+ sAppStream << GetColorStringWithDefault(
+ pInteriorColor, CFX_Color(CFX_Color::Type::kTransparent),
+ PaintOperation::kFill);
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
bool bIsStrokeRect = fBorderWidth > 0;
@@ -612,7 +612,7 @@
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 1, 1, 0), PaintOperation::kFill);
+ CFX_Color(CFX_Color::Type::kRGB, 1, 1, 0), PaintOperation::kFill);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -654,7 +654,7 @@
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
sAppStream << fBorderWidth << " w ";
sAppStream << GetDashPatternString(*pAnnotDict);
@@ -719,7 +719,7 @@
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -748,9 +748,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs\n";
- sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 1, 1, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 1, 1, 0),
PaintOperation::kFill);
- sAppStream << GenerateColorAP(CFX_Color(CFX_Color::kRGB, 0, 0, 0),
+ sAppStream << GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0),
PaintOperation::kStroke);
const float fBorderWidth = 1;
@@ -789,13 +789,13 @@
sAppStream << "/" << sExtGSDictName << " gs ";
CPDF_Array* pInteriorColor = pAnnotDict->GetArrayFor("IC");
- sAppStream << GetColorStringWithDefault(pInteriorColor,
- CFX_Color(CFX_Color::kTransparent),
- PaintOperation::kFill);
+ sAppStream << GetColorStringWithDefault(
+ pInteriorColor, CFX_Color(CFX_Color::Type::kTransparent),
+ PaintOperation::kFill);
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
bool bIsStrokeRect = fBorderWidth > 0;
@@ -837,7 +837,7 @@
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -887,7 +887,7 @@
sAppStream << GetColorStringWithDefault(
pAnnotDict->GetArrayFor(pdfium::annotation::kC),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::kStroke);
+ CFX_Color(CFX_Color::Type::kRGB, 0, 0, 0), PaintOperation::kStroke);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -1019,14 +1019,14 @@
case 'B':
nBorderStyle = BorderStyle::kBeveled;
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.5);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.5);
break;
case 'I':
nBorderStyle = BorderStyle::kInset;
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75);
break;
case 'U':
nBorderStyle = BorderStyle::kUnderline;
@@ -1201,7 +1201,7 @@
<< "Q\nEMC\n";
}
ByteString sButton =
- GenerateColorAP(CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
+ GenerateColorAP(CFX_Color(CFX_Color::Type::kRGB, 220.0f / 255.0f,
220.0f / 255.0f, 220.0f / 255.0f),
PaintOperation::kFill);
if (sButton.GetLength() > 0 && !rcButton.IsEmpty()) {
@@ -1209,10 +1209,11 @@
sAppStream << rcButton.left << " " << rcButton.bottom << " "
<< rcButton.Width() << " " << rcButton.Height() << " re f\n";
sAppStream << "Q\n";
- ByteString sButtonBorder = GenerateBorderAP(
- rcButton, 2, CFX_Color(CFX_Color::kGray, 0),
- CFX_Color(CFX_Color::kGray, 1), CFX_Color(CFX_Color::kGray, 0.5),
- BorderStyle::kBeveled, CPVT_Dash(3, 0, 0));
+ ByteString sButtonBorder =
+ GenerateBorderAP(rcButton, 2, CFX_Color(CFX_Color::Type::kGray, 0),
+ CFX_Color(CFX_Color::Type::kGray, 1),
+ CFX_Color(CFX_Color::Type::kGray, 0.5),
+ BorderStyle::kBeveled, CPVT_Dash(3, 0, 0));
if (sButtonBorder.GetLength() > 0)
sAppStream << "q\n" << sButtonBorder << "Q\n";
@@ -1283,14 +1284,14 @@
rcBody.left, fy - fItemHeight, rcBody.right, fy);
sBody << "q\n"
<< GenerateColorAP(
- CFX_Color(CFX_Color::kRGB, 0, 51.0f / 255.0f,
+ CFX_Color(CFX_Color::Type::kRGB, 0, 51.0f / 255.0f,
113.0f / 255.0f),
PaintOperation::kFill)
<< rcItem.left << " " << rcItem.bottom << " "
<< rcItem.Width() << " " << rcItem.Height() << " re f\n"
<< "Q\n";
sBody << "BT\n"
- << GenerateColorAP(CFX_Color(CFX_Color::kGray, 1),
+ << GenerateColorAP(CFX_Color(CFX_Color::Type::kGray, 1),
PaintOperation::kFill)
<< GenerateEditAP(&map, vt.GetIterator(),
CFX_PointF(0.0f, fy), true, 0)
diff --git a/core/fxge/cfx_color.cpp b/core/fxge/cfx_color.cpp
index 99330bc..d5fa473 100644
--- a/core/fxge/cfx_color.cpp
+++ b/core/fxge/cfx_color.cpp
@@ -10,11 +10,11 @@
// Color types are orded by increasing number of components so we can
// choose a best color type during some conversions.
-static_assert(CFX_Color::kTransparent < CFX_Color::kGray,
+static_assert(CFX_Color::Type::kTransparent < CFX_Color::Type::kGray,
"color type values must be ordered");
-static_assert(CFX_Color::kGray < CFX_Color::kRGB,
+static_assert(CFX_Color::Type::kGray < CFX_Color::Type::kRGB,
"color type values must be ordered");
-static_assert(CFX_Color::kRGB < CFX_Color::kCMYK,
+static_assert(CFX_Color::Type::kRGB < CFX_Color::Type::kCMYK,
"color type values must be ordered");
namespace {
@@ -25,86 +25,87 @@
CFX_Color ConvertCMYK2GRAY(float dC, float dM, float dY, float dK) {
if (!InRange(dC) || !InRange(dM) || !InRange(dY) || !InRange(dK))
- return CFX_Color(CFX_Color::kGray);
+ return CFX_Color(CFX_Color::Type::kGray);
return CFX_Color(
- CFX_Color::kGray,
+ CFX_Color::Type::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(CFX_Color::kCMYK);
- return CFX_Color(CFX_Color::kCMYK, 0.0f, 0.0f, 0.0f, 1.0f - dGray);
+ return CFX_Color(CFX_Color::Type::kCMYK);
+ return CFX_Color(CFX_Color::Type::kCMYK, 0.0f, 0.0f, 0.0f, 1.0f - dGray);
}
CFX_Color ConvertGRAY2RGB(float dGray) {
if (!InRange(dGray))
- return CFX_Color(CFX_Color::kRGB);
- return CFX_Color(CFX_Color::kRGB, dGray, dGray, dGray);
+ return CFX_Color(CFX_Color::Type::kRGB);
+ return CFX_Color(CFX_Color::Type::kRGB, dGray, dGray, dGray);
}
CFX_Color ConvertRGB2GRAY(float dR, float dG, float dB) {
if (!InRange(dR) || !InRange(dG) || !InRange(dB))
- return CFX_Color(CFX_Color::kGray);
- return CFX_Color(CFX_Color::kGray, 0.3f * dR + 0.59f * dG + 0.11f * dB);
+ return CFX_Color(CFX_Color::Type::kGray);
+ return CFX_Color(CFX_Color::Type::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(CFX_Color::kRGB);
- return CFX_Color(CFX_Color::kRGB, 1.0f - std::min(1.0f, dC + dK),
+ return CFX_Color(CFX_Color::Type::kRGB);
+ return CFX_Color(CFX_Color::Type::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(CFX_Color::kCMYK);
+ return CFX_Color(CFX_Color::Type::kCMYK);
float c = 1.0f - dR;
float m = 1.0f - dG;
float y = 1.0f - dB;
- return CFX_Color(CFX_Color::kCMYK, c, m, y, std::min(c, std::min(m, y)));
+ return CFX_Color(CFX_Color::Type::kCMYK, c, m, y,
+ std::min(c, std::min(m, y)));
}
} // namespace
-CFX_Color CFX_Color::ConvertColorType(int32_t nConvertColorType) const {
+CFX_Color CFX_Color::ConvertColorType(Type nConvertColorType) const {
if (nColorType == nConvertColorType)
return *this;
CFX_Color ret;
switch (nColorType) {
- case CFX_Color::kTransparent:
+ case CFX_Color::Type::kTransparent:
ret = *this;
- ret.nColorType = CFX_Color::kTransparent;
+ ret.nColorType = CFX_Color::Type::kTransparent;
break;
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
switch (nConvertColorType) {
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
ret = ConvertGRAY2RGB(fColor1);
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
ret = ConvertGRAY2CMYK(fColor1);
break;
}
break;
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
switch (nConvertColorType) {
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
ret = ConvertRGB2GRAY(fColor1, fColor2, fColor3);
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
ret = ConvertRGB2CMYK(fColor1, fColor2, fColor3);
break;
}
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
switch (nConvertColorType) {
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
ret = ConvertCMYK2GRAY(fColor1, fColor2, fColor3, fColor4);
break;
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
break;
}
@@ -116,21 +117,21 @@
FX_COLORREF CFX_Color::ToFXColor(int32_t nTransparency) const {
CFX_Color ret;
switch (nColorType) {
- case CFX_Color::kTransparent: {
- ret = CFX_Color(CFX_Color::kTransparent, 0, 0, 0, 0);
+ case CFX_Color::Type::kTransparent: {
+ ret = CFX_Color(CFX_Color::Type::kTransparent, 0, 0, 0, 0);
break;
}
- case CFX_Color::kGray: {
+ case CFX_Color::Type::kGray: {
ret = ConvertGRAY2RGB(fColor1);
ret.fColor4 = nTransparency;
break;
}
- case CFX_Color::kRGB: {
- ret = CFX_Color(CFX_Color::kRGB, fColor1, fColor2, fColor3);
+ case CFX_Color::Type::kRGB: {
+ ret = CFX_Color(CFX_Color::Type::kRGB, fColor1, fColor2, fColor3);
ret.fColor4 = nTransparency;
break;
}
- case CFX_Color::kCMYK: {
+ case CFX_Color::Type::kCMYK: {
ret = ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4);
ret.fColor4 = nTransparency;
break;
@@ -144,15 +145,15 @@
CFX_Color CFX_Color::operator-(float fColorSub) const {
CFX_Color sRet(nColorType);
switch (nColorType) {
- case CFX_Color::kTransparent:
- sRet.nColorType = CFX_Color::kRGB;
+ case CFX_Color::Type::kTransparent:
+ sRet.nColorType = CFX_Color::Type::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 CFX_Color::kRGB:
- case CFX_Color::kGray:
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kRGB:
+ case CFX_Color::Type::kGray:
+ case CFX_Color::Type::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);
@@ -165,15 +166,15 @@
CFX_Color CFX_Color::operator/(float fColorDivide) const {
CFX_Color sRet(nColorType);
switch (nColorType) {
- case CFX_Color::kTransparent:
- sRet.nColorType = CFX_Color::kRGB;
+ case CFX_Color::Type::kTransparent:
+ sRet.nColorType = CFX_Color::Type::kRGB;
sRet.fColor1 = 1.0f / fColorDivide;
sRet.fColor2 = 1.0f / fColorDivide;
sRet.fColor3 = 1.0f / fColorDivide;
break;
- case CFX_Color::kRGB:
- case CFX_Color::kGray:
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kRGB:
+ case CFX_Color::Type::kGray:
+ case CFX_Color::Type::kCMYK:
sRet = *this;
sRet.fColor1 /= fColorDivide;
sRet.fColor2 /= fColorDivide;
diff --git a/core/fxge/cfx_color.h b/core/fxge/cfx_color.h
index c3db8a7..a386d2b 100644
--- a/core/fxge/cfx_color.h
+++ b/core/fxge/cfx_color.h
@@ -11,12 +11,12 @@
struct CFX_Color {
// Ordered by increasing number of components.
- enum Type { kTransparent = 0, kGray, kRGB, kCMYK };
+ enum class 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(Type type = CFX_Color::kTransparent,
+ CFX_Color(Type type = CFX_Color::Type::kTransparent,
float color1 = 0.0f,
float color2 = 0.0f,
float color3 = 0.0f,
@@ -28,29 +28,21 @@
fColor4(color4) {}
CFX_Color(int32_t r, int32_t g, int32_t b)
- : nColorType(CFX_Color::kRGB),
+ : nColorType(CFX_Color::Type::kRGB),
fColor1(r / 255.0f),
fColor2(g / 255.0f),
fColor3(b / 255.0f),
fColor4(0) {}
- CFX_Color(const CFX_Color&) = default;
+ CFX_Color(const CFX_Color& that) = default;
+ CFX_Color& operator=(const CFX_Color& that) = default;
CFX_Color operator/(float fColorDivide) const;
CFX_Color operator-(float fColorSub) const;
- CFX_Color ConvertColorType(int32_t nConvertColorType) const;
-
+ CFX_Color ConvertColorType(Type nConvertColorType) const;
FX_COLORREF ToFXColor(int32_t nTransparency) const;
- void Reset() {
- nColorType = CFX_Color::kTransparent;
- fColor1 = 0.0f;
- fColor2 = 0.0f;
- fColor3 = 0.0f;
- fColor4 = 0.0f;
- }
-
Type nColorType;
float fColor1;
float fColor2;
diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp
index 25e0ad6..ad88253 100644
--- a/fpdfsdk/cpdfsdk_appstream.cpp
+++ b/fpdfsdk/cpdfsdk_appstream.cpp
@@ -109,21 +109,21 @@
std::ostringstream sColorStream;
switch (color.nColorType) {
- case CFX_Color::kTransparent:
+ case CFX_Color::Type::kTransparent:
break;
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
sColorStream << color.fColor1 << " "
<< (bFillOrStroke ? kSetGrayOperator
: kSetGrayStrokedOperator)
<< "\n";
break;
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " "
<< (bFillOrStroke ? kSetRGBOperator : kSetRGBStrokedOperator)
<< "\n";
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
sColorStream << color.fColor1 << " " << color.fColor2 << " "
<< color.fColor3 << " " << color.fColor4 << " "
<< (bFillOrStroke ? kSetCMYKOperator
@@ -1048,9 +1048,10 @@
std::ostringstream sAppStream;
{
AutoClosedQCommand q(&sAppStream);
- sAppStream << GetColorAppStream(CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
- 220.0f / 255.0f, 220.0f / 255.0f),
- true)
+ sAppStream << GetColorAppStream(
+ CFX_Color(CFX_Color::Type::kRGB, 220.0f / 255.0f,
+ 220.0f / 255.0f, 220.0f / 255.0f),
+ true)
<< rcBBox.left << " " << rcBBox.bottom << " "
<< rcBBox.right - rcBBox.left << " "
<< rcBBox.top - rcBBox.bottom << " " << kAppendRectOperator
@@ -1060,9 +1061,10 @@
{
AutoClosedQCommand q(&sAppStream);
sAppStream << GetBorderAppStreamInternal(
- rcBBox, 2, CFX_Color(CFX_Color::kGray, 0),
- CFX_Color(CFX_Color::kGray, 1), CFX_Color(CFX_Color::kGray, 0.5),
- BorderStyle::kBeveled, CPWL_Dash(3, 0, 0));
+ rcBBox, 2, CFX_Color(CFX_Color::Type::kGray, 0),
+ CFX_Color(CFX_Color::Type::kGray, 1),
+ CFX_Color(CFX_Color::Type::kGray, 0.5), BorderStyle::kBeveled,
+ CPWL_Dash(3, 0, 0));
}
CFX_PointF ptCenter = CFX_PointF((rcBBox.left + rcBBox.right) / 2,
@@ -1186,13 +1188,13 @@
break;
case BorderStyle::kBeveled:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::kInset:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75);
break;
default:
break;
@@ -1201,7 +1203,7 @@
CFX_FloatRect rcClient = rcWindow.GetDeflated(fBorderWidth, fBorderWidth);
CPDF_DefaultAppearance da = pControl->GetDefaultAppearance();
Optional<CFX_Color> color = da.GetColor();
- CFX_Color crText = color.value_or(CFX_Color(CFX_Color::kGray, 0));
+ CFX_Color crText = color.value_or(CFX_Color(CFX_Color::Type::kGray, 0));
float fFontSize;
ByteString csNameTag;
@@ -1296,8 +1298,8 @@
break;
}
case BorderStyle::kInset: {
- crLeftTop = CFX_Color(CFX_Color::kGray, 0);
- crRightBottom = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 1);
break;
}
default:
@@ -1337,13 +1339,13 @@
break;
case BorderStyle::kBeveled:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::kInset:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75);
break;
default:
break;
@@ -1371,8 +1373,8 @@
break;
}
case BorderStyle::kInset: {
- crLeftTop = CFX_Color(CFX_Color::kGray, 0);
- crRightBottom = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 1);
break;
}
default:
@@ -1416,13 +1418,13 @@
break;
case BorderStyle::kBeveled:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::kInset:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75);
break;
default:
break;
@@ -1439,11 +1441,11 @@
CFX_FloatRect rcCenter = rcWindow.GetCenterSquare().GetDeflated(1.0f, 1.0f);
if (nStyle == CheckStyle::kCircle) {
if (nBorderStyle == BorderStyle::kBeveled) {
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
crRightBottom = crBackground - 0.25f;
} else if (nBorderStyle == BorderStyle::kInset) {
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5f);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75f);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5f);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75f);
}
csAP_N_ON =
@@ -1467,8 +1469,8 @@
break;
}
case BorderStyle::kInset: {
- crLeftTop = CFX_Color(CFX_Color::kGray, 0);
- crRightBottom = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 1);
break;
}
default:
@@ -1481,11 +1483,11 @@
CFX_Color crBK = crBackground - 0.25f;
if (nBorderStyle == BorderStyle::kBeveled) {
crLeftTop = crBackground - 0.25f;
- crRightBottom = CFX_Color(CFX_Color::kGray, 1);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 1);
crBK = crBackground;
} else if (nBorderStyle == BorderStyle::kInset) {
- crLeftTop = CFX_Color(CFX_Color::kGray, 0);
- crRightBottom = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 1);
}
csAP_D_ON =
@@ -1631,8 +1633,8 @@
CFX_FloatRect(rcClient.left, fy - fItemHeight, rcClient.right, fy);
{
AutoClosedQCommand q(&sList);
- sList << GetColorAppStream(CFX_Color(CFX_Color::kRGB, 0, 51.0f / 255.0f,
- 113.0f / 255.0f),
+ sList << GetColorAppStream(CFX_Color(CFX_Color::Type::kRGB, 0,
+ 51.0f / 255.0f, 113.0f / 255.0f),
true)
<< rcItem.left << " " << rcItem.bottom << " " << rcItem.Width()
<< " " << rcItem.Height() << " " << kAppendRectOperator << " "
@@ -1640,7 +1642,7 @@
}
AutoClosedCommand bt(&sList, kTextBeginOperator, kTextEndOperator);
- sList << GetColorAppStream(CFX_Color(CFX_Color::kGray, 1), true)
+ sList << GetColorAppStream(CFX_Color(CFX_Color::Type::kGray, 1), true)
<< GetEditAppStream(pEdit.get(), CFX_PointF(0.0f, fy), true, 0);
} else {
CFX_Color crText = widget_->GetTextPWLColor();
@@ -1885,7 +1887,7 @@
ByteString CPDFSDK_AppStream::GetBackgroundAppStream() const {
CFX_Color crBackground = widget_->GetFillPWLColor();
- if (crBackground.nColorType != CFX_Color::kTransparent)
+ if (crBackground.nColorType != CFX_Color::Type::kTransparent)
return GetRectFillAppStream(widget_->GetRotatedRect(), crBackground);
return ByteString();
@@ -1908,13 +1910,13 @@
break;
case BorderStyle::kBeveled:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 1);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 1);
crRightBottom = crBackground / 2.0f;
break;
case BorderStyle::kInset:
fBorderWidth *= 2;
- crLeftTop = CFX_Color(CFX_Color::kGray, 0.5);
- crRightBottom = CFX_Color(CFX_Color::kGray, 0.75);
+ crLeftTop = CFX_Color(CFX_Color::Type::kGray, 0.5);
+ crRightBottom = CFX_Color(CFX_Color::Type::kGray, 0.75);
break;
default:
break;
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index 0021c2f..4dae85f 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -430,7 +430,7 @@
std::pair<CFX_Color::Type, FX_ARGB> type_argb_pair =
GetFormControl()->GetBackgroundColor();
- if (type_argb_pair.first == CFX_Color::kTransparent)
+ if (type_argb_pair.first == CFX_Color::Type::kTransparent)
return pdfium::nullopt;
return ArgbToColorRef(type_argb_pair.second);
@@ -439,7 +439,7 @@
Optional<FX_COLORREF> CPDFSDK_Widget::GetBorderColor() const {
std::pair<CFX_Color::Type, FX_ARGB> type_argb_pair =
GetFormControl()->GetBorderColorARGB();
- if (type_argb_pair.first == CFX_Color::kTransparent)
+ if (type_argb_pair.first == CFX_Color::Type::kTransparent)
return pdfium::nullopt;
return ArgbToColorRef(type_argb_pair.second);
@@ -453,7 +453,7 @@
if (!maybe_type_argb_pair.has_value())
return pdfium::nullopt;
- if (maybe_type_argb_pair.value().first == CFX_Color::kTransparent)
+ if (maybe_type_argb_pair.value().first == CFX_Color::Type::kTransparent)
return pdfium::nullopt;
return ArgbToColorRef(maybe_type_argb_pair.value().second);
@@ -780,7 +780,7 @@
CFX_Color CPDFSDK_Widget::GetTextPWLColor() const {
CPDF_FormControl* pFormCtrl = GetFormControl();
Optional<CFX_Color> crText = pFormCtrl->GetDefaultAppearance().GetColor();
- return crText.value_or(CFX_Color(CFX_Color::kGray, 0));
+ return crText.value_or(CFX_Color(CFX_Color::Type::kGray, 0));
}
CFX_Color CPDFSDK_Widget::GetBorderPWLColor() const {
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index 343ff03..fbd3901 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -312,7 +312,7 @@
if (color.has_value())
cp.sBorderColor = CFX_Color(color.value());
- cp.sTextColor = CFX_Color(CFX_Color::kGray, 0);
+ cp.sTextColor = CFX_Color(CFX_Color::Type::kGray, 0);
color = m_pWidget->GetTextColor();
if (color.has_value())
diff --git a/fpdfsdk/fpdf_annot.cpp b/fpdfsdk/fpdf_annot.cpp
index 7d9e819..da569c4 100644
--- a/fpdfsdk/fpdf_annot.cpp
+++ b/fpdfsdk/fpdf_annot.cpp
@@ -697,22 +697,22 @@
CFX_Color color = fpdfdoc::CFXColorFromArray(*pColor);
switch (color.nColorType) {
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
*R = color.fColor1 * 255.f;
*G = color.fColor2 * 255.f;
*B = color.fColor3 * 255.f;
break;
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
*R = 255.f * color.fColor1;
*G = 255.f * color.fColor1;
*B = 255.f * color.fColor1;
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::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 CFX_Color::kTransparent:
+ case CFX_Color::Type::kTransparent:
*R = 0;
*G = 0;
*B = 0;
diff --git a/fpdfsdk/pwl/cpwl_combo_box.cpp b/fpdfsdk/pwl/cpwl_combo_box.cpp
index 9b83705..1ddb1ef 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.cpp
+++ b/fpdfsdk/pwl/cpwl_combo_box.cpp
@@ -165,7 +165,7 @@
CreateParams bcp = cp;
bcp.dwFlags = PWS_VISIBLE | PWS_BORDER | PWS_BACKGROUND;
- bcp.sBackgroundColor = CFX_Color(CFX_Color::kRGB, 220.0f / 255.0f,
+ bcp.sBackgroundColor = CFX_Color(CFX_Color::Type::kRGB, 220.0f / 255.0f,
220.0f / 255.0f, 220.0f / 255.0f);
bcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR;
bcp.dwBorderWidth = 2;
@@ -192,10 +192,10 @@
lcp.fFontSize =
(cp.dwFlags & PWS_AUTOFONTSIZE) ? kComboBoxDefaultFontSize : cp.fFontSize;
- if (cp.sBorderColor.nColorType == CFX_Color::kTransparent)
+ if (cp.sBorderColor.nColorType == CFX_Color::Type::kTransparent)
lcp.sBorderColor = PWL_DEFAULT_BLACKCOLOR;
- if (cp.sBackgroundColor.nColorType == CFX_Color::kTransparent)
+ if (cp.sBackgroundColor.nColorType == CFX_Color::Type::kTransparent)
lcp.sBackgroundColor = PWL_DEFAULT_WHITECOLOR;
auto pList = std::make_unique<CPWL_CBListBox>(lcp, CloneAttachedData());
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp
index 6affdae..f2628f2 100644
--- a/fpdfsdk/pwl/cpwl_wnd.cpp
+++ b/fpdfsdk/pwl/cpwl_wnd.cpp
@@ -664,9 +664,9 @@
CFX_Color CPWL_Wnd::GetBorderLeftTopColor(BorderStyle nBorderStyle) const {
switch (nBorderStyle) {
case BorderStyle::kBeveled:
- return CFX_Color(CFX_Color::kGray, 1);
+ return CFX_Color(CFX_Color::Type::kGray, 1);
case BorderStyle::kInset:
- return CFX_Color(CFX_Color::kGray, 0.5f);
+ return CFX_Color(CFX_Color::Type::kGray, 0.5f);
default:
return CFX_Color();
}
@@ -677,7 +677,7 @@
case BorderStyle::kBeveled:
return GetBackgroundColor() / 2.0f;
case BorderStyle::kInset:
- return CFX_Color(CFX_Color::kGray, 0.75f);
+ return CFX_Color(CFX_Color::Type::kGray, 0.75f);
default:
return CFX_Color();
}
diff --git a/fpdfsdk/pwl/cpwl_wnd.h b/fpdfsdk/pwl/cpwl_wnd.h
index 77271e6..c51fd12 100644
--- a/fpdfsdk/pwl/cpwl_wnd.h
+++ b/fpdfsdk/pwl/cpwl_wnd.h
@@ -82,8 +82,8 @@
#define PWL_SCROLLBAR_WIDTH 12.0f
#define PWL_SCROLLBAR_TRANSPARENCY 150
-#define PWL_DEFAULT_BLACKCOLOR CFX_Color(CFX_Color::kGray, 0)
-#define PWL_DEFAULT_WHITECOLOR CFX_Color(CFX_Color::kGray, 1)
+#define PWL_DEFAULT_BLACKCOLOR CFX_Color(CFX_Color::Type::kGray, 0)
+#define PWL_DEFAULT_WHITECOLOR CFX_Color(CFX_Color::Type::kGray, 1)
class CPWL_Wnd : public Observable {
public:
diff --git a/fxjs/cjs_color.cpp b/fxjs/cjs_color.cpp
index 43fc1d0..b6ea5fe 100644
--- a/fxjs/cjs_color.cpp
+++ b/fxjs/cjs_color.cpp
@@ -55,23 +55,23 @@
const CFX_Color& color) {
v8::Local<v8::Array> array;
switch (color.nColorType) {
- case CFX_Color::kTransparent:
+ case CFX_Color::Type::kTransparent:
array = pRuntime->NewArray();
pRuntime->PutArrayElement(array, 0, pRuntime->NewString("T"));
break;
- case CFX_Color::kGray:
+ case CFX_Color::Type::kGray:
array = pRuntime->NewArray();
pRuntime->PutArrayElement(array, 0, pRuntime->NewString("G"));
pRuntime->PutArrayElement(array, 1, pRuntime->NewNumber(color.fColor1));
break;
- case CFX_Color::kRGB:
+ case CFX_Color::Type::kRGB:
array = pRuntime->NewArray();
pRuntime->PutArrayElement(array, 0, pRuntime->NewString("RGB"));
pRuntime->PutArrayElement(array, 1, pRuntime->NewNumber(color.fColor1));
pRuntime->PutArrayElement(array, 2, pRuntime->NewNumber(color.fColor2));
pRuntime->PutArrayElement(array, 3, pRuntime->NewNumber(color.fColor3));
break;
- case CFX_Color::kCMYK:
+ case CFX_Color::Type::kCMYK:
array = pRuntime->NewArray();
pRuntime->PutArrayElement(array, 0, pRuntime->NewString("CMYK"));
pRuntime->PutArrayElement(array, 1, pRuntime->NewNumber(color.fColor1));
@@ -93,7 +93,7 @@
WideString sSpace =
pRuntime->ToWideString(pRuntime->GetArrayElement(array, 0));
if (sSpace.EqualsASCII("T"))
- return CFX_Color(CFX_Color::kTransparent);
+ return CFX_Color(CFX_Color::Type::kTransparent);
float d1 = 0;
if (nArrayLen > 1) {
@@ -101,7 +101,7 @@
pRuntime->ToDouble(pRuntime->GetArrayElement(array, 1)));
}
if (sSpace.EqualsASCII("G"))
- return CFX_Color(CFX_Color::kGray, d1);
+ return CFX_Color(CFX_Color::Type::kGray, d1);
float d2 = 0;
float d3 = 0;
@@ -114,7 +114,7 @@
pRuntime->ToDouble(pRuntime->GetArrayElement(array, 3)));
}
if (sSpace.EqualsASCII("RGB"))
- return CFX_Color(CFX_Color::kRGB, d1, d2, d3);
+ return CFX_Color(CFX_Color::Type::kRGB, d1, d2, d3);
float d4 = 0;
if (nArrayLen > 4) {
@@ -122,25 +122,25 @@
pRuntime->ToDouble(pRuntime->GetArrayElement(array, 4)));
}
if (sSpace.EqualsASCII("CMYK"))
- return CFX_Color(CFX_Color::kCMYK, d1, d2, d3, d4);
+ return CFX_Color(CFX_Color::Type::kCMYK, d1, d2, d3, d4);
return CFX_Color();
}
CJS_Color::CJS_Color(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime)
: CJS_Object(pObject, pRuntime),
- m_crTransparent(CFX_Color::kTransparent),
- m_crBlack(CFX_Color::kGray, 0),
- m_crWhite(CFX_Color::kGray, 1),
- m_crRed(CFX_Color::kRGB, 1, 0, 0),
- m_crGreen(CFX_Color::kRGB, 0, 1, 0),
- m_crBlue(CFX_Color::kRGB, 0, 0, 1),
- m_crCyan(CFX_Color::kCMYK, 1, 0, 0, 0),
- m_crMagenta(CFX_Color::kCMYK, 0, 1, 0, 0),
- m_crYellow(CFX_Color::kCMYK, 0, 0, 1, 0),
- m_crDKGray(CFX_Color::kGray, 0.25),
- m_crGray(CFX_Color::kGray, 0.5),
- m_crLTGray(CFX_Color::kGray, 0.75) {}
+ m_crTransparent(CFX_Color::Type::kTransparent),
+ m_crBlack(CFX_Color::Type::kGray, 0),
+ m_crWhite(CFX_Color::Type::kGray, 1),
+ m_crRed(CFX_Color::Type::kRGB, 1, 0, 0),
+ m_crGreen(CFX_Color::Type::kRGB, 0, 1, 0),
+ m_crBlue(CFX_Color::Type::kRGB, 0, 0, 1),
+ m_crCyan(CFX_Color::Type::kCMYK, 1, 0, 0, 0),
+ m_crMagenta(CFX_Color::Type::kCMYK, 0, 1, 0, 0),
+ m_crYellow(CFX_Color::Type::kCMYK, 0, 0, 1, 0),
+ m_crDKGray(CFX_Color::Type::kGray, 0.25),
+ m_crGray(CFX_Color::Type::kGray, 0.5),
+ m_crLTGray(CFX_Color::Type::kGray, 0.75) {}
CJS_Color::~CJS_Color() = default;
@@ -278,15 +278,15 @@
return CJS_Result::Failure(JSMessage::kTypeError);
WideString sDestSpace = pRuntime->ToWideString(params[1]);
- int nColorType = CFX_Color::kTransparent;
+ CFX_Color::Type nColorType = CFX_Color::Type::kTransparent;
if (sDestSpace.EqualsASCII("T"))
- nColorType = CFX_Color::kTransparent;
+ nColorType = CFX_Color::Type::kTransparent;
else if (sDestSpace.EqualsASCII("G"))
- nColorType = CFX_Color::kGray;
+ nColorType = CFX_Color::Type::kGray;
else if (sDestSpace.EqualsASCII("RGB"))
- nColorType = CFX_Color::kRGB;
+ nColorType = CFX_Color::Type::kRGB;
else if (sDestSpace.EqualsASCII("CMYK"))
- nColorType = CFX_Color::kCMYK;
+ nColorType = CFX_Color::Type::kCMYK;
CFX_Color color =
ConvertArrayToPWLColor(pRuntime, pRuntime->ToArray(params[0]));
@@ -312,7 +312,7 @@
ConvertArrayToPWLColor(pRuntime, pRuntime->ToArray(params[1]));
// Relies on higher values having more components.
- int32_t best = std::max(color1.nColorType, color2.nColorType);
+ CFX_Color::Type best = std::max(color1.nColorType, color2.nColorType);
return CJS_Result::Success(pRuntime->NewBoolean(
color1.ConvertColorType(best) == color2.ConvertColorType(best)));
}
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index 460c2f8..37411d4 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -1298,18 +1298,18 @@
CFX_Color color;
CFX_Color::Type iColorType = pFormControl->GetBackgroundColor().first;
- if (iColorType == CFX_Color::kTransparent) {
- color = CFX_Color(CFX_Color::kTransparent);
- } else if (iColorType == CFX_Color::kGray) {
- color = CFX_Color(CFX_Color::kGray,
+ if (iColorType == CFX_Color::Type::kTransparent) {
+ color = CFX_Color(CFX_Color::Type::kTransparent);
+ } else if (iColorType == CFX_Color::Type::kGray) {
+ color = CFX_Color(CFX_Color::Type::kGray,
pFormControl->GetOriginalBackgroundColorComponent(0));
- } else if (iColorType == CFX_Color::kRGB) {
- color = CFX_Color(CFX_Color::kRGB,
+ } else if (iColorType == CFX_Color::Type::kRGB) {
+ color = CFX_Color(CFX_Color::Type::kRGB,
pFormControl->GetOriginalBackgroundColorComponent(0),
pFormControl->GetOriginalBackgroundColorComponent(1),
pFormControl->GetOriginalBackgroundColorComponent(2));
- } else if (iColorType == CFX_Color::kCMYK) {
- color = CFX_Color(CFX_Color::kCMYK,
+ } else if (iColorType == CFX_Color::Type::kCMYK) {
+ color = CFX_Color(CFX_Color::Type::kCMYK,
pFormControl->GetOriginalBackgroundColorComponent(0),
pFormControl->GetOriginalBackgroundColorComponent(1),
pFormControl->GetOriginalBackgroundColorComponent(2),
@@ -1825,18 +1825,18 @@
CFX_Color color;
CFX_Color::Type iColorType = pFormControl->GetBorderColorARGB().first;
- if (iColorType == CFX_Color::kTransparent) {
- color = CFX_Color(CFX_Color::kTransparent);
- } else if (iColorType == CFX_Color::kGray) {
- color = CFX_Color(CFX_Color::kGray,
+ if (iColorType == CFX_Color::Type::kTransparent) {
+ color = CFX_Color(CFX_Color::Type::kTransparent);
+ } else if (iColorType == CFX_Color::Type::kGray) {
+ color = CFX_Color(CFX_Color::Type::kGray,
pFormControl->GetOriginalBorderColorComponent(0));
- } else if (iColorType == CFX_Color::kRGB) {
- color = CFX_Color(CFX_Color::kRGB,
+ } else if (iColorType == CFX_Color::Type::kRGB) {
+ color = CFX_Color(CFX_Color::Type::kRGB,
pFormControl->GetOriginalBorderColorComponent(0),
pFormControl->GetOriginalBorderColorComponent(1),
pFormControl->GetOriginalBorderColorComponent(2));
- } else if (iColorType == CFX_Color::kCMYK) {
- color = CFX_Color(CFX_Color::kCMYK,
+ } else if (iColorType == CFX_Color::Type::kCMYK) {
+ color = CFX_Color(CFX_Color::Type::kCMYK,
pFormControl->GetOriginalBorderColorComponent(0),
pFormControl->GetOriginalBorderColorComponent(1),
pFormControl->GetOriginalBorderColorComponent(2),
@@ -1935,13 +1935,14 @@
CFX_Color crRet;
if (maybe_type_argb_pair.has_value() &&
- maybe_type_argb_pair.value().first != CFX_Color::kTransparent) {
+ maybe_type_argb_pair.value().first != CFX_Color::Type::kTransparent) {
int32_t a;
int32_t r;
int32_t g;
int32_t b;
std::tie(a, r, g, b) = ArgbDecode(maybe_type_argb_pair.value().second);
- crRet = CFX_Color(CFX_Color::kRGB, r / 255.0f, g / 255.0f, b / 255.0f);
+ crRet =
+ CFX_Color(CFX_Color::Type::kRGB, r / 255.0f, g / 255.0f, b / 255.0f);
}
v8::Local<v8::Value> array =