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

Side by Side Diff: fpdfsdk/src/fpdfppo.cpp

Issue 1194933003: Make CPDF_Object::GetString() a virtual method. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 5 years, 5 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
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 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 "../../public/fpdf_ppo.h" 7 #include "../../public/fpdf_ppo.h"
8 #include "../include/fsdk_define.h" 8 #include "../include/fsdk_define.h"
9 9
10 class CPDF_PageOrganizer 10 class CPDF_PageOrganizer
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 CPDF_Dictionary* DInfoDict = pDestPDFDoc->GetInfo(); 46 CPDF_Dictionary* DInfoDict = pDestPDFDoc->GetInfo();
47 47
48 if(!DInfoDict) 48 if(!DInfoDict)
49 return FALSE; 49 return FALSE;
50 50
51 CFX_ByteString producerstr; 51 CFX_ByteString producerstr;
52 producerstr.Format("PDFium"); 52 producerstr.Format("PDFium");
53 DInfoDict->SetAt("Producer", new CPDF_String(producerstr)); 53 DInfoDict->SetAt("Producer", new CPDF_String(producerstr));
54 54
55 //Set type////////////////////////////////////////////////////////////// // 55 //Set type////////////////////////////////////////////////////////////// //
56 » CFX_ByteString cbRootType = pNewRoot->GetString("Type",""); 56 » CFX_ByteString cbRootType = pNewRoot->GetStringAt("Type", "");
57 if( cbRootType.Equal("") ) 57 if( cbRootType.Equal("") )
58 { 58 {
59 pNewRoot->SetAt("Type", new CPDF_Name("Catalog")); 59 pNewRoot->SetAt("Type", new CPDF_Name("Catalog"));
60 } 60 }
61 61
62 CPDF_Dictionary* pNewPages = (CPDF_Dictionary*)(pNewRoot->GetElement("Pa ges")? pNewRoot->GetElement("Pages")->GetDirect() : NULL); 62 CPDF_Dictionary* pNewPages = (CPDF_Dictionary*)(pNewRoot->GetElement("Pa ges")? pNewRoot->GetElement("Pages")->GetDirect() : NULL);
63 if(!pNewPages) 63 if(!pNewPages)
64 { 64 {
65 pNewPages = new CPDF_Dictionary; 65 pNewPages = new CPDF_Dictionary;
66 FX_DWORD NewPagesON = pDestPDFDoc->AddIndirectObject(pNewPages); 66 FX_DWORD NewPagesON = pDestPDFDoc->AddIndirectObject(pNewPages);
67 pNewRoot->SetAt("Pages", new CPDF_Reference(pDestPDFDoc, NewPage sON)); 67 pNewRoot->SetAt("Pages", new CPDF_Reference(pDestPDFDoc, NewPage sON));
68 } 68 }
69 69
70 » CFX_ByteString cbPageType = pNewPages->GetString("Type",""); 70 » CFX_ByteString cbPageType = pNewPages->GetStringAt("Type", "");
71 if(cbPageType.Equal("")) 71 if(cbPageType.Equal(""))
72 { 72 {
73 pNewPages->SetAt("Type", new CPDF_Name("Pages")); 73 pNewPages->SetAt("Type", new CPDF_Name("Pages"));
74 } 74 }
75 75
76 CPDF_Array* pKeysArray = pNewPages->GetArray("Kids"); 76 CPDF_Array* pKeysArray = pNewPages->GetArray("Kids");
77 if(pKeysArray == NULL) 77 if(pKeysArray == NULL)
78 { 78 {
79 CPDF_Array* pNewKids = new CPDF_Array; 79 CPDF_Array* pNewKids = new CPDF_Array;
80 FX_DWORD Kidsobjnum = -1; 80 FX_DWORD Kidsobjnum = -1;
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 if(!pClone) 318 if(!pClone)
319 { 319 {
320 return 0; 320 return 0;
321 } 321 }
322 322
323 if(pClone->GetType() == PDFOBJ_DICTIONARY) 323 if(pClone->GetType() == PDFOBJ_DICTIONARY)
324 { 324 {
325 CPDF_Dictionary* pDictClone = (CPDF_Dictionary*)pClone; 325 CPDF_Dictionary* pDictClone = (CPDF_Dictionary*)pClone;
326 if(pDictClone->KeyExist("Type")) 326 if(pDictClone->KeyExist("Type"))
327 { 327 {
328 » » » » CFX_ByteString strType = pDictClone->GetString(" Type"); 328 » » » » CFX_ByteString strType =
329 pDictClone->GetStringAt("Type");
329 if(!FXSYS_stricmp(strType, "Pages")) 330 if(!FXSYS_stricmp(strType, "Pages"))
330 { 331 {
331 pDictClone->Release(); 332 pDictClone->Release();
332 return 4; 333 return 4;
333 } 334 }
334 else if(!FXSYS_stricmp(strType, "Page")) 335 else if(!FXSYS_stricmp(strType, "Page"))
335 { 336 {
336 pDictClone->Release(); 337 pDictClone->Release();
337 return 0; 338 return 0;
338 } 339 }
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 if(!pSrcDict) 459 if(!pSrcDict)
459 return FALSE; 460 return FALSE;
460 CPDF_Document* pDstDoc = (CPDF_Document*)dest_doc; 461 CPDF_Document* pDstDoc = (CPDF_Document*)dest_doc;
461 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot(); 462 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot();
462 if(!pDstDict) 463 if(!pDstDict)
463 return FALSE; 464 return FALSE;
464 pDstDict->SetAt(FX_BSTRC("ViewerPreferences"), pSrcDict->Clone(TRUE)); 465 pDstDict->SetAt(FX_BSTRC("ViewerPreferences"), pSrcDict->Clone(TRUE));
465 return TRUE; 466 return TRUE;
466 } 467 }
467 468
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698