+ AUTOMATIC, ///< IME Language automatically set depending on the system display
+ ALPHABET ///< Latin alphabet(default). It can be changed according to OSD(On Screen Display) language.
+ };
+
+ /**
+ * @brief Enumeration for defining the types of Ecore_IMF Input Panel align.
+ */
+ enum class InputPanelAlign
+ {
+ TOP_LEFT, ///< The top-left corner
+ TOP_CENTER, ///< The top-center position
+ TOP_RIGHT, ///< The top-right corner
+ MIDDLE_LEFT, ///< The middle-left position
+ MIDDLE_CENTER, ///< The middle-center position
+ MIDDLE_RIGHT, ///< The middle-right position
+ BOTTOM_LEFT, ///< The bottom-left corner
+ BOTTOM_CENTER, ///< The bottom-center position
+ BOTTOM_RIGHT ///< The bottom-right corner
+ };
+
+ /**
+ * @brief Enumeration for the preedit style types.
+ */
+ enum class PreeditStyle
+ {
+ NONE, ///< None style
+ UNDERLINE, ///< Underline substring style
+ REVERSE, ///< Reverse substring style
+ HIGHLIGHT, ///< Highlight substring style
+ CUSTOM_PLATFORM_STYLE_1, ///< Custom style for platform
+ CUSTOM_PLATFORM_STYLE_2, ///< Custom style for platform
+ CUSTOM_PLATFORM_STYLE_3, ///< Custom style for platform
+ CUSTOM_PLATFORM_STYLE_4 ///< Custom style for platform
+ };
+
+ /**
+ * @brief This structure is for the preedit style types and indices.
+ */
+ struct PreeditAttributeData
+ {
+ PreeditAttributeData()
+ : preeditType(PreeditStyle::NONE),
+ startIndex(0),
+ endIndex(0)
+ {
+ }
+
+ PreeditStyle preeditType; /// The preedit style type
+ unsigned int startIndex; /// The start index of preedit
+ unsigned int endIndex; /// The end index of preedit