Index: core/fpdfdoc/doc_formfield.cpp |
diff --git a/core/fpdfdoc/doc_formfield.cpp b/core/fpdfdoc/doc_formfield.cpp |
index 14497ef045cf7658067eda9891e6e1223f0ef102..cb1b0a4566001ce067a9f03667bfb57f2c5db678 100644 |
--- a/core/fpdfdoc/doc_formfield.cpp |
+++ b/core/fpdfdoc/doc_formfield.cpp |
@@ -4,18 +4,38 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+#include "core/fpdfdoc/include/cpdf_formfield.h" |
+ |
#include "core/fpdfapi/fpdf_parser/include/cfdf_document.h" |
#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" |
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" |
#include "core/fpdfapi/fpdf_parser/include/cpdf_number.h" |
#include "core/fpdfapi/fpdf_parser/include/cpdf_simple_parser.h" |
#include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" |
+#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h" |
#include "core/fpdfdoc/cpvt_generateap.h" |
#include "core/fpdfdoc/doc_utils.h" |
-#include "core/fpdfdoc/include/fpdf_doc.h" |
+#include "core/fpdfdoc/include/cpdf_formcontrol.h" |
+#include "core/fpdfdoc/include/cpdf_interform.h" |
namespace { |
+const int kFormListMultiSelect = 0x100; |
+ |
+const int kFormComboEdit = 0x100; |
+ |
+const int kFormFieldReadOnly = 0x01; |
+const int kFormFieldRequired = 0x02; |
+const int kFormFieldNoExport = 0x04; |
+ |
+const int kFormRadioNoToggleOff = 0x100; |
+const int kFormRadioUnison = 0x200; |
+ |
+const int kFormTextMultiLine = 0x100; |
+const int kFormTextPassword = 0x200; |
+const int kFormTextNoScroll = 0x400; |
+const int kFormTextComb = 0x800; |
+ |
bool PDF_FormField_IsUnison(CPDF_FormField* pField) { |
if (pField->GetType() == CPDF_FormField::CheckBox) |
return true; |
@@ -45,22 +65,22 @@ void CPDF_FormField::SyncFieldFlags() { |
: 0; |
m_Flags = 0; |
if (flags & 1) { |
- m_Flags |= FORMFIELD_READONLY; |
+ m_Flags |= kFormFieldReadOnly; |
} |
if (flags & 2) { |
- m_Flags |= FORMFIELD_REQUIRED; |
+ m_Flags |= kFormFieldRequired; |
} |
if (flags & 4) { |
- m_Flags |= FORMFIELD_NOEXPORT; |
+ m_Flags |= kFormFieldNoExport; |
} |
if (type_name == "Btn") { |
if (flags & 0x8000) { |
m_Type = RadioButton; |
if (flags & 0x4000) { |
- m_Flags |= FORMRADIO_NOTOGGLEOFF; |
+ m_Flags |= kFormRadioNoToggleOff; |
} |
if (flags & 0x2000000) { |
- m_Flags |= FORMRADIO_UNISON; |
+ m_Flags |= kFormRadioUnison; |
} |
} else if (flags & 0x10000) { |
m_Type = PushButton; |
@@ -75,16 +95,16 @@ void CPDF_FormField::SyncFieldFlags() { |
} else { |
m_Type = Text; |
if (flags & 0x1000) { |
- m_Flags |= FORMTEXT_MULTILINE; |
+ m_Flags |= kFormTextMultiLine; |
} |
if (flags & 0x2000) { |
- m_Flags |= FORMTEXT_PASSWORD; |
+ m_Flags |= kFormTextPassword; |
} |
if (flags & 0x800000) { |
- m_Flags |= FORMTEXT_NOSCROLL; |
+ m_Flags |= kFormTextNoScroll; |
} |
if (flags & 0x100000) { |
- m_Flags |= FORMTEXT_COMB; |
+ m_Flags |= kFormTextComb; |
} |
} |
LoadDA(); |
@@ -92,12 +112,12 @@ void CPDF_FormField::SyncFieldFlags() { |
if (flags & 0x20000) { |
m_Type = ComboBox; |
if (flags & 0x40000) { |
- m_Flags |= FORMCOMBO_EDIT; |
+ m_Flags |= kFormComboEdit; |
} |
} else { |
m_Type = ListBox; |
if (flags & 0x200000) { |
- m_Flags |= FORMLIST_MULTISELECT; |
+ m_Flags |= kFormListMultiSelect; |
} |
} |
LoadDA(); |
@@ -511,7 +531,7 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index, |
if (bSelected) { |
if (GetType() == ListBox) { |
SelectOption(index, TRUE); |
- if (!(m_Flags & FORMLIST_MULTISELECT)) { |
+ if (!(m_Flags & kFormListMultiSelect)) { |
m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); |
} else { |
CPDF_Array* pArray = new CPDF_Array; |