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

Side by Side Diff: core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp

Issue 1513103002: Merge to XFA: Get rid of most uses of CFX_PtrArray. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 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 | « core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp ('k') | core/src/fpdfapi/fpdf_page/pageint.h » ('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 "pageint.h" 7 #include "pageint.h"
8 8
9 #include "core/include/fpdfapi/fpdf_module.h" 9 #include "core/include/fpdfapi/fpdf_module.h"
10 #include "core/include/fpdfapi/fpdf_page.h" 10 #include "core/include/fpdfapi/fpdf_page.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 m_pCurStates->m_ColorState.New(); 73 m_pCurStates->m_ColorState.New();
74 } 74 }
75 for (size_t i = 0; i < FX_ArraySize(m_Type3Data); ++i) { 75 for (size_t i = 0; i < FX_ArraySize(m_Type3Data); ++i) {
76 m_Type3Data[i] = 0.0; 76 m_Type3Data[i] = 0.0;
77 } 77 }
78 } 78 }
79 79
80 CPDF_StreamContentParser::~CPDF_StreamContentParser() { 80 CPDF_StreamContentParser::~CPDF_StreamContentParser() {
81 ClearAllParams(); 81 ClearAllParams();
82 for (int i = 0; i < m_StateStack.GetSize(); ++i) { 82 for (int i = 0; i < m_StateStack.GetSize(); ++i) {
83 delete (CPDF_AllStates*)m_StateStack[i]; 83 delete m_StateStack[i];
84 } 84 }
85 FX_Free(m_pPathPoints); 85 FX_Free(m_pPathPoints);
86 if (m_pLastImageDict) { 86 if (m_pLastImageDict) {
87 m_pLastImageDict->Release(); 87 m_pLastImageDict->Release();
88 } 88 }
89 if (m_pLastCloneImageDict) { 89 if (m_pLastCloneImageDict) {
90 m_pLastCloneImageDict->Release(); 90 m_pLastCloneImageDict->Release();
91 } 91 }
92 } 92 }
93 int CPDF_StreamContentParser::GetNextParamPos() { 93 int CPDF_StreamContentParser::GetNextParamPos() {
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 } 812 }
813 m_CurContentMark.GetModify()->DeleteLastMark(); 813 m_CurContentMark.GetModify()->DeleteLastMark();
814 } 814 }
815 void CPDF_StreamContentParser::Handle_EndText() { 815 void CPDF_StreamContentParser::Handle_EndText() {
816 int count = m_ClipTextList.GetSize(); 816 int count = m_ClipTextList.GetSize();
817 if (count == 0) { 817 if (count == 0) {
818 return; 818 return;
819 } 819 }
820 if (m_pCurStates->m_TextState.GetObject()->m_TextMode < 4) { 820 if (m_pCurStates->m_TextState.GetObject()->m_TextMode < 4) {
821 for (int i = 0; i < count; i++) { 821 for (int i = 0; i < count; i++) {
822 CPDF_TextObject* pText = (CPDF_TextObject*)m_ClipTextList.GetAt(i); 822 delete m_ClipTextList.GetAt(i);
823 delete pText;
824 } 823 }
825 } else { 824 } else {
826 m_pCurStates->m_ClipPath.AppendTexts( 825 m_pCurStates->m_ClipPath.AppendTexts(m_ClipTextList.GetData(), count);
827 (CPDF_TextObject**)m_ClipTextList.GetData(), count);
828 } 826 }
829 m_ClipTextList.RemoveAll(); 827 m_ClipTextList.RemoveAll();
830 } 828 }
831 void CPDF_StreamContentParser::Handle_EndSectionUndefined() { 829 void CPDF_StreamContentParser::Handle_EndSectionUndefined() {
832 if (m_CompatCount) { 830 if (m_CompatCount) {
833 m_CompatCount--; 831 m_CompatCount--;
834 } 832 }
835 } 833 }
836 void CPDF_StreamContentParser::Handle_FillPath() { 834 void CPDF_StreamContentParser::Handle_FillPath() {
837 if (m_Options.m_bTextOnly) { 835 if (m_Options.m_bTextOnly) {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 void CPDF_StreamContentParser::Handle_SaveGraphState() { 941 void CPDF_StreamContentParser::Handle_SaveGraphState() {
944 CPDF_AllStates* pStates = new CPDF_AllStates; 942 CPDF_AllStates* pStates = new CPDF_AllStates;
945 pStates->Copy(*m_pCurStates); 943 pStates->Copy(*m_pCurStates);
946 m_StateStack.Add(pStates); 944 m_StateStack.Add(pStates);
947 } 945 }
948 void CPDF_StreamContentParser::Handle_RestoreGraphState() { 946 void CPDF_StreamContentParser::Handle_RestoreGraphState() {
949 int size = m_StateStack.GetSize(); 947 int size = m_StateStack.GetSize();
950 if (size == 0) { 948 if (size == 0) {
951 return; 949 return;
952 } 950 }
953 CPDF_AllStates* pStates = (CPDF_AllStates*)m_StateStack.GetAt(size - 1); 951 CPDF_AllStates* pStates = m_StateStack.GetAt(size - 1);
954 m_pCurStates->Copy(*pStates); 952 m_pCurStates->Copy(*pStates);
955 delete pStates; 953 delete pStates;
956 m_StateStack.RemoveAt(size - 1); 954 m_StateStack.RemoveAt(size - 1);
957 } 955 }
958 void CPDF_StreamContentParser::Handle_Rectangle() { 956 void CPDF_StreamContentParser::Handle_Rectangle() {
959 if (m_Options.m_bTextOnly) { 957 if (m_Options.m_bTextOnly) {
960 return; 958 return;
961 } 959 }
962 FX_FLOAT x = GetNumber(3), y = GetNumber(2); 960 FX_FLOAT x = GetNumber(3), y = GetNumber(2);
963 FX_FLOAT w = GetNumber(1), h = GetNumber(0); 961 FX_FLOAT w = GetNumber(1), h = GetNumber(0);
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 m_pObjectList->m_ObjectList.AddTail(pPathObj); 1524 m_pObjectList->m_ObjectList.AddTail(pPathObj);
1527 } 1525 }
1528 if (PathClipType) { 1526 if (PathClipType) {
1529 if (!matrix.IsIdentity()) { 1527 if (!matrix.IsIdentity()) {
1530 Path.Transform(&matrix); 1528 Path.Transform(&matrix);
1531 matrix.SetIdentity(); 1529 matrix.SetIdentity();
1532 } 1530 }
1533 m_pCurStates->m_ClipPath.AppendPath(Path, PathClipType, TRUE); 1531 m_pCurStates->m_ClipPath.AppendPath(Path, PathClipType, TRUE);
1534 } 1532 }
1535 } 1533 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp ('k') | core/src/fpdfapi/fpdf_page/pageint.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698