Add Maximize/Minimized in Window 90/266890/10
authorHosang Kim <hosang12.kim@samsung.com>
Mon, 22 Nov 2021 05:54:48 +0000 (14:54 +0900)
committerWonsik Jung <sidein@samsung.com>
Wed, 16 Feb 2022 02:27:45 +0000 (11:27 +0900)
1. Add Maximize/Minimized in Window.
This functions set maximized window or minimized window.
It is to support window border in client side.

2. Add log for egl window surface
For debugging, add log to print egl window surface's instance.

3. Fix window move or resize by display server.
When window is moved or resized by display server, DALi got configure notification event.
If DALi receives this event, DALi should not called ecore-wl2 window's move/resize function.

Change-Id: I0d1296996d9b6be152f7588913f1a16fef48f6df

21 files changed:
automated-tests/src/dali-adaptor/utc-Dali-Window.cpp
dali/devel-api/adaptor-framework/window-devel.cpp
dali/devel-api/adaptor-framework/window-devel.h
dali/internal/graphics/gles/egl-implementation.cpp
dali/internal/window-system/android/window-base-android.cpp
dali/internal/window-system/android/window-base-android.h
dali/internal/window-system/common/window-base.h
dali/internal/window-system/common/window-impl.cpp
dali/internal/window-system/common/window-impl.h
dali/internal/window-system/common/window-render-surface.cpp
dali/internal/window-system/common/window-render-surface.h
dali/internal/window-system/macos/window-base-mac.h
dali/internal/window-system/macos/window-base-mac.mm
dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.h
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.h
dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp
dali/internal/window-system/ubuntu-x11/window-base-ecore-x.h
dali/internal/window-system/windows/window-base-win.cpp
dali/internal/window-system/windows/window-base-win.h

index 895870d8f75e0dfe566ba109d2b76e032e417fe8..7386246288a3bae48979f5f0513f36e804c695d8 100644 (file)
@@ -198,6 +198,70 @@ int UtcDaliWindowActivateN(void)
   END_TEST;
 }
 
+int UtcDaliWindowMaximizeN(void)
+{
+  try
+  {
+    Dali::Window    instance;
+    DevelWindow::Maximize(instance, true);
+    DALI_TEST_CHECK(false); // Should not reach here!
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true);
+  }
+
+  END_TEST;
+}
+
+int UtcDaliWindowIsMaximizedN(void)
+{
+  try
+  {
+    Dali::Window    instance;
+    DevelWindow::IsMaximized(instance);
+    DALI_TEST_CHECK(false); // Should not reach here!
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true);
+  }
+
+  END_TEST;
+}
+
+int UtcDaliWindowMinimizeN(void)
+{
+  try
+  {
+    Dali::Window    instance;
+    DevelWindow::Minimize(instance, true);
+    DALI_TEST_CHECK(false); // Should not reach here!
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true);
+  }
+
+  END_TEST;
+}
+
+int UtcDaliWindowIsMinimizedN(void)
+{
+  try
+  {
+    Dali::Window    instance;
+    DevelWindow::IsMinimized(instance);
+    DALI_TEST_CHECK(false); // Should not reach here!
+  }
+  catch(...)
+  {
+    DALI_TEST_CHECK(true);
+  }
+
+  END_TEST;
+}
+
 int UtcDaliWindowAddAvailableOrientationN(void)
 {
   Dali::Window window;
index 9509691f2f7a32ecb8faba3ac89c1a29af5a90ae..b9aa46c2d4af9383de87dd9ba3d53c2d04d552e9 100644 (file)
@@ -219,6 +219,26 @@ void FeedKeyEvent(Window window, const Dali::KeyEvent& keyEvent)
   GetImplementation(window).FeedKeyEvent(convertedEvent);
 }
 
+void Maximize(Window window, bool maximize)
+{
+  GetImplementation(window).Maximize(maximize);
+}
+
+bool IsMaximized(Window window)
+{
+  return GetImplementation(window).IsMaximized();
+}
+
+void Minimize(Window window, bool miniimize)
+{
+  GetImplementation(window).Minimize(miniimize);
+}
+
+bool IsMinimized(Window window)
+{
+  return GetImplementation(window).IsMinimized();
+}
+
 } // namespace DevelWindow
 
 } // namespace Dali
index 39379e71ac7a4051660f389f6774cecdca8c8030..a4779f7916ade2047b98152e57125b3afceb9c97 100644 (file)
@@ -415,6 +415,50 @@ DALI_ADAPTOR_API void FeedWheelEvent(Window window, const Dali::WheelEvent& whee
  */
 DALI_ADAPTOR_API void FeedKeyEvent(Window window, const Dali::KeyEvent& keyEvent);
 
+/**
+ * @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.
+ *
+ * It is for client application.
+ * If window border is supported by display server, it is not necessary.
+ *
+ * @param[in] window The window instance.
+ * @param[in] maximize If window is maximized or unmaximized.
+ */
+DALI_ADAPTOR_API void Maximize(Window window, bool maximize);
+
+/**
+ * @brief Returns whether the window is maximized or not.
+ *
+ * @param[in] window The window instance.
+ * @return True if the window is maximized, false otherwise.
+ */
+DALI_ADAPTOR_API bool IsMaximized(Window window);
+
+/**
+ * @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.
+ *
+ * It is for client application.
+ * If window border is supported by display server, it is not necessary.
+ *
+ * @param[in] window The window instance.
+ * @param[in] minimize If window is minimized or unminimized(activated).
+ */
+DALI_ADAPTOR_API void Minimize(Window window, bool minimize);
+
+/**
+ * @brief Returns whether the window is minimized or not.
+ *
+ * @param[in] window The window instance.
+ * @return True if the window is minimized, false otherwise.
+ */
+DALI_ADAPTOR_API bool IsMinimized(Window window);
+
 } // namespace DevelWindow
 
 } // namespace Dali
index 976fab8c08f5e6d125ca4e188b4d2a5036b3d67a..b850f77c1cc9097f3abf090ec7729115e5ffca39 100644 (file)
@@ -384,7 +384,7 @@ void EglImplementation::SwapBuffers(EGLSurface& eglSurface)
 #ifndef DALI_PROFILE_UBUNTU
     if(mSwapBufferCountAfterResume < THRESHOLD_SWAPBUFFER_COUNT)
     {
-      DALI_LOG_RELEASE_INFO("EglImplementation::SwapBuffers started.\n");
+      DALI_LOG_RELEASE_INFO("EglImplementation::eglSwapBuffers started. eglSurface(%p)\n", eglSurface);
     }
 #endif //DALI_PROFILE_UBUNTU
 
@@ -394,7 +394,7 @@ void EglImplementation::SwapBuffers(EGLSurface& eglSurface)
 #ifndef DALI_PROFILE_UBUNTU
     if(mSwapBufferCountAfterResume < THRESHOLD_SWAPBUFFER_COUNT)
     {
-      DALI_LOG_RELEASE_INFO("EglImplementation::SwapBuffers finished.\n");
+      DALI_LOG_RELEASE_INFO("EglImplementation::eglSwapBuffers finished.\n");
       mSwapBufferCountAfterResume++;
     }
 #endif //DALI_PROFILE_UBUNTU
@@ -452,7 +452,7 @@ void EglImplementation::SwapBuffers(EGLSurface& eglSurface, const std::vector<Re
 #ifndef DALI_PROFILE_UBUNTU
     if(mSwapBufferCountAfterResume < THRESHOLD_SWAPBUFFER_COUNT)
     {
-      DALI_LOG_RELEASE_INFO("EglImplementation::SwapBuffers started.\n");
+      DALI_LOG_RELEASE_INFO("EglImplementation::eglSwapBuffersWithDamageKHR started. eglSurface(%p)\n", eglSurface);
     }
 #endif //DALI_PROFILE_UBUNTU
 
@@ -465,7 +465,7 @@ void EglImplementation::SwapBuffers(EGLSurface& eglSurface, const std::vector<Re
 #ifndef DALI_PROFILE_UBUNTU
     if(mSwapBufferCountAfterResume < THRESHOLD_SWAPBUFFER_COUNT)
     {
-      DALI_LOG_RELEASE_INFO("EglImplementation::SwapBuffers finished.\n");
+      DALI_LOG_RELEASE_INFO("EglImplementation::eglSwapBuffersWithDamageKHR finished.\n");
       mSwapBufferCountAfterResume++;
     }
 #endif //DALI_PROFILE_UBUNTU
index 9fc4ab7f2e2d0b4af977959f320c75ffe6930088..842bcb11dc30d1691cdde44f0754fd1981648778 100644 (file)
@@ -187,6 +187,24 @@ void WindowBaseAndroid::Activate()
 {
 }
 
+void WindowBaseAndroid::Maximize(bool maximize)
+{
+}
+
+bool WindowBaseAndroid::IsMaximized() const
+{
+  return false;
+}
+
+void WindowBaseAndroid::Minimize(bool minimize)
+{
+}
+
+bool WindowBaseAndroid::IsMinimized() const
+{
+  return false;
+}
+
 void WindowBaseAndroid::SetAvailableAnlges(const std::vector<int>& angles)
 {
 }
index 286ea5cfc4303acb24874a23cc0a04402dbd53f2..abfe7279795c50128ebdcfbf2f1709ace7ac34db 100644 (file)
@@ -193,6 +193,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
index 3ff602664763acc4712b6f18338119503e0fbeb6..d84e52873d3f63c624d471dd0883db761db5a170 100644 (file)
@@ -180,6 +180,26 @@ public:
    */
   virtual void Activate() = 0;
 
+  /**
+   * @copydoc Dali::DevelWindow::Maximize()
+   */
+  virtual void Maximize(bool maximize) = 0;
+
+  /**
+   * @copydoc Dali::DevelWindow::IsMaximized()
+   */
+  virtual bool IsMaximized() const = 0;
+
+  /**
+   * @copydoc Dali::DevelWindow::Minimize()
+   */
+  virtual void Minimize(bool minimize) = 0;
+
+  /**
+   * @copydoc Dali::DevelWindow::IsMinimized()
+   */
+  virtual bool IsMinimized() const = 0;
+
   /**
    * @copydoc Dali::Window::SetAvailableOrientations()
    */
index 58476e3466485ac8d9fd03aa596f8a430e84a6ec..fff3338e8d8c834db883844a243d7946dfbb440f 100644 (file)
@@ -232,6 +232,30 @@ void Window::Activate()
   DALI_LOG_RELEASE_INFO("Window (%p), WinId (%d), Activate() \n", this, mNativeWindowId);
 }
 
+void Window::Maximize(bool maximize)
+{
+  mWindowBase->Maximize(maximize);
+
+  DALI_LOG_RELEASE_INFO("Window (%p), WinId (%d), Maximize: %d\n", this, mNativeWindowId, maximize);
+}
+
+bool Window::IsMaximized() const
+{
+  return mWindowBase->IsMaximized();
+}
+
+void Window::Minimize(bool minimize)
+{
+  mWindowBase->Minimize(minimize);
+
+  DALI_LOG_RELEASE_INFO("Window (%p), WinId (%d), Minimize: %d\n", this, mNativeWindowId, minimize);
+}
+
+bool Window::IsMinimized() const
+{
+  return mWindowBase->IsMinimized();
+}
+
 uint32_t Window::GetLayerCount() const
 {
   return mScene.GetLayerCount();
@@ -804,7 +828,30 @@ void Window::OnWindowRedrawRequest()
 
 void Window::OnUpdatePositionSize(Dali::PositionSize& positionSize)
 {
-  SetPositionSize(positionSize);
+  PositionSize oldRect = mSurface->GetPositionSize();
+
+  mWindowSurface->UpdatePositionSize(positionSize);
+
+  PositionSize newRect = positionSize;
+
+  // When surface size is updated, inform adaptor of resizing and emit ResizeSignal
+  if((oldRect.width != newRect.width) || (oldRect.height != newRect.height))
+  {
+    Uint16Pair newSize(newRect.width, newRect.height);
+
+    SurfaceResized();
+
+    mAdaptor->SurfaceResizePrepare(mSurface.get(), newSize);
+
+    DALI_LOG_RELEASE_INFO("Window (%p), WinId (%d), Updated PositionSize by server :resize signal [%d x %d]\n", this, mNativeWindowId, newRect.width, newRect.height);
+    Dali::Window handle(this);
+    mResizeSignal.Emit(handle, newSize);
+    mAdaptor->SurfaceResizeComplete(mSurface.get(), newSize);
+  }
+
+  mSurface->SetFullSwapNextFrame();
+
+  Dali::Accessibility::Accessible::Get(mScene.GetRootLayer(), true)->EmitBoundsChanged(Dali::Rect<>(positionSize.x, positionSize.y, positionSize.width, positionSize.height));
 }
 
 void Window::OnTouchPoint(Dali::Integration::Point& point, int timeStamp)
index dc5bfc0b5fb98cc841b6f0935313d426b3fc35c3..dff9c283ea5070ccdb14b7c3ab1d7f084eb73aa6 100644 (file)
@@ -116,6 +116,26 @@ public:
    */
   void Activate();
 
+  /**
+   * @copydoc Dali::DevelWindow::Maximize()
+   */
+  void Maximize(bool maximize);
+
+  /**
+   * @copydoc Dali::DevelWindow::IsMaximized()
+   */
+  bool IsMaximized() const;
+
+  /**
+   * @copydoc Dali::DevelWindow::Minimize()
+   */
+  void Minimize(bool minimize);
+
+  /**
+   * @copydoc Dali::DevelWindow::IsMinimized()
+   */
+  bool IsMinimized() const;
+
   /**
    * @copydoc Dali::Window::GetLayerCount()
    */
index 6c714a873157c67ba70b43e2b27b3796f236fefe..7d539760b32f59b1451cad7176143e7fb50c64b3 100644 (file)
@@ -316,8 +316,9 @@ void WindowRenderSurface::CreateSurface()
   Internal::Adaptor::EglImplementation& eglImpl = eglGraphics->GetEglImplementation();
   mEGLSurface                                   = eglImpl.CreateSurfaceWindow(window, mColorDepth);
 
-  DALI_LOG_RELEASE_INFO("WindowRenderSurface::CreateSurface: WinId (%d), w = %d h = %d angle = %d screen rotation = %d\n",
+  DALI_LOG_RELEASE_INFO("WindowRenderSurface::CreateSurface: WinId (%d), EGLSurface (%p), w = %d h = %d angle = %d screen rotation = %d\n",
                         mWindowBase->GetNativeWindowId(),
+                        mEGLSurface,
                         mPositionSize.width,
                         mPositionSize.height,
                         mWindowRotationAngle,
@@ -377,6 +378,41 @@ bool WindowRenderSurface::ReplaceGraphicsSurface()
   return eglImpl.ReplaceSurfaceWindow(window, mEGLSurface, mEGLContext);
 }
 
+void WindowRenderSurface::UpdatePositionSize(Dali::PositionSize positionSize)
+{
+  bool needToMove   = false;
+  bool needToResize = false;
+
+  // Check moving
+  if((fabs(positionSize.x - mPositionSize.x) >= MINIMUM_DIMENSION_CHANGE) ||
+     (fabs(positionSize.y - mPositionSize.y) >= MINIMUM_DIMENSION_CHANGE))
+  {
+    needToMove = true;
+  }
+
+  // Check resizing
+  if((fabs(positionSize.width - mPositionSize.width) >= MINIMUM_DIMENSION_CHANGE) ||
+     (fabs(positionSize.height - mPositionSize.height) >= MINIMUM_DIMENSION_CHANGE))
+  {
+    needToResize = true;
+  }
+
+  if(needToResize)
+  {
+    mResizeFinished = false;
+    mPositionSize   = positionSize;
+  }
+  else
+  {
+    if(needToMove)
+    {
+      mPositionSize = positionSize;
+    }
+  }
+
+  DALI_LOG_INFO(gWindowRenderSurfaceLogFilter, Debug::Verbose, "WindowRenderSurface::MoveResize: %d, %d, %d, %d\n", mPositionSize.x, mPositionSize.y, mPositionSize.width, mPositionSize.height);
+}
+
 void WindowRenderSurface::MoveResize(Dali::PositionSize positionSize)
 {
   bool needToMove   = false;
index e0ef0ec5582db5555d8cd3fa86a8518112901c83..2c81fe81cbc8a9c0628d67905a4a037404963de6 100644 (file)
@@ -129,6 +129,15 @@ public: // API
    */
   void SetNeedsRotationCompletedAcknowledgement(bool needAcknowledgement);
 
+  /**
+   * @brief Updates window surface's position and size.
+   * It is just to update the local variable in window surface.
+   * This function is only called when window's position or size is changed by display server.
+   *
+   * @param[in] positionSize The updated window surface's position and size.
+   */
+  void UpdatePositionSize(Dali::PositionSize positionSize);
+
   /**
    * @brief This signal is emitted when the output is transformed.
    */
index 7831e5f7e98444da42523a7f86a645afb2c02c78..eef4f6ee50fd822acc767aa645d07bdd97c7eec5 100644 (file)
@@ -122,6 +122,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
index 0053e7926a37a9c76d9575ef94e69be5f53e0bfe..6ca0681a85a711c57d0bf8738276da4487fa7b99 100644 (file)
@@ -470,6 +470,24 @@ void WindowBaseCocoa::Activate()
   [mImpl->mWinController showWindow:nil];
 }
 
+void WindowBaseCocoa::Maximize(bool maximize)
+{
+}
+
+bool WindowBaseCocoa::IsMaximized() const
+{
+  return false;
+}
+
+void WindowBaseCocoa::Minimize(bool minimize)
+{
+}
+
+bool WindowBaseCocoa::IsMinimized() const
+{
+  return false;
+}
+
 void WindowBaseCocoa::SetAvailableAnlges( const std::vector< int >& angles )
 {
 }
index b5edc0aa99e93b61613edf9a803923970cb23577..6be7165211bb1fcd6b8c2f35c0bad1c32d24adfc 100644 (file)
@@ -1368,6 +1368,24 @@ void WindowBaseEcoreWl::Activate()
   ecore_wl_window_activate(mEcoreWindow);
 }
 
+void WindowBaseEcoreWl::Maximize(bool maximize)
+{
+}
+
+bool WindowBaseEcoreWl::IsMaximized() const
+{
+  return false;
+}
+
+void WindowBaseEcoreWl::Minimize(bool minimize)
+{
+}
+
+bool WindowBaseEcoreWl::IsMinimized() const
+{
+  return false;
+}
+
 void WindowBaseEcoreWl::SetAvailableAnlges(const std::vector<int>& angles)
 {
   int rotations[4] = {0};
index c1b4dbd1a8e193930d0dccfef4f4809686cc84f6..6bdbd1091fbe7ced7f3f7474d9bbf7794a42733c 100644 (file)
@@ -260,6 +260,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
index 5ee11be138083aabcdb84e94a03c4613eb4572f9..6041237565ad3e69b4a20da2cc6c42b32e22262e 100644 (file)
@@ -1073,6 +1073,8 @@ void WindowBaseEcoreWl2::OnConfiguration(void* data, int type, void* event)
     if(windowMoved || windowResized)
     {
       Dali::PositionSize newPositionSize(ev->x, ev->y, newWidth, newHeight);
+      mWindowPositionSize = newPositionSize;
+      DALI_LOG_RELEASE_INFO("Update position & resize signal by server, x[%d] y[%d] w[%d] h[%d]\n", newPositionSize.x, newPositionSize.y, newPositionSize.width, newPositionSize.height);
       mUpdatePositionSizeSignal.Emit(newPositionSize);
     }
 
@@ -1729,6 +1731,26 @@ void WindowBaseEcoreWl2::Activate()
   ecore_wl2_window_activate(mEcoreWindow);
 }
 
+void WindowBaseEcoreWl2::Maximize(bool maximize)
+{
+  ecore_wl2_window_maximized_set(mEcoreWindow, maximize);
+}
+
+bool WindowBaseEcoreWl2::IsMaximized() const
+{
+  return ecore_wl2_window_maximized_get(mEcoreWindow);
+}
+
+void WindowBaseEcoreWl2::Minimize(bool minimize)
+{
+  ecore_wl2_window_iconified_set(mEcoreWindow, minimize);
+}
+
+bool WindowBaseEcoreWl2::IsMinimized() const
+{
+  return ecore_wl2_window_iconified_get(mEcoreWindow);
+}
+
 void WindowBaseEcoreWl2::SetAvailableAnlges(const std::vector<int>& angles)
 {
   int rotations[4] = {0};
index f5fd0eadd03a90ad70dff75f2d9445d2c287f6e8..bf43ea32ec0da8dd3074806645d6c3435d3aa5be 100644 (file)
@@ -299,6 +299,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
index f7058dcbee065ca0547379d814ede10b1ebab1ac..3e00080234fac128386e1b59759da23c3b93cf88 100644 (file)
@@ -703,6 +703,24 @@ void WindowBaseEcoreX::Activate()
   ecore_x_netwm_client_active_request(ecore_x_window_root_get(mEcoreWindow), mEcoreWindow, 1 /* request type, 1:application, 2:pager */, 0);
 }
 
+void WindowBaseEcoreX::Maximize(bool maximize)
+{
+}
+
+bool WindowBaseEcoreX::IsMaximized() const
+{
+  return false;
+}
+
+void WindowBaseEcoreX::Minimize(bool minimize)
+{
+}
+
+bool WindowBaseEcoreX::IsMinimized() const
+{
+  return false;
+}
+
 void WindowBaseEcoreX::SetAvailableAnlges(const std::vector<int>& angles)
 {
 }
index 62d9b5831d30c0daed1a9801839d8aab4ef5cb4a..1e0e569af3ec355f22d962979941e54bc88b13b2 100644 (file)
@@ -194,6 +194,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
index 07c584e43efdb005c90f599ad53a6300c2fa8e97..3bac5a43ae4581bd055b53d2460c1a55b45bc221 100644 (file)
@@ -309,6 +309,24 @@ void WindowBaseWin::Activate()
 {
 }
 
+void WindowBaseWin::Maximize(bool maximize)
+{
+}
+
+bool WindowBaseWin::IsMaximized() const
+{
+  return false;
+}
+
+void WindowBaseWin::Minimize(bool minimize)
+{
+}
+
+bool WindowBaseWin::IsMinimized() const
+{
+  return false;
+}
+
 void WindowBaseWin::SetAvailableAnlges(const std::vector<int>& angles)
 {
 }
index a98e8b8bad2cdc4c8eaf610203d3904b74d12ad1..ae3a8c2f7e8a2cbd91ddf0087b4a92e68078b771 100644 (file)
@@ -181,6 +181,26 @@ public:
    */
   void Activate() override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Maximize()
+   */
+  void Maximize(bool maximize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMaximized()
+   */
+  bool IsMaximized() const override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::Minimize()
+   */
+  void Minimize(bool minimize) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMinimized()
+   */
+  bool IsMinimized() const override;
+
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */