Add front buffer rendering APIs in Dali::Window
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / macos / window-base-mac.h
index ef88a7b..640d527 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 /*
- * Copyright (c) 2022 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.
@@ -108,6 +108,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;
@@ -138,6 +143,11 @@ public:
   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;
@@ -148,6 +158,11 @@ public:
   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;
@@ -288,9 +303,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()
@@ -372,6 +387,72 @@ 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;
+
+  /**
+   * @brief Sets front buffer rendering to the egl window.
+   * @param[in] enable True to enable front buffer rendering mode, False to otherwise.
+   */
+  void SetEglWindowFrontBufferMode(bool enable) override;
+
 private:
   // Undefined
   WindowBaseCocoa(const WindowBaseCocoa&) = delete;