summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInHong Han <inhong1.han@samsung.com>2017-09-14 10:39:03 +0900
committerJihoon Kim <jihoon48.kim@samsung.com>2017-09-14 10:49:03 +0900
commit9f068c55dbf1ce1017492d4d84133d0acbd903c8 (patch)
tree24960404e37482206d075f0f5c58a1609f6d9b7e
parentcacd374e4121f5e91db51cf7b228f243d04d3193 (diff)
downloadefl-9f068c55dbf1ce1017492d4d84133d0acbd903c8.tar.gz
ecore_imf: Add ecore_imf_context_input_panel_position_set API
Summary: Sets the x,y coordinates of the input panel Test Plan: Tested in Tizen device Reviewers: woohyun, id213sin, jihoon, cedric Subscribers: jpeg, jihoon, cedric Differential Revision: https://phab.enlightenment.org/D5193
-rw-r--r--src/lib/ecore_imf/Ecore_IMF.h14
-rw-r--r--src/lib/ecore_imf/ecore_imf_context.c16
2 files changed, 30 insertions, 0 deletions
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index 53fc1188c7..af6cd4ecf6 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -729,6 +729,7 @@ struct _Ecore_IMF_Context_Class
Ecore_IMF_Input_Panel_Keyboard_Mode (*keyboard_mode_get) (Ecore_IMF_Context *ctx); /**< Return the current keyboard mode of the input panel */
void (*prediction_hint_set) (Ecore_IMF_Context *ctx, const char *prediction_hint); /**< Set the prediction hint to the input panel */
void (*mime_type_accept_set) (Ecore_IMF_Context *ctx, const char *mime_type); /**< Set the MIME type to the input panel */
+ void (*input_panel_position_set) (Ecore_IMF_Context *ctx, int x, int y); /**< Set the position of the input panel */
};
/**
@@ -1934,6 +1935,19 @@ EAPI void ecore_imf_context_prediction_hint_set(Ecore_I
*/
EAPI void ecore_imf_context_mime_type_accept_set(Ecore_IMF_Context *ctx, const char *mime_type);
+/**
+ * @ingroup Ecore_IMF_Context_Group
+ * @brief Sets the x,y coordinates of the input panel.
+ * This API can be used in floating mode.
+ *
+ * @since 1.21.0
+ *
+ * @param[in] ctx An #Ecore_IMF_Context
+ * @param x top-left x coordinate of the input panel
+ * @param y top-left y coordinate of the input panel
+ */
+EAPI void ecore_imf_context_input_panel_position_set(Ecore_IMF_Context *ctx, int x, int y);
+
/* The following entry points must be exported by each input method module
*/
diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
index caa2d59f1b..1b34e0c01f 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -1445,3 +1445,19 @@ ecore_imf_context_mime_type_accept_set(Ecore_IMF_Context *ctx, const char *mime_
if (ctx->klass->mime_type_accept_set)
ctx->klass->mime_type_accept_set(ctx, mime_type);
}
+
+EAPI void
+ecore_imf_context_input_panel_position_set(Ecore_IMF_Context *ctx, int x, int y)
+{
+ if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
+ {
+ ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
+ "ecore_imf_context_input_panel_position_set");
+ return;
+ }
+
+ if (x < 0 || y < 0) return;
+
+ if (ctx->klass->input_panel_position_set)
+ ctx->klass->input_panel_position_set(ctx, x, y);
+} \ No newline at end of file