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

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

Issue 1134003007: Merge to XFA: Remove FX_NEW_VECTOR() macros. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 7 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/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp ('k') | no next file » | 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 "../../../include/fpdfapi/fpdf_page.h" 7 #include "../../../include/fpdfapi/fpdf_page.h"
8 #include "../../../include/fpdfapi/fpdf_module.h" 8 #include "../../../include/fpdfapi/fpdf_module.h"
9 #include "../../../include/fpdfapi/fpdf_serial.h" 9 #include "../../../include/fpdfapi/fpdf_serial.h"
10 #include "pageint.h" 10 #include "pageint.h"
(...skipping 1330 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 if (pObj->GetType() == PDFOBJ_STRING) { 1341 if (pObj->GetType() == PDFOBJ_STRING) {
1342 nsegs ++; 1342 nsegs ++;
1343 } 1343 }
1344 } 1344 }
1345 if (nsegs == 0) { 1345 if (nsegs == 0) {
1346 for (i = 0; i < n; i ++) { 1346 for (i = 0; i < n; i ++) {
1347 m_pCurStates->m_TextX -= FXSYS_Mul(pArray->GetNumber(i), m_pCurState s->m_TextState.GetFontSize()) / 1000; 1347 m_pCurStates->m_TextX -= FXSYS_Mul(pArray->GetNumber(i), m_pCurState s->m_TextState.GetFontSize()) / 1000;
1348 }; 1348 };
1349 return; 1349 return;
1350 } 1350 }
1351 CFX_ByteString* pStrs; 1351 CFX_ByteString* pStrs = new CFX_ByteString[nsegs];
1352 FX_NEW_VECTOR(pStrs, CFX_ByteString, nsegs);
1353 FX_FLOAT* pKerning = FX_Alloc(FX_FLOAT, nsegs); 1352 FX_FLOAT* pKerning = FX_Alloc(FX_FLOAT, nsegs);
1354 int iSegment = 0; 1353 int iSegment = 0;
1355 FX_FLOAT fInitKerning = 0; 1354 FX_FLOAT fInitKerning = 0;
1356 for (i = 0; i < n; i ++) { 1355 for (i = 0; i < n; i ++) {
1357 CPDF_Object* pObj = pArray->GetElementValue(i); 1356 CPDF_Object* pObj = pArray->GetElementValue(i);
1358 if (pObj->GetType() == PDFOBJ_STRING) { 1357 if (pObj->GetType() == PDFOBJ_STRING) {
1359 CFX_ByteString str = pObj->GetString(); 1358 CFX_ByteString str = pObj->GetString();
1360 if (str.IsEmpty()) { 1359 if (str.IsEmpty()) {
1361 continue; 1360 continue;
1362 } 1361 }
1363 pStrs[iSegment] = str; 1362 pStrs[iSegment] = str;
1364 pKerning[iSegment ++] = 0; 1363 pKerning[iSegment ++] = 0;
1365 } else { 1364 } else {
1366 FX_FLOAT num = pObj ? pObj->GetNumber() : 0; 1365 FX_FLOAT num = pObj ? pObj->GetNumber() : 0;
1367 if (iSegment == 0) { 1366 if (iSegment == 0) {
1368 fInitKerning += num; 1367 fInitKerning += num;
1369 } else { 1368 } else {
1370 pKerning[iSegment - 1] += num; 1369 pKerning[iSegment - 1] += num;
1371 } 1370 }
1372 } 1371 }
1373 } 1372 }
1374 AddTextObject(pStrs, fInitKerning, pKerning, iSegment); 1373 AddTextObject(pStrs, fInitKerning, pKerning, iSegment);
1375 FX_DELETE_VECTOR(pStrs, CFX_ByteString, nsegs); 1374 delete[] pStrs;
1376 FX_Free(pKerning); 1375 FX_Free(pKerning);
1377 } 1376 }
1378 void CPDF_StreamContentParser::Handle_SetTextLeading() 1377 void CPDF_StreamContentParser::Handle_SetTextLeading()
1379 { 1378 {
1380 m_pCurStates->m_TextLeading = GetNumber(0); 1379 m_pCurStates->m_TextLeading = GetNumber(0);
1381 } 1380 }
1382 void CPDF_StreamContentParser::Handle_SetTextMatrix() 1381 void CPDF_StreamContentParser::Handle_SetTextMatrix()
1383 { 1382 {
1384 m_pCurStates->m_TextMatrix.Set(GetNumber16(5), GetNumber16(4), GetNumber16(3 ), 1383 m_pCurStates->m_TextMatrix.Set(GetNumber16(5), GetNumber16(4), GetNumber16(3 ),
1385 GetNumber16(2), GetNumber(1), GetNumber(0)); 1384 GetNumber16(2), GetNumber(1), GetNumber(0));
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 buf.AppendChar((char)code); 1578 buf.AppendChar((char)code);
1580 } 1579 }
1581 bFirst = !bFirst; 1580 bFirst = !bFirst;
1582 } 1581 }
1583 } 1582 }
1584 if (!bFirst) { 1583 if (!bFirst) {
1585 buf.AppendChar((char)code); 1584 buf.AppendChar((char)code);
1586 } 1585 }
1587 return buf.GetByteString(); 1586 return buf.GetByteString();
1588 } 1587 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698