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_edit.h" | 7 #include "public/fpdf_edit.h" |
8 | 8 |
9 #include "core/include/fpdfapi/cpdf_array.h" | 9 #include "core/include/fpdfapi/cpdf_array.h" |
10 #include "core/include/fpdfapi/cpdf_document.h" | 10 #include "core/include/fpdfapi/cpdf_document.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 if (pInfoDict) { | 49 if (pInfoDict) { |
50 if (FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) | 50 if (FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) |
51 pInfoDict->SetAt("CreationDate", new CPDF_String(DateStr, FALSE)); | 51 pInfoDict->SetAt("CreationDate", new CPDF_String(DateStr, FALSE)); |
52 pInfoDict->SetAt("Creator", new CPDF_String(L"PDFium")); | 52 pInfoDict->SetAt("Creator", new CPDF_String(L"PDFium")); |
53 } | 53 } |
54 | 54 |
55 return FPDFDocumentFromCPDFDocument(pDoc); | 55 return FPDFDocumentFromCPDFDocument(pDoc); |
56 } | 56 } |
57 | 57 |
58 DLLEXPORT void STDCALL FPDFPage_Delete(FPDF_DOCUMENT document, int page_index) { | 58 DLLEXPORT void STDCALL FPDFPage_Delete(FPDF_DOCUMENT document, int page_index) { |
59 CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document); | 59 if (UnderlyingDocumentType* pDoc = UnderlyingFromFPDFDocument(document)) |
60 if (!pDoc || page_index < 0 || page_index >= pDoc->GetPageCount()) | 60 pDoc->DeletePage(page_index); |
61 return; | |
62 | |
63 pDoc->DeletePage(page_index); | |
64 } | 61 } |
65 | 62 |
66 DLLEXPORT FPDF_PAGE STDCALL FPDFPage_New(FPDF_DOCUMENT document, | 63 DLLEXPORT FPDF_PAGE STDCALL FPDFPage_New(FPDF_DOCUMENT document, |
67 int page_index, | 64 int page_index, |
68 double width, | 65 double width, |
69 double height) { | 66 double height) { |
70 CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document); | 67 CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document); |
71 if (!pDoc) | 68 if (!pDoc) |
72 return nullptr; | 69 return nullptr; |
73 | 70 |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 !pPage->m_pFormDict->GetElement("Type")->GetDirect() || | 304 !pPage->m_pFormDict->GetElement("Type")->GetDirect() || |
308 pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( | 305 pPage->m_pFormDict->GetElement("Type")->GetDirect()->GetString().Compare( |
309 "Page")) { | 306 "Page")) { |
310 return; | 307 return; |
311 } | 308 } |
312 CPDF_Dictionary* pDict = pPage->m_pFormDict; | 309 CPDF_Dictionary* pDict = pPage->m_pFormDict; |
313 rotate %= 4; | 310 rotate %= 4; |
314 | 311 |
315 pDict->SetAt("Rotate", new CPDF_Number(rotate * 90)); | 312 pDict->SetAt("Rotate", new CPDF_Number(rotate * 90)); |
316 } | 313 } |
OLD | NEW |