Index: core/src/fpdfdoc/doc_formcontrol.cpp |
diff --git a/core/src/fpdfdoc/doc_formcontrol.cpp b/core/src/fpdfdoc/doc_formcontrol.cpp |
index 0796b6b43483587e36aca151ccf13e3e174fea62..88b68bc7f7491478926f76f3630ee012970b5243 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; |
} |