Add front buffer rendering APIs in Dali::Window
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / ubuntu-x11 / window-base-ecore-x.h
index 2a34f8f..f705111 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_WINDOWSYSTEM_ECOREX_WINDOW_BASE_ECORE_X_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -49,6 +49,11 @@ public:
 
 public:
   /**
+   * @brief Called when the window configuration is changed.
+   */
+  void OnWindowConfigure(void* event);
+
+  /**
    * @brief Called when the window property is changed.
    */
   Eina_Bool OnWindowPropertyChanged(void* data, int type, void* event);
@@ -125,6 +130,11 @@ public:
   int GetNativeWindowId() override;
 
   /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeWindowResourceId()
+   */
+  std::string GetNativeWindowResourceId() override;
+
+  /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::CreateEglWindow()
    */
   EGLNativeWindowType CreateEglWindow(int width, int height) override;
@@ -175,6 +185,11 @@ public:
   void MoveResize(PositionSize positionSize) override;
 
   /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetLayout()
+   */
+  void SetLayout(unsigned int numCols, unsigned int numRows, unsigned int column, unsigned int row, unsigned int colSpan, unsigned int rowSpan) override;
+
+  /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetClass()
    */
   void SetClass(const std::string& name, const std::string& className) override;
@@ -195,6 +210,36 @@ 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::SetMaximumSize()
+   */
+  void SetMaximumSize(Dali::Window::WindowSize size) 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::SetMimimumSize()
+   */
+  void SetMimimumSize(Dali::Window::WindowSize size) override;
+
+  /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
   void SetAvailableAnlges(const std::vector<int>& angles) override;
@@ -330,9 +375,9 @@ public:
   void GetDpi(unsigned int& dpiHorizontal, unsigned int& dpiVertical) override;
 
   /**
-   * @copydoc Dali::Internal::Adaptor::WindowBase::GetOrientation()
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetWindowRotationAngle()
    */
-  int GetOrientation() const override;
+  int GetWindowRotationAngle() const override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenRotationAngle()
@@ -357,7 +402,7 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetParent()
    */
-  void SetParent(WindowBase* parentWinBase) override;
+  void SetParent(WindowBase* parentWinBase, bool belowParent) override;
 
   /**
    * @copydoc  Dali::Internal::Adaptor::WindowBase::CreateFrameRenderedSyncFence()
@@ -414,6 +459,71 @@ public:
    */
   void ExcludeInputRegion(const Rect<int>& inputRegion) override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::PointerConstraintsLock()
+   */
+  bool PointerConstraintsLock() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::PointerConstraintsUnlock()
+   */
+  bool PointerConstraintsUnlock() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::LockedPointerRegionSet()
+   */
+  void LockedPointerRegionSet(int32_t x, int32_t y, int32_t width, int32_t height) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::LockedPointerCursorPositionHintSet()
+   */
+  void LockedPointerCursorPositionHintSet(int32_t x, int32_t y) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::PointerWarp()
+   */
+  bool PointerWarp(int32_t x, int32_t y) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::CursorVisibleSet()
+   */
+  void CursorVisibleSet(bool visible) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::KeyboardGrab()
+   */
+  bool KeyboardGrab(Device::Subclass::Type deviceSubclass) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::KeyboardUnGrab()
+   */
+  bool KeyboardUnGrab() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetFullScreen()
+   */
+  void SetFullScreen(bool fullscreen) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetFullScreen()
+   */
+  bool GetFullScreen() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetFrontBufferRendering()
+   */
+  void SetFrontBufferRendering(bool enable) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetFrontBufferRendering()
+   */
+  bool GetFrontBufferRendering() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowFrontBufferMode()
+   */
+  void SetEglWindowFrontBufferMode(bool enable) override;
+
 private:
   /**
    * Second stage initialization