Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: core/fpdfdoc/cpdf_annot.cpp

Issue 2334323005: Rename dictionary set and get methods (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdfdoc/cpdf_actionfields.cpp ('k') | core/fpdfdoc/cpdf_annotlist.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/fpdfdoc/include/cpdf_annot.h" 7 #include "core/fpdfdoc/include/cpdf_annot.h"
8 8
9 #include "core/fpdfapi/fpdf_page/include/cpdf_form.h" 9 #include "core/fpdfapi/fpdf_page/include/cpdf_form.h"
10 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" 10 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h"
(...skipping 21 matching lines...) Expand all
32 } // namespace 32 } // namespace
33 33
34 CPDF_Annot::CPDF_Annot(CPDF_Dictionary* pDict, 34 CPDF_Annot::CPDF_Annot(CPDF_Dictionary* pDict,
35 CPDF_Document* pDocument, 35 CPDF_Document* pDocument,
36 bool bToOwnDict) 36 bool bToOwnDict)
37 : m_bOwnedAnnotDict(bToOwnDict), 37 : m_bOwnedAnnotDict(bToOwnDict),
38 m_pAnnotDict(pDict), 38 m_pAnnotDict(pDict),
39 m_pDocument(pDocument), 39 m_pDocument(pDocument),
40 m_bOpenState(false), 40 m_bOpenState(false),
41 m_pPopupAnnot(nullptr) { 41 m_pPopupAnnot(nullptr) {
42 m_nSubtype = StringToAnnotSubtype(m_pAnnotDict->GetStringBy("Subtype")); 42 m_nSubtype = StringToAnnotSubtype(m_pAnnotDict->GetStringFor("Subtype"));
43 GenerateAPIfNeeded(); 43 GenerateAPIfNeeded();
44 } 44 }
45 45
46 CPDF_Annot::~CPDF_Annot() { 46 CPDF_Annot::~CPDF_Annot() {
47 if (m_bOwnedAnnotDict) 47 if (m_bOwnedAnnotDict)
48 m_pAnnotDict->Release(); 48 m_pAnnotDict->Release();
49 ClearCachedAP(); 49 ClearCachedAP();
50 } 50 }
51 51
52 void CPDF_Annot::GenerateAPIfNeeded() { 52 void CPDF_Annot::GenerateAPIfNeeded() {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 89
90 CPDF_Annot::Subtype CPDF_Annot::GetSubtype() const { 90 CPDF_Annot::Subtype CPDF_Annot::GetSubtype() const {
91 return m_nSubtype; 91 return m_nSubtype;
92 } 92 }
93 93
94 CFX_FloatRect CPDF_Annot::GetRect() const { 94 CFX_FloatRect CPDF_Annot::GetRect() const {
95 if (!m_pAnnotDict) 95 if (!m_pAnnotDict)
96 return CFX_FloatRect(); 96 return CFX_FloatRect();
97 97
98 CFX_FloatRect rect = m_pAnnotDict->GetRectBy("Rect"); 98 CFX_FloatRect rect = m_pAnnotDict->GetRectFor("Rect");
99 rect.Normalize(); 99 rect.Normalize();
100 return rect; 100 return rect;
101 } 101 }
102 102
103 uint32_t CPDF_Annot::GetFlags() const { 103 uint32_t CPDF_Annot::GetFlags() const {
104 return m_pAnnotDict->GetIntegerBy("F"); 104 return m_pAnnotDict->GetIntegerFor("F");
105 } 105 }
106 106
107 CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict, 107 CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict,
108 CPDF_Annot::AppearanceMode mode) { 108 CPDF_Annot::AppearanceMode mode) {
109 CPDF_Dictionary* pAP = pAnnotDict->GetDictBy("AP"); 109 CPDF_Dictionary* pAP = pAnnotDict->GetDictFor("AP");
110 if (!pAP) { 110 if (!pAP) {
111 return nullptr; 111 return nullptr;
112 } 112 }
113 const FX_CHAR* ap_entry = "N"; 113 const FX_CHAR* ap_entry = "N";
114 if (mode == CPDF_Annot::Down) 114 if (mode == CPDF_Annot::Down)
115 ap_entry = "D"; 115 ap_entry = "D";
116 else if (mode == CPDF_Annot::Rollover) 116 else if (mode == CPDF_Annot::Rollover)
117 ap_entry = "R"; 117 ap_entry = "R";
118 if (!pAP->KeyExist(ap_entry)) 118 if (!pAP->KeyExist(ap_entry))
119 ap_entry = "N"; 119 ap_entry = "N";
120 120
121 CPDF_Object* psub = pAP->GetDirectObjectBy(ap_entry); 121 CPDF_Object* psub = pAP->GetDirectObjectFor(ap_entry);
122 if (!psub) 122 if (!psub)
123 return nullptr; 123 return nullptr;
124 if (CPDF_Stream* pStream = psub->AsStream()) 124 if (CPDF_Stream* pStream = psub->AsStream())
125 return pStream; 125 return pStream;
126 126
127 if (CPDF_Dictionary* pDict = psub->AsDictionary()) { 127 if (CPDF_Dictionary* pDict = psub->AsDictionary()) {
128 CFX_ByteString as = pAnnotDict->GetStringBy("AS"); 128 CFX_ByteString as = pAnnotDict->GetStringFor("AS");
129 if (as.IsEmpty()) { 129 if (as.IsEmpty()) {
130 CFX_ByteString value = pAnnotDict->GetStringBy("V"); 130 CFX_ByteString value = pAnnotDict->GetStringFor("V");
131 if (value.IsEmpty()) { 131 if (value.IsEmpty()) {
132 CPDF_Dictionary* pParentDict = pAnnotDict->GetDictBy("Parent"); 132 CPDF_Dictionary* pParentDict = pAnnotDict->GetDictFor("Parent");
133 value = pParentDict ? pParentDict->GetStringBy("V") : CFX_ByteString(); 133 value = pParentDict ? pParentDict->GetStringFor("V") : CFX_ByteString();
134 } 134 }
135 if (value.IsEmpty() || !pDict->KeyExist(value)) 135 if (value.IsEmpty() || !pDict->KeyExist(value))
136 as = "Off"; 136 as = "Off";
137 else 137 else
138 as = value; 138 as = value;
139 } 139 }
140 return pDict->GetStreamBy(as); 140 return pDict->GetStreamFor(as);
141 } 141 }
142 return nullptr; 142 return nullptr;
143 } 143 }
144 144
145 CPDF_Form* CPDF_Annot::GetAPForm(const CPDF_Page* pPage, AppearanceMode mode) { 145 CPDF_Form* CPDF_Annot::GetAPForm(const CPDF_Page* pPage, AppearanceMode mode) {
146 CPDF_Stream* pStream = FPDFDOC_GetAnnotAP(m_pAnnotDict, mode); 146 CPDF_Stream* pStream = FPDFDOC_GetAnnotAP(m_pAnnotDict, mode);
147 if (!pStream) 147 if (!pStream)
148 return nullptr; 148 return nullptr;
149 149
150 auto it = m_APMap.find(pStream); 150 auto it = m_APMap.find(pStream);
151 if (it != m_APMap.end()) 151 if (it != m_APMap.end())
152 return it->second.get(); 152 return it->second.get();
153 153
154 CPDF_Form* pNewForm = 154 CPDF_Form* pNewForm =
155 new CPDF_Form(m_pDocument, pPage->m_pResources, pStream); 155 new CPDF_Form(m_pDocument, pPage->m_pResources, pStream);
156 pNewForm->ParseContent(nullptr, nullptr, nullptr); 156 pNewForm->ParseContent(nullptr, nullptr, nullptr);
157 m_APMap[pStream] = WrapUnique(pNewForm); 157 m_APMap[pStream] = WrapUnique(pNewForm);
158 return pNewForm; 158 return pNewForm;
159 } 159 }
160 160
161 static CPDF_Form* FPDFDOC_Annot_GetMatrix(const CPDF_Page* pPage, 161 static CPDF_Form* FPDFDOC_Annot_GetMatrix(const CPDF_Page* pPage,
162 CPDF_Annot* pAnnot, 162 CPDF_Annot* pAnnot,
163 CPDF_Annot::AppearanceMode mode, 163 CPDF_Annot::AppearanceMode mode,
164 const CFX_Matrix* pUser2Device, 164 const CFX_Matrix* pUser2Device,
165 CFX_Matrix& matrix) { 165 CFX_Matrix& matrix) {
166 CPDF_Form* pForm = pAnnot->GetAPForm(pPage, mode); 166 CPDF_Form* pForm = pAnnot->GetAPForm(pPage, mode);
167 if (!pForm) { 167 if (!pForm) {
168 return nullptr; 168 return nullptr;
169 } 169 }
170 CFX_FloatRect form_bbox = pForm->m_pFormDict->GetRectBy("BBox"); 170 CFX_FloatRect form_bbox = pForm->m_pFormDict->GetRectFor("BBox");
171 CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixBy("Matrix"); 171 CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixFor("Matrix");
172 form_matrix.TransformRect(form_bbox); 172 form_matrix.TransformRect(form_bbox);
173 matrix.MatchRect(pAnnot->GetRect(), form_bbox); 173 matrix.MatchRect(pAnnot->GetRect(), form_bbox);
174 matrix.Concat(*pUser2Device); 174 matrix.Concat(*pUser2Device);
175 return pForm; 175 return pForm;
176 } 176 }
177 177
178 // Static. 178 // Static.
179 bool CPDF_Annot::IsAnnotationHidden(CPDF_Dictionary* pAnnotDict) { 179 bool CPDF_Annot::IsAnnotationHidden(CPDF_Dictionary* pAnnotDict) {
180 return !!(pAnnotDict->GetIntegerBy("F") & ANNOTFLAG_HIDDEN); 180 return !!(pAnnotDict->GetIntegerFor("F") & ANNOTFLAG_HIDDEN);
181 } 181 }
182 182
183 // Static. 183 // Static.
184 CPDF_Annot::Subtype CPDF_Annot::StringToAnnotSubtype( 184 CPDF_Annot::Subtype CPDF_Annot::StringToAnnotSubtype(
185 const CFX_ByteString& sSubtype) { 185 const CFX_ByteString& sSubtype) {
186 if (sSubtype == "Text") 186 if (sSubtype == "Text")
187 return CPDF_Annot::Subtype::TEXT; 187 return CPDF_Annot::Subtype::TEXT;
188 if (sSubtype == "Link") 188 if (sSubtype == "Link")
189 return CPDF_Annot::Subtype::LINK; 189 return CPDF_Annot::Subtype::LINK;
190 if (sSubtype == "FreeText") 190 if (sSubtype == "FreeText")
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 return; 359 return;
360 } 360 }
361 bool bPrinting = pDevice->GetDeviceClass() == FXDC_PRINTER || 361 bool bPrinting = pDevice->GetDeviceClass() == FXDC_PRINTER ||
362 (pOptions && (pOptions->m_Flags & RENDER_PRINTPREVIEW)); 362 (pOptions && (pOptions->m_Flags & RENDER_PRINTPREVIEW));
363 if (bPrinting && (annot_flags & ANNOTFLAG_PRINT) == 0) { 363 if (bPrinting && (annot_flags & ANNOTFLAG_PRINT) == 0) {
364 return; 364 return;
365 } 365 }
366 if (!bPrinting && (annot_flags & ANNOTFLAG_NOVIEW)) { 366 if (!bPrinting && (annot_flags & ANNOTFLAG_NOVIEW)) {
367 return; 367 return;
368 } 368 }
369 CPDF_Dictionary* pBS = m_pAnnotDict->GetDictBy("BS"); 369 CPDF_Dictionary* pBS = m_pAnnotDict->GetDictFor("BS");
370 char style_char; 370 char style_char;
371 FX_FLOAT width; 371 FX_FLOAT width;
372 CPDF_Array* pDashArray = nullptr; 372 CPDF_Array* pDashArray = nullptr;
373 if (!pBS) { 373 if (!pBS) {
374 CPDF_Array* pBorderArray = m_pAnnotDict->GetArrayBy("Border"); 374 CPDF_Array* pBorderArray = m_pAnnotDict->GetArrayFor("Border");
375 style_char = 'S'; 375 style_char = 'S';
376 if (pBorderArray) { 376 if (pBorderArray) {
377 width = pBorderArray->GetNumberAt(2); 377 width = pBorderArray->GetNumberAt(2);
378 if (pBorderArray->GetCount() == 4) { 378 if (pBorderArray->GetCount() == 4) {
379 pDashArray = pBorderArray->GetArrayAt(3); 379 pDashArray = pBorderArray->GetArrayAt(3);
380 if (!pDashArray) { 380 if (!pDashArray) {
381 return; 381 return;
382 } 382 }
383 size_t nLen = pDashArray->GetCount(); 383 size_t nLen = pDashArray->GetCount();
384 size_t i = 0; 384 size_t i = 0;
385 for (; i < nLen; ++i) { 385 for (; i < nLen; ++i) {
386 CPDF_Object* pObj = pDashArray->GetDirectObjectAt(i); 386 CPDF_Object* pObj = pDashArray->GetDirectObjectAt(i);
387 if (pObj && pObj->GetInteger()) { 387 if (pObj && pObj->GetInteger()) {
388 break; 388 break;
389 } 389 }
390 } 390 }
391 if (i == nLen) { 391 if (i == nLen) {
392 return; 392 return;
393 } 393 }
394 style_char = 'D'; 394 style_char = 'D';
395 } 395 }
396 } else { 396 } else {
397 width = 1; 397 width = 1;
398 } 398 }
399 } else { 399 } else {
400 CFX_ByteString style = pBS->GetStringBy("S"); 400 CFX_ByteString style = pBS->GetStringFor("S");
401 pDashArray = pBS->GetArrayBy("D"); 401 pDashArray = pBS->GetArrayFor("D");
402 style_char = style[1]; 402 style_char = style[1];
403 width = pBS->GetNumberBy("W"); 403 width = pBS->GetNumberFor("W");
404 } 404 }
405 if (width <= 0) { 405 if (width <= 0) {
406 return; 406 return;
407 } 407 }
408 CPDF_Array* pColor = m_pAnnotDict->GetArrayBy("C"); 408 CPDF_Array* pColor = m_pAnnotDict->GetArrayFor("C");
409 uint32_t argb = 0xff000000; 409 uint32_t argb = 0xff000000;
410 if (pColor) { 410 if (pColor) {
411 int R = (int32_t)(pColor->GetNumberAt(0) * 255); 411 int R = (int32_t)(pColor->GetNumberAt(0) * 255);
412 int G = (int32_t)(pColor->GetNumberAt(1) * 255); 412 int G = (int32_t)(pColor->GetNumberAt(1) * 255);
413 int B = (int32_t)(pColor->GetNumberAt(2) * 255); 413 int B = (int32_t)(pColor->GetNumberAt(2) * 255);
414 argb = ArgbEncode(0xff, R, G, B); 414 argb = ArgbEncode(0xff, R, G, B);
415 } 415 }
416 CFX_GraphStateData graph_state; 416 CFX_GraphStateData graph_state;
417 graph_state.m_LineWidth = width; 417 graph_state.m_LineWidth = width;
418 if (style_char == 'D') { 418 if (style_char == 'D') {
(...skipping 21 matching lines...) Expand all
440 CFX_PathData path; 440 CFX_PathData path;
441 width /= 2; 441 width /= 2;
442 path.AppendRect(rect.left + width, rect.bottom + width, rect.right - width, 442 path.AppendRect(rect.left + width, rect.bottom + width, rect.right - width,
443 rect.top - width); 443 rect.top - width);
444 int fill_type = 0; 444 int fill_type = 0;
445 if (pOptions && (pOptions->m_Flags & RENDER_NOPATHSMOOTH)) { 445 if (pOptions && (pOptions->m_Flags & RENDER_NOPATHSMOOTH)) {
446 fill_type |= FXFILL_NOPATHSMOOTH; 446 fill_type |= FXFILL_NOPATHSMOOTH;
447 } 447 }
448 pDevice->DrawPath(&path, pUser2Device, &graph_state, argb, argb, fill_type); 448 pDevice->DrawPath(&path, pUser2Device, &graph_state, argb, argb, fill_type);
449 } 449 }
OLDNEW
« no previous file with comments | « core/fpdfdoc/cpdf_actionfields.cpp ('k') | core/fpdfdoc/cpdf_annotlist.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698