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