• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 I_POINTER_DRAWING_MANAGER_H
17 #define I_POINTER_DRAWING_MANAGER_H
18 
19 #include "pointer_style.h"
20 #include "window_info.h"
21 #include "delegate_interface.h"
22 
23 namespace OHOS {
24 namespace MMI {
25 class IPointerDrawingManager {
26 public:
27     IPointerDrawingManager() = default;
28     virtual ~IPointerDrawingManager() = default;
29 
30     static IPointerDrawingManager* GetInstance();
DrawPointer(int32_t displayId,int32_t physicalX,int32_t physicalY,const PointerStyle pointerStyle,Direction direction)31     virtual void DrawPointer(int32_t displayId, int32_t physicalX, int32_t physicalY,
32         const PointerStyle pointerStyle, Direction direction) {}
UpdateDisplayInfo(const DisplayInfo & displayInfo)33     virtual void UpdateDisplayInfo(const DisplayInfo& displayInfo) {}
OnDisplayInfo(const DisplayGroupInfo & displayGroupInfo)34     virtual void OnDisplayInfo(const DisplayGroupInfo& displayGroupInfo) {}
OnWindowInfo(const WinInfo & info)35     virtual void OnWindowInfo(const WinInfo &info) {}
Init()36     virtual bool Init()
37     {
38         return true;
39     }
DeletePointerVisible(int32_t pid)40     virtual void DeletePointerVisible(int32_t pid) {}
SetPointerVisible(int32_t pid,bool visible,int32_t priority,bool isHap)41     virtual int32_t SetPointerVisible(int32_t pid, bool visible, int32_t priority, bool isHap)
42     {
43         return 0;
44     }
GetPointerVisible(int32_t pid)45     virtual bool GetPointerVisible(int32_t pid)
46     {
47         return true;
48     }
SetPointerColor(int32_t color)49     virtual int32_t SetPointerColor(int32_t color)
50     {
51         return 0;
52     }
GetPointerColor()53     virtual int32_t GetPointerColor()
54     {
55         return 0;
56     }
57     virtual int32_t SetPointerStyle(int32_t pid, int32_t windowId, PointerStyle pointerStyle,
58         bool isUiExtension = false)
59     {
60         return 0;
61     }
ClearWindowPointerStyle(int32_t pid,int32_t windowId)62     virtual int32_t ClearWindowPointerStyle(int32_t pid, int32_t windowId)
63     {
64         return 0;
65     }
66     virtual int32_t GetPointerStyle(int32_t pid, int32_t windowId, PointerStyle &pointerStyle,
67         bool isUiExtension = false)
68     {
69         return 0;
70     }
DrawPointerStyle(const PointerStyle & pointerStyle)71     virtual void DrawPointerStyle(const PointerStyle& pointerStyle) {}
IsPointerVisible()72     virtual bool IsPointerVisible()
73     {
74         return false;
75     }
SetPointerLocation(int32_t x,int32_t y,int32_t displayId)76     virtual void SetPointerLocation(int32_t x, int32_t y, int32_t displayId) {}
SetMouseDisplayState(bool state)77     virtual void SetMouseDisplayState(bool state) {}
GetMouseDisplayState()78     virtual bool GetMouseDisplayState() const
79     {
80         return false;
81     }
SetCustomCursor(void * pixelMap,int32_t pid,int32_t windowId,int32_t focusX,int32_t focusY)82     virtual int32_t SetCustomCursor(void* pixelMap, int32_t pid, int32_t windowId, int32_t focusX, int32_t focusY)
83     {
84         return 0;
85     }
SetCustomCursor(int32_t pid,int32_t windowId,CustomCursor cursor,CursorOptions options)86     virtual int32_t SetCustomCursor(int32_t pid, int32_t windowId, CustomCursor cursor, CursorOptions options)
87     {
88         return 0;
89     }
SetMouseIcon(int32_t pid,int32_t windowId,void * pixelMap)90     virtual int32_t SetMouseIcon(int32_t pid, int32_t windowId, void* pixelMap)
91     {
92         return 0;
93     }
SetMouseHotSpot(int32_t pid,int32_t windowId,int32_t hotSpotX,int32_t hotSpotY)94     virtual int32_t SetMouseHotSpot(int32_t pid, int32_t windowId, int32_t hotSpotX, int32_t hotSpotY)
95     {
96         return 0;
97     }
SetPointerSize(int32_t size)98     virtual int32_t SetPointerSize(int32_t size)
99     {
100         return 0;
101     }
GetPointerSize()102     virtual int32_t GetPointerSize()
103     {
104         return 0;
105     }
GetPointerImageSize(int32_t & width,int32_t & height)106     virtual void GetPointerImageSize(int32_t &width, int32_t &height)
107     {
108         return;
109     }
110 
111     virtual int32_t GetCursorSurfaceId(uint64_t &surfaceId);
112 
GetLastMouseStyle()113     virtual PointerStyle GetLastMouseStyle()
114     {
115         return {};
116     }
GetIconStyle(const MOUSE_ICON mouseStyle)117     virtual IconStyle GetIconStyle(const MOUSE_ICON mouseStyle)
118     {
119         return {};
120     }
GetMouseIconPath()121     virtual const std::map<MOUSE_ICON, IconStyle>& GetMouseIconPath()
122     {
123         static std::map<MOUSE_ICON, IconStyle> emptyMap;
124         return emptyMap;
125     }
SwitchPointerStyle()126     virtual int32_t SwitchPointerStyle()
127     {
128         return 0;
129     }
DrawMovePointer(int32_t displayId,int32_t physicalX,int32_t physicalY)130     virtual void DrawMovePointer(int32_t displayId, int32_t physicalX, int32_t physicalY) {}
Dump(int32_t fd,const std::vector<std::string> & args)131     virtual void Dump(int32_t fd, const std::vector<std::string> &args) {}
InitPointerCallback()132     virtual void InitPointerCallback() {}
InitScreenInfo()133     virtual void InitScreenInfo() {}
EnableHardwareCursorStats(int32_t pid,bool enable)134     virtual int32_t EnableHardwareCursorStats(int32_t pid, bool enable)
135     {
136         return 0;
137     }
GetHardwareCursorStats(int32_t pid,uint32_t & frameCount,uint32_t & vsyncCount)138     virtual int32_t GetHardwareCursorStats(int32_t pid, uint32_t &frameCount, uint32_t &vsyncCount)
139     {
140         return 0;
141     }
142 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
GetPointerSnapshot(void * pixelMapPtr)143     virtual int32_t GetPointerSnapshot(void *pixelMapPtr)
144     {
145         return 0;
146     }
147 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
ForceClearPointerVisiableStatus()148     virtual void ForceClearPointerVisiableStatus() {}
InitPointerObserver()149     virtual void InitPointerObserver() {}
OnSessionLost(int32_t pid)150     virtual void OnSessionLost(int32_t pid) {}
SkipPointerLayer(bool isSkip)151     virtual int32_t SkipPointerLayer(bool isSkip)
152     {
153         return 0;
154     }
SetDelegateProxy(std::shared_ptr<DelegateInterface> proxy)155     virtual void SetDelegateProxy(std::shared_ptr<DelegateInterface> proxy) {}
DestroyPointerWindow()156     virtual void DestroyPointerWindow() {}
DrawScreenCenterPointer(const PointerStyle & pointerStyle)157     virtual void DrawScreenCenterPointer(const PointerStyle &pointerStyle) {}
SubscribeScreenModeChange()158     virtual void SubscribeScreenModeChange() {}
UpdateMouseLayer(const PointerStyle & pointerStyle,int32_t displayId,int32_t physicalX,int32_t physicalY)159     virtual int32_t UpdateMouseLayer(const PointerStyle& pointerStyle,
160         int32_t displayId, int32_t physicalX, int32_t physicalY)
161     {
162         return 0;
163     }
DrawNewDpiPointer()164     virtual int32_t DrawNewDpiPointer()
165     {
166         return 0;
167     }
168 #ifdef OHOS_BUILD_ENABLE_HARDWARE_CURSOR
IsSupported()169     virtual bool IsSupported()
170     {
171         return false;
172     }
173 #endif // OHOS_BUILD_ENABLE_HARDWARE_CURSOR
174 };
175 } // namespace MMI
176 } // namespace OHOS
177 #endif // I_POINTER_DRAWING_MANAGER_H
178