OLD | NEW |
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 "../../third_party/base/nonstd_unique_ptr.h" | 8 #include "../../third_party/base/nonstd_unique_ptr.h" |
9 #include "../include/fsdk_define.h" | 9 #include "../include/fsdk_define.h" |
10 | 10 |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 nStringFrom = nStringTo + 1; | 362 nStringFrom = nStringTo + 1; |
363 } | 363 } |
364 } | 364 } |
365 return TRUE; | 365 return TRUE; |
366 } | 366 } |
367 | 367 |
368 DLLEXPORT FPDF_BOOL STDCALL FPDF_ImportPages(FPDF_DOCUMENT dest_doc, | 368 DLLEXPORT FPDF_BOOL STDCALL FPDF_ImportPages(FPDF_DOCUMENT dest_doc, |
369 FPDF_DOCUMENT src_doc, | 369 FPDF_DOCUMENT src_doc, |
370 FPDF_BYTESTRING pagerange, | 370 FPDF_BYTESTRING pagerange, |
371 int index) { | 371 int index) { |
372 CPDF_Document* pDestDoc = CPDF_Document::FromFPDFDocument(dest_doc); | 372 CPDF_Document* pDestDoc = CPDFDocumentFromFPDFDocument(dest_doc); |
373 if (!dest_doc) | 373 if (!dest_doc) |
374 return FALSE; | 374 return FALSE; |
375 | 375 |
376 CPDF_Document* pSrcDoc = CPDF_Document::FromFPDFDocument(src_doc); | 376 CPDF_Document* pSrcDoc = CPDFDocumentFromFPDFDocument(src_doc); |
377 if (!pSrcDoc) | 377 if (!pSrcDoc) |
378 return FALSE; | 378 return FALSE; |
379 | 379 |
380 CFX_WordArray pageArray; | 380 CFX_WordArray pageArray; |
381 int nCount = pSrcDoc->GetPageCount(); | 381 int nCount = pSrcDoc->GetPageCount(); |
382 if (pagerange) { | 382 if (pagerange) { |
383 if (!ParserPageRangeString(pagerange, &pageArray, nCount)) | 383 if (!ParserPageRangeString(pagerange, &pageArray, nCount)) |
384 return FALSE; | 384 return FALSE; |
385 } else { | 385 } else { |
386 for (int i = 1; i <= nCount; ++i) { | 386 for (int i = 1; i <= nCount; ++i) { |
387 pageArray.Add(i); | 387 pageArray.Add(i); |
388 } | 388 } |
389 } | 389 } |
390 | 390 |
391 CPDF_PageOrganizer pageOrg; | 391 CPDF_PageOrganizer pageOrg; |
392 pageOrg.PDFDocInit(pDestDoc, pSrcDoc); | 392 pageOrg.PDFDocInit(pDestDoc, pSrcDoc); |
393 return pageOrg.ExportPage(pSrcDoc, &pageArray, pDestDoc, index); | 393 return pageOrg.ExportPage(pSrcDoc, &pageArray, pDestDoc, index); |
394 } | 394 } |
395 | 395 |
396 DLLEXPORT FPDF_BOOL STDCALL FPDF_CopyViewerPreferences(FPDF_DOCUMENT dest_doc, | 396 DLLEXPORT FPDF_BOOL STDCALL FPDF_CopyViewerPreferences(FPDF_DOCUMENT dest_doc, |
397 FPDF_DOCUMENT src_doc) { | 397 FPDF_DOCUMENT src_doc) { |
398 CPDF_Document* pDstDoc = CPDF_Document::FromFPDFDocument(dest_doc); | 398 CPDF_Document* pDstDoc = CPDFDocumentFromFPDFDocument(dest_doc); |
399 if (!pDstDoc) | 399 if (!pDstDoc) |
400 return FALSE; | 400 return FALSE; |
401 | 401 |
402 CPDF_Document* pSrcDoc = CPDF_Document::FromFPDFDocument(src_doc); | 402 CPDF_Document* pSrcDoc = CPDFDocumentFromFPDFDocument(src_doc); |
403 if (!pSrcDoc) | 403 if (!pSrcDoc) |
404 return FALSE; | 404 return FALSE; |
405 | 405 |
406 CPDF_Dictionary* pSrcDict = pSrcDoc->GetRoot(); | 406 CPDF_Dictionary* pSrcDict = pSrcDoc->GetRoot(); |
407 pSrcDict = pSrcDict->GetDict(FX_BSTRC("ViewerPreferences")); | 407 pSrcDict = pSrcDict->GetDict(FX_BSTRC("ViewerPreferences")); |
408 if (!pSrcDict) | 408 if (!pSrcDict) |
409 return FALSE; | 409 return FALSE; |
410 | 410 |
411 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot(); | 411 CPDF_Dictionary* pDstDict = pDstDoc->GetRoot(); |
412 if (!pDstDict) | 412 if (!pDstDict) |
413 return FALSE; | 413 return FALSE; |
414 | 414 |
415 pDstDict->SetAt(FX_BSTRC("ViewerPreferences"), pSrcDict->Clone(TRUE)); | 415 pDstDict->SetAt(FX_BSTRC("ViewerPreferences"), pSrcDict->Clone(TRUE)); |
416 return TRUE; | 416 return TRUE; |
417 } | 417 } |
OLD | NEW |