1 /*
2  * SPDX-FileCopyrightText: 2012~2020 CSSlayer <wengxt@gmail.com>
3  *
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  */
6 #ifndef _COMMON_FCITXFLAGS_H_
7 #define _COMMON_FCITXFLAGS_H_
8 
9 #include <cstdint>
10 
11 namespace fcitx {
12 
13 // This need to keep sync with fcitx5.
14 enum FcitxCapabilityFlag : uint64_t {
15     FcitxCapabilityFlag_Preedit = (1 << 1),
16     FcitxCapabilityFlag_Password = (1 << 3),
17     FcitxCapabilityFlag_FormattedPreedit = (1 << 4),
18     FcitxCapabilityFlag_ClientUnfocusCommit = (1 << 5),
19     FcitxCapabilityFlag_SurroundingText = (1 << 6),
20     FcitxCapabilityFlag_Email = (1 << 7),
21     FcitxCapabilityFlag_Digit = (1 << 8),
22     FcitxCapabilityFlag_Uppercase = (1 << 9),
23     FcitxCapabilityFlag_Lowercase = (1 << 10),
24     FcitxCapabilityFlag_NoAutoUpperCase = (1 << 11),
25     FcitxCapabilityFlag_Url = (1 << 12),
26     FcitxCapabilityFlag_Dialable = (1 << 13),
27     FcitxCapabilityFlag_Number = (1 << 14),
28     FcitxCapabilityFlag_NoOnScreenKeyboard = (1 << 15),
29     FcitxCapabilityFlag_SpellCheck = (1 << 16),
30     FcitxCapabilityFlag_NoSpellCheck = (1 << 17),
31     FcitxCapabilityFlag_WordCompletion = (1 << 18),
32     FcitxCapabilityFlag_UppercaseWords = (1 << 19),
33     FcitxCapabilityFlag_UppwercaseSentences = (1 << 20),
34     FcitxCapabilityFlag_Alpha = (1 << 21),
35     FcitxCapabilityFlag_Name = (1 << 22),
36     FcitxCapabilityFlag_GetIMInfoOnFocus = (1 << 23),
37     FcitxCapabilityFlag_RelativeRect = (1 << 24),
38 
39     FcitxCapabilityFlag_Multiline = (1ull << 35),
40     FcitxCapabilityFlag_Sensitive = (1ull << 36),
41     FcitxCapabilityFlag_KeyEventOrderFix = (1ull << 37),
42     FcitxCapabilityFlag_ReportKeyRepeat = (1ull << 38),
43     FcitxCapabilityFlag_ClientSideInputPanel = (1ull << 39),
44 };
45 
46 enum FcitxTextFormatFlag : int {
47     FcitxTextFormatFlag_Underline = (1 << 3), /**< underline is a flag */
48     FcitxTextFormatFlag_HighLight = (1 << 4), /**< highlight the preedit */
49     FcitxTextFormatFlag_DontCommit = (1 << 5),
50     FcitxTextFormatFlag_Bold = (1 << 6),
51     FcitxTextFormatFlag_Strike = (1 << 7),
52     FcitxTextFormatFlag_Italic = (1 << 8),
53     FcitxTextFormatFlag_None = 0,
54 };
55 
56 enum class FcitxCandidateLayoutHint { NotSet, Vertical, Horizontal };
57 
58 } // namespace fcitx
59 
60 #endif // _COMMON_FCITXFLAGS_H_
61