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/include/fpdfdoc/fpdf_doc.h" | 7 #include "core/include/fpdfdoc/fpdf_doc.h" |
8 | 8 |
9 CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const { | 9 CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const { |
10 if (!m_pDict) { | 10 if (!m_pDict) { |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 "WC", "WS", "DS", "WP", "DP", ""}; | 250 "WC", "WS", "DS", "WP", "DP", ""}; |
251 FX_BOOL CPDF_AAction::ActionExist(AActionType eType) const { | 251 FX_BOOL CPDF_AAction::ActionExist(AActionType eType) const { |
252 return m_pDict && m_pDict->KeyExist(g_sAATypes[(int)eType]); | 252 return m_pDict && m_pDict->KeyExist(g_sAATypes[(int)eType]); |
253 } | 253 } |
254 CPDF_Action CPDF_AAction::GetAction(AActionType eType) const { | 254 CPDF_Action CPDF_AAction::GetAction(AActionType eType) const { |
255 if (!m_pDict) { | 255 if (!m_pDict) { |
256 return CPDF_Action(); | 256 return CPDF_Action(); |
257 } | 257 } |
258 return CPDF_Action(m_pDict->GetDict(g_sAATypes[(int)eType])); | 258 return CPDF_Action(m_pDict->GetDict(g_sAATypes[(int)eType])); |
259 } | 259 } |
260 FX_POSITION CPDF_AAction::GetStartPos() const { | |
261 if (!m_pDict) { | |
262 return NULL; | |
263 } | |
264 return m_pDict->GetStartPos(); | |
265 } | |
266 CPDF_Action CPDF_AAction::GetNextAction(FX_POSITION& pos, | |
267 AActionType& eType) const { | |
268 if (!m_pDict) { | |
269 return CPDF_Action(); | |
270 } | |
271 CFX_ByteString csKey; | |
272 CPDF_Object* pObj = m_pDict->GetNextElement(pos, csKey); | |
273 if (!pObj) { | |
274 return CPDF_Action(); | |
275 } | |
276 CPDF_Object* pDirect = pObj->GetDirect(); | |
277 CPDF_Dictionary* pDict = ToDictionary(pDirect); | |
278 if (!pDict) | |
279 return CPDF_Action(); | |
280 | |
281 int i = 0; | |
282 while (g_sAATypes[i][0] != '\0') { | |
283 if (csKey == g_sAATypes[i]) { | |
284 break; | |
285 } | |
286 i++; | |
287 } | |
288 eType = (AActionType)i; | |
289 return CPDF_Action(pDict); | |
290 } | |
291 | 260 |
292 CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc) : m_pDocument(pDoc) {} | 261 CPDF_DocJSActions::CPDF_DocJSActions(CPDF_Document* pDoc) : m_pDocument(pDoc) {} |
293 | 262 |
294 int CPDF_DocJSActions::CountJSActions() const { | 263 int CPDF_DocJSActions::CountJSActions() const { |
295 ASSERT(m_pDocument); | 264 ASSERT(m_pDocument); |
296 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); | 265 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); |
297 return name_tree.GetCount(); | 266 return name_tree.GetCount(); |
298 } | 267 } |
299 CPDF_Action CPDF_DocJSActions::GetJSAction(int index, | 268 CPDF_Action CPDF_DocJSActions::GetJSAction(int index, |
300 CFX_ByteString& csName) const { | 269 CFX_ByteString& csName) const { |
(...skipping 12 matching lines...) Expand all Loading... |
313 if (!ToDictionary(pAction)) { | 282 if (!ToDictionary(pAction)) { |
314 return CPDF_Action(); | 283 return CPDF_Action(); |
315 } | 284 } |
316 return CPDF_Action(pAction->GetDict()); | 285 return CPDF_Action(pAction->GetDict()); |
317 } | 286 } |
318 int CPDF_DocJSActions::FindJSAction(const CFX_ByteString& csName) const { | 287 int CPDF_DocJSActions::FindJSAction(const CFX_ByteString& csName) const { |
319 ASSERT(m_pDocument); | 288 ASSERT(m_pDocument); |
320 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); | 289 CPDF_NameTree name_tree(m_pDocument, "JavaScript"); |
321 return name_tree.GetIndex(csName); | 290 return name_tree.GetIndex(csName); |
322 } | 291 } |
OLD | NEW |