Supports to get window native buffer.
It is for synchronization between window buffer and external buffer.
In addition, add the connection of scene in video player.
Change-Id: Id8986d1aa723ce11b21221a9a5a2a435f1a93baa
return GetImplementation(window).IsAlwaysOnTop();
}
+Any GetNativeBuffer(Window window)
+{
+ return GetImplementation(window).GetNativeBuffer();
+}
+
InterceptKeyEventSignalType& InterceptKeyEventSignal(Window window)
{
return GetImplementation(window).InterceptKeyEventSignal();
DALI_ADAPTOR_API bool IsAlwaysOnTop(Window window);
/**
+ * @brief Gets the native buffer of the window.
+ *
+ * When users call this function, it wraps the actual type used by the underlying window system.
+ * @return The native buffer of the Window or an empty handle
+ */
+DALI_ADAPTOR_API Any GetNativeBuffer(Window window);
+
+/**
* @brief The user would connect to this signal to intercept a KeyEvent at window.
*
* Intercepts KeyEvents in the window before dispatching KeyEvents to the control.
return false;
}
+Any WindowBaseAndroid::GetNativeBuffer() const
+{
+ return 0;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
bool IsAlwaysOnTop() override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
private:
/**
* Second stage initialization
*/
virtual bool IsAlwaysOnTop() = 0;
+ /**
+ * @brief Get native buffer of window.
+ * @return The native window buffer handle
+ */
+ virtual Any GetNativeBuffer() const = 0;
+
// Signals
/**
return mWindowBase->IsAlwaysOnTop();
}
+Dali::Any Window::GetNativeBuffer() const
+{
+ return mWindowBase->GetNativeBuffer();
+}
} // namespace Adaptor
*/
bool IsAlwaysOnTop();
+ /**
+ * @copydoc Dali::DevelWindow::GetNativeBuffer()
+ */
+ Dali::Any GetNativeBuffer() const;
+
private:
/**
* @brief Enumeration for orietation mode.
*/
void SetWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
+
private:
// Undefined
WindowBaseCocoa(const WindowBaseCocoa&) = delete;
return false;
}
+Any WindowBaseCocoa::GetNativeBuffer() const
+{
+ return 0;
+}
+
} // namespace Dali::Internal::Adaptor
@implementation CocoaView
{
}
+Any WindowBaseEcoreWl::GetNativeWindow()
+{
+ return mEglWindow;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
private:
/**
* Second stage initialization
return ret;
}
+Any WindowBaseEcoreWl2::GetNativeBuffer() const
+{
+ DALI_LOG_RELEASE_INFO("Get wl_egl_window, ecore_window: [%p], wl_egl_window [%p]\n", mEcoreWindow, mEglWindow);
+ return mEglWindow;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
bool IsAlwaysOnTop() override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
private:
/**
* Second stage initialization
return false;
}
+Any WindowBaseEcoreX::GetNativeBuffer() const
+{
+ return 0;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
bool IsAlwaysOnTop() override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
private:
/**
* Second stage initialization
return false;
}
+Any WindowBaseWin::GetNativeBuffer() const
+{
+ return 0;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
bool IsAlwaysOnTop() override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() override;
+
private:
/**
* Second stage initialization
return false;
}
+Any WindowBaseX::GetNativeBuffer()
+{
+ return 0;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
bool IsAlwaysOnTop() override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeBuffer()
+ */
+ Any GetNativeBuffer() const override;
+
private:
/**
* Second stage initialization