#pragma once
/*
- * 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.
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;
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 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 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()
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::SetScreenOffMode()
*/
- bool SetScreenOffMode(WindowScreenOffMode screenOffMode) override;
+ WindowOperationResult SetScreenOffMode(WindowScreenOffMode screenOffMode) override;
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenOffMode()
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::SetBrightness()
*/
- bool SetBrightness(int brightness) override;
+ WindowOperationResult SetBrightness(int brightness) override;
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::GetBrightness()
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()
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::SetParent()
*/
- void SetParent(WindowBase* parentWinBase) override;
+ void SetParent(WindowBase* parentWinBase, bool belowParent) override;
/**
* @copydoc Dali::Internal::Adaptor::WindowBase::CreateFrameRenderedSyncFence()
*/
int CreateFramePresentedSyncFence() override;
+ /**
+ * @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;
+
+ /**
+ * @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;