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 "core/fpdfapi/fpdf_page/pageint.h" | 7 #include "core/fpdfapi/fpdf_page/pageint.h" |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 void CPDF_StreamContentParser::Handle_SetColorSpace_Stroke() { | 690 void CPDF_StreamContentParser::Handle_SetColorSpace_Stroke() { |
691 CFX_ByteString csname = GetString(0); | 691 CFX_ByteString csname = GetString(0); |
692 CPDF_ColorSpace* pCS = FindColorSpace(csname); | 692 CPDF_ColorSpace* pCS = FindColorSpace(csname); |
693 if (!pCS) { | 693 if (!pCS) { |
694 return; | 694 return; |
695 } | 695 } |
696 m_pCurStates->m_ColorState.GetModify()->m_StrokeColor.SetColorSpace(pCS); | 696 m_pCurStates->m_ColorState.GetModify()->m_StrokeColor.SetColorSpace(pCS); |
697 } | 697 } |
698 | 698 |
699 void CPDF_StreamContentParser::Handle_SetDash() { | 699 void CPDF_StreamContentParser::Handle_SetDash() { |
700 CPDF_Array* pArray = GetObject(1) ? GetObject(1)->GetArray() : nullptr; | 700 CPDF_Array* pArray = ToArray(GetObject(1)); |
701 if (!pArray) | 701 if (!pArray) |
702 return; | 702 return; |
703 | 703 |
704 m_pCurStates->SetLineDash(pArray, GetNumber(0), 1.0f); | 704 m_pCurStates->SetLineDash(pArray, GetNumber(0), 1.0f); |
705 } | 705 } |
706 | 706 |
707 void CPDF_StreamContentParser::Handle_SetCharWidth() { | 707 void CPDF_StreamContentParser::Handle_SetCharWidth() { |
708 m_Type3Data[0] = GetNumber(1); | 708 m_Type3Data[0] = GetNumber(1); |
709 m_Type3Data[1] = GetNumber(0); | 709 m_Type3Data[1] = GetNumber(0); |
710 m_bColored = TRUE; | 710 m_bColored = TRUE; |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1299 | 1299 |
1300 void CPDF_StreamContentParser::Handle_ShowText() { | 1300 void CPDF_StreamContentParser::Handle_ShowText() { |
1301 CFX_ByteString str = GetString(0); | 1301 CFX_ByteString str = GetString(0); |
1302 if (str.IsEmpty()) { | 1302 if (str.IsEmpty()) { |
1303 return; | 1303 return; |
1304 } | 1304 } |
1305 AddTextObject(&str, 0, NULL, 1); | 1305 AddTextObject(&str, 0, NULL, 1); |
1306 } | 1306 } |
1307 | 1307 |
1308 void CPDF_StreamContentParser::Handle_ShowText_Positioning() { | 1308 void CPDF_StreamContentParser::Handle_ShowText_Positioning() { |
1309 CPDF_Array* pArray = GetObject(0) ? GetObject(0)->GetArray() : NULL; | 1309 CPDF_Array* pArray = ToArray(GetObject(0)); |
1310 if (!pArray) { | 1310 if (!pArray) |
1311 return; | 1311 return; |
1312 } | 1312 |
1313 size_t n = pArray->GetCount(); | 1313 size_t n = pArray->GetCount(); |
1314 size_t nsegs = 0; | 1314 size_t nsegs = 0; |
1315 for (size_t i = 0; i < n; i++) { | 1315 for (size_t i = 0; i < n; i++) { |
1316 if (pArray->GetDirectObjectAt(i)->IsString()) | 1316 if (pArray->GetDirectObjectAt(i)->IsString()) |
1317 nsegs++; | 1317 nsegs++; |
1318 } | 1318 } |
1319 if (nsegs == 0) { | 1319 if (nsegs == 0) { |
1320 for (size_t i = 0; i < n; i++) { | 1320 for (size_t i = 0; i < n; i++) { |
1321 m_pCurStates->m_TextX -= | 1321 m_pCurStates->m_TextX -= |
1322 (pArray->GetNumberAt(i) * m_pCurStates->m_TextState.GetFontSize()) / | 1322 (pArray->GetNumberAt(i) * m_pCurStates->m_TextState.GetFontSize()) / |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1701 } else { | 1701 } else { |
1702 PDF_ReplaceAbbr(pElement); | 1702 PDF_ReplaceAbbr(pElement); |
1703 } | 1703 } |
1704 } | 1704 } |
1705 break; | 1705 break; |
1706 } | 1706 } |
1707 default: | 1707 default: |
1708 break; | 1708 break; |
1709 } | 1709 } |
1710 } | 1710 } |
OLD | NEW |