| 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 #include "../include/fsdk_define.h" | 8 #include "../include/fsdk_define.h" |
| 9 | 9 |
| 10 DLLEXPORT FPDF_PAGEOBJECT STDCALL | 10 DLLEXPORT FPDF_PAGEOBJECT STDCALL |
| 11 FPDFPageObj_NewImgeObj(FPDF_DOCUMENT document) { | 11 FPDFPageObj_NewImgeObj(FPDF_DOCUMENT document) { |
| 12 if (!document) | 12 if (!document) |
| 13 return NULL; | 13 return NULL; |
| 14 CPDF_ImageObject* pImageObj = new CPDF_ImageObject; | 14 CPDF_ImageObject* pImageObj = new CPDF_ImageObject; |
| 15 CPDF_Image* pImg = new CPDF_Image((CPDF_Document*)document); | 15 CPDF_Image* pImg = new CPDF_Image((CPDF_Document*)document); |
| 16 pImageObj->m_pImage = pImg; | 16 pImageObj->m_pImage = pImg; |
| 17 return pImageObj; | 17 return pImageObj; |
| 18 } | 18 } |
| 19 | 19 |
| 20 DLLEXPORT FPDF_BOOL STDCALL | 20 DLLEXPORT FPDF_BOOL STDCALL |
| 21 FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages, | 21 FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages, |
| 22 int nCount, | 22 int nCount, |
| 23 FPDF_PAGEOBJECT image_object, | 23 FPDF_PAGEOBJECT image_object, |
| 24 FPDF_FILEACCESS* fileAccess) { | 24 FPDF_FILEACCESS* fileAccess) { |
| 25 if (!image_object || !fileAccess) | 25 if (!image_object || !fileAccess || !pages) |
| 26 return FALSE; | 26 return FALSE; |
| 27 | 27 |
| 28 IFX_FileRead* pFile = new CPDF_CustomAccess(fileAccess); | 28 IFX_FileRead* pFile = new CPDF_CustomAccess(fileAccess); |
| 29 CPDF_ImageObject* pImgObj = (CPDF_ImageObject*)image_object; | 29 CPDF_ImageObject* pImgObj = (CPDF_ImageObject*)image_object; |
| 30 pImgObj->m_GeneralState.GetModify(); | 30 pImgObj->m_GeneralState.GetModify(); |
| 31 for (int index = 0; index < nCount; index++) { | 31 for (int index = 0; index < nCount; index++) { |
| 32 CPDF_Page* pPage = (CPDF_Page*)pages[index]; | 32 CPDF_Page* pPage = (CPDF_Page*)pages[index]; |
| 33 pImgObj->m_pImage->ResetCache(pPage, NULL); | 33 pImgObj->m_pImage->ResetCache(pPage, NULL); |
| 34 } | 34 } |
| 35 pImgObj->m_pImage->SetJpegImage(pFile); | 35 pImgObj->m_pImage->SetJpegImage(pFile); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 54 pImgObj->m_Matrix.e = (FX_FLOAT)e; | 54 pImgObj->m_Matrix.e = (FX_FLOAT)e; |
| 55 pImgObj->m_Matrix.f = (FX_FLOAT)f; | 55 pImgObj->m_Matrix.f = (FX_FLOAT)f; |
| 56 pImgObj->CalcBoundingBox(); | 56 pImgObj->CalcBoundingBox(); |
| 57 return TRUE; | 57 return TRUE; |
| 58 } | 58 } |
| 59 | 59 |
| 60 DLLEXPORT FPDF_BOOL STDCALL FPDFImageObj_SetBitmap(FPDF_PAGE* pages, | 60 DLLEXPORT FPDF_BOOL STDCALL FPDFImageObj_SetBitmap(FPDF_PAGE* pages, |
| 61 int nCount, | 61 int nCount, |
| 62 FPDF_PAGEOBJECT image_object, | 62 FPDF_PAGEOBJECT image_object, |
| 63 FPDF_BITMAP bitmap) { | 63 FPDF_BITMAP bitmap) { |
| 64 if (!image_object || !bitmap) | 64 if (!image_object || !bitmap || !pages) |
| 65 return FALSE; | 65 return FALSE; |
| 66 CFX_DIBitmap* pBmp = NULL; | 66 CFX_DIBitmap* pBmp = NULL; |
| 67 pBmp = (CFX_DIBitmap*)bitmap; | 67 pBmp = (CFX_DIBitmap*)bitmap; |
| 68 CPDF_ImageObject* pImgObj = (CPDF_ImageObject*)image_object; | 68 CPDF_ImageObject* pImgObj = (CPDF_ImageObject*)image_object; |
| 69 pImgObj->m_GeneralState.GetModify(); | 69 pImgObj->m_GeneralState.GetModify(); |
| 70 for (int index = 0; index < nCount; index++) { | 70 for (int index = 0; index < nCount; index++) { |
| 71 CPDF_Page* pPage = (CPDF_Page*)pages[index]; | 71 CPDF_Page* pPage = (CPDF_Page*)pages[index]; |
| 72 pImgObj->m_pImage->ResetCache(pPage, NULL); | 72 pImgObj->m_pImage->ResetCache(pPage, NULL); |
| 73 } | 73 } |
| 74 pImgObj->m_pImage->SetImage(pBmp, FALSE); | 74 pImgObj->m_pImage->SetImage(pBmp, FALSE); |
| 75 pImgObj->CalcBoundingBox(); | 75 pImgObj->CalcBoundingBox(); |
| 76 return TRUE; | 76 return TRUE; |
| 77 } | 77 } |
| OLD | NEW |