}
}
+static void slot_set_position_align(const scim::HelperAgent *agent, scim::uint32 &x, scim::uint32 &y, scim::uint32 &align) {
+ CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+ if (impl) {
+ ISCLCoreEventCallback *callback = impl->get_core_event_callback();
+ if (callback) {
+ callback->on_set_position_align(x, y, align);
+ }
+ }
+}
+
/* Internal input handler function */
Eina_Bool input_handler(void *data, Ecore_Fd_Handler *fd_handler)
{
m_helper_agent.signal_connect_set_autocapital_type(scim::slot(slot_set_autocapital_type));
m_helper_agent.signal_connect_set_prediction_allow(scim::slot(slot_set_prediction_allow));
m_helper_agent.signal_connect_set_input_hint(scim::slot(slot_set_input_hint));
+ m_helper_agent.signal_connect_set_position_align(scim::slot(slot_set_position_align));
m_initialized = TRUE;
}
}
}
+void CSCLConnectionISF::move_resize_floating_window(sclint x, sclint y, sclint w, sclint h)
+{
+ if (m_initialized) {
+ m_helper_agent.move_resize_floating_window(x, y, w, h);
+ }
+}
+
extern "C"
{
EXAPI void scim_module_init(void) {
void send_key_event_processing_result(scim::KeyEvent &key, sclu32 serial, sclboolean is_success);
void set_floating_mode(sclboolean floating_mode);
void set_floating_drag_enabled(sclboolean enabled);
+ void move_resize_floating_window(sclint x, sclint y, sclint w, sclint h);
private:
sclboolean m_initialized;
if (m_impl) {
m_impl->set_floating_drag_enabled(enabled);
}
+}
+
+void CSCLConnection::move_resize_floating_window(sclint x, sclint y, sclint w, sclint h)
+{
+ if (m_impl) {
+ m_impl->move_resize_floating_window(x, y, w, h);
+ }
}
\ No newline at end of file
virtual void send_key_event_processing_result(scim::KeyEvent &key, sclu32 serial, sclboolean is_success);
virtual void set_floating_mode(sclboolean floating_mode);
virtual void set_floating_drag_enabled(sclboolean enabled);
+ virtual void move_resize_floating_window(sclint x, sclint y, sclint w, sclint h);
protected:
std::string m_backend_identifier;
}
}
+void CSCLCore::move_resize_floating_window(sclint x, sclint y, sclint w, sclint h)
+{
+ if (m_impl) {
+ m_impl->move_resize_floating_window(x, y, w, h);
+ }
+}
+
void CSCLCore::set_window_creation_defer_flag(sclboolean flag)
{
if (m_impl) {
*/
void set_floating_drag_enabled(sclboolean enabled);
+ /**
+ * @brief Request to move and resize the floating ISE.
+ */
+ void move_resize_floating_window(sclint x, sclint y, sclint w, sclint h);
+
/**
* @brief Request to defer creating window until the window object gets accessed.
*/
virtual void on_set_autocapital_type(sclu32 type) {}
virtual void on_set_prediction_allow(sclu32 prediction_allow) {}
virtual void on_set_input_hint(sclu32 input_hint) {}
+ virtual void on_set_position_align(sclu32 x, sclu32 y, sclu32 align) {}
virtual void on_trigger_property(const sclchar *property) {}
ISCLCoreEventCallback() {
m_connection.set_floating_drag_enabled(enabled);
}
+void CSCLCoreImpl::move_resize_floating_window(sclint x, sclint y, sclint w, sclint h)
+{
+ m_connection.move_resize_floating_window(x, y, w, h);
+}
+
void CSCLCoreImpl::set_window_creation_defer_flag(sclboolean flag)
{
LOGD("defer_flag %d", flag);
void commit_content(const sclchar *content, const sclchar *description, const sclchar *mime_types);
void set_floating_mode(sclboolean floating_mode);
void set_floating_drag_enabled(sclboolean enabled);
+ void move_resize_floating_window(sclint x, sclint y, sclint w, sclint h);
void set_window_creation_defer_flag(sclboolean flag);
void update_preedit_string_with_commit(const sclchar *preedit, const sclchar *commit, const scim::AttributeList &attrs, sclint caret);