#define DALI_INTERNAL_WINDOWSYSTEM_TIZENWAYLAND_WINDOW_BASE_ECORE_WL2_H
/*
- * 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.
void OnMouseWheel(void* data, int type, void* event);
/**
+ * @brief Called when a mouse in or out is received.
+ */
+ void OnMouseInOut(void* data, int type, void* event, Dali::DevelWindow::MouseInOutEvent::Type action);
+
+ /**
* @brief Called when a detent rotation event is recevied.
*/
void OnDetentRotation(void* data, int type, void* event);
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 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()
*/
PositionSize RecalculatePositionSizeToCurrentOrientation(PositionSize positionSize);
+ /**
+ * @brief Return the rect value to recalulate with the default system coordinates.
+ *
+ * Some native window APIs work the geometry value based on the default system coordinates.
+ * IncludeInputRegion() and ExcludeInputRegion() are one of them.
+ * When the window is rotated, current window's geometry already were set with the rotated angle.
+ * If IncludeInputRegion() or ExcludeInputRegion() are called with rotated angle by application,
+ * the rect's area should be re-calcuated on the default system coordinates.
+ *
+ * @param[in] rect the window's current position and size with current window rotation angle.
+ * @return the re-calculated rect on the default system coordinates.
+ */
+ Rect<int> RecalculateInputRect(const Rect<int>& rect);
+
protected:
// Undefined
WindowBaseEcoreWl2(const WindowBaseEcoreWl2&) = delete;
int mWindowRotationAngle;
int mScreenRotationAngle;
int mSupportedPreProtation;
- int mScreenWidth;
- int mScreenHeight;
uint32_t mNotificationChangeState;
uint32_t mScreenOffModeChangeState;