| 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 "../include/fsdk_define.h" | 7 #include "../include/fsdk_define.h" |
| 8 #include "../include/fsdk_mgr.h" | 8 #include "../include/fsdk_mgr.h" |
| 9 #include "../include/fpdfview.h" | 9 #include "../include/fpdfview.h" |
| 10 #include "../include/fsdk_rendercontext.h" | 10 #include "../include/fsdk_rendercontext.h" |
| 11 #include "../include/fpdf_progressive.h" | 11 #include "../include/fpdf_progressive.h" |
| 12 #include "../include/fpdf_ext.h" | 12 #include "../include/fpdf_ext.h" |
| 13 #include "../../../core/src/fxcrt/fx_safe_types.h" | 13 #include "../../../core/src/fxcrt/fx_safe_types.h" |
| 14 #include "../../third_party/base/nonstd_unique_ptr.h" |
| 14 #include "../../third_party/base/numerics/safe_conversions_impl.h" | 15 #include "../../third_party/base/numerics/safe_conversions_impl.h" |
| 15 #include "../include/fpdfformfill.h" | 16 #include "../include/fpdfformfill.h" |
| 16 #include "../include/fpdfxfa/fpdfxfa_doc.h" | 17 #include "../include/fpdfxfa/fpdfxfa_doc.h" |
| 17 #include "../include/fpdfxfa/fpdfxfa_app.h" | 18 #include "../include/fpdfxfa/fpdfxfa_app.h" |
| 18 #include "../include/fpdfxfa/fpdfxfa_page.h" | 19 #include "../include/fpdfxfa/fpdfxfa_page.h" |
| 19 #include "../include/fpdfxfa/fpdfxfa_util.h" | 20 #include "../include/fpdfxfa/fpdfxfa_util.h" |
| 20 | 21 |
| 21 CFPDF_FileStream::CFPDF_FileStream(FPDF_FILEHANDLER* pFS) | 22 CFPDF_FileStream::CFPDF_FileStream(FPDF_FILEHANDLER* pFS) |
| 22 { | 23 { |
| 23 m_pFS = pFS; | 24 m_pFS = pFS; |
| (...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 DLLEXPORT void STDCALL FPDF_PageToDevice(FPDF_PAGE page, int start_x, int start_
y, int size_x, int size_y, | 704 DLLEXPORT void STDCALL FPDF_PageToDevice(FPDF_PAGE page, int start_x, int start_
y, int size_x, int size_y, |
| 704 int rotate, double page_x, doubl
e page_y, int* device_x, int* device_y) | 705 int rotate, double page_x, doubl
e page_y, int* device_x, int* device_y) |
| 705 { | 706 { |
| 706 if (page == NULL || device_x == NULL || device_y == NULL) return; | 707 if (page == NULL || device_x == NULL || device_y == NULL) return; |
| 707 CPDFXFA_Page* pPage = (CPDFXFA_Page*)page; | 708 CPDFXFA_Page* pPage = (CPDFXFA_Page*)page; |
| 708 pPage->PageToDevice(start_x, start_y, size_x, size_y, rotate, page_x, pa
ge_y, device_x, device_y); | 709 pPage->PageToDevice(start_x, start_y, size_x, size_y, rotate, page_x, pa
ge_y, device_x, device_y); |
| 709 } | 710 } |
| 710 | 711 |
| 711 DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_Create(int width, int height, int alpha
) | 712 DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_Create(int width, int height, int alpha
) |
| 712 { | 713 { |
| 713 » CFX_DIBitmap* pBitmap = FX_NEW CFX_DIBitmap; | 714 nonstd::unique_ptr<CFX_DIBitmap> pBitmap(new CFX_DIBitmap); |
| 714 » pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32); | 715 if (!pBitmap->Create(width, height, alpha ? FXDIB_Argb : FXDIB_Rgb32)) { |
| 715 » return pBitmap; | 716 return NULL; |
| 717 } |
| 718 return pBitmap.release(); |
| 716 } | 719 } |
| 717 | 720 |
| 718 DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int for
mat, void* first_scan, int stride) | 721 DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int for
mat, void* first_scan, int stride) |
| 719 { | 722 { |
| 720 FXDIB_Format fx_format; | 723 FXDIB_Format fx_format; |
| 721 switch (format) { | 724 switch (format) { |
| 722 case FPDFBitmap_Gray: | 725 case FPDFBitmap_Gray: |
| 723 fx_format = FXDIB_8bppRgb; | 726 fx_format = FXDIB_8bppRgb; |
| 724 break; | 727 break; |
| 725 case FPDFBitmap_BGR: | 728 case FPDFBitmap_BGR: |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1050 if (!buffer) { | 1053 if (!buffer) { |
| 1051 buflen = len; | 1054 buflen = len; |
| 1052 } else if (buflen >= len) { | 1055 } else if (buflen >= len) { |
| 1053 memcpy(buffer, utf16Name.c_str(), len); | 1056 memcpy(buffer, utf16Name.c_str(), len); |
| 1054 buflen = len; | 1057 buflen = len; |
| 1055 } else { | 1058 } else { |
| 1056 buflen = -1; | 1059 buflen = -1; |
| 1057 } | 1060 } |
| 1058 return (FPDF_DEST)pDestObj; | 1061 return (FPDF_DEST)pDestObj; |
| 1059 } | 1062 } |
| OLD | NEW |