| 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;
|
| }
|
|
|