return tbm_surface_info_.get();
}
+ tbm_surface_h GetTbmSurface() {
+ tbm_surface_h tbm_surface = static_cast<tbm_surface_h>(
+ wl_buffer_get_user_data(GetRaw()));
+ return tbm_surface;
+ }
+
private:
struct tizen_remote_surface* trs_;
std::unique_ptr<tbm_surface_info_s, decltype(std::free)*> tbm_surface_info_;
screen_connector_launcher_service_image_h handle,
char** shared_widget_info);
+int screen_connector_launcher_service_image_get_tbm_surface(
+ screen_connector_launcher_service_image_h handle,
+ tbm_surface_h* tbm_surface);
+
int screen_connector_launcher_service_image_get_tbm_surface_info(
screen_connector_launcher_service_image_h handle,
tbm_surface_info_s** tbm_surface_info);
return 0;
}
+extern "C" EXPORT int
+screen_connector_launcher_service_image_get_tbm_surface(
+ screen_connector_launcher_service_image_h handle,
+ tbm_surface_h* tbm_surface) {
+ if (handle == nullptr || tbm_surface == nullptr) {
+ _E("Invalid parameter");
+ return -EINVAL;
+ }
+
+ auto img_ptr =
+ reinterpret_cast<std::shared_ptr<screen_connector::RawImage>*>(handle);
+ auto img = img_ptr->get();
+ if (img == nullptr) {
+ _E("Invalid parameter");
+ return -EINVAL;
+ }
+
+ *tbm_surface = img->GetWlBuffer()->GetTbmSurface();
+
+ return 0;
+}
+
extern "C" EXPORT int
screen_connector_launcher_service_image_get_tbm_surface_info(
screen_connector_launcher_service_image_h handle,