summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpdf_formfield.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfdoc/cpdf_formfield.cpp')
-rw-r--r--core/fpdfdoc/cpdf_formfield.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/core/fpdfdoc/cpdf_formfield.cpp b/core/fpdfdoc/cpdf_formfield.cpp
index 2502fe6faa..df59369723 100644
--- a/core/fpdfdoc/cpdf_formfield.cpp
+++ b/core/fpdfdoc/cpdf_formfield.cpp
@@ -45,6 +45,14 @@ bool IsUnison(CPDF_FormField* pField) {
} // namespace
+Optional<FormFieldType> IntToFormFieldType(int value) {
+ if (value >= static_cast<int>(FormFieldType::kUnknown) &&
+ value < static_cast<int>(kFormFieldTypeCount)) {
+ return {static_cast<FormFieldType>(value)};
+ }
+ return {};
+}
+
CPDF_Object* FPDF_GetFieldAttr(const CPDF_Dictionary* pFieldDict,
const char* name,
int nLevel) {
@@ -238,28 +246,27 @@ int CPDF_FormField::GetControlIndex(const CPDF_FormControl* pControl) const {
return it != m_ControlList.end() ? it - m_ControlList.begin() : -1;
}
-int CPDF_FormField::GetFieldType() const {
+FormFieldType CPDF_FormField::GetFieldType() const {
switch (m_Type) {
case PushButton:
- return FIELDTYPE_PUSHBUTTON;
+ return FormFieldType::kPushButton;
case CheckBox:
- return FIELDTYPE_CHECKBOX;
+ return FormFieldType::kCheckBox;
case RadioButton:
- return FIELDTYPE_RADIOBUTTON;
+ return FormFieldType::kRadioButton;
case ComboBox:
- return FIELDTYPE_COMBOBOX;
+ return FormFieldType::kComboBox;
case ListBox:
- return FIELDTYPE_LISTBOX;
+ return FormFieldType::kListBox;
case Text:
case RichText:
case File:
- return FIELDTYPE_TEXTFIELD;
+ return FormFieldType::kTextField;
case Sign:
- return FIELDTYPE_SIGNATURE;
+ return FormFieldType::kSignature;
default:
- break;
+ return FormFieldType::kUnknown;
}
- return FIELDTYPE_UNKNOWN;
}
CPDF_AAction CPDF_FormField::GetAdditionalAction() const {