e_util_transform: add role property 70/236770/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 22 Jun 2020 04:23:42 +0000 (13:23 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 22 Jun 2020 04:23:42 +0000 (13:23 +0900)
Change-Id: I0cc1f2677fd5f689f79b8b09629ae396d27cbc16

src/bin/e_util_transform.c
src/bin/e_util_transform.h

index c6096977665dc5988205e3e1edf093a4bbc34925..21309eefd22ee3703bf6bae58190157f9199f995 100644 (file)
@@ -16,6 +16,7 @@ e_util_transform_new(void)
    if (transform)
      {
         transform->ref_count = 0;
+        transform->role = NULL;
         e_util_transform_init(transform);
         e_util_transform_ref(transform);
      }
@@ -71,7 +72,10 @@ e_util_transform_unref(E_Util_Transform *transform)
    if (!transform) return;
    transform->ref_count -= 1;
    if (transform->ref_count <= 0)
-     free(transform);
+     {
+        eina_stringshare_replace(&transform->role, NULL);
+        free(transform);
+     }
 }
 
 E_API int
@@ -199,6 +203,20 @@ e_util_transform_rotation_axis_reset(E_Util_Transform *transform)
      }
 }
 
+E_API void
+e_util_transform_role_set(E_Util_Transform *transform, const char *role)
+{
+   if (!transform) return;
+   eina_stringshare_replace(&transform->role, role);
+}
+
+E_API const char *
+e_util_transform_role_get(E_Util_Transform *transform)
+{
+   if (!transform) return NULL;
+   return transform->role;
+}
+
 E_API void
 e_util_transform_merge(E_Util_Transform *in_out, E_Util_Transform *input)
 {
index b20440d0c3007877ffa6d818fdb48a825ebfb1d5..3b3c05c5c5b42b1b655098fff28a97d7ea352b0d 100644 (file)
@@ -52,6 +52,7 @@ struct _E_Util_Transform
    Eina_Bool                 use_viewport;
    Eina_Bool                 use_bg_transform;
    Eina_Bool                 use_axis;
+   Eina_Stringshare         *role;
 };
 
 struct _E_Util_Transform_Vertex
@@ -86,6 +87,8 @@ E_API void                         e_util_transform_texcoord_set(E_Util_Transfor
 E_API void                         e_util_transform_viewport_set(E_Util_Transform *transform, int x, int y, int w, int h);
 E_API void                         e_util_transform_rotation_axis_set(E_Util_Transform *transform, double ax, double ay, double az);
 E_API void                         e_util_transform_rotation_axis_reset(E_Util_Transform *transform);
+E_API void                         e_util_transform_role_set(E_Util_Transform *transform, const char *role);
+E_API const char                  *e_util_transform_role_get(E_Util_Transform *transform);
 
 E_API void                         e_util_transform_merge(E_Util_Transform *in_out, E_Util_Transform *input);
 E_API E_Util_Transform_Matrix      e_util_transform_convert_to_matrix(E_Util_Transform *transform, E_Util_Transform_Rect *source_rect);