• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef INTERFACES_INNERKITS_WMSERVICE_IWINDOW_MANAGER_SERVICE_H
17 #define INTERFACES_INNERKITS_WMSERVICE_IWINDOW_MANAGER_SERVICE_H
18 
19 #include <vector>
20 
21 #include <display_type.h>
22 #include <promise.h>
23 #include <refbase.h>
24 #include <window_manager_type.h>
25 
26 #include "iwindow_change_listener_clazz.h"
27 #include "iwindow_manager_display_listener_clazz.h"
28 
29 #include "window_manager_service_type.h"
30 
31 namespace OHOS {
32 class IWindowManagerService : public RefBase {
33 public:
34     virtual ~IWindowManagerService() = default;
35 
36     virtual GSError GetDisplays(std::vector<struct WMDisplayInfo> &displays) = 0;
37     virtual sptr<PromisePowerStatus> GetDisplayPower(int32_t did) = 0;
38     virtual sptr<PromiseWMError> SetDisplayPower(int32_t did, DispPowerStatus status) = 0;
39     virtual sptr<PromiseBacklight> GetDisplayBacklight(int32_t did) = 0;
40     virtual sptr<PromiseWMError> SetDisplayBacklight(int32_t did, uint32_t level) = 0;
41     virtual sptr<PromiseWMError> SetDisplayMode(WMSDisplayMode modes) = 0;
42     virtual sptr<PromiseWMError> OnWindowListChange(IWindowChangeListenerClazz *listener) = 0;
43     virtual GSError GetDisplayModes(uint32_t &displayModes) = 0;
44     virtual GSError AddDisplayChangeListener(IWindowManagerDisplayListenerClazz *listener) = 0;
45 
46     virtual GSError SetDisplayDirection(WMSDisplayDirection direction) = 0;
47     virtual GSError OnDisplayDirectionChange(DisplayDirectionChangeFunc func) = 0;
48 
49     virtual sptr<PromiseWMError> SetStatusBarVisibility(bool visibility) = 0;
50     virtual sptr<PromiseWMError> SetNavigationBarVisibility(bool visibility) = 0;
51 
52     virtual sptr<PromiseWMSImageInfo> ShotScreen(int32_t did) = 0;
53     virtual sptr<PromiseWMSImageInfo> ShotWindow(int32_t wid) = 0;
54 
55     virtual sptr<PromiseWMError> DestroyWindow(int32_t wid) = 0;
56     virtual sptr<PromiseWMError> SwitchTop(int32_t wid) = 0;
57     virtual sptr<PromiseWMError> Show(int32_t wid) = 0;
58     virtual sptr<PromiseWMError> Hide(int32_t wid) = 0;
59     virtual sptr<PromiseWMError> Move(int32_t wid, int32_t x, int32_t y) = 0;
60     virtual sptr<PromiseWMError> Resize(int32_t wid, uint32_t width, uint32_t height) = 0;
61     virtual sptr<PromiseWMError> ScaleTo(int32_t wid, uint32_t width, uint32_t height) = 0;
62     virtual sptr<PromiseWMError> SetWindowType(int32_t wid, WindowType type) = 0;
63     virtual sptr<PromiseWMError> SetWindowMode(int32_t wid, WindowMode mode) = 0;
64 
65     virtual sptr<PromiseWMError> CreateVirtualDisplay(int32_t x, int32_t y, int32_t width, int32_t height) = 0;
66     virtual sptr<PromiseWMError> DestroyVirtualDisplay(uint32_t did) = 0;
67 
StartRotationAnimation(uint32_t did,int32_t degree)68     virtual GSError StartRotationAnimation(uint32_t did, int32_t degree)
69     {
70         return GSERROR_NOT_SUPPORT;
71     }
72 
73     virtual sptr<PromiseWMError> SetSplitMode(SplitMode mode, int32_t x = 0, int32_t y = 0)
74     {
75         return nullptr;
76     }
77 
CreateLaunchPage(const std::string & filename)78     virtual GSError CreateLaunchPage(const std::string &filename)
79     {
80         return GSERROR_NOT_SUPPORT;
81     }
82 
CancelLaunchPage()83     virtual GSError CancelLaunchPage()
84     {
85         return GSERROR_NOT_SUPPORT;
86     }
87 };
88 } // namespace OHOS
89 
90 #endif // INTERFACES_INNERKITS_WMSERVICE_IWINDOW_MANAGER_SERVICE_H
91