Use annotation constants in more places.
Also consistently use "Dict" as the abbreviation for Dictionary.
Change-Id: Ida8aa1646c6d5d683c27126d770848665617820c
Reviewed-on: https://pdfium-review.googlesource.com/c/49671
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfdoc/cpvt_generateap.cpp b/core/fpdfdoc/cpvt_generateap.cpp
index 107bed1..3079fd5 100644
--- a/core/fpdfdoc/cpvt_generateap.cpp
+++ b/core/fpdfdoc/cpvt_generateap.cpp
@@ -11,6 +11,7 @@
#include <sstream>
#include <utility>
+#include "constants/annotation_common.h"
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_boolean.h"
@@ -318,7 +319,8 @@
return pBorderStyleDict->GetNumberFor("W");
}
- if (const CPDF_Array* pBorderArray = pAnnotDict.GetArrayFor("Border")) {
+ if (const CPDF_Array* pBorderArray =
+ pAnnotDict.GetArrayFor(pdfium::annotation::kBorder)) {
if (pBorderArray->size() > 2)
return pBorderArray->GetNumberAt(2);
}
@@ -332,7 +334,8 @@
return pBorderStyleDict->GetArrayFor("D");
}
- if (const CPDF_Array* pBorderArray = pAnnotDict.GetArrayFor("Border")) {
+ if (const CPDF_Array* pBorderArray =
+ pAnnotDict.GetArrayFor(pdfium::annotation::kBorder)) {
if (pBorderArray->size() == 4)
return pBorderArray->GetArrayAt(3);
}
@@ -363,13 +366,13 @@
const ByteString& sFontName) {
WideString swValue(pAnnotDict.GetUnicodeTextFor("T"));
swValue += L'\n';
- swValue += pAnnotDict.GetUnicodeTextFor("Contents");
+ swValue += pAnnotDict.GetUnicodeTextFor(pdfium::annotation::kContents);
CPVT_FontMap map(pDoc, nullptr, pDefFont, sFontName);
CPDF_VariableText::Provider prd(&map);
CPDF_VariableText vt;
vt.SetProvider(&prd);
- vt.SetPlateRect(pAnnotDict.GetRectFor("Rect"));
+ vt.SetPlateRect(pAnnotDict.GetRectFor(pdfium::annotation::kRect));
vt.SetFontSize(12);
vt.SetAutoReturn(true);
vt.SetMultiLine(true);
@@ -504,9 +507,9 @@
CPDF_Stream* pNormalStream = pDoc->NewIndirect<CPDF_Stream>();
pNormalStream->SetDataFromStringstream(psAppStream);
- CPDF_Dictionary* pAPDict = pAnnotDict->GetDictFor("AP");
+ CPDF_Dictionary* pAPDict = pAnnotDict->GetDictFor(pdfium::annotation::kAP);
if (!pAPDict)
- pAPDict = pAnnotDict->SetNewFor<CPDF_Dictionary>("AP");
+ pAPDict = pAnnotDict->SetNewFor<CPDF_Dictionary>(pdfium::annotation::kAP);
pAPDict->SetFor("N", pNormalStream->MakeReference(pDoc));
@@ -518,7 +521,7 @@
CFX_FloatRect rect = bIsTextMarkupAnnotation
? CPDF_Annot::BoundingRectFromQuadPoints(pAnnotDict)
- : pAnnotDict->GetRectFor("Rect");
+ : pAnnotDict->GetRectFor(pdfium::annotation::kRect);
pStreamDict->SetRectFor("BBox", rect);
pStreamDict->SetFor("Resources", std::move(pResourceDict));
}
@@ -532,9 +535,9 @@
sAppStream << GetColorStringWithDefault(
pInteriorColor, CFX_Color(CFX_Color::kTransparent), PaintOperation::FILL);
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
bool bIsStrokeRect = fBorderWidth > 0;
@@ -544,7 +547,7 @@
sAppStream << GetDashPatternString(*pAnnotDict);
}
- CFX_FloatRect rect = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rect = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
rect.Normalize();
if (bIsStrokeRect) {
@@ -600,9 +603,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 1, 1, 0),
- PaintOperation::FILL);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 1, 1, 0), PaintOperation::FILL);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -642,18 +645,18 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
sAppStream << fBorderWidth << " w ";
sAppStream << GetDashPatternString(*pAnnotDict);
// Set inflated rect as a new rect because paths near the border with large
// width should not be clipped to the original rect.
- CFX_FloatRect rect = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rect = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
rect.Inflate(fBorderWidth / 2, fBorderWidth / 2);
- pAnnotDict->SetRectFor("Rect", rect);
+ pAnnotDict->SetRectFor(pdfium::annotation::kRect, rect);
for (size_t i = 0; i < pInkList->size(); i++) {
CPDF_Array* pInkCoordList = pInkList->GetArrayAt(i);
@@ -685,11 +688,11 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- CFX_FloatRect rect = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rect = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
const float fNoteLength = 20;
CFX_FloatRect noteRect(rect.left, rect.bottom, rect.left + fNoteLength,
rect.bottom + fNoteLength);
- pAnnotDict->SetRectFor("Rect", noteRect);
+ pAnnotDict->SetRectFor(pdfium::annotation::kRect, noteRect);
sAppStream << GenerateTextSymbolAP(noteRect);
@@ -707,9 +710,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -746,7 +749,7 @@
const float fBorderWidth = 1;
sAppStream << fBorderWidth << " w\n";
- CFX_FloatRect rect = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rect = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
rect.Normalize();
rect.Deflate(fBorderWidth / 2, fBorderWidth / 2);
@@ -779,9 +782,9 @@
sAppStream << GetColorStringWithDefault(
pInteriorColor, CFX_Color(CFX_Color::kTransparent), PaintOperation::FILL);
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
float fBorderWidth = GetBorderWidth(*pAnnotDict);
bool bIsStrokeRect = fBorderWidth > 0;
@@ -791,7 +794,7 @@
sAppStream << GetDashPatternString(*pAnnotDict);
}
- CFX_FloatRect rect = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rect = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
rect.Normalize();
if (bIsStrokeRect) {
@@ -821,9 +824,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -871,9 +874,9 @@
ByteString sExtGSDictName = "GS";
sAppStream << "/" << sExtGSDictName << " gs ";
- sAppStream << GetColorStringWithDefault(pAnnotDict->GetArrayFor("C"),
- CFX_Color(CFX_Color::kRGB, 0, 0, 0),
- PaintOperation::STROKE);
+ sAppStream << GetColorStringWithDefault(
+ pAnnotDict->GetArrayFor(pdfium::annotation::kC),
+ CFX_Color(CFX_Color::kRGB, 0, 0, 0), PaintOperation::STROKE);
CPDF_Array* pArray = pAnnotDict->GetArrayFor("QuadPoints");
if (pArray) {
@@ -950,7 +953,7 @@
if (!pDefFont)
return;
- CFX_FloatRect rcAnnot = pAnnotDict->GetRectFor("Rect");
+ CFX_FloatRect rcAnnot = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
int32_t nRotate = 0;
if (CPDF_Dictionary* pMKDict = pAnnotDict->GetDictFor("MK"))
nRotate = pMKDict->GetIntegerFor("R");
@@ -1046,9 +1049,9 @@
rcBBox.right - fBorderWidth, rcBBox.top - fBorderWidth);
rcBody.Normalize();
- CPDF_Dictionary* pAPDict = pAnnotDict->GetDictFor("AP");
+ CPDF_Dictionary* pAPDict = pAnnotDict->GetDictFor(pdfium::annotation::kAP);
if (!pAPDict)
- pAPDict = pAnnotDict->SetNewFor<CPDF_Dictionary>("AP");
+ pAPDict = pAnnotDict->SetNewFor<CPDF_Dictionary>(pdfium::annotation::kAP);
CPDF_Stream* pNormalStream = pAPDict->GetStreamFor("N");
if (!pNormalStream) {
diff --git a/fpdfsdk/cpdfsdk_baannot.cpp b/fpdfsdk/cpdfsdk_baannot.cpp
index c1f16a3..4980069 100644
--- a/fpdfsdk/cpdfsdk_baannot.cpp
+++ b/fpdfsdk/cpdfsdk_baannot.cpp
@@ -9,6 +9,7 @@
#include <algorithm>
#include <utility>
+#include "constants/annotation_common.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
@@ -43,18 +44,20 @@
}
CPDF_Dictionary* CPDFSDK_BAAnnot::GetAPDict() const {
- CPDF_Dictionary* pAPDict = GetAnnotDict()->GetDictFor("AP");
- if (!pAPDict)
- pAPDict = GetAnnotDict()->SetNewFor<CPDF_Dictionary>("AP");
- return pAPDict;
+ CPDF_Dictionary* pAPDict =
+ GetAnnotDict()->GetDictFor(pdfium::annotation::kAP);
+ if (pAPDict)
+ return pAPDict;
+ return GetAnnotDict()->SetNewFor<CPDF_Dictionary>(pdfium::annotation::kAP);
}
void CPDFSDK_BAAnnot::SetRect(const CFX_FloatRect& rect) {
ASSERT(rect.right - rect.left >= 1.0f);
ASSERT(rect.top - rect.bottom >= 1.0f);
CPDF_Dictionary* pDict = GetAnnotDict();
- m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor("Rect"));
- pDict->SetRectFor("Rect", rect);
+ m_pAnnot->GetDocument()->AddOrphan(
+ pDict->RemoveFor(pdfium::annotation::kRect));
+ pDict->SetRectFor(pdfium::annotation::kRect, rect);
}
CFX_FloatRect CPDFSDK_BAAnnot::GetRect() const {
@@ -74,11 +77,11 @@
}
bool CPDFSDK_BAAnnot::IsAppearanceValid() {
- return !!GetAnnotDict()->GetDictFor("AP");
+ return !!GetAnnotDict()->GetDictFor(pdfium::annotation::kAP);
}
bool CPDFSDK_BAAnnot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) {
- CPDF_Dictionary* pAP = GetAnnotDict()->GetDictFor("AP");
+ CPDF_Dictionary* pAP = GetAnnotDict()->GetDictFor(pdfium::annotation::kAP);
if (!pAP)
return false;
@@ -98,38 +101,40 @@
void CPDFSDK_BAAnnot::SetAnnotName(const WideString& sName) {
CPDF_Dictionary* pDict = GetAnnotDict();
- m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor("NM"));
+ m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor(pdfium::annotation::kNM));
if (!sName.IsEmpty())
- pDict->SetNewFor<CPDF_String>("NM", sName);
+ pDict->SetNewFor<CPDF_String>(pdfium::annotation::kNM, sName);
}
WideString CPDFSDK_BAAnnot::GetAnnotName() const {
- return GetAnnotDict()->GetUnicodeTextFor("NM");
+ return GetAnnotDict()->GetUnicodeTextFor(pdfium::annotation::kNM);
}
void CPDFSDK_BAAnnot::SetFlags(uint32_t nFlags) {
CPDF_Dictionary* pDict = GetAnnotDict();
- m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor("F"));
- pDict->SetNewFor<CPDF_Number>("F", static_cast<int>(nFlags));
+ m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor(pdfium::annotation::kF));
+ pDict->SetNewFor<CPDF_Number>(pdfium::annotation::kF,
+ static_cast<int>(nFlags));
}
uint32_t CPDFSDK_BAAnnot::GetFlags() const {
- return GetAnnotDict()->GetIntegerFor("F");
+ return GetAnnotDict()->GetIntegerFor(pdfium::annotation::kF);
}
void CPDFSDK_BAAnnot::SetAppState(const ByteString& str) {
CPDF_Dictionary* pDict = GetAnnotDict();
- m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor("AS"));
+ m_pAnnot->GetDocument()->AddOrphan(pDict->RemoveFor(pdfium::annotation::kAS));
if (!str.IsEmpty())
- pDict->SetNewFor<CPDF_String>("AS", str, false);
+ pDict->SetNewFor<CPDF_String>(pdfium::annotation::kAS, str, false);
}
ByteString CPDFSDK_BAAnnot::GetAppState() const {
- return GetAnnotDict()->GetStringFor("AS");
+ return GetAnnotDict()->GetStringFor(pdfium::annotation::kAS);
}
void CPDFSDK_BAAnnot::SetBorderWidth(int nWidth) {
- CPDF_Array* pBorder = GetAnnotDict()->GetArrayFor("Border");
+ CPDF_Array* pBorder =
+ GetAnnotDict()->GetArrayFor(pdfium::annotation::kBorder);
if (pBorder) {
pBorder->SetNewAt<CPDF_Number>(2, nWidth);
} else {
@@ -142,8 +147,10 @@
}
int CPDFSDK_BAAnnot::GetBorderWidth() const {
- if (CPDF_Array* pBorder = GetAnnotDict()->GetArrayFor("Border"))
+ if (const CPDF_Array* pBorder =
+ GetAnnotDict()->GetArrayFor(pdfium::annotation::kBorder)) {
return pBorder->GetIntegerAt(2);
+ }
if (CPDF_Dictionary* pBSDict = GetAnnotDict()->GetDictFor("BS"))
return pBSDict->GetIntegerFor("W", 1);
@@ -196,10 +203,11 @@
return BorderStyle::UNDERLINE;
}
- CPDF_Array* pBorder = GetAnnotDict()->GetArrayFor("Border");
+ const CPDF_Array* pBorder =
+ GetAnnotDict()->GetArrayFor(pdfium::annotation::kBorder);
if (pBorder) {
if (pBorder->size() >= 4) {
- CPDF_Array* pDP = pBorder->GetArrayAt(3);
+ const CPDF_Array* pDP = pBorder->GetArrayAt(3);
if (pDP && pDP->size() > 0)
return BorderStyle::DASH;
}
diff --git a/fpdfsdk/cpdfsdk_baannot.h b/fpdfsdk/cpdfsdk_baannot.h
index 778f757..5f79096 100644
--- a/fpdfsdk/cpdfsdk_baannot.h
+++ b/fpdfsdk/cpdfsdk_baannot.h
@@ -46,8 +46,6 @@
CPDF_Dictionary* GetAnnotDict() const;
CPDF_Annot* GetPDFPopupAnnot() const;
- CPDF_Dictionary* GetAPDict() const;
-
void SetAnnotName(const WideString& sName);
WideString GetAnnotName() const;
@@ -72,6 +70,8 @@
void SetOpenState(bool bState);
protected:
+ CPDF_Dictionary* GetAPDict() const;
+
UnownedPtr<CPDF_Annot> const m_pAnnot;
};
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index bf56613..61b97b0 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -9,6 +9,7 @@
#include <memory>
#include <sstream>
+#include "constants/annotation_common.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
@@ -304,7 +305,8 @@
#endif // PDF_ENABLE_XFA
bool CPDFSDK_Widget::IsWidgetAppearanceValid(CPDF_Annot::AppearanceMode mode) {
- CPDF_Dictionary* pAP = GetAnnotDict()->GetDictFor("AP");
+ const CPDF_Dictionary* pAP =
+ GetAnnotDict()->GetDictFor(pdfium::annotation::kAP);
if (!pAP)
return false;
@@ -318,8 +320,8 @@
ap_entry = "N";
// Get the AP stream or subdirectory
- CPDF_Object* psub = pAP->GetDirectObjectFor(ap_entry);
- if (!psub)
+ const CPDF_Object* pSub = pAP->GetDirectObjectFor(ap_entry);
+ if (!pSub)
return false;
FormFieldType fieldType = GetFieldType();
@@ -329,10 +331,10 @@
case FormFieldType::kListBox:
case FormFieldType::kTextField:
case FormFieldType::kSignature:
- return psub->IsStream();
+ return pSub->IsStream();
case FormFieldType::kCheckBox:
case FormFieldType::kRadioButton:
- if (CPDF_Dictionary* pSubDict = psub->AsDictionary()) {
+ if (const CPDF_Dictionary* pSubDict = pSub->AsDictionary()) {
return !!pSubDict->GetStreamFor(GetAppState());
}
return false;
diff --git a/fpdfsdk/formfiller/BUILD.gn b/fpdfsdk/formfiller/BUILD.gn
index f309197..89bd7de 100644
--- a/fpdfsdk/formfiller/BUILD.gn
+++ b/fpdfsdk/formfiller/BUILD.gn
@@ -49,6 +49,7 @@
configs += [ "../../:pdfium_core_config" ]
deps = [
"../../:pdfium_public_headers",
+ "../../constants",
"../../core/fpdfapi",
"../../core/fpdfapi/font",
"../../core/fpdfapi/page",
diff --git a/fpdfsdk/formfiller/cba_fontmap.cpp b/fpdfsdk/formfiller/cba_fontmap.cpp
index 923548e..d286df6 100644
--- a/fpdfsdk/formfiller/cba_fontmap.cpp
+++ b/fpdfsdk/formfiller/cba_fontmap.cpp
@@ -9,6 +9,7 @@
#include <memory>
#include <utility>
+#include "constants/annotation_common.h"
#include "core/fpdfapi/cpdf_modulemgr.h"
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/font/cpdf_fontencoding.h"
@@ -172,7 +173,7 @@
CPDF_Font* CBA_FontMap::FindFontSameCharset(ByteString* sFontAlias,
int32_t nCharset) {
- if (m_pAnnotDict->GetStringFor("Subtype") != "Widget")
+ if (m_pAnnotDict->GetStringFor(pdfium::annotation::kSubtype) != "Widget")
return nullptr;
const CPDF_Dictionary* pRootDict = m_pDocument->GetRoot();
@@ -229,7 +230,8 @@
CPDF_Font* CBA_FontMap::GetAnnotDefaultFont(ByteString* sAlias) {
CPDF_Dictionary* pAcroFormDict = nullptr;
- const bool bWidget = (m_pAnnotDict->GetStringFor("Subtype") == "Widget");
+ const bool bWidget =
+ (m_pAnnotDict->GetStringFor(pdfium::annotation::kSubtype) == "Widget");
if (bWidget) {
CPDF_Dictionary* pRootDict = m_pDocument->GetRoot();
if (pRootDict)
@@ -256,7 +258,8 @@
*sAlias = font.value_or(ByteString());
CPDF_Dictionary* pFontDict = nullptr;
- if (CPDF_Dictionary* pAPDict = m_pAnnotDict->GetDictFor("AP")) {
+ if (CPDF_Dictionary* pAPDict =
+ m_pAnnotDict->GetDictFor(pdfium::annotation::kAP)) {
if (CPDF_Dictionary* pNormalDict = pAPDict->GetDictFor("N")) {
if (CPDF_Dictionary* pNormalResDict =
pNormalDict->GetDictFor("Resources")) {
@@ -279,9 +282,9 @@
if (!pFont)
return;
- CPDF_Dictionary* pAPDict = m_pAnnotDict->GetDictFor("AP");
+ CPDF_Dictionary* pAPDict = m_pAnnotDict->GetDictFor(pdfium::annotation::kAP);
if (!pAPDict)
- pAPDict = m_pAnnotDict->SetNewFor<CPDF_Dictionary>("AP");
+ pAPDict = m_pAnnotDict->SetNewFor<CPDF_Dictionary>(pdfium::annotation::kAP);
// to avoid checkbox and radiobutton
if (ToDictionary(pAPDict->GetObjectFor(m_sAPType)))
diff --git a/fpdfsdk/fpdf_annot.cpp b/fpdfsdk/fpdf_annot.cpp
index 8cd57f8..ee3c632 100644
--- a/fpdfsdk/fpdf_annot.cpp
+++ b/fpdfsdk/fpdf_annot.cpp
@@ -7,6 +7,7 @@
#include <memory>
#include <utility>
+#include "constants/annotation_common.h"
#include "core/fpdfapi/edit/cpdf_pagecontentgenerator.h"
#include "core/fpdfapi/page/cpdf_form.h"
#include "core/fpdfapi/page/cpdf_page.h"
@@ -226,8 +227,8 @@
return nullptr;
auto pDict = pPage->GetDocument()->New<CPDF_Dictionary>();
- pDict->SetNewFor<CPDF_Name>("Type", "Annot");
- pDict->SetNewFor<CPDF_Name>("Subtype",
+ pDict->SetNewFor<CPDF_Name>(pdfium::annotation::kType, "Annot");
+ pDict->SetNewFor<CPDF_Name>(pdfium::annotation::kSubtype,
CPDF_Annot::AnnotSubtypeToString(
static_cast<CPDF_Annot::Subtype>(subtype)));
auto pNewAnnot =
@@ -321,8 +322,8 @@
if (!pAnnotDict)
return FPDF_ANNOT_UNKNOWN;
- return static_cast<FPDF_ANNOTATION_SUBTYPE>(
- CPDF_Annot::StringToAnnotSubtype(pAnnotDict->GetStringFor("Subtype")));
+ return static_cast<FPDF_ANNOTATION_SUBTYPE>(CPDF_Annot::StringToAnnotSubtype(
+ pAnnotDict->GetStringFor(pdfium::annotation::kSubtype)));
}
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
@@ -543,7 +544,7 @@
// Use default color. The default colors must be consistent with the ones
// used to generate AP. See calls to GetColorStringWithDefault() in
// CPVT_GenerateAP::Generate*AP().
- if (pAnnotDict->GetStringFor("Subtype") == "Highlight") {
+ if (pAnnotDict->GetStringFor(pdfium::annotation::kSubtype) == "Highlight") {
*R = 255;
*G = 255;
*B = 0;
@@ -669,7 +670,7 @@
CFX_FloatRect newRect = CFXFloatRectFromFSRECTF(*rect);
// Update the "Rect" entry in the annotation dictionary.
- pAnnotDict->SetRectFor("Rect", newRect);
+ pAnnotDict->SetRectFor(pdfium::annotation::kRect, newRect);
// If the annotation's appearance stream is defined, the annotation is of a
// type that does not have quadpoints, and the new rectangle is bigger than
@@ -696,7 +697,8 @@
if (!pAnnotDict)
return false;
- FSRECTFFromCFXFloatRect(pAnnotDict->GetRectFor("Rect"), rect);
+ FSRECTFFromCFXFloatRect(pAnnotDict->GetRectFor(pdfium::annotation::kRect),
+ rect);
return true;
}
@@ -777,13 +779,13 @@
"FPDF_ANNOT_APPEARANCEMODE_COUNT");
const char* modeKey = modeKeyForMode[appearanceMode];
- CPDF_Dictionary* pApDict = pAnnotDict->GetDictFor("AP");
+ CPDF_Dictionary* pApDict = pAnnotDict->GetDictFor(pdfium::annotation::kAP);
// If value is null, we're in remove mode. Otherwise, we're in add/update
// mode.
if (value) {
if (!pApDict)
- pApDict = pAnnotDict->SetNewFor<CPDF_Dictionary>("AP");
+ pApDict = pAnnotDict->SetNewFor<CPDF_Dictionary>(pdfium::annotation::kAP);
ByteString newValue = PDF_EncodeText(WideStringFromFPDFWideString(value));
auto pNewApStream = pdfium::MakeUnique<CPDF_Stream>();
@@ -792,7 +794,7 @@
} else {
if (pApDict) {
if (appearanceMode == FPDF_ANNOT_APPEARANCEMODE_NORMAL)
- pAnnotDict->RemoveFor("AP");
+ pAnnotDict->RemoveFor(pdfium::annotation::kAP);
else
pApDict->RemoveFor(modeKey);
}
@@ -848,7 +850,8 @@
CPDF_Dictionary* pAnnotDict =
CPDFAnnotContextFromFPDFAnnotation(annot)->GetAnnotDict();
- return pAnnotDict ? pAnnotDict->GetIntegerFor("F") : FPDF_ANNOT_FLAG_NONE;
+ return pAnnotDict ? pAnnotDict->GetIntegerFor(pdfium::annotation::kF)
+ : FPDF_ANNOT_FLAG_NONE;
}
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFAnnot_SetFlags(FPDF_ANNOTATION annot,
@@ -861,7 +864,7 @@
if (!pAnnotDict)
return false;
- pAnnotDict->SetNewFor<CPDF_Number>("F", flags);
+ pAnnotDict->SetNewFor<CPDF_Number>(pdfium::annotation::kF, flags);
return true;
}
diff --git a/fpdfsdk/fpdf_flatten.cpp b/fpdfsdk/fpdf_flatten.cpp
index bcdf5cd..8d13092 100644
--- a/fpdfsdk/fpdf_flatten.cpp
+++ b/fpdfsdk/fpdf_flatten.cpp
@@ -11,6 +11,7 @@
#include <utility>
#include <vector>
+#include "constants/annotation_common.h"
#include "constants/page_object.h"
#include "core/fpdfapi/page/cpdf_page.h"
#include "core/fpdfapi/page/cpdf_pageobject.h"
@@ -91,15 +92,16 @@
CPDF_ArrayLocker locker(pAnnots);
for (const auto& pAnnot : locker) {
- CPDF_Dictionary* pAnnotDic = ToDictionary(pAnnot->GetDirect());
- if (!pAnnotDic)
+ CPDF_Dictionary* pAnnotDict = ToDictionary(pAnnot->GetDirect());
+ if (!pAnnotDict)
continue;
- ByteString sSubtype = pAnnotDic->GetStringFor("Subtype");
+ ByteString sSubtype =
+ pAnnotDict->GetStringFor(pdfium::annotation::kSubtype);
if (sSubtype == "Popup")
continue;
- int nAnnotFlag = pAnnotDic->GetIntegerFor("F");
+ int nAnnotFlag = pAnnotDict->GetIntegerFor("F");
if (nAnnotFlag & ANNOTFLAG_HIDDEN)
continue;
@@ -109,7 +111,7 @@
else
bParseStream = !!(nAnnotFlag & ANNOTFLAG_PRINT);
if (bParseStream)
- ParserStream(pPageDic, pAnnotDic, pRectArray, pObjectArray);
+ ParserStream(pPageDic, pAnnotDict, pRectArray, pObjectArray);
}
return FLATTEN_SUCCESS;
}
@@ -323,29 +325,29 @@
}
for (size_t i = 0; i < ObjectArray.size(); ++i) {
- CPDF_Dictionary* pAnnotDic = ObjectArray[i];
- if (!pAnnotDic)
+ CPDF_Dictionary* pAnnotDict = ObjectArray[i];
+ if (!pAnnotDict)
continue;
- CFX_FloatRect rcAnnot = pAnnotDic->GetRectFor("Rect");
+ CFX_FloatRect rcAnnot = pAnnotDict->GetRectFor(pdfium::annotation::kRect);
rcAnnot.Normalize();
- ByteString sAnnotState = pAnnotDic->GetStringFor("AS");
- CPDF_Dictionary* pAnnotAP = pAnnotDic->GetDictFor("AP");
+ ByteString sAnnotState = pAnnotDict->GetStringFor("AS");
+ CPDF_Dictionary* pAnnotAP = pAnnotDict->GetDictFor(pdfium::annotation::kAP);
if (!pAnnotAP)
continue;
CPDF_Stream* pAPStream = pAnnotAP->GetStreamFor("N");
if (!pAPStream) {
- CPDF_Dictionary* pAPDic = pAnnotAP->GetDictFor("N");
- if (!pAPDic)
+ CPDF_Dictionary* pAPDict = pAnnotAP->GetDictFor("N");
+ if (!pAPDict)
continue;
if (!sAnnotState.IsEmpty()) {
- pAPStream = pAPDic->GetStreamFor(sAnnotState);
+ pAPStream = pAPDict->GetStreamFor(sAnnotState);
} else {
- if (pAPDic->size() > 0) {
- CPDF_DictionaryLocker locker(pAPDic);
+ if (pAPDict->size() > 0) {
+ CPDF_DictionaryLocker locker(pAPDict);
CPDF_Object* pFirstObj = locker.begin()->second.get();
if (pFirstObj) {
if (pFirstObj->IsReference())
@@ -360,12 +362,12 @@
if (!pAPStream)
continue;
- CPDF_Dictionary* pAPDic = pAPStream->GetDict();
+ CPDF_Dictionary* pAPDict = pAPStream->GetDict();
CFX_FloatRect rcStream;
- if (pAPDic->KeyExist("Rect"))
- rcStream = pAPDic->GetRectFor("Rect");
- else if (pAPDic->KeyExist("BBox"))
- rcStream = pAPDic->GetRectFor("BBox");
+ if (pAPDict->KeyExist("Rect"))
+ rcStream = pAPDict->GetRectFor("Rect");
+ else if (pAPDict->KeyExist("BBox"))
+ rcStream = pAPDict->GetRectFor("BBox");
rcStream.Normalize();
if (rcStream.IsEmpty())
@@ -378,10 +380,10 @@
pDocument->AddIndirectObject(std::move(pNew));
}
- CPDF_Dictionary* pObjDic = pObj->GetDict();
- if (pObjDic) {
- pObjDic->SetNewFor<CPDF_Name>("Type", "XObject");
- pObjDic->SetNewFor<CPDF_Name>("Subtype", "Form");
+ CPDF_Dictionary* pObjDict = pObj->GetDict();
+ if (pObjDict) {
+ pObjDict->SetNewFor<CPDF_Name>("Type", "XObject");
+ pObjDict->SetNewFor<CPDF_Name>("Subtype", "Form");
}
CPDF_Dictionary* pXObject = pNewXORes->GetDictFor("XObject");
@@ -397,7 +399,7 @@
pAcc->LoadAllDataFiltered();
sStream = ByteString(pAcc->GetSpan());
}
- CFX_Matrix matrix = pAPDic->GetMatrixFor("Matrix");
+ CFX_Matrix matrix = pAPDict->GetMatrixFor("Matrix");
CFX_Matrix m = GetMatrix(rcAnnot, rcStream, matrix);
sStream += ByteString::Format("q %f 0 0 %f %f %f cm /%s Do Q\n", m.a, m.d,
m.e, m.f, sFormName.c_str());