Fcitx
userinterface.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2016-2016 CSSlayer <wengxt@gmail.com>
3  *
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  *
6  */
7 #ifndef _FCITX_USERINTERFACE_H_
8 #define _FCITX_USERINTERFACE_H_
9 
10 #include <fcitx/addoninstance.h>
11 
12 /// \addtogroup FcitxCore
13 /// \{
14 /// \file
15 /// \brief Base class for User Interface addon.
16 
17 namespace fcitx {
18 
19 class InputContext;
20 
22  /**
23  * Input Panel component
24  * @see InputPanel
25  */
26  InputPanel,
27  /**
28  * Status Area component
29  * @see StatusArea
30  */
31  StatusArea,
32 };
33 
34 /**
35  * @brief ...
36  *
37  */
38 class FCITXCORE_EXPORT UserInterface : public AddonInstance {
39 public:
40  virtual ~UserInterface();
41 
42  virtual void update(UserInterfaceComponent component,
43  InputContext *inputContext) = 0;
44  virtual bool available() = 0;
45  virtual void suspend() = 0;
46  virtual void resume() = 0;
47 };
48 
49 class FCITXCORE_EXPORT VirtualKeyboardUserInterface : public UserInterface {
50 public:
51  ~VirtualKeyboardUserInterface() override;
52 
53  virtual bool isVirtualKeyboardVisible() const = 0;
54 
55  virtual void showVirtualKeyboard() = 0;
56 
57  virtual void hideVirtualKeyboard() = 0;
58 };
59 }; // namespace fcitx
60 
61 #endif // _FCITX_USERINTERFACE_H_
Definition: action.cpp:12
Base class for any addon in fcitx.
Definition: addoninstance.h:71
UserInterfaceComponent
Definition: userinterface.h:21
Addon For fcitx.
An input context represents a client of Fcitx.
Definition: inputcontext.h:45