Add Window::SetLayout method
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / macos / window-base-mac.h
index 547583d..4d3f047 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
 
 namespace Dali::Internal::Adaptor
 {
-
 /**
  * WindowBaseCocoa class provides an WindowBase Win32 implementation.
  */
 class WindowBaseCocoa : public WindowBase
 {
 public:
-
   struct Impl;
 
   /**
    * @brief Constructor
    */
-  WindowBaseCocoa( PositionSize positionSize, Any surface, bool isTransparent );
+  WindowBaseCocoa(PositionSize positionSize, Any surface, bool isTransparent);
 
   /**
    * @brief Destructor
@@ -44,7 +42,6 @@ public:
   ~WindowBaseCocoa();
 
 public:
-
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetNativeWindow()
    */
@@ -56,9 +53,14 @@ 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;
+  EGLNativeWindowType CreateEglWindow(int width, int height) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::DestroyEglWindow()
@@ -68,22 +70,22 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowRotation()
    */
-  void SetEglWindowRotation( int angle ) override;
+  void SetEglWindowRotation(int angle) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowBufferTransform()
    */
-  void SetEglWindowBufferTransform( int angle ) override;
+  void SetEglWindowBufferTransform(int angle) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetEglWindowTransform()
    */
-  void SetEglWindowTransform( int angle ) override;
+  void SetEglWindowTransform(int angle) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::ResizeEglWindow()
    */
-  void ResizeEglWindow( PositionSize positionSize ) override;
+  void ResizeEglWindow(PositionSize positionSize) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::IsEglWindowRotationSupported()
@@ -93,22 +95,27 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::Move()
    */
-  void Move( PositionSize positionSize ) override;
+  void Move(PositionSize positionSize) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::Resize()
    */
-  void Resize( PositionSize positionSize ) override;
+  void Resize(PositionSize positionSize) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::MoveResize()
    */
-  void MoveResize( PositionSize positionSize ) override;
+  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;
+  void SetClass(const std::string& name, const std::string& className) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::Raise()
@@ -126,19 +133,49 @@ 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;
+  void SetAvailableAnlges(const std::vector<int>& angles) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetPreferredAngle()
    */
-  void SetPreferredAngle( int angle ) override;
+  void SetPreferredAngle(int angle) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAcceptFocus()
    */
-  void SetAcceptFocus( bool accept ) override;
+  void SetAcceptFocus(bool accept) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::Show()
@@ -158,47 +195,52 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetSupportedAuxiliaryHint()
    */
-  std::string GetSupportedAuxiliaryHint( unsigned int index ) const override;
+  std::string GetSupportedAuxiliaryHint(unsigned int index) const override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::AddAuxiliaryHint()
    */
-  unsigned int AddAuxiliaryHint( const std::string& hint, const std::string& value ) override;
+  unsigned int AddAuxiliaryHint(const std::string& hint, const std::string& value) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::RemoveAuxiliaryHint()
    */
-  bool RemoveAuxiliaryHint( unsigned int id ) override;
+  bool RemoveAuxiliaryHint(unsigned int id) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAuxiliaryHintValue()
    */
-  bool SetAuxiliaryHintValue( unsigned int id, const std::string& value ) override;
+  bool SetAuxiliaryHintValue(unsigned int id, const std::string& value) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetAuxiliaryHintValue()
    */
-  std::string GetAuxiliaryHintValue( unsigned int id ) const override;
+  std::string GetAuxiliaryHintValue(unsigned int id) const override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetAuxiliaryHintId()
    */
-  unsigned int GetAuxiliaryHintId( const std::string& hint ) const override;
+  unsigned int GetAuxiliaryHintId(const std::string& hint) const override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetInputRegion()
    */
-  void SetInputRegion( const Rect< int >& inputRegion ) override;
+  void SetInputRegion(const Rect<int>& inputRegion) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetType()
    */
-  void SetType( Dali::WindowType type ) override;
+  void SetType(Dali::WindowType type) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetType()
+   */
+  Dali::WindowType GetType() const override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetNotificationLevel()
    */
-  bool SetNotificationLevel( WindowNotificationLevel level ) override;
+  WindowOperationResult SetNotificationLevel(WindowNotificationLevel level) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetNotificationLevel()
@@ -208,12 +250,12 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetOpaqueState()
    */
-  void SetOpaqueState( bool opaque ) override;
+  void SetOpaqueState(bool opaque) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetScreenOffMode()
    */
-  bool SetScreenOffMode(WindowScreenOffMode screenOffMode) override;
+  WindowOperationResult SetScreenOffMode(WindowScreenOffMode screenOffMode) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenOffMode()
@@ -223,7 +265,7 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetBrightness()
    */
-  bool SetBrightness( int brightness ) override;
+  WindowOperationResult SetBrightness(int brightness) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetBrightness()
@@ -233,39 +275,37 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GrabKey()
    */
-  bool GrabKey( Dali::KEY key, KeyGrab::KeyGrabMode grabMode ) override;
+  bool GrabKey(Dali::KEY key, KeyGrab::KeyGrabMode grabMode) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::UngrabKey()
    */
-  bool UngrabKey( Dali::KEY key ) override;
+  bool UngrabKey(Dali::KEY key) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GrabKeyList()
    */
   bool GrabKeyList(
-    const Dali::Vector< Dali::KEY >& key,
-    const Dali::Vector< KeyGrab::KeyGrabMode >& grabMode,
-    Dali::Vector< bool >& result
-  ) override;
+    const Dali::Vector<Dali::KEY>&            key,
+    const Dali::Vector<KeyGrab::KeyGrabMode>& grabMode,
+    Dali::Vector<bool>&                       result) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::UngrabKeyList()
    */
   bool UngrabKeyList(
-    const Dali::Vector< Dali::KEY >& key,
-    Dali::Vector< bool >& result
-  ) override;
+    const Dali::Vector<Dali::KEY>& key,
+    Dali::Vector<bool>&            result) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetDpi()
    */
-  void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) override;
+  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()
@@ -275,22 +315,22 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetWindowRotationAngle()
    */
-  void SetWindowRotationAngle( int degree ) override;
+  void SetWindowRotationAngle(int degree) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::WindowRotationCompleted()
    */
-  void WindowRotationCompleted( int degree, int width, int height ) override;
+  void WindowRotationCompleted(int degree, int width, int height) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetTransparency()
    */
-  void SetTransparency( bool transparent ) override;
+  void SetTransparency(bool transparent) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetParent()
    */
-  void SetParent( WindowBase* parentWinBase ) override;
+  void SetParent(WindowBase* parentWinBase, bool belowParent) override;
 
   /**
    * @copydoc  Dali::Internal::Adaptor::WindowBase::CreateFrameRenderedSyncFence()
@@ -302,10 +342,54 @@ public:
    */
   int CreateFramePresentedSyncFence() override;
 
-private:
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetPositionSizeWithAngle()
+   */
+  void SetPositionSizeWithAngle(PositionSize positionSize, int angle) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::InitializeIme()
+   */
+  void InitializeIme() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ImeWindowReadyToRender()
+   */
+  void ImeWindowReadyToRender() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::RequestMoveToServer()
+   */
+  void RequestMoveToServer() override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::RequestResizeToServer()
+   */
+  void RequestResizeToServer(WindowResizeDirection direction) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::EnableFloatingMode()
+   */
+  void EnableFloatingMode(bool enable) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IsFloatingModeEnabled()
+   */
+  bool IsFloatingModeEnabled() const override;
 
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::IncludeInputRegion()
+   */
+  void IncludeInputRegion(const Rect<int>& inputRegion) override;
+
+  /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::ExcludeInputRegion()
+   */
+  void ExcludeInputRegion(const Rect<int>& inputRegion) override;
+
+private:
   // Undefined
-  WindowBaseCocoa(const WindowBaseCocoa &) = delete;
+  WindowBaseCocoa(const WindowBaseCocoa&) = delete;
 
   // Undefined
   WindowBaseCocoa& operator=(const WindowBaseCocoa& rhs) = delete;