diff options
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/fpdfdoc/doc_form.cpp | 3 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_formcontrol.cpp | 141 |
2 files changed, 62 insertions, 82 deletions
diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp index 776f19fdca..857bf5acea 100644 --- a/core/src/fpdfdoc/doc_form.cpp +++ b/core/src/fpdfdoc/doc_form.cpp @@ -1145,9 +1145,6 @@ CFDF_Document* CPDF_InterForm::ExportToFDF(const CFX_WideStringC& pdf_path, return ExportToFDF(pdf_path, fields, true, bSimpleFileSpec); } -// TODO(thestig): Fix this. -CFX_WideString FILESPEC_EncodeFileName(const CFX_WideStringC& filepath); - CFDF_Document* CPDF_InterForm::ExportToFDF( const CFX_WideStringC& pdf_path, const std::vector<CPDF_FormField*>& fields, diff --git a/core/src/fpdfdoc/doc_formcontrol.cpp b/core/src/fpdfdoc/doc_formcontrol.cpp index 0796b6b434..88b68bc7f7 100644 --- a/core/src/fpdfdoc/doc_formcontrol.cpp +++ b/core/src/fpdfdoc/doc_formcontrol.cpp @@ -189,58 +189,49 @@ CPDF_FormControl::HighlightingMode CPDF_FormControl::GetHighlightingMode() { } return Invert; } -CPDF_ApSettings CPDF_FormControl::GetMK(FX_BOOL bCreate) { - if (!m_pWidgetDict) { - return NULL; - } - CPDF_ApSettings mk = m_pWidgetDict->GetDict(FX_BSTRC("MK")); - if (!mk && bCreate) { - mk = CPDF_Dictionary::Create(); - if (mk == NULL) { - return NULL; - } - m_pWidgetDict->SetAt(FX_BSTRC("MK"), mk); - } - return mk; + +CPDF_ApSettings CPDF_FormControl::GetMK() const { + return CPDF_ApSettings(m_pWidgetDict ? m_pWidgetDict->GetDict(FX_BSTRC("MK")) + : nullptr); } -FX_BOOL CPDF_FormControl::HasMKEntry(CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.HasMKEntry(csEntry); + +bool CPDF_FormControl::HasMKEntry(CFX_ByteString csEntry) const { + return GetMK().HasMKEntry(csEntry); } + int CPDF_FormControl::GetRotation() { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetRotation(); + return GetMK().GetRotation(); } + FX_ARGB CPDF_FormControl::GetColor(int& iColorType, CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetColor(iColorType, csEntry); + return GetMK().GetColor(iColorType, csEntry); } + FX_FLOAT CPDF_FormControl::GetOriginalColor(int index, CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetOriginalColor(index, csEntry); + return GetMK().GetOriginalColor(index, csEntry); } + void CPDF_FormControl::GetOriginalColor(int& iColorType, FX_FLOAT fc[4], CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - mk.GetOriginalColor(iColorType, fc, csEntry); + GetMK().GetOriginalColor(iColorType, fc, csEntry); } CFX_WideString CPDF_FormControl::GetCaption(CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetCaption(csEntry); + return GetMK().GetCaption(csEntry); } + CPDF_Stream* CPDF_FormControl::GetIcon(CFX_ByteString csEntry) { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetIcon(csEntry); + return GetMK().GetIcon(csEntry); } + CPDF_IconFit CPDF_FormControl::GetIconFit() { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetIconFit(); + return GetMK().GetIconFit(); } + int CPDF_FormControl::GetTextPosition() { - CPDF_ApSettings mk = GetMK(FALSE); - return mk.GetTextPosition(); + return GetMK().GetTextPosition(); } + CPDF_Action CPDF_FormControl::GetAction() { if (!m_pWidgetDict) { return CPDF_Action(); @@ -331,29 +322,28 @@ int CPDF_FormControl::GetControlAlignment() { } return pObj->GetInteger(); } -FX_BOOL CPDF_ApSettings::HasMKEntry(const CFX_ByteStringC& csEntry) { - if (m_pDict == NULL) { - return FALSE; - } - return m_pDict->KeyExist(csEntry); + +CPDF_ApSettings::CPDF_ApSettings(CPDF_Dictionary* pDict) : m_pDict(pDict) {} + +bool CPDF_ApSettings::HasMKEntry(const CFX_ByteStringC& csEntry) const { + return m_pDict && m_pDict->KeyExist(csEntry); } -int CPDF_ApSettings::GetRotation() { - if (m_pDict == NULL) { - return 0; - } - return m_pDict->GetInteger(FX_BSTRC("R")); + +int CPDF_ApSettings::GetRotation() const { + return m_pDict ? m_pDict->GetInteger(FX_BSTRC("R")) : 0; } + FX_ARGB CPDF_ApSettings::GetColor(int& iColorType, - const CFX_ByteStringC& csEntry) { + const CFX_ByteStringC& csEntry) const { iColorType = COLORTYPE_TRANSPARENT; - if (m_pDict == NULL) { + if (!m_pDict) return 0; - } - FX_ARGB color = 0; + CPDF_Array* pEntry = m_pDict->GetArray(csEntry); - if (pEntry == NULL) { - return color; - } + if (!pEntry) + return 0; + + FX_ARGB color = 0; FX_DWORD dwCount = pEntry->GetCount(); if (dwCount == 1) { iColorType = COLORTYPE_GRAY; @@ -378,20 +368,20 @@ FX_ARGB CPDF_ApSettings::GetColor(int& iColorType, } return color; } -FX_FLOAT CPDF_ApSettings::GetOriginalColor(int index, - const CFX_ByteStringC& csEntry) { - if (m_pDict == NULL) { + +FX_FLOAT CPDF_ApSettings::GetOriginalColor( + int index, + const CFX_ByteStringC& csEntry) const { + if (!m_pDict) return 0; - } + CPDF_Array* pEntry = m_pDict->GetArray(csEntry); - if (pEntry != NULL) { - return pEntry->GetNumber(index); - } - return 0; + return pEntry ? pEntry->GetNumber(index) : 0; } + void CPDF_ApSettings::GetOriginalColor(int& iColorType, FX_FLOAT fc[4], - const CFX_ByteStringC& csEntry) { + const CFX_ByteStringC& csEntry) const { iColorType = COLORTYPE_TRANSPARENT; for (int i = 0; i < 4; i++) { fc[i] = 0; @@ -420,28 +410,21 @@ void CPDF_ApSettings::GetOriginalColor(int& iColorType, fc[3] = pEntry->GetNumber(3); } } -CFX_WideString CPDF_ApSettings::GetCaption(const CFX_ByteStringC& csEntry) { - CFX_WideString csCaption; - if (m_pDict == NULL) { - return csCaption; - } - return m_pDict->GetUnicodeText(csEntry); + +CFX_WideString CPDF_ApSettings::GetCaption( + const CFX_ByteStringC& csEntry) const { + return m_pDict ? m_pDict->GetUnicodeText(csEntry) : CFX_WideString(); } -CPDF_Stream* CPDF_ApSettings::GetIcon(const CFX_ByteStringC& csEntry) { - if (m_pDict == NULL) { - return NULL; - } - return m_pDict->GetStream(csEntry); + +CPDF_Stream* CPDF_ApSettings::GetIcon(const CFX_ByteStringC& csEntry) const { + return m_pDict ? m_pDict->GetStream(csEntry) : nullptr; } -CPDF_IconFit CPDF_ApSettings::GetIconFit() { - if (m_pDict == NULL) { - return NULL; - } - return m_pDict->GetDict(FX_BSTRC("IF")); + +CPDF_IconFit CPDF_ApSettings::GetIconFit() const { + return m_pDict ? m_pDict->GetDict(FX_BSTRC("IF")) : nullptr; } -int CPDF_ApSettings::GetTextPosition() { - if (m_pDict == NULL) { - return TEXTPOS_CAPTION; - } - return m_pDict->GetInteger(FX_BSTRC("TP"), TEXTPOS_CAPTION); + +int CPDF_ApSettings::GetTextPosition() const { + return m_pDict ? m_pDict->GetInteger(FX_BSTRC("TP"), TEXTPOS_CAPTION) + : TEXTPOS_CAPTION; } |