--- /dev/null
+#define E_COMP_WL
+#include "e.h"
+#include "e_mod_main.h"
+#include "e_mod_input_panel_type.h"
+#include <Ecore.h>
+#include <input-method-server-protocol.h>
+
+typedef struct _E_Input_Panel_Type E_Input_Panel_Type;
+
+struct _E_Input_Panel_Type
+{
+ struct wl_global *global;
+ struct wl_resource *resource;
+};
+
+static void
+_e_input_panel_type_cb_floating_panel_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t state)
+{
+ e_input_panel_floating_panel_set(state ? EINA_TRUE : EINA_FALSE);
+}
+
+static void
+_e_input_panel_type_cb_floating_drag_enabled_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t enabled)
+{
+ e_input_panel_floating_drag_enabled(enabled ? EINA_TRUE : EINA_FALSE);
+}
+
+static const struct wl_input_panel_type_interface _e_input_panel_type_interface =
+{
+ _e_input_panel_type_cb_floating_panel_set,
+ _e_input_panel_type_cb_floating_drag_enabled_set,
+};
+
+static void
+_e_input_panel_type_cb_unbind(struct wl_resource *resource)
+{
+ LOGD("");
+}
+
+static void
+_e_input_panel_type_cb_bind(struct wl_client *client, void *data, uint32_t version EINA_UNUSED, uint32_t id)
+{
+ LOGD("");
+ E_Input_Panel_Type *input_panel_type = data;
+
+ input_panel_type->resource =
+ wl_resource_create(client,
+ &wl_input_panel_type_interface, 1, id);
+
+ if (input_panel_type->resource)
+ wl_resource_set_implementation(input_panel_type->resource,
+ &_e_input_panel_type_interface,
+ input_panel_type, _e_input_panel_type_cb_unbind);
+}
+
+Eina_Bool
+e_input_panel_type_create(void)
+{
+ E_Input_Panel_Type *input_panel_type;
+
+ if (!(input_panel_type = E_NEW(E_Input_Panel_Type, 1)))
+ {
+ ERR("Could not allocate space for Input_Panel_Type");
+ return EINA_FALSE;
+ }
+
+ input_panel_type->global =
+ wl_global_create(e_comp_wl->wl.disp,
+ &wl_input_panel_type_interface, 1,
+ input_panel_type, _e_input_panel_type_cb_bind);
+
+ if (!input_panel_type->global)
+ {
+ free(input_panel_type);
+ return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
\ No newline at end of file
#include "e.h"
#include "e_mod_main.h"
#include "e_mod_input_method_manager.h"
+#include "e_mod_input_panel_type.h"
#include <text-server-protocol.h>
#include <input-method-server-protocol.h>
#include <vconf.h>
e_input_panel_wait_update_set(EINA_TRUE);
}
-static void
-_e_text_input_moethod_context_cb_set_floating_panel(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t state)
-{
- e_input_panel_floating_panel_set(state ? EINA_TRUE : EINA_FALSE);
-}
-
-static void
-_e_text_input_moethod_context_cb_set_floating_drag_enabled(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t enabled)
-{
- e_input_panel_floating_drag_enabled(enabled ? EINA_TRUE : EINA_FALSE);
-}
-
static const struct wl_input_method_context_interface _e_text_input_method_context_implementation = {
_e_text_input_method_context_cb_destroy,
_e_text_input_method_context_cb_string_commit,
_e_text_input_method_context_cb_commit_content,
_e_text_input_method_context_cb_update_candidate_state,
_e_text_input_method_context_cb_reshow_input_panel,
- _e_text_input_moethod_context_cb_set_floating_panel,
- _e_text_input_moethod_context_cb_set_floating_drag_enabled,
};
static void
if (!e_input_method_manager_create())
goto err;
+ if (!e_input_panel_type_create())
+ goto err;
+
E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_RESIZE, _e_text_input_method_context_cb_client_resize, NULL);
if (vconf_notify_key_changed(VCONFKEY_ISF_HW_KEYBOARD_INPUT_DETECTED, _keyboard_mode_changed_cb, NULL) != 0)