// Copyright 2014 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 XFA_FWL_CFWL_APP_H_ #define XFA_FWL_CFWL_APP_H_ #include <memory> #include "core/fxcrt/fx_string.h" class CFWL_NoteDriver; class CFWL_WidgetMgr; class CXFA_FFApp; class CXFA_FWLAdapterWidgetMgr; class CFWL_Widget; enum FWL_KeyFlag { FWL_KEYFLAG_Ctrl = 1 << 0, FWL_KEYFLAG_Alt = 1 << 1, FWL_KEYFLAG_Shift = 1 << 2, FWL_KEYFLAG_Command = 1 << 3, FWL_KEYFLAG_LButton = 1 << 4, FWL_KEYFLAG_RButton = 1 << 5, FWL_KEYFLAG_MButton = 1 << 6 }; class CFWL_App { public: explicit CFWL_App(CXFA_FFApp* pAdapter); ~CFWL_App(); CXFA_FFApp* GetAdapterNative() const { return m_pAdapterNative; } CFWL_WidgetMgr* GetWidgetMgr() const { return m_pWidgetMgr.get(); } CFWL_NoteDriver* GetNoteDriver() const { return m_pNoteDriver.get(); } private: CXFA_FFApp* const m_pAdapterNative; std::unique_ptr<CFWL_WidgetMgr> m_pWidgetMgr; std::unique_ptr<CFWL_NoteDriver> m_pNoteDriver; }; #endif // XFA_FWL_CFWL_APP_H_