| Index: core/src/fpdfdoc/doc_ap.cpp
|
| diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp
|
| index d0adc06691439a5b2ab808c1e2d30e8c174d7a10..d1cc44d0b3b12919c744823083dbe58727d02cb6 100644
|
| --- a/core/src/fpdfdoc/doc_ap.cpp
|
| +++ b/core/src/fpdfdoc/doc_ap.cpp
|
| @@ -10,6 +10,12 @@
|
| #include "doc_utils.h"
|
| #include "pdf_vt.h"
|
|
|
| +#define PBS_SOLID 0
|
| +#define PBS_DASH 1
|
| +#define PBS_BEVELED 2
|
| +#define PBS_INSET 3
|
| +#define PBS_UNDERLINED 4
|
| +
|
| FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict) {
|
| if (!pAnnotDict || pAnnotDict->GetConstString("Subtype") != "Widget") {
|
| return FALSE;
|
| @@ -224,14 +230,14 @@ static CPVT_Color ParseColor(const CFX_ByteString& str) {
|
| CPDF_SimpleParser syntax(str);
|
| syntax.SetPos(0);
|
| if (syntax.FindTagParam("g", 1)) {
|
| - return CPVT_Color(CT_GRAY, FX_atof(syntax.GetWord()));
|
| + return CPVT_Color(CPVT_Color::GRAY, FX_atof(syntax.GetWord()));
|
| }
|
| syntax.SetPos(0);
|
| if (syntax.FindTagParam("rg", 3)) {
|
| FX_FLOAT f1 = FX_atof(syntax.GetWord());
|
| FX_FLOAT f2 = FX_atof(syntax.GetWord());
|
| FX_FLOAT f3 = FX_atof(syntax.GetWord());
|
| - return CPVT_Color(CT_RGB, f1, f2, f3);
|
| + return CPVT_Color(CPVT_Color::RGB, f1, f2, f3);
|
| }
|
| syntax.SetPos(0);
|
| if (syntax.FindTagParam("k", 4)) {
|
| @@ -239,22 +245,22 @@ static CPVT_Color ParseColor(const CFX_ByteString& str) {
|
| FX_FLOAT f2 = FX_atof(syntax.GetWord());
|
| FX_FLOAT f3 = FX_atof(syntax.GetWord());
|
| FX_FLOAT f4 = FX_atof(syntax.GetWord());
|
| - return CPVT_Color(CT_CMYK, f1, f2, f3, f4);
|
| + return CPVT_Color(CPVT_Color::CMYK, f1, f2, f3, f4);
|
| }
|
| - return CPVT_Color(CT_TRANSPARENT);
|
| + return CPVT_Color(CPVT_Color::TRANSPARENT);
|
| }
|
| static CPVT_Color ParseColor(const CPDF_Array& array) {
|
| CPVT_Color rt;
|
| switch (array.GetCount()) {
|
| case 1:
|
| - rt = CPVT_Color(CT_GRAY, array.GetFloat(0));
|
| + rt = CPVT_Color(CPVT_Color::GRAY, array.GetFloat(0));
|
| break;
|
| case 3:
|
| - rt = CPVT_Color(CT_RGB, array.GetFloat(0), array.GetFloat(1),
|
| + rt = CPVT_Color(CPVT_Color::RGB, array.GetFloat(0), array.GetFloat(1),
|
| array.GetFloat(2));
|
| break;
|
| case 4:
|
| - rt = CPVT_Color(CT_CMYK, array.GetFloat(0), array.GetFloat(1),
|
| + rt = CPVT_Color(CPVT_Color::CMYK, array.GetFloat(0), array.GetFloat(1),
|
| array.GetFloat(2), array.GetFloat(3));
|
| break;
|
| }
|
| @@ -374,14 +380,14 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc,
|
| case 'B':
|
| nBorderStyle = PBS_BEVELED;
|
| fBorderWidth *= 2;
|
| - crLeftTop = CPVT_Color(CT_GRAY, 1);
|
| - crRightBottom = CPVT_Color(CT_GRAY, 0.5);
|
| + crLeftTop = CPVT_Color(CPVT_Color::GRAY, 1);
|
| + crRightBottom = CPVT_Color(CPVT_Color::GRAY, 0.5);
|
| break;
|
| case 'I':
|
| nBorderStyle = PBS_INSET;
|
| fBorderWidth *= 2;
|
| - crLeftTop = CPVT_Color(CT_GRAY, 0.5);
|
| - crRightBottom = CPVT_Color(CT_GRAY, 0.75);
|
| + crLeftTop = CPVT_Color(CPVT_Color::GRAY, 0.5);
|
| + crRightBottom = CPVT_Color(CPVT_Color::GRAY, 0.75);
|
| break;
|
| case 'U':
|
| nBorderStyle = PBS_UNDERLINED;
|
| @@ -555,7 +561,8 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc,
|
| << "Q\nEMC\n";
|
| }
|
| CFX_ByteString sButton = CPVT_GenerateAP::GenerateColorAP(
|
| - CPVT_Color(CT_RGB, 220.0f / 255.0f, 220.0f / 255.0f, 220.0f / 255.0f),
|
| + CPVT_Color(CPVT_Color::RGB, 220.0f / 255.0f, 220.0f / 255.0f,
|
| + 220.0f / 255.0f),
|
| TRUE);
|
| if (sButton.GetLength() > 0 && !rcButton.IsEmpty()) {
|
| sAppStream << "q\n" << sButton;
|
| @@ -563,8 +570,9 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc,
|
| << rcButton.Width() << " " << rcButton.Height() << " re f\n";
|
| sAppStream << "Q\n";
|
| CFX_ByteString sButtonBorder = CPVT_GenerateAP::GenerateBorderAP(
|
| - rcButton, 2, CPVT_Color(CT_GRAY, 0), CPVT_Color(CT_GRAY, 1),
|
| - CPVT_Color(CT_GRAY, 0.5), PBS_BEVELED, CPVT_Dash(3, 0, 0));
|
| + rcButton, 2, CPVT_Color(CPVT_Color::GRAY, 0),
|
| + CPVT_Color(CPVT_Color::GRAY, 1), CPVT_Color(CPVT_Color::GRAY, 0.5),
|
| + PBS_BEVELED, CPVT_Dash(3, 0, 0));
|
| if (sButtonBorder.GetLength() > 0) {
|
| sAppStream << "q\n" << sButtonBorder << "Q\n";
|
| }
|
| @@ -635,14 +643,14 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc,
|
| CPDF_Rect rcItem =
|
| CPDF_Rect(rcBody.left, fy - fItemHeight, rcBody.right, fy);
|
| sBody << "q\n" << CPVT_GenerateAP::GenerateColorAP(
|
| - CPVT_Color(CT_RGB, 0, 51.0f / 255.0f,
|
| - 113.0f / 255.0f),
|
| + CPVT_Color(CPVT_Color::RGB, 0,
|
| + 51.0f / 255.0f, 113.0f / 255.0f),
|
| TRUE)
|
| << rcItem.left << " " << rcItem.bottom << " "
|
| << rcItem.Width() << " " << rcItem.Height() << " re f\n"
|
| << "Q\n";
|
| sBody << "BT\n" << CPVT_GenerateAP::GenerateColorAP(
|
| - CPVT_Color(CT_GRAY, 1), TRUE)
|
| + CPVT_Color(CPVT_Color::GRAY, 1), TRUE)
|
| << CPVT_GenerateAP::GenerateEditAP(&map, vt.GetIterator(),
|
| CPDF_Point(0.0f, fy),
|
| TRUE, 0)
|
| @@ -903,20 +911,22 @@ CFX_ByteString CPVT_GenerateAP::GenerateColorAP(const CPVT_Color& color,
|
| const FX_BOOL& bFillOrStroke) {
|
| CFX_ByteTextBuf sColorStream;
|
| switch (color.nColorType) {
|
| - case CT_RGB:
|
| + case CPVT_Color::RGB:
|
| sColorStream << color.fColor1 << " " << color.fColor2 << " "
|
| << color.fColor3 << " " << (bFillOrStroke ? "rg" : "RG")
|
| << "\n";
|
| break;
|
| - case CT_GRAY:
|
| + case CPVT_Color::GRAY:
|
| sColorStream << color.fColor1 << " " << (bFillOrStroke ? "g" : "G")
|
| << "\n";
|
| break;
|
| - case CT_CMYK:
|
| + case CPVT_Color::CMYK:
|
| sColorStream << color.fColor1 << " " << color.fColor2 << " "
|
| << color.fColor3 << " " << color.fColor4 << " "
|
| << (bFillOrStroke ? "k" : "K") << "\n";
|
| break;
|
| + case CPVT_Color::TRANSPARENT:
|
| + break;
|
| }
|
| return sColorStream.GetByteString();
|
| }
|
|
|