#define DALI_INTERNAL_WINDOWSYSTEM_COMMON_WINDOW_IMPL_H
/*
- * Copyright (c) 2021 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.
typedef Dali::DevelWindow::VisibilityChangedSignalType VisibilityChangedSignalType;
typedef Dali::DevelWindow::TransitionEffectEventSignalType TransitionEffectEventSignalType;
typedef Dali::DevelWindow::KeyboardRepeatSettingsChangedSignalType KeyboardRepeatSettingsChangedSignalType;
+ typedef Dali::DevelWindow::AuxiliaryMessageSignalType AuxiliaryMessageSignalType;
+ typedef Dali::DevelWindow::AccessibilityHighlightSignalType AccessibilityHighlightSignalType;
typedef Signal<void()> SignalType;
/**
void Activate();
/**
+ * @copydoc Dali::DevelWindow::Maximize()
+ */
+ void Maximize(bool maximize);
+
+ /**
+ * @copydoc Dali::DevelWindow::IsMaximized()
+ */
+ bool IsMaximized() const;
+
+ /**
+ * @copydoc Dali::DevelWindow::Minimize()
+ */
+ void Minimize(bool minimize);
+
+ /**
+ * @copydoc Dali::DevelWindow::IsMinimized()
+ */
+ bool IsMinimized() const;
+
+ /**
* @copydoc Dali::Window::GetLayerCount()
*/
uint32_t GetLayerCount() const;
Dali::RenderTaskList GetRenderTaskList() const;
/**
+ * @brief Get window resource ID assigned by window manager
+ * @return The resource ID of the window
+ */
+ std::string GetNativeResourceId() const;
+
+ /**
* @copydoc Dali::Window::AddAvailableOrientation()
*/
void AddAvailableOrientation(WindowOrientation orientation);
*/
void SetPositionSizeWithOrientation(PositionSize positionSize, WindowOrientation orientation);
+ /**
+ * @brief Emit the accessibility highlight signal.
+ * The highlight indicates that it is an object to interact with the user regardless of focus.
+ * After setting the highlight on the object, you can do things that the object can do, such as
+ * giving or losing focus.
+ *
+ * @param[in] highlight If window needs to grab or clear highlight.
+ */
+ void EmitAccessibilityHighlightSignal(bool highlight);
+
public: // Dali::Internal::Adaptor::SceneHolder
/**
* @copydoc Dali::Internal::Adaptor::SceneHolder::GetNativeHandle
*/
void SendRotationCompletedAcknowledgement();
+ /**
+ * @copydoc Dali::DevelWindow::IsWindowRotating()
+ */
+ bool IsWindowRotating() const;
+
private:
/**
* @brief Enumeration for orietation mode.
void OnUpdatePositionSize(Dali::PositionSize& positionSize);
/**
+ * @brief Called when display server sent the auxiliary message.
+ *
+ * @param[in] key the auxiliary message's key.
+ * @param[in] value the auxiliary message's value.
+ * @param[in] options the auxiliary message's options. This is the list of string.
+ */
+ void OnAuxiliaryMessage(const std::string& key, const std::string& value, const Property::Array& options);
+
+ /**
+ * @brief Called when Accessibility is enabled.
+ *
+ * This method is to register the window to accessibility bridge.
+ */
+ void OnAccessibilityEnabled();
+
+ /**
+ * @brief Called when Accessibility is disabled.
+ *
+ * This method is to remove the window from accessibility bridge.
+ */
+ void OnAccessibilityDisabled();
+
+ /**
* @brief Set available orientation to window base.
*/
void SetAvailableAnlges(const std::vector<int>& angles);
return mKeyboardRepeatSettingsChangedSignal;
}
+ /**
+ * @copydoc Dali::DevelWindow::AuxiliaryMessageSignal()
+ */
+ AuxiliaryMessageSignalType& AuxiliaryMessageSignal()
+ {
+ return mAuxiliaryMessageSignal;
+ }
+
+ /**
+ * @copydoc Dali::DevelWindow::AccessibilityHighlightSignal()
+ */
+ AccessibilityHighlightSignalType& AccessibilityHighlightSignal()
+ {
+ return mAccessibilityHighlightSignal;
+ }
+
private:
WindowRenderSurface* mWindowSurface; ///< The window rendering surface
WindowBase* mWindowBase;
bool mIconified : 1;
bool mOpaqueState : 1;
bool mWindowRotationAcknowledgement : 1;
+ bool mFocused : 1;
Dali::Window mParentWindow;
OrientationPtr mOrientation;
VisibilityChangedSignalType mVisibilityChangedSignal;
TransitionEffectEventSignalType mTransitionEffectEventSignal;
KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal;
+ AuxiliaryMessageSignalType mAuxiliaryMessageSignal;
+ AccessibilityHighlightSignalType mAccessibilityHighlightSignal;
};
} // namespace Adaptor