impl_->inst_id_.c_str());
}
+void RemoteSurface::SetSurfaceOwner(struct wl_surface* surface) {
+ impl_->surface_->SetSurfaceOwner(surface);
+}
+
} // namespace screen_connector
bool IsRemoteRender() const;
void ClearRemoteRender();
int SetRemoteRender();
+ void SetSurfaceOwner(struct wl_surface* surface);
void SetBlock(bool is_block);
virtual void Unbind();
bool IsBound() const;
virtual void TransferTouchCancel() = 0;
virtual void TransferMouseUp(int x, int y, unsigned int timestamp) = 0;
virtual void SetRemoteRender(bool set) = 0;
+ virtual void SetSurfaceOwner(struct wl_surface* surface) = 0;
virtual void SetChangedBufferEventFilter(int filter) = 0;
virtual void AddListener(IEventListener* listener) = 0;
virtual void Redirect() = 0;
#include "screen_connector_remote_surface/handle.h"
#include "screen_connector_remote_surface/trs_interface.h"
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "SC_REMOTE_SURFACE"
+
namespace screen_connector {
class TRS : public Handle<struct tizen_remote_surface*>, public ITRS {
tizen_remote_surface_set_remote_render(GetRaw(), 0);
}
+ void SetSurfaceOwner(struct wl_surface* surface) override {
+ tizen_remote_surface_set_owner(GetRaw(), surface);
+ LOGW("set owner for trs %p wl_surface %p ", GetRaw(), surface);
+ }
+
void SetChangedBufferEventFilter(int filter) override {
tizen_remote_surface_set_changed_buffer_event_filter(GetRaw(), filter);
}
void SetRemoteRender(bool set) override {
}
+ void SetSurfaceOwner(struct wl_surface* surface) override {
+ }
+
void SetChangedBufferEventFilter(int filter) override {
}
} else {
unsigned int win_id = ecore_wl2_window_id_get(wlWin);
impl_->winVisibility_map_[win_id] = GetVisibility(win_id);
+ if (impl_->parent_->GetType() == RemoteSurface::WIDGET)
+ impl_->parent_->SetSurfaceOwner(ecore_wl2_window_surface_get(wlWin));
}
isAdded = true;
}
rs->DisposeBuffer(tbm);
return 0;
}
+
+extern "C" EXPORT_API int
+screen_connector_toolkit_set_owner(screen_connector_toolkit_h handle,
+ struct wl_surface* surface) {
+ RemoteSurfaceToolkit* rs = static_cast<RemoteSurfaceToolkit*>(handle);
+ rs->SetSurfaceOwner(surface);
+ return 0;
+}
\ No newline at end of file