+bool WindowBaseEcoreWl2::PointerConstraintsLock()
+{
+#ifdef OVER_TIZEN_VERSION_8
+ return ecore_wl2_window_pointer_constraints_lock_pointer(mEcoreWindow);
+#else
+ return false;
+#endif
+}
+
+bool WindowBaseEcoreWl2::PointerConstraintsUnlock()
+{
+#ifdef OVER_TIZEN_VERSION_8
+ return ecore_wl2_window_pointer_constraints_unlock_pointer(mEcoreWindow);
+#else
+ return false;
+#endif
+}
+
+void WindowBaseEcoreWl2::LockedPointerRegionSet(int32_t x, int32_t y, int32_t width, int32_t height)
+{
+#ifdef OVER_TIZEN_VERSION_8
+ ecore_wl2_window_locked_pointer_region_set(mEcoreWindow, x, y, width, height);
+ ecore_wl2_window_commit(mEcoreWindow, EINA_TRUE);
+#endif
+}
+
+void WindowBaseEcoreWl2::LockedPointerCursorPositionHintSet(int32_t x, int32_t y)
+{
+#ifdef OVER_TIZEN_VERSION_8
+ ecore_wl2_window_locked_pointer_cursor_position_hint_set(mEcoreWindow, x, y);
+ ecore_wl2_window_commit(mEcoreWindow, EINA_TRUE);
+#endif
+}
+
+bool WindowBaseEcoreWl2::PointerWarp(int32_t x, int32_t y)
+{
+ return ecore_wl2_window_pointer_warp(mEcoreWindow, x, y);
+}
+
+void WindowBaseEcoreWl2::CursorVisibleSet(bool visible)
+{
+#ifdef OVER_TIZEN_VERSION_8
+ ecore_wl2_window_cursor_visible_set(mEcoreWindow, visible);
+#endif
+}
+
+// Request grab key events according to the requested device subtype
+//(For now, subtype could be '0'/'11'/'12' which equals to ECORE_DEVICE_SUBCLASS_NONE/REMOCON/VIRTUAL_KEYBOARD)
+bool WindowBaseEcoreWl2::KeyboardGrab(Device::Subclass::Type deviceSubclass)
+{
+#ifdef OVER_TIZEN_VERSION_8
+ Ecore_Device_Subclass ecoreDeviceSubclass;
+ switch(deviceSubclass)
+ {
+ case Device::Subclass::NONE:
+ {
+ ecoreDeviceSubclass = ECORE_DEVICE_SUBCLASS_NONE;
+ break;
+ }
+ case Device::Subclass::REMOCON:
+ {
+ ecoreDeviceSubclass = ECORE_DEVICE_SUBCLASS_REMOCON;
+ break;
+ }
+ case Device::Subclass::VIRTUAL_KEYBOARD:
+ {
+ ecoreDeviceSubclass = ECORE_DEVICE_SUBCLASS_VIRTUAL_KEYBOARD;
+ break;
+ }
+ default:
+ {
+ DALI_LOG_ERROR("deviceSubclass : %d type is not support, subtype could be 'NONE', 'REMOCON', 'VIRTUAL_KEYBOARD'\n");
+ return false;
+ }
+ }
+ return ecore_wl2_window_keyboard_grab(mEcoreWindow, ecoreDeviceSubclass);
+#else
+ return false;
+#endif
+}
+
+// Request ungrab key events
+bool WindowBaseEcoreWl2::KeyboardUnGrab()
+{
+#ifdef OVER_TIZEN_VERSION_8
+ return ecore_wl2_window_keyboard_ungrab(mEcoreWindow);
+#else
+ return false;
+#endif
+}
+
+void WindowBaseEcoreWl2::SetFullScreen(bool fullscreen)
+{
+ DALI_LOG_RELEASE_INFO("ecore_wl2_window_fullscreen_set, window: [%p], fullscreen [%d]\n", mEcoreWindow, fullscreen);
+ START_DURATION_CHECK();
+ ecore_wl2_window_fullscreen_set(mEcoreWindow, fullscreen);
+ ecore_wl2_window_commit(mEcoreWindow, EINA_TRUE);
+ FINISH_DURATION_CHECK("ecore_wl2_window_fullscreen_set");
+}
+
+bool WindowBaseEcoreWl2::GetFullScreen()
+{
+ return ecore_wl2_window_fullscreen_get(mEcoreWindow);
+}
+
+void WindowBaseEcoreWl2::SetFrontBufferRendering(bool enable)
+{
+ mIsFrontBufferRendering = enable;
+}
+
+bool WindowBaseEcoreWl2::GetFrontBufferRendering()
+{
+ return mIsFrontBufferRendering;
+}
+
+void WindowBaseEcoreWl2::SetEglWindowFrontBufferMode(bool enable)
+{
+ 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;
+}
+