struct wl_listener client_destroy_listener;
Eina_Bool oneshot_client_destroy;
+
+ Eina_Bool auto_rotation;
} E_Mirror;
typedef struct _E_Mirror_Buffer
tizen_screenmirror_send_stop(resource);
}
+static void
+_e_tz_screenmirror_cb_set_auto_rotation(struct wl_client *client, struct wl_resource *resource, uint32_t set)
+{
+ E_Mirror *mirror = wl_resource_get_user_data(resource);
+
+ EINA_SAFETY_ON_NULL_RETURN(mirror);
+
+ if (_e_screenmirror_privilege_check(client) == EINA_FALSE)
+ {
+ ERR("_e_tz_screenmirror_cb_stop: priv check failed");
+ return;
+ }
+ DBG("_e_tz_screenmirror_cb_set_auto_rotation: %d", set);
+
+ if (set)
+ mirror->auto_rotation = EINA_TRUE;
+ else
+ mirror->auto_rotation = EINA_FALSE;
+
+ e_output_stream_capture_autorotate(mirror->e_output, mirror->auto_rotation);
+}
+
static const struct tizen_screenmirror_interface _e_tz_screenmirror_interface = {
_e_tz_screenmirror_cb_destroy,
_e_tz_screenmirror_cb_set_stretch,
_e_tz_screenmirror_cb_queue,
_e_tz_screenmirror_cb_dequeue,
_e_tz_screenmirror_cb_start,
- _e_tz_screenmirror_cb_stop
+ _e_tz_screenmirror_cb_stop,
+ _e_tz_screenmirror_cb_set_auto_rotation
};
static void
}
/* try to add tizen_screenshooter to wayland globals */
- if (!wl_global_create(e_comp_wl->wl.disp, &tizen_screenshooter_interface, 1,
+ if (!wl_global_create(e_comp_wl->wl.disp, &tizen_screenshooter_interface, 2,
NULL, _e_tz_screenshooter_cb_bind))
{
ERR("Could not add tizen_screenshooter to wayland globals");