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

Side by Side Diff: core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp

Issue 1709393002: Remove PageObject's m_Type and add As<Type> functions (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: address comments Created 4 years, 10 months 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 | « core/include/fpdfapi/fpdf_pageobj.h ('k') | core/src/fpdfapi/fpdf_page/fpdf_page.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 "core/include/fpdfapi/fpdf_module.h" 7 #include "core/include/fpdfapi/fpdf_module.h"
8 #include "core/include/fpdfapi/fpdf_page.h" 8 #include "core/include/fpdfapi/fpdf_page.h"
9 #include "core/include/fpdfapi/fpdf_serial.h" 9 #include "core/include/fpdfapi/fpdf_serial.h"
10 #include "core/src/fpdfapi/fpdf_page/pageint.h" 10 #include "core/src/fpdfapi/fpdf_page/pageint.h"
(...skipping 13 matching lines...) Expand all
24 FX_BOOL CPDF_PageContentGenerator::InsertPageObject( 24 FX_BOOL CPDF_PageContentGenerator::InsertPageObject(
25 CPDF_PageObject* pPageObject) { 25 CPDF_PageObject* pPageObject) {
26 return pPageObject && m_pageObjects.Add(pPageObject); 26 return pPageObject && m_pageObjects.Add(pPageObject);
27 } 27 }
28 28
29 void CPDF_PageContentGenerator::GenerateContent() { 29 void CPDF_PageContentGenerator::GenerateContent() {
30 CFX_ByteTextBuf buf; 30 CFX_ByteTextBuf buf;
31 CPDF_Dictionary* pPageDict = m_pPage->m_pFormDict; 31 CPDF_Dictionary* pPageDict = m_pPage->m_pFormDict;
32 for (int i = 0; i < m_pageObjects.GetSize(); ++i) { 32 for (int i = 0; i < m_pageObjects.GetSize(); ++i) {
33 CPDF_PageObject* pPageObj = m_pageObjects[i]; 33 CPDF_PageObject* pPageObj = m_pageObjects[i];
34 if (!pPageObj || pPageObj->m_Type != CPDF_PageObject::IMAGE) { 34 if (!pPageObj || !pPageObj->IsImage()) {
35 continue; 35 continue;
36 } 36 }
37 ProcessImage(buf, (CPDF_ImageObject*)pPageObj); 37 ProcessImage(buf, pPageObj->AsImage());
38 } 38 }
39 CPDF_Object* pContent = 39 CPDF_Object* pContent =
40 pPageDict ? pPageDict->GetElementValue("Contents") : NULL; 40 pPageDict ? pPageDict->GetElementValue("Contents") : NULL;
41 if (pContent) { 41 if (pContent) {
42 pPageDict->RemoveAt("Contents"); 42 pPageDict->RemoveAt("Contents");
43 } 43 }
44 CPDF_Stream* pStream = new CPDF_Stream(NULL, 0, NULL); 44 CPDF_Stream* pStream = new CPDF_Stream(NULL, 0, NULL);
45 pStream->SetData(buf.GetBuffer(), buf.GetLength(), FALSE, FALSE); 45 pStream->SetData(buf.GetBuffer(), buf.GetLength(), FALSE, FALSE);
46 m_pDocument->AddIndirectObject(pStream); 46 m_pDocument->AddIndirectObject(pStream);
47 pPageDict->SetAtReference("Contents", m_pDocument, pStream->GetObjNum()); 47 pPageDict->SetAtReference("Contents", m_pDocument, pStream->GetObjNum());
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 CPDF_StreamAcc contentStream; 149 CPDF_StreamAcc contentStream;
150 contentStream.LoadAllData(pStream); 150 contentStream.LoadAllData(pStream);
151 ProcessForm(buf, contentStream.GetData(), contentStream.GetSize(), matrix); 151 ProcessForm(buf, contentStream.GetData(), contentStream.GetSize(), matrix);
152 } 152 }
153 CPDF_Stream* pStream = new CPDF_Stream(NULL, 0, NULL); 153 CPDF_Stream* pStream = new CPDF_Stream(NULL, 0, NULL);
154 pStream->SetData(buf.GetBuffer(), buf.GetLength(), FALSE, FALSE); 154 pStream->SetData(buf.GetBuffer(), buf.GetLength(), FALSE, FALSE);
155 m_pDocument->AddIndirectObject(pStream); 155 m_pDocument->AddIndirectObject(pStream);
156 m_pPage->m_pFormDict->SetAtReference("Contents", m_pDocument, 156 m_pPage->m_pFormDict->SetAtReference("Contents", m_pDocument,
157 pStream->GetObjNum()); 157 pStream->GetObjNum());
158 } 158 }
OLDNEW
« no previous file with comments | « core/include/fpdfapi/fpdf_pageobj.h ('k') | core/src/fpdfapi/fpdf_page/fpdf_page.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698