e_client: add new enum - E_Client_Rotation_Angle 62/313462/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Wed, 26 Jun 2024 07:05:02 +0000 (16:05 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 26 Jun 2024 07:23:32 +0000 (16:23 +0900)
Change-Id: I4de26b0e270d40a992c6e01ec3bbb8a85b3e8dc4

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

index 3b8c66b..0f30d83 100644 (file)
@@ -7624,41 +7624,41 @@ e_client_e_fetch_rot_support_get(E_Client *ec)
 }
 
 E_API void
-e_client_e_state_rot_angle_current_set(E_Client *ec, int angle)
+e_client_e_state_rot_angle_current_set(E_Client *ec, E_Client_Rotation_Angle angle)
 {
    if (ec) ec->e.state.rot.ang.curr = angle;
 }
 
-E_API int
+E_API E_Client_Rotation_Angle
 e_client_e_state_rot_angle_current_get(E_Client *ec)
 {
-   if (!ec) return 0;
+   if (!ec) return E_CLIENT_ROTATION_ANGLE_UNKNOWN;
    return ec->e.state.rot.ang.curr;
 }
 
 E_API void
-e_client_e_state_rot_angle_next_set(E_Client *ec, int angle)
+e_client_e_state_rot_angle_next_set(E_Client *ec, E_Client_Rotation_Angle angle)
 {
    if (ec) ec->e.state.rot.ang.next = angle;
 }
 
-E_API int
+E_API E_Client_Rotation_Angle
 e_client_e_state_rot_angle_next_get(E_Client *ec)
 {
-   if (!ec) return 0;
+   if (!ec) return E_CLIENT_ROTATION_ANGLE_UNKNOWN;
    return ec->e.state.rot.ang.next;
 }
 
 E_API void
-e_client_e_state_rot_angle_prev_set(E_Client *ec, int angle)
+e_client_e_state_rot_angle_prev_set(E_Client *ec, E_Client_Rotation_Angle angle)
 {
    if (ec) ec->e.state.rot.ang.prev = angle;
 }
 
-E_API int
+E_API E_Client_Rotation_Angle
 e_client_e_state_rot_angle_prev_get(E_Client *ec)
 {
-   if (!ec) return 0;
+   if (!ec) return E_CLIENT_ROTATION_ANGLE_UNKNOWN;
    return ec->e.state.rot.ang.prev;
 }
 
@@ -7671,12 +7671,12 @@ e_client_e_state_rot_angle_reserve_set(E_Client *ec, int angle)
 E_API int
 e_client_e_state_rot_angle_reserve_get(E_Client *ec)
 {
-   if (!ec) return 0;
+   if (!ec) return E_CLIENT_ROTATION_ANGLE_UNKNOWN;
    return ec->e.state.rot.ang.reserve;
 }
 
 E_API Eina_Bool
-e_client_e_state_rot_available_angle_get(E_Client *ec, unsigned int id, int *angle)
+e_client_e_state_rot_available_angle_get(E_Client *ec, unsigned int id, E_Client_Rotation_Angle *angle)
 {
    if (!ec) return EINA_FALSE;
    if (!ec->e.state.rot.available_rots) return EINA_FALSE;
@@ -7758,15 +7758,15 @@ e_client_e_state_rot_pending_show_get(E_Client *ec)
 }
 
 E_API void
-e_client_e_state_rot_preferred_angle_set(E_Client *ec, int angle)
+e_client_e_state_rot_preferred_angle_set(E_Client *ec, E_Client_Rotation_Angle angle)
 {
    if (ec) ec->e.state.rot.preferred_rot = angle;
 }
 
-E_API int
+E_API E_Client_Rotation_Angle
 e_client_e_state_rot_preferred_angle_get(E_Client *ec)
 {
-   if (!ec) return -1;
+   if (!ec) return E_CLIENT_ROTATION_ANGLE_UNKNOWN;
    return ec->e.state.rot.preferred_rot;
 }
 
index 598b48d..746f25d 100644 (file)
@@ -184,6 +184,15 @@ typedef enum _E_Client_Rotation_Type
 } E_Client_Rotation_Type;
 #endif
 
+typedef enum _E_Client_Rotation_Angle
+{
+   E_CLIENT_ROTATION_ANGLE_UNKNOWN = -1,
+   E_CLIENT_ROTATION_ANGLE_0 = 0,
+   E_CLIENT_ROTATION_ANGLE_90 = 90,
+   E_CLIENT_ROTATION_ANGLE_180 = 180,
+   E_CLIENT_ROTATION_ANGLE_270 = 270,
+} E_Client_Rotation_Angle;
+
 typedef enum _E_Visibility
 {
    E_VISIBILITY_UNKNOWN = -1,
@@ -625,7 +634,7 @@ struct _E_Client
             E_Client_Rotation_Type type;
             struct
               {
-                 int prev, curr, next, reserve;
+                 E_Client_Rotation_Angle prev, curr, next, reserve;
               } ang;
             struct
               {
@@ -639,8 +648,8 @@ struct _E_Client
             unsigned char wait_for_done: 1;
             unsigned char app_set : 1;    // app wants to communicate with the window manager
             int           rot;            // decided rotation by the window manager
-            int           preferred_rot;  // app specified rotation
-            int          *available_rots; // app specified available rotations
+            E_Client_Rotation_Angle  preferred_rot;  // app specified rotation
+            E_Client_Rotation_Angle *available_rots; // app specified available rotations
             unsigned int  count;          // number of elements of available rotations
             unsigned int  nopending_render : 1; // app wants to show rendering jobs before sending rotation_done
                                                 // it is set by 'wm.policy.win.rot.render.nopending' aux hint
@@ -1362,15 +1371,15 @@ E_API Eina_Bool e_client_e_fetch_rot_preferred_rot_get(E_Client *ec);
 E_API void      e_client_e_fetch_rot_support_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_e_fetch_rot_support_get(E_Client *ec);
 
-E_API void      e_client_e_state_rot_angle_current_set(E_Client *ec, int angle);
-E_API int       e_client_e_state_rot_angle_current_get(E_Client *ec);
-E_API void      e_client_e_state_rot_angle_next_set(E_Client *ec, int angle);
-E_API int       e_client_e_state_rot_angle_next_get(E_Client *ec);
-E_API void      e_client_e_state_rot_angle_prev_set(E_Client *ec, int angle);
-E_API int       e_client_e_state_rot_angle_prev_get(E_Client *ec);
-E_API void      e_client_e_state_rot_angle_reserve_set(E_Client *ec, int angle);
-E_API int       e_client_e_state_rot_angle_reserve_get(E_Client *ec);
-E_API Eina_Bool e_client_e_state_rot_available_angle_get(E_Client *ec,  unsigned int id, int *angle);
+E_API void      e_client_e_state_rot_angle_current_set(E_Client *ec, E_Client_Rotation_Angle angle);
+E_API E_Client_Rotation_Angle e_client_e_state_rot_angle_current_get(E_Client *ec);
+E_API void      e_client_e_state_rot_angle_next_set(E_Client *ec, E_Client_Rotation_Angle angle);
+E_API E_Client_Rotation_Angle e_client_e_state_rot_angle_next_get(E_Client *ec);
+E_API void      e_client_e_state_rot_angle_prev_set(E_Client *ec, E_Client_Rotation_Angle angle);
+E_API E_Client_Rotation_Angle e_client_e_state_rot_angle_prev_get(E_Client *ec);
+E_API void      e_client_e_state_rot_angle_reserve_set(E_Client *ec, E_Client_Rotation_Angle angle);
+E_API E_Client_Rotation_Angle e_client_e_state_rot_angle_reserve_get(E_Client *ec);
+E_API Eina_Bool e_client_e_state_rot_available_angle_get(E_Client *ec,  unsigned int id, E_Client_Rotation_Angle *angle);
 E_API void      e_client_e_state_rot_count_set(E_Client *ec, int count);
 E_API int       e_client_e_state_rot_count_get(E_Client *ec);
 E_API Eina_Bool e_client_e_state_rot_geometry_set(E_Client *ec, int angle, int x, int y, int w, int h);
@@ -1380,8 +1389,8 @@ E_API void      e_client_e_state_rot_pending_change_request_set(E_Client *ec, Ei
 E_API Eina_Bool e_client_e_state_rot_pending_change_request_get(E_Client *ec);
 E_API void      e_client_e_state_rot_pending_show_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_e_state_rot_pending_show_get(E_Client *ec);
-E_API void      e_client_e_state_rot_preferred_angle_set(E_Client *ec, int angle);
-E_API int       e_client_e_state_rot_preferred_angle_get(E_Client *ec);
+E_API void      e_client_e_state_rot_preferred_angle_set(E_Client *ec, E_Client_Rotation_Angle angle);
+E_API E_Client_Rotation_Angle e_client_e_state_rot_preferred_angle_get(E_Client *ec);
 E_API void      e_client_e_state_rot_support_set(E_Client *ec, Eina_Bool set);
 E_API Eina_Bool e_client_e_state_rot_support_get(E_Client *ec);
 E_API void      e_client_e_state_rot_wait_for_done_set(E_Client *ec, Eina_Bool set);