From: MinJeong Kim Date: Wed, 10 Apr 2019 05:23:09 +0000 (+0900) Subject: tizen-remote-surface: added new requests to tizen_remote_surface_manager and version... X-Git-Tag: submit/tizen/20190412.094402~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d6df6e80a0750063943143ad4cf66412152da8c5;p=platform%2Fcore%2Fuifw%2Fwayland-extension.git tizen-remote-surface: added new requests to tizen_remote_surface_manager and version up to 6 - tizen_remote_surface_manager@create_surface_with_wl_surface is added. - tizen_remote_surface_manager interface version up to 6 - example code block is added to tzrs-consumer.c Change-Id: Iaca4a7568818f362f73c6afcd3ca7a76a4c3e71a --- diff --git a/protocol/tizen/tizen-remote-surface.xml b/protocol/tizen/tizen-remote-surface.xml index a7a1d9d..3c76a6b 100644 --- a/protocol/tizen/tizen-remote-surface.xml +++ b/protocol/tizen/tizen-remote-surface.xml @@ -1,6 +1,6 @@ - + A manager of tizen_remote_surface. This object is in charge of creating tizen_remote_surface_provider and tizen_remote_surface and @@ -42,6 +42,21 @@ Destroy tizen_remote_surface_manager. + + + + + Ask manager creation of a new remote surface. + resource_id is required to identify this remote surface is what provider of + and wl_tbm object is used for remote buffer of this remote surface. + wayland_surface explicitly specifies one wl_surface object to contain this remote surface. + + + + + + + diff --git a/src/examples/tzrs-consumer.c b/src/examples/tzrs-consumer.c index 8d8db61..715abb9 100644 --- a/src/examples/tzrs-consumer.c +++ b/src/examples/tzrs-consumer.c @@ -378,7 +378,7 @@ _tzrs_init(uint32_t res_id, struct wl_display *wl_dpy; Eina_Iterator *itr; Ecore_Wl2_Global *global; - int ver = 5; + int ver = 6; struct wl_tbm *wl_tbm; wl2_win = (Ecore_Wl2_Window *)elm_win_wl_window_get(win); @@ -413,12 +413,31 @@ _tzrs_init(uint32_t res_id, tbm_client = wayland_tbm_client_init(wl_dpy); wl_tbm = wayland_tbm_client_get_wl_tbm(tbm_client); - /* create tizen remote surface for showing buffer of provider winodw */ - tzrs = - tizen_remote_surface_manager_create_surface(tzrs_mng, res_id, wl_tbm); + /* Create tizen remote surface for showing buffer of provider winodw + * + * Since TIZEN_REMOTE_SURFACE_MANAGER_CREATE_SURFACE_WITH_WL_SURFACE_SINCE_VERSION, + * client can request create tizen remote surface with its wl_surfacea(will + * contain tizen remote surface) to tizen remote surface manager. + */ + if (ver >= TIZEN_REMOTE_SURFACE_MANAGER_CREATE_SURFACE_WITH_WL_SURFACE_SINCE_VERSION) + tzrs = + tizen_remote_surface_manager_create_surface_with_wl_surface(tzrs_mng, + res_id, + wl_tbm, + surface); + else + tzrs = + tizen_remote_surface_manager_create_surface(tzrs_mng, res_id, wl_tbm); tizen_remote_surface_add_listener(tzrs, &_tzrs_listener, NULL); - tizen_remote_surface_set_owner(tzrs, surface); + + /* Inform server what wl_surface is container oftizen remote surface. + * + * Since TIZEN_REMOTE_SURFACE_MANAGER_CREATE_SURFACE_WITH_WL_SURFACE_SINCE_VERSION, + * client can inform it through new request(tizen_remote_surface_manager_create_surface_with_wl_surface) + */ + if (ver < TIZEN_REMOTE_SURFACE_MANAGER_CREATE_SURFACE_WITH_WL_SURFACE_SINCE_VERSION) + tizen_remote_surface_set_owner(tzrs, surface); /* start redirection of provider's buffer update */ tizen_remote_surface_redirect(tzrs);