1 // Copyright 2023 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BROWSER_WRT_NATIVE_WINDOW_ON_SCREEN_H_
6 #define BROWSER_WRT_NATIVE_WINDOW_ON_SCREEN_H_
8 #include "wrt/src/browser/wrt_native_window_delegate.h"
10 typedef struct _Ecore_Event_Handler Ecore_Event_Handler;
14 class WRTNativeWindowOnScreen : public WRTNativeWindowDelegate {
16 WRTNativeWindowOnScreen();
17 ~WRTNativeWindowOnScreen() override {}
20 Evas_Object* GetWindowEvasObject() override;
21 Evas_Object* GetTopWindow() override;
22 Evas_Object* GetConformant() override {
24 LOG(WARNING) << "conformant is not created in on-screen";
28 WRTWindowTreeHost* GetWindowTreeHost(WRTNativeWindow* native_window) override;
29 void OnNativeWindowDestroyed(WRTNativeWindow* native_window) override;
31 void ClearHandlers() override;
32 void InitRotation() override;
33 int SetRotationState(bool is_auto, int degree = -1) override;
34 void SetContentView(WRTNativeWindow* native_window,
35 views::View* view) override;
36 void Show(WRTNativeWindow* native_window) override;
38 bool IsFocused(WRTNativeWindow* native_window) override;
39 void Focus(WRTNativeWindow* native_window, bool focus) override;
40 void OnConformantChange() override;
42 void ActiveAuraWindow(bool active);
43 void CheckAndResetWidgetClient(WRTNativeWindow* native_window);
44 void RemoveWidgetClient(WRTNativeWindow* native_window) override;
46 std::unique_ptr<WRTWindowTreeHost> host_;
47 std::vector<Ecore_Event_Handler*> handlers_;
52 #endif // BROWSER_WRT_NATIVE_WINDOW_ON_SCREEN_H_