Add new API to send mouse event 10/262110/1
authorInHong Han <inhong1.han@samsung.com>
Thu, 27 May 2021 04:58:28 +0000 (13:58 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 3 Aug 2021 02:53:40 +0000 (11:53 +0900)
Change-Id: Iaa7205f9e9ff5394af28780246e3f890db0a3246

capi/include/cscl-ui-nui.h
capi/src/cscl-ui-nui.cpp

index 83d938a1633deb3119e8040a071db0ea944b0d52..d1e62d8dcb780994d2fe90d2a159dac2a59edfb6 100644 (file)
@@ -50,6 +50,7 @@ typedef void (*scl_nui_draw_rectangle_cb)(int pos_x, int pos_y, int width, int h
 /* window backend */
 typedef void (*scl_nui_update_window_cb)(int x, int y, int width, int height, void* user_data);
 typedef int (*scl_nui_key_click_event_cb)(SclUIEventDesc event_desc);
+typedef int (*scl_nui_drag_state_changed_cb)(SclUIEventDesc event_desc);
 
 int scl_nui_init(const char *entry_filepath);
 int scl_nui_fini();
@@ -67,6 +68,7 @@ int scl_nui_set_string_substitution(const char *original, const char *substitute
 int scl_nui_set_update_window_cb(scl_nui_update_window_cb callback, void *user_data);
 
 int scl_nui_set_key_click_event_cb(scl_nui_key_click_event_cb callback);
+int scl_nui_set_drag_state_changed_cb(scl_nui_drag_state_changed_cb callback);
 
 #ifdef __cplusplus
 }
index 4f74987210da571dcd3f43e82cb29e0806310440..ff435f5b0f032871bcc7c17d7c1f1de76862a2d6 100644 (file)
@@ -51,6 +51,7 @@ static scl_nui_update_window_cb g_update_window_cb = NULL;
 static void *g_update_window_cb_data = NULL;
 
 static scl_nui_key_click_event_cb g_key_click_event_cb = NULL;
+static scl_nui_drag_state_changed_cb g_drag_state_changed_cb = NULL;
 
 void CUIGraphicsBackendCallback::on_draw_text(const SclFontInfo& font_info, const SclColor& color, const char *str, int pos_x, int pos_y, int w, int h,
                                       SCLLabelAlignment align, int padding_x, int padding_y, int inner_width, int inner_height, void* user_data)
@@ -129,7 +130,12 @@ SCLEventReturnType CUIEventCallback::on_event_notification(SCLUINotiType noti_ty
 SCLEventReturnType CUIEventCallback::on_event_drag_state_changed(SclUIEventDesc event_desc)
 {
     LOGI("");
-    return SCL_EVENT_PASS_ON;
+    int ret = 0;
+    if (g_drag_state_changed_cb) {
+        ret = g_drag_state_changed_cb(event_desc);
+    }
+
+    return (SCLEventReturnType)ret;
 }
 
 static CUIGraphicsBackendCallback callback;
@@ -278,5 +284,12 @@ EXPORT_API int scl_nui_set_key_click_event_cb(scl_nui_key_click_event_cb callbac
 {
     g_key_click_event_cb = callback;
 
+    return 0;
+}
+
+EXPORT_API int scl_nui_set_drag_state_changed_cb(scl_nui_drag_state_changed_cb callback)
+{
+    g_drag_state_changed_cb = callback;
+
     return 0;
 }
\ No newline at end of file