Name: libscl-core
Summary: A library for developing software keyboards
-Version: 0.9.3
+Version: 0.9.6
Release: 1
Group: Graphics & UI Framework/Input
License: Apache-2.0
if (m_impl) {
m_impl->send_key_event_processing_result(key, serial, is_success);
}
+}
+
+void CSCLCore::set_dotnet_flag(sclboolean flag)
+{
+ if (m_impl) {
+ m_impl->set_dotnet_flag(flag);
+ }
}
\ No newline at end of file
*/
void send_key_event_processing_result(scim::KeyEvent &key, sclu32 serial, sclboolean is_success);
+ /**
+ * @brief Request to distinguish whether IME is a C# application or not.
+ */
+ void set_dotnet_flag(sclboolean flag);
+
private:
CSCLCoreImpl *m_impl;
m_uuid = NULL;
m_window_created = FALSE;
- m_window_creation_defer_flag = FALSE;
+ m_window_creation_defer_flag = TRUE;
}
CSCLCoreImpl::~CSCLCoreImpl()
void CSCLCoreImpl::send_key_event_processing_result(scim::KeyEvent &key, sclu32 serial, sclboolean is_success)
{
m_connection.send_key_event_processing_result(key, serial, is_success);
+}
+
+void CSCLCoreImpl::set_dotnet_flag(sclboolean flag)
+{
+ m_core_ui.set_dotnet_flag(flag);
}
\ No newline at end of file
void set_candidate_style(scim::ISF_CANDIDATE_PORTRAIT_LINE_T portrait_line, scim::ISF_CANDIDATE_MODE_T mode);
void set_engine_loader_flag(sclboolean flag);
void send_key_event_processing_result(scim::KeyEvent &key, sclu32 serial, sclboolean is_success);
+ void set_dotnet_flag(sclboolean flag);
private:
ISCLCoreEventCallback *m_event_callback;
m_portrait_size.height = 0;
m_landscape_size.width = 0;
m_landscape_size.height = 0;
+ m_dotnet_flag = false;
memset(m_option_window_info, 0x00, sizeof(m_option_window_info));
}
*landscape = m_landscape_size;
}
+void CSCLCoreUIEFL::set_dotnet_flag(sclboolean flag)
+{
+ LOGD("IME is called from dotnet");
+ m_dotnet_flag = flag;
+}
+
#ifdef WAYLAND
static int language_changed_cb(void *event_info, void* data)
{
}
ecore_wl2_window_type_set(wlkb->wl_win, ECORE_WL2_WINDOW_TYPE_NONE);
- Ecore_Wl2_Surface *surface = ecore_wl2_surface_create(wlkb->wl_win, EINA_TRUE);
- if (!surface) {
- LOGW("Couldn't create surface\n");
- return false;
- }
wlkb->surface = ecore_wl2_window_surface_get(wlkb->wl_win);
if (!wlkb->surface) {
if (impl) {
callback = impl->get_core_event_callback();
if (callback) {
- sclboolean ret = false;
+ sclboolean ret = FALSE;
callback->on_check_option_window_availability(&ret);
- if (ret == false) {
+ if (ret == FALSE) {
LOGW("option_window not available\n");
return SCLWINDOW_INVALID;
}
if (impl) {
callback = impl->get_core_event_callback();
if (callback) {
- sclboolean ret = false;
+ sclboolean ret = FALSE;
callback->on_check_option_window_availability(&ret);
- if (ret == false) {
+ if (ret == FALSE) {
LOGW("option_window not available\n");
return false;
}
void CSCLCoreUIEFL::process_keyboard_ui_state_change(KEYBOARD_UI_STATE state)
{
+ if (m_dotnet_flag) return;
+
#ifdef WAYLAND
if (state == KEYBOARD_UI_STATE_WILL_SHOW) {
evas_event_callback_add(evas_object_evas_get(NATIVE_WINDOW_CAST(m_main_window)),
void update_keyboard_geometry(SclSize portrait, SclSize landscape);
void get_keyboard_size(SclSize *portrait, SclSize *landscape);
+ void set_dotnet_flag(sclboolean flag);
private:
sclboolean m_initialized;
SclSize m_landscape_size;
OptionWindowInfo m_option_window_info[OPTION_WINDOW_TYPE_MAX];
+
+ sclboolean m_dotnet_flag;
};
}
m_impl->get_keyboard_size(portrait, landscape);
}
}
+
+void CSCLCoreUI::set_dotnet_flag(sclboolean flag)
+{
+ if (m_impl) {
+ m_impl->set_dotnet_flag(flag);
+ }
+}
\ No newline at end of file
*/
virtual void get_keyboard_size(SclSize *portrait, SclSize *landscape);
+ /**
+ * @brief Requests to set dotnet flag
+ */
+ virtual void set_dotnet_flag(sclboolean flag);
+
protected:
std::string m_backend_identifier;