OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 |
| 7 #ifndef CORE_FPDFDOC_INCLUDE_CPDF_ACTION_H_ |
| 8 #define CORE_FPDFDOC_INCLUDE_CPDF_ACTION_H_ |
| 9 |
| 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" |
| 11 #include "core/fpdfdoc/include/cpdf_dest.h" |
| 12 #include "core/fxcrt/include/fx_string.h" |
| 13 |
| 14 class CPDF_Document; |
| 15 |
| 16 class CPDF_Action { |
| 17 public: |
| 18 enum ActionType { |
| 19 Unknown = 0, |
| 20 GoTo, |
| 21 GoToR, |
| 22 GoToE, |
| 23 Launch, |
| 24 Thread, |
| 25 URI, |
| 26 Sound, |
| 27 Movie, |
| 28 Hide, |
| 29 Named, |
| 30 SubmitForm, |
| 31 ResetForm, |
| 32 ImportData, |
| 33 JavaScript, |
| 34 SetOCGState, |
| 35 Rendition, |
| 36 Trans, |
| 37 GoTo3DView |
| 38 }; |
| 39 |
| 40 CPDF_Action() : m_pDict(nullptr) {} |
| 41 explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) {} |
| 42 |
| 43 CPDF_Dictionary* GetDict() const { return m_pDict; } |
| 44 ActionType GetType() const; |
| 45 CPDF_Dest GetDest(CPDF_Document* pDoc) const; |
| 46 CFX_WideString GetFilePath() const; |
| 47 CFX_ByteString GetURI(CPDF_Document* pDoc) const; |
| 48 bool GetHideStatus() const { return m_pDict->GetBooleanBy("H", true); } |
| 49 CFX_ByteString GetNamedAction() const { return m_pDict->GetStringBy("N"); } |
| 50 uint32_t GetFlags() const { return m_pDict->GetIntegerBy("Flags"); } |
| 51 CFX_WideString GetJavaScript() const; |
| 52 size_t GetSubActionsCount() const; |
| 53 CPDF_Action GetSubAction(size_t iIndex) const; |
| 54 |
| 55 private: |
| 56 CPDF_Dictionary* const m_pDict; |
| 57 }; |
| 58 |
| 59 #endif // CORE_FPDFDOC_INCLUDE_CPDF_ACTION_H_ |
OLD | NEW |