object: use tbm_surface for EVAS_NATIVE_SURFACE 53/95353/1
authorSangjin Lee <lsj119@samsung.com>
Thu, 3 Nov 2016 03:40:51 +0000 (12:40 +0900)
committerSangjin Lee <lsj119@samsung.com>
Thu, 3 Nov 2016 03:40:51 +0000 (12:40 +0900)
For remove dependence of wayland_tbm_server in EFL client,
pepper-efl use tbm_surface for wl_buffer resource.

Change-Id: Ib3c51773ce9ff6571170a87528a7d15e6534938a

src/lib/object.c
src/lib/object.h

index 7ce1707368d2696706ad6d344013ab92dc907eb3..bec82a590a2e5a1bb1ee31838ceb45e56d8f386e 100644 (file)
@@ -630,6 +630,7 @@ pepper_efl_object_buffer_attach(Evas_Object *obj, int *w, int *h)
      }
    else if ((tbm_surface = wayland_tbm_server_get_surface(NULL, buf_res)))
      {
+       po->tbm_surface = tbm_surface;
        bw = tbm_surface_get_width(tbm_surface);
        bh = tbm_surface_get_height(tbm_surface);
      }
@@ -674,13 +675,13 @@ pepper_efl_object_render(Evas_Object *obj)
         evas_object_image_data_set(po->img, wl_shm_buffer_get_data(po->shm_buffer));
         evas_object_image_data_update_add(po->img, 0, 0, po->w, po->h);
      }
-   else if (po->buffer)
+   else if (po->tbm_surface)
      {
         Evas_Native_Surface ns;
 
         ns.version = EVAS_NATIVE_SURFACE_VERSION;
-        ns.type = EVAS_NATIVE_SURFACE_WL;
-        ns.data.wl.legacy_buffer = pepper_buffer_get_resource(po->buffer);
+        ns.type = EVAS_NATIVE_SURFACE_TBM;
+        ns.data.tbm.buffer = po->tbm_surface;
 
         evas_object_image_size_set(po->img, po->w, po->h);
         evas_object_image_native_surface_set(po->img, &ns);
index 38b3e74f1fa3f2de9c73ac3e820df3e377e5a649..ae28d9ba0ffb99d2fb25b20d319552acf430ab85 100644 (file)
@@ -17,6 +17,7 @@ struct pepper_efl_object
    pepper_event_listener_t *surface_destroy_listener;
 
    struct wl_shm_buffer *shm_buffer;
+   tbm_surface_h tbm_surface;
    int x, y, w, h;
 
    struct