static void _e_client_event_client_rotation_change_cancel_send(E_Client *ec);
static void _e_client_event_client_rotation_change_cancel_free(void *data, void *ev);
static void _e_client_event_client_rotation_change_end_free(void *data, void *ev);
+static void _e_client_event_client_rotation_geometry_set_send(E_Client *ec, unsigned int angle, int x, int y, int w, int h);
+static void _e_client_event_client_rotation_geometry_set_free(void *data, void *ev);
/* local subsystem e_zone_rotation related functions */
static void _e_zone_event_rotation_change_begin_free(void *data, void *ev);
static void
_e_tizen_rotation_set_geometry_hint_cb(struct wl_client *client,
struct wl_resource *resource,
- uint32_t angle,
+ uint32_t tz_angle,
uint32_t x, uint32_t y, uint32_t w, uint32_t h)
{
E_Client *ec;
Policy_Ext_Rotation *rot;
int i = -1;
+ int angle = 0;
rot = wl_resource_get_user_data(resource);
EINA_SAFETY_ON_NULL_RETURN(rot);
if (!ec)
return;
- switch (angle)
+ switch (tz_angle)
{
case TIZEN_ROTATION_ANGLE_0:
i = 0;
+ angle = 0;
break;
case TIZEN_ROTATION_ANGLE_90:
i = 1;
+ angle = 90;
break;
case TIZEN_ROTATION_ANGLE_180:
i = 2;
+ angle = 180;
break;
case TIZEN_ROTATION_ANGLE_270:
i = 3;
+ angle = 270;
break;
default:
return;
ec->e.state.rot.geom[i].y = y;
ec->e.state.rot.geom[i].w = w;
ec->e.state.rot.geom[i].h = h;
+
+ _e_client_event_client_rotation_geometry_set_send(ec, angle, x, y, w, h);
}
static void
}
static void
+_e_client_event_client_rotation_geometry_set_send(E_Client *ec, unsigned int angle, int x, int y, int w, int h)
+{
+ E_Event_Client_Rotation_Geometry_Set *ev = NULL;
+ ev = E_NEW(E_Event_Client_Rotation_Geometry_Set, 1);
+ if (ev)
+ {
+ ev->ec = ec;
+ ev->angle = angle;
+ ev->x = x;
+ ev->y = y;
+ ev->w = w;
+ ev->h = h;
+ e_object_ref(E_OBJECT(ec));
+ ecore_event_add(E_EVENT_CLIENT_ROTATION_GEOMETRY_SET,
+ ev,
+ _e_client_event_client_rotation_geometry_set_free,
+ NULL);
+ }
+}
+
+static void
+_e_client_event_client_rotation_geometry_set_free(void *data __UNUSED__,
+ void *ev)
+{
+ E_Event_Client_Rotation_Geometry_Set *e;
+ e = ev;
+ e_object_unref(E_OBJECT(e->ec));
+ E_FREE(e);
+}
+
+static void
_e_zone_event_rotation_change_begin_free(void *data __UNUSED__,
void *ev)
{