| 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 <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" | 10 #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 CPDF_SimpleParser syntax(m_csDA.AsStringC()); | 84 CPDF_SimpleParser syntax(m_csDA.AsStringC()); |
| 85 return syntax.FindTagParamFromStart("Tf", 2); | 85 return syntax.FindTagParamFromStart("Tf", 2); |
| 86 } | 86 } |
| 87 CFX_ByteString CPDF_DefaultAppearance::GetFontString() { | 87 CFX_ByteString CPDF_DefaultAppearance::GetFontString() { |
| 88 CFX_ByteString csFont; | 88 CFX_ByteString csFont; |
| 89 if (m_csDA.IsEmpty()) { | 89 if (m_csDA.IsEmpty()) { |
| 90 return csFont; | 90 return csFont; |
| 91 } | 91 } |
| 92 CPDF_SimpleParser syntax(m_csDA.AsStringC()); | 92 CPDF_SimpleParser syntax(m_csDA.AsStringC()); |
| 93 if (syntax.FindTagParamFromStart("Tf", 2)) { | 93 if (syntax.FindTagParamFromStart("Tf", 2)) { |
| 94 csFont += (CFX_ByteString)syntax.GetWord(); | 94 csFont += syntax.GetWord(); |
| 95 csFont += " "; | 95 csFont += " "; |
| 96 csFont += (CFX_ByteString)syntax.GetWord(); | 96 csFont += syntax.GetWord(); |
| 97 csFont += " "; | 97 csFont += " "; |
| 98 csFont += (CFX_ByteString)syntax.GetWord(); | 98 csFont += syntax.GetWord(); |
| 99 } | 99 } |
| 100 return csFont; | 100 return csFont; |
| 101 } | 101 } |
| 102 void CPDF_DefaultAppearance::GetFont(CFX_ByteString& csFontNameTag, | 102 void CPDF_DefaultAppearance::GetFont(CFX_ByteString& csFontNameTag, |
| 103 FX_FLOAT& fFontSize) { | 103 FX_FLOAT& fFontSize) { |
| 104 csFontNameTag = ""; | 104 csFontNameTag = ""; |
| 105 fFontSize = 0; | 105 fFontSize = 0; |
| 106 if (m_csDA.IsEmpty()) { | 106 if (m_csDA.IsEmpty()) { |
| 107 return; | 107 return; |
| 108 } | 108 } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 128 return syntax.FindTagParamFromStart(bStrokingOperation ? "K" : "k", 4); | 128 return syntax.FindTagParamFromStart(bStrokingOperation ? "K" : "k", 4); |
| 129 } | 129 } |
| 130 CFX_ByteString CPDF_DefaultAppearance::GetColorString( | 130 CFX_ByteString CPDF_DefaultAppearance::GetColorString( |
| 131 FX_BOOL bStrokingOperation) { | 131 FX_BOOL bStrokingOperation) { |
| 132 CFX_ByteString csColor; | 132 CFX_ByteString csColor; |
| 133 if (m_csDA.IsEmpty()) { | 133 if (m_csDA.IsEmpty()) { |
| 134 return csColor; | 134 return csColor; |
| 135 } | 135 } |
| 136 CPDF_SimpleParser syntax(m_csDA.AsStringC()); | 136 CPDF_SimpleParser syntax(m_csDA.AsStringC()); |
| 137 if (syntax.FindTagParamFromStart(bStrokingOperation ? "G" : "g", 1)) { | 137 if (syntax.FindTagParamFromStart(bStrokingOperation ? "G" : "g", 1)) { |
| 138 csColor += (CFX_ByteString)syntax.GetWord(); | 138 csColor += syntax.GetWord(); |
| 139 csColor += " "; | 139 csColor += " "; |
| 140 csColor += (CFX_ByteString)syntax.GetWord(); | 140 csColor += syntax.GetWord(); |
| 141 return csColor; | 141 return csColor; |
| 142 } | 142 } |
| 143 if (syntax.FindTagParamFromStart(bStrokingOperation ? "RG" : "rg", 3)) { | 143 if (syntax.FindTagParamFromStart(bStrokingOperation ? "RG" : "rg", 3)) { |
| 144 csColor += (CFX_ByteString)syntax.GetWord(); | 144 csColor += syntax.GetWord(); |
| 145 csColor += " "; | 145 csColor += " "; |
| 146 csColor += (CFX_ByteString)syntax.GetWord(); | 146 csColor += syntax.GetWord(); |
| 147 csColor += " "; | 147 csColor += " "; |
| 148 csColor += (CFX_ByteString)syntax.GetWord(); | 148 csColor += syntax.GetWord(); |
| 149 csColor += " "; | 149 csColor += " "; |
| 150 csColor += (CFX_ByteString)syntax.GetWord(); | 150 csColor += syntax.GetWord(); |
| 151 return csColor; | 151 return csColor; |
| 152 } | 152 } |
| 153 if (syntax.FindTagParamFromStart(bStrokingOperation ? "K" : "k", 4)) { | 153 if (syntax.FindTagParamFromStart(bStrokingOperation ? "K" : "k", 4)) { |
| 154 csColor += (CFX_ByteString)syntax.GetWord(); | 154 csColor += syntax.GetWord(); |
| 155 csColor += " "; | 155 csColor += " "; |
| 156 csColor += (CFX_ByteString)syntax.GetWord(); | 156 csColor += syntax.GetWord(); |
| 157 csColor += " "; | 157 csColor += " "; |
| 158 csColor += (CFX_ByteString)syntax.GetWord(); | 158 csColor += syntax.GetWord(); |
| 159 csColor += " "; | 159 csColor += " "; |
| 160 csColor += (CFX_ByteString)syntax.GetWord(); | 160 csColor += syntax.GetWord(); |
| 161 csColor += " "; | 161 csColor += " "; |
| 162 csColor += (CFX_ByteString)syntax.GetWord(); | 162 csColor += syntax.GetWord(); |
| 163 } | 163 } |
| 164 return csColor; | 164 return csColor; |
| 165 } | 165 } |
| 166 void CPDF_DefaultAppearance::GetColor(int& iColorType, | 166 void CPDF_DefaultAppearance::GetColor(int& iColorType, |
| 167 FX_FLOAT fc[4], | 167 FX_FLOAT fc[4], |
| 168 FX_BOOL bStrokingOperation) { | 168 FX_BOOL bStrokingOperation) { |
| 169 iColorType = COLORTYPE_TRANSPARENT; | 169 iColorType = COLORTYPE_TRANSPARENT; |
| 170 for (int c = 0; c < 4; c++) { | 170 for (int c = 0; c < 4; c++) { |
| 171 fc[c] = 0; | 171 fc[c] = 0; |
| 172 } | 172 } |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 return syntax.FindTagParamFromStart("Tm", 6); | 238 return syntax.FindTagParamFromStart("Tm", 6); |
| 239 } | 239 } |
| 240 CFX_ByteString CPDF_DefaultAppearance::GetTextMatrixString() { | 240 CFX_ByteString CPDF_DefaultAppearance::GetTextMatrixString() { |
| 241 CFX_ByteString csTM; | 241 CFX_ByteString csTM; |
| 242 if (m_csDA.IsEmpty()) { | 242 if (m_csDA.IsEmpty()) { |
| 243 return csTM; | 243 return csTM; |
| 244 } | 244 } |
| 245 CPDF_SimpleParser syntax(m_csDA.AsStringC()); | 245 CPDF_SimpleParser syntax(m_csDA.AsStringC()); |
| 246 if (syntax.FindTagParamFromStart("Tm", 6)) { | 246 if (syntax.FindTagParamFromStart("Tm", 6)) { |
| 247 for (int i = 0; i < 6; i++) { | 247 for (int i = 0; i < 6; i++) { |
| 248 csTM += (CFX_ByteString)syntax.GetWord(); | 248 csTM += syntax.GetWord(); |
| 249 csTM += " "; | 249 csTM += " "; |
| 250 } | 250 } |
| 251 csTM += (CFX_ByteString)syntax.GetWord(); | 251 csTM += syntax.GetWord(); |
| 252 } | 252 } |
| 253 return csTM; | 253 return csTM; |
| 254 } | 254 } |
| 255 CFX_Matrix CPDF_DefaultAppearance::GetTextMatrix() { | 255 CFX_Matrix CPDF_DefaultAppearance::GetTextMatrix() { |
| 256 CFX_Matrix tm; | 256 CFX_Matrix tm; |
| 257 if (m_csDA.IsEmpty()) { | 257 if (m_csDA.IsEmpty()) { |
| 258 return tm; | 258 return tm; |
| 259 } | 259 } |
| 260 CPDF_SimpleParser syntax(m_csDA.AsStringC()); | 260 CPDF_SimpleParser syntax(m_csDA.AsStringC()); |
| 261 if (syntax.FindTagParamFromStart("Tm", 6)) { | 261 if (syntax.FindTagParamFromStart("Tm", 6)) { |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 745 CPDF_Object* pAttr = pFieldDict->GetDirectObjectBy(name); | 745 CPDF_Object* pAttr = pFieldDict->GetDirectObjectBy(name); |
| 746 if (pAttr) { | 746 if (pAttr) { |
| 747 return pAttr; | 747 return pAttr; |
| 748 } | 748 } |
| 749 CPDF_Dictionary* pParent = pFieldDict->GetDictBy("Parent"); | 749 CPDF_Dictionary* pParent = pFieldDict->GetDictBy("Parent"); |
| 750 if (!pParent) { | 750 if (!pParent) { |
| 751 return NULL; | 751 return NULL; |
| 752 } | 752 } |
| 753 return FPDF_GetFieldAttr(pParent, name, nLevel + 1); | 753 return FPDF_GetFieldAttr(pParent, name, nLevel + 1); |
| 754 } | 754 } |
| OLD | NEW |