win_ctx_(mock ? nullptr : new WindowContext()) {
}
+void RemoteSurfaceEvas::Impl::OnMove(const EvasObject& obj, void* eventInfo) {
+ if (!is_init_) {
+ is_init_ = true;
+ return;
+ }
+
+ if (!auto_visibility_)
+ return;
+
+ Ecore_Wl2_Window *window = NULL;
+ Ecore_Evas *ee;
+ ee = ecore_evas_ecore_evas_get(
+ evas_object_evas_get(viewer_win_->GetRaw()));
+ window = ecore_evas_wayland2_window_get(ee);
+
+ unsigned int win_id = ecore_wl2_window_id_get(window);
+ if (parent_->IsVisibleArea() && !parent_->impl_->win_ctx_->IsFullyObscured(win_id)) {
+ parent_->SendVisibility(true);
+ visibility_ = RemoteSurfaceEvas::UNOBSCURED;
+ } else {
+ parent_->SendVisibility(false);
+ visibility_ = RemoteSurfaceEvas::FULLY_OBSCURED;
+ }
+}
+
+void RemoteSurfaceEvas::Impl::OnShow(const EvasObject& obj, void* eventInfo) {
+ LOGD("show");
+ OnMove(obj, eventInfo);
+}
+
+void RemoteSurfaceEvas::Impl::OnHide(const EvasObject& obj, void* eventInfo) {
+ LOGD("hide");
+}
+
+void RemoteSurfaceEvas::Impl::OnResize(const EvasObject& obj, void* eventInfo) {
+ LOGD("resize");
+ OnMove(obj, eventInfo);
+}
bool RemoteSurfaceEvas::IsVisibleArea() const {
int x, y, w, h;
private:
Impl(RemoteSurfaceEvas* parent,
std::shared_ptr<EvasObject> viewerWin, bool mock);
-
+ void OnMove(const EvasObject& obj, void* eventInfo) override;
+ void OnShow(const EvasObject& obj, void* eventInfo) override;
+ void OnHide(const EvasObject& obj, void* eventInfo) override;
+ void OnResize(const EvasObject& obj, void* eventInfo) override;
private:
friend class RemoteSurfaceEvas;