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

Side by Side Diff: fpdfsdk/fpdfeditimg.cpp

Issue 2451493002: Refcount all the IFX_ stream classes all the time. (Closed)
Patch Set: Clean up cast expression Created 4 years 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
« no previous file with comments | « fpdfsdk/fpdf_dataavail.cpp ('k') | fpdfsdk/fpdfsave.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_edit.h" 7 #include "public/fpdf_edit.h"
8 8
9 #include "core/fpdfapi/cpdf_modulemgr.h" 9 #include "core/fpdfapi/cpdf_modulemgr.h"
10 #include "core/fpdfapi/page/cpdf_image.h" 10 #include "core/fpdfapi/page/cpdf_image.h"
(...skipping 14 matching lines...) Expand all
25 } 25 }
26 26
27 DLLEXPORT FPDF_BOOL STDCALL 27 DLLEXPORT FPDF_BOOL STDCALL
28 FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages, 28 FPDFImageObj_LoadJpegFile(FPDF_PAGE* pages,
29 int nCount, 29 int nCount,
30 FPDF_PAGEOBJECT image_object, 30 FPDF_PAGEOBJECT image_object,
31 FPDF_FILEACCESS* fileAccess) { 31 FPDF_FILEACCESS* fileAccess) {
32 if (!image_object || !fileAccess || !pages) 32 if (!image_object || !fileAccess || !pages)
33 return false; 33 return false;
34 34
35 IFX_SeekableReadStream* pFile = MakeSeekableReadStream(fileAccess); 35 CFX_RetainPtr<IFX_SeekableReadStream> pFile =
36 MakeSeekableReadStream(fileAccess);
36 CPDF_ImageObject* pImgObj = reinterpret_cast<CPDF_ImageObject*>(image_object); 37 CPDF_ImageObject* pImgObj = reinterpret_cast<CPDF_ImageObject*>(image_object);
37 for (int index = 0; index < nCount; index++) { 38 for (int index = 0; index < nCount; index++) {
38 CPDF_Page* pPage = CPDFPageFromFPDFPage(pages[index]); 39 CPDF_Page* pPage = CPDFPageFromFPDFPage(pages[index]);
39 if (pPage) 40 if (pPage)
40 pImgObj->GetImage()->ResetCache(pPage, nullptr); 41 pImgObj->GetImage()->ResetCache(pPage, nullptr);
41 } 42 }
42 pImgObj->GetImage()->SetJpegImage(pFile); 43 pImgObj->GetImage()->SetJpegImage(pFile);
43 44
44 return true; 45 return true;
45 } 46 }
(...skipping 27 matching lines...) Expand all
73 CPDF_ImageObject* pImgObj = reinterpret_cast<CPDF_ImageObject*>(image_object); 74 CPDF_ImageObject* pImgObj = reinterpret_cast<CPDF_ImageObject*>(image_object);
74 for (int index = 0; index < nCount; index++) { 75 for (int index = 0; index < nCount; index++) {
75 CPDF_Page* pPage = CPDFPageFromFPDFPage(pages[index]); 76 CPDF_Page* pPage = CPDFPageFromFPDFPage(pages[index]);
76 if (pPage) 77 if (pPage)
77 pImgObj->GetImage()->ResetCache(pPage, nullptr); 78 pImgObj->GetImage()->ResetCache(pPage, nullptr);
78 } 79 }
79 pImgObj->GetImage()->SetImage(reinterpret_cast<CFX_DIBitmap*>(bitmap)); 80 pImgObj->GetImage()->SetImage(reinterpret_cast<CFX_DIBitmap*>(bitmap));
80 pImgObj->CalcBoundingBox(); 81 pImgObj->CalcBoundingBox();
81 return true; 82 return true;
82 } 83 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdf_dataavail.cpp ('k') | fpdfsdk/fpdfsave.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698