| // Copyright 2016 PDFium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
 |  | 
 | #ifndef CORE_FPDFDOC_CPDF_AACTION_H_ | 
 | #define CORE_FPDFDOC_CPDF_AACTION_H_ | 
 |  | 
 | #include "core/fpdfdoc/cpdf_action.h" | 
 | #include "core/fxcrt/retain_ptr.h" | 
 |  | 
 | class CPDF_Dictionary; | 
 |  | 
 | class CPDF_AAction { | 
 |  public: | 
 |   enum AActionType { | 
 |     kCursorEnter = 0, | 
 |     kCursorExit, | 
 |     kButtonDown, | 
 |     kButtonUp, | 
 |     kGetFocus, | 
 |     kLoseFocus, | 
 |     kPageOpen, | 
 |     kPageClose, | 
 |     kPageVisible, | 
 |     kPageInvisible, | 
 |     kOpenPage, | 
 |     kClosePage, | 
 |     kKeyStroke, | 
 |     kFormat, | 
 |     kValidate, | 
 |     kCalculate, | 
 |     kCloseDocument, | 
 |     kSaveDocument, | 
 |     kDocumentSaved, | 
 |     kPrintDocument, | 
 |     kDocumentPrinted, | 
 |     kDocumentOpen, | 
 |     kNumberOfActions  // Must be last. | 
 |   }; | 
 |  | 
 |   explicit CPDF_AAction(const CPDF_Dictionary* pDict); | 
 |   CPDF_AAction(const CPDF_AAction& that); | 
 |   ~CPDF_AAction(); | 
 |  | 
 |   bool ActionExist(AActionType eType) const; | 
 |   CPDF_Action GetAction(AActionType eType) const; | 
 |   const CPDF_Dictionary* GetDict() const { return m_pDict.Get(); } | 
 |  | 
 |   static bool IsUserInput(AActionType type); | 
 |  | 
 |  private: | 
 |   RetainPtr<const CPDF_Dictionary> const m_pDict; | 
 | }; | 
 |  | 
 | #endif  // CORE_FPDFDOC_CPDF_AACTION_H_ |