Supports window modality and always top functions for specific commercial case.
Change-Id: Idce7f2750c683b37df83d320b9491f611a356215
return GetImplementation(window).GetFrontBufferRendering();
}
+void SetModal(Window window, bool modal)
+{
+ GetImplementation(window).SetModal(modal);
+}
+
+bool IsModal(Window window)
+{
+ return GetImplementation(window).IsModal();
+}
+
+void SetAlwaysOnTop(Window window, bool alwaysOnTop)
+{
+ GetImplementation(window).SetAlwaysOnTop(alwaysOnTop);
+}
+
+bool IsAlwaysOnTop(Window window)
+{
+ return GetImplementation(window).IsAlwaysOnTop();
+}
+
InterceptKeyEventSignalType& InterceptKeyEventSignal(Window window)
{
return GetImplementation(window).InterceptKeyEventSignal();
/**
* @brief Maximizes window's size.
+ *
* If this function is called with true, window will be resized with screen size.
* Otherwise window will be resized with previous size.
* It is for the window's MAX button in window's border.
/**
* @brief Minimizes window's size.
+ *
* If this function is called with true, window will be iconified.
* Otherwise window will be activated.
* It is for the window's MIN button in window border.
DALI_ADAPTOR_API bool GetFrontBufferRendering(Window window);
/**
+ * @brief Enables or disables the modal of window.
+ *
+ * @param[in] window The window instance.
+ * @param[in] modal true to enable the modal of window, false to disable.
+ */
+DALI_ADAPTOR_API void SetModal(Window window, bool modal);
+
+/**
+ * @brief Returns whether the window has a modal or not.
+ *
+ * @param[in] window The window instance.
+ * @return True if the window is modal, false otherwise.
+ */
+DALI_ADAPTOR_API bool IsModal(Window window);
+
+/**
+ * @brief Enables or disables the window always is on top.
+ *
+ * @param[in] window The window instance.
+ * @param[in] alwaysOnTop true to enable the window always is on top, false to disable.
+ */
+DALI_ADAPTOR_API void SetAlwaysOnTop(Window window, bool alwaysOnTop);
+
+/**
+ * @brief Returns whether the window always is on top.
+ *
+ * @param[in] window The window instance.
+ * @return True if the window always is on top, false otherwise.
+ */
+DALI_ADAPTOR_API bool IsAlwaysOnTop(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.
{
}
+void WindowBaseAndroid::SetModal(bool modal)
+{
+}
+
+bool WindowBaseAndroid::IsModal()
+{
+ return false;
+}
+
+void WindowBaseAndroid::SetAlwaysOnTop(bool alwaysOnTop)
+{
+}
+
+bool WindowBaseAndroid::IsAlwaysOnTop()
+{
+ return false;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetEglWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
private:
/**
* Second stage initialization
*/
virtual void SetEglWindowFrontBufferMode(bool enable) = 0;
+ /**
+ * @brief Enables or disables the modal of window.
+ *
+ * @param[in] modal true to enable the modal of window, false to disable.
+ */
+ virtual void SetModal(bool modal) = 0;
+
+ /**
+ * @brief Returns whether the window has a modal or not.
+ *
+ * @return True if the window is modal, false otherwise.
+ */
+ virtual bool IsModal() = 0;
+
+ /**
+ * @brief Enables or disables the window always is on top.
+ *
+ * @param[in] alwaysOnTop true to enable the window always is on top, false to disable.
+ */
+ virtual void SetAlwaysOnTop(bool alwaysOnTop) = 0;
+
+ /**
+ * @brief Returns whether the window always is on top.
+ *
+ * @return True if the window always is on top, false otherwise.
+ */
+ virtual bool IsAlwaysOnTop() = 0;
+
// Signals
/**
return mWindowBase->GetFrontBufferRendering();
}
+void Window::SetModal(bool modal)
+{
+ mWindowBase->SetModal(modal);
+}
+
+bool Window::IsModal()
+{
+ return mWindowBase->IsModal();
+}
+
+void Window::SetAlwaysOnTop(bool alwaysOnTop)
+{
+ mWindowBase->SetAlwaysOnTop(alwaysOnTop);
+}
+
+bool Window::IsAlwaysOnTop()
+{
+ return mWindowBase->IsAlwaysOnTop();
+}
+
+
} // namespace Adaptor
} // namespace Internal
*/
bool GetFrontBufferRendering();
+ /**
+ * @copydoc Dali::DevelWindow::SetModal()
+ */
+ void SetModal(bool modal);
+
+ /**
+ * @copydoc Dali::DevelWindow::IsModal()
+ */
+ bool IsModal();
+
+ /**
+ * @copydoc Dali::DevelWindow::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop);
+
+ /**
+ * @copydoc Dali::DevelWindow::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop();
+
private:
/**
* @brief Enumeration for orietation mode.
bool GetFrontBufferRendering() override;
/**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
+ /**
* @brief Sets front buffer rendering to the egl window.
* @param[in] enable True to enable front buffer rendering mode, False to otherwise.
*/
{
}
+void WindowBaseCocoa::SetModal(bool modal)
+{
+}
+
+bool WindowBaseCocoa::IsModal()
+{
+ return false;
+}
+
+void WindowBaseCocoa::SetAlwaysOnTop(bool alwaysOnTop)
+{
+}
+
+bool WindowBaseCocoa::IsAlwaysOnTop()
+{
+ return false;
+}
+
} // namespace Dali::Internal::Adaptor
@implementation CocoaView
wl_egl_window_tizen_set_frontbuffer_mode(mEglWindow, enable);
}
+void WindowBaseEcoreWl2::SetModal(bool modal)
+{
+ DALI_LOG_RELEASE_INFO("ecore_wl2_window_modal_set, window: [%p], flag [%d]\n", mEcoreWindow, modal);
+ START_DURATION_CHECK();
+ ecore_wl2_window_modal_set(mEcoreWindow, modal);
+ FINISH_DURATION_CHECK("ecore_wl2_window_modal_set");
+}
+
+bool WindowBaseEcoreWl2::IsModal()
+{
+ bool ret = ecore_wl2_window_modal_get(mEcoreWindow);
+ DALI_LOG_RELEASE_INFO("ecore_wl2_window_modal_get, window: [%p], flag [%d]\n", mEcoreWindow, ret);
+ return ret;
+}
+
+void WindowBaseEcoreWl2::SetAlwaysOnTop(bool alwaysOnTop)
+{
+ DALI_LOG_RELEASE_INFO("ecore_wl2_window_pin_mode_set, window: [%p], flag [%d]\n", mEcoreWindow, alwaysOnTop);
+ START_DURATION_CHECK();
+ ecore_wl2_window_pin_mode_set(mEcoreWindow, alwaysOnTop);
+ FINISH_DURATION_CHECK("ecore_wl2_window_pin_mode_set");
+}
+
+bool WindowBaseEcoreWl2::IsAlwaysOnTop()
+{
+ bool ret = ecore_wl2_window_pin_mode_get(mEcoreWindow);
+ DALI_LOG_RELEASE_INFO("ecore_wl2_window_pin_mode_get, window: [%p], flag [%d]\n", mEcoreWindow, ret);
+ return ret;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetEglWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
private:
/**
* Second stage initialization
{
}
+void WindowBaseEcoreX::SetModal(bool modal)
+{
+}
+
+bool WindowBaseEcoreX::IsModal()
+{
+ return false;
+}
+
+void WindowBaseEcoreX::SetAlwaysOnTop(bool alwaysOnTop)
+{
+}
+
+bool WindowBaseEcoreX::IsAlwaysOnTop()
+{
+ return false;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetEglWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
private:
/**
* Second stage initialization
{
}
+void WindowBaseWin::SetModal(bool modal)
+{
+}
+
+bool WindowBaseWin::IsModal()
+{
+ return false;
+}
+
+void WindowBaseWin::SetAlwaysOnTop(bool alwaysOnTop)
+{
+}
+
+bool WindowBaseWin::IsAlwaysOnTop()
+{
+ return false;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void SetEglWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
private:
/**
* Second stage initialization
void WindowBaseX::SetEglWindowFrontBufferMode(bool enable)
{
}
+void WindowBaseWin::SetModal(bool modal)
+{
+}
+
+bool WindowBaseWin::IsModal()
+{
+ return false;
+}
+
+void WindowBaseWin::SetAlwaysOnTop(bool alwaysOnTop)
+{
+}
+
+bool WindowBaseWin::IsAlwaysOnTop()
+{
+ return false;
+}
} // namespace Adaptor
*/
void SetEglWindowFrontBufferMode(bool enable) override;
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetModal()
+ */
+ void SetModal(bool modal) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsModal()
+ */
+ bool IsModal() override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::SetAlwaysOnTop()
+ */
+ void SetAlwaysOnTop(bool alwaysOnTop) override;
+
+ /**
+ * @copydoc Dali::Internal::Adaptor::WindowBase::IsAlwaysOnTop()
+ */
+ bool IsAlwaysOnTop() override;
+
private:
/**
* Second stage initialization