aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ecore_imf
diff options
context:
space:
mode:
authorJihoon Kim <jihoon48.kim@samsung.com>2013-03-27 10:15:42 +0900
committerJihoon Kim <jihoon48.kim@samsung.com>2013-03-27 10:15:42 +0900
commit6265365ddc5dffa2fd372e229571f1ff4bce7668 (patch)
tree8b2c59a8863e5263a6242570db8c62113673953b /src/lib/ecore_imf
parentEcore_Wayland: Add ecore_wl_window_surface_create() API (diff)
downloadefl-6265365ddc5dffa2fd372e229571f1ff4bce7668.tar.gz
ecore_imf: Add ecore_imf_context_input_panel_layout_variation_set/get API
Diffstat (limited to 'src/lib/ecore_imf')
-rw-r--r--src/lib/ecore_imf/Ecore_IMF.h29
-rw-r--r--src/lib/ecore_imf/ecore_imf_context.c26
-rw-r--r--src/lib/ecore_imf/ecore_imf_private.h1
3 files changed, 56 insertions, 0 deletions
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index 37a859d8bc..012c29e0bf 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -299,6 +299,14 @@ typedef enum
ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN /**< Sign-in @since 1.8 */
} Ecore_IMF_Input_Panel_Return_Key_Type;
+enum
+{
+ ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_NORMAL,
+ ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED,
+ ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_DECIMAL,
+ ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY_VARIATION_SIGNED_AND_DECIMAL
+};
+
struct _Ecore_IMF_Event_Preedit_Start
{
Ecore_IMF_Context *ctx;
@@ -1256,6 +1264,27 @@ EAPI void ecore_imf_context_input_panel_layout_set(Ecor
EAPI Ecore_IMF_Input_Panel_Layout ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx);
/**
+ * Set the layout variation of the current active input panel.
+ *
+ * @param ctx An #Ecore_IMF_Context.
+ * @param variation the layout variation
+ * @note Default layout variation type is NORMAL.
+ * @ingroup Ecore_IMF_Context_Group
+ * @since 1.8.0
+ */
+EAPI void ecore_imf_context_input_panel_layout_variation_set(Ecore_IMF_Context *ctx, int variation);
+
+/**
+ * Get the layout variation of the current active input panel.
+ *
+ * @param ctx An #Ecore_IMF_Context.
+ * @return the layout variation
+ * @ingroup Ecore_IMF_Context_Group
+ * @since 1.8.0
+ */
+EAPI int ecore_imf_context_input_panel_layout_variation_get(Ecore_IMF_Context *ctx);
+
+/**
* Set the language of the input panel.
* This API can be used when you want to show the English keyboard.
*
diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
index 8f6efa623a..41a84b2cee 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -821,6 +821,32 @@ ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx)
}
EAPI void
+ecore_imf_context_input_panel_layout_variation_set(Ecore_IMF_Context *ctx, int variation)
+{
+ if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
+ {
+ ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
+ "ecore_imf_context_input_panel_layout_variation_set");
+ return;
+ }
+
+ ctx->input_panel_layout_variation = variation;
+}
+
+EAPI int
+ecore_imf_context_input_panel_layout_variation_get(Ecore_IMF_Context *ctx)
+{
+ if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
+ {
+ ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
+ "ecore_imf_context_input_panel_layout_variation_get");
+ return 0;
+ }
+
+ return ctx->input_panel_layout_variation;
+}
+
+EAPI void
ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang)
{
if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
diff --git a/src/lib/ecore_imf/ecore_imf_private.h b/src/lib/ecore_imf/ecore_imf_private.h
index b4ff0f2ee0..7452bd784f 100644
--- a/src/lib/ecore_imf/ecore_imf_private.h
+++ b/src/lib/ecore_imf/ecore_imf_private.h
@@ -53,6 +53,7 @@ struct _Ecore_IMF_Context
Ecore_IMF_Input_Panel_Layout input_panel_layout;
Ecore_IMF_Input_Panel_Lang input_panel_lang;
Ecore_IMF_Input_Panel_Return_Key_Type input_panel_return_key_type;
+ int input_panel_layout_variation;
Eina_Bool allow_prediction : 1;
Eina_Bool input_panel_enabled : 1;
Eina_Bool input_panel_return_key_disabled : 1;