e_service_kvm: set transparent the kvm service frame 56/298056/2
authorJunseok Kim <juns.kim@samsung.com>
Wed, 30 Aug 2023 05:29:18 +0000 (14:29 +0900)
committerJunSeok Kim <juns.kim@samsung.com>
Thu, 31 Aug 2023 00:14:57 +0000 (00:14 +0000)
Change-Id: I49fe84c7570aeb63c315f2f264901ffe1645aacd

src/bin/services/e_service_kvm.c
src/bin/services/e_service_kvm.h

index dba778e..e4cbbd9 100644 (file)
@@ -115,6 +115,8 @@ e_service_kvm_client_set(E_Client *ec)
         e_client_layer_set(ec, E_POLICY_KVM_LAYER);
      }
 
+   e_service_kvm_transparent_set(ec, EINA_TRUE);
+
    return EINA_TRUE;
 }
 
@@ -293,6 +295,28 @@ e_service_kvm_secondary_selection_set(E_Client *ec, Eina_Bool set)
    return EINA_TRUE;
 }
 
+EINTERN Eina_Bool
+e_service_kvm_transparent_set(E_Client *ec, Eina_Bool set)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(_kvm_service, EINA_FALSE);
+
+   if (ec != _kvm_service->ec)
+     {
+        ELOGF("KVM", "ERROR... kvm service ec is not matched. regisered(%p)", ec, _kvm_service->ec);
+        return EINA_FALSE;
+     }
+
+   ELOGF("KVM", "set KVM service client to %s", ec, set? "transparent" : "opaque");
+
+   if (set)
+     evas_object_color_set(ec->frame, 0, 0, 0, 0);
+   else
+     evas_object_color_set(ec->frame, 255, 255, 255, 255);
+
+   return EINA_TRUE;
+}
+
 static void
 _e_service_kvm_send_client_enter(E_Client *ec)
 {
index 47a123c..69828b1 100644 (file)
@@ -20,5 +20,6 @@ EINTERN Eina_Bool      e_service_kvm_drag_cancel(E_Client *ec);
 EINTERN Eina_Bool      e_service_kvm_perform_drag_enter(E_Client *ec);
 EINTERN Eina_Bool      e_service_kvm_perform_drag_leave(E_Client *ec);
 EINTERN Eina_Bool      e_service_kvm_secondary_selection_set(E_Client *ec, Eina_Bool set);
+EINTERN Eina_Bool      e_service_kvm_transparent_set(E_Client *ec, Eina_Bool set);
 
 #endif /* E_SERVICE_KVM_H */