e_view_client: add e_view_client_external_view_type_get 02/323402/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 25 Apr 2025 02:03:23 +0000 (11:03 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 28 Apr 2025 06:28:31 +0000 (15:28 +0900)
This function get the external_view_type from e_view_client

Change-Id: I0461423a7c0e5f5fb430ebdcbb807f9d9d3c3ee1

src/bin/core/e_view_client.c
src/include/e_view_client.h

index 96c60af55499c526e6d362bd63bc1e5a865fa763..7327321de9d9166ef9e315fb1e2249a4ae140540 100644 (file)
@@ -399,6 +399,26 @@ e_view_client_content_type_get(E_View_Client *client)
    return e_comp_object_content_type_get(client->view.eo);
 }
 
+E_API E_View_Client_External_View_Type
+e_view_client_external_view_type_get(E_View_Client *client)
+{
+   if (client == NULL) return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_NONE;
+   if (!client->external_view) return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_NONE;
+
+   switch (e_comp_object_content_type_get(client->view.eo))
+     {
+       case E_COMP_OBJECT_CONTENT_TYPE_EXT_IMAGE:
+         return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_IMAGE;
+       case E_COMP_OBJECT_CONTENT_TYPE_EXT_EDJE:
+         return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_EDJE;
+       case E_COMP_OBJECT_CONTENT_TYPE_INT_IMAGE: // return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_NONE
+       default:
+         return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_NONE;
+     }
+
+   return E_VIEW_CLIENT_EXTERNAL_VIEW_TYPE_NONE;
+}
+
 EINTERN bool
 e_view_client_content_unset(E_View_Client *client)
 {
index 5e75c41bcabf5ac9acde6009f7b075220e948bca..4e0968cd8bbecc9156605b4f2941fe339c294f77 100644 (file)
@@ -26,6 +26,7 @@ void e_view_client_color_get(E_View_Client *client, int *r, int *g, int *b, int
 bool e_view_client_content_set(E_View_Client *client, E_View *content, E_Comp_Object_Content_Type type);
 E_Comp_Object_Content_Type e_view_client_content_type_get(E_View_Client *client);
 bool e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image);
+E_View_Client_External_View_Type e_view_client_external_view_type_get(E_View_Client *client);
 void e_view_client_damage(E_View_Client *client, int x, int y, int width, int height);
 void e_view_client_dirty(E_View_Client *client);
 E_View *e_view_client_effect_object_get(E_View_Client *client);