• 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 "old_display_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(uint64_t rsId,int32_t physicalX,int32_t physicalY,const PointerStyle pointerStyle,Direction direction)31     virtual void DrawPointer(uint64_t rsId, int32_t physicalX, int32_t physicalY,
32         const PointerStyle pointerStyle, Direction direction) {}
UpdateDisplayInfo(const OLD::DisplayInfo & displayInfo)33     virtual void UpdateDisplayInfo(const OLD::DisplayInfo& displayInfo) {}
OnDisplayInfo(const OLD::DisplayGroupInfo & displayGroupInfo)34     virtual void OnDisplayInfo(const OLD::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,uint64_t rsId)76     virtual void SetPointerLocation(int32_t x, int32_t y, uint64_t rsId) {}
SetMouseDisplayState(bool state)77     virtual void SetMouseDisplayState(bool state) {}
GetMouseDisplayState()78     virtual bool GetMouseDisplayState() const
79     {
80         return false;
81     }
SetCustomCursor(CursorPixelMap curPixelMap,int32_t pid,int32_t windowId,int32_t focusX,int32_t focusY)82     virtual int32_t SetCustomCursor(CursorPixelMap curPixelMap,
83         int32_t pid, int32_t windowId, int32_t focusX, int32_t focusY)
84     {
85         return 0;
86     }
SetCustomCursor(int32_t pid,int32_t windowId,CustomCursor cursor,CursorOptions options)87     virtual int32_t SetCustomCursor(int32_t pid, int32_t windowId, CustomCursor cursor, CursorOptions options)
88     {
89         return 0;
90     }
SetMouseIcon(int32_t pid,int32_t windowId,CursorPixelMap curPixelMap)91     virtual int32_t SetMouseIcon(int32_t pid, int32_t windowId, CursorPixelMap curPixelMap)
92     {
93         return 0;
94     }
SetMouseHotSpot(int32_t pid,int32_t windowId,int32_t hotSpotX,int32_t hotSpotY)95     virtual int32_t SetMouseHotSpot(int32_t pid, int32_t windowId, int32_t hotSpotX, int32_t hotSpotY)
96     {
97         return 0;
98     }
SetPointerSize(int32_t size)99     virtual int32_t SetPointerSize(int32_t size)
100     {
101         return 0;
102     }
GetPointerSize()103     virtual int32_t GetPointerSize()
104     {
105         return 0;
106     }
GetPointerImageSize(int32_t & width,int32_t & height)107     virtual void GetPointerImageSize(int32_t &width, int32_t &height)
108     {
109         return;
110     }
111 
112     virtual int32_t GetCursorSurfaceId(uint64_t &surfaceId);
113 
GetLastMouseStyle()114     virtual PointerStyle GetLastMouseStyle()
115     {
116         return {};
117     }
GetIconStyle(const MOUSE_ICON mouseStyle)118     virtual IconStyle GetIconStyle(const MOUSE_ICON mouseStyle)
119     {
120         return {};
121     }
GetMouseIconPath()122     virtual const std::map<MOUSE_ICON, IconStyle>& GetMouseIconPath()
123     {
124         static std::map<MOUSE_ICON, IconStyle> emptyMap;
125         return emptyMap;
126     }
SwitchPointerStyle()127     virtual int32_t SwitchPointerStyle()
128     {
129         return 0;
130     }
DrawMovePointer(uint64_t rsId,int32_t physicalX,int32_t physicalY)131     virtual void DrawMovePointer(uint64_t rsId, int32_t physicalX, int32_t physicalY) {}
Dump(int32_t fd,const std::vector<std::string> & args)132     virtual void Dump(int32_t fd, const std::vector<std::string> &args) {}
InitPointerCallback()133     virtual void InitPointerCallback() {}
InitScreenInfo()134     virtual void InitScreenInfo() {}
EnableHardwareCursorStats(int32_t pid,bool enable)135     virtual int32_t EnableHardwareCursorStats(int32_t pid, bool enable)
136     {
137         return 0;
138     }
GetHardwareCursorStats(int32_t pid,uint32_t & frameCount,uint32_t & vsyncCount)139     virtual int32_t GetHardwareCursorStats(int32_t pid, uint32_t &frameCount, uint32_t &vsyncCount)
140     {
141         return 0;
142     }
GetCurrentDisplayInfo()143     virtual OLD::DisplayInfo GetCurrentDisplayInfo()
144     {
145         return {};
146     }
147 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
GetPointerSnapshot(void * pixelMapPtr)148     virtual int32_t GetPointerSnapshot(void *pixelMapPtr)
149     {
150         return 0;
151     }
152 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
ForceClearPointerVisiableStatus()153     virtual void ForceClearPointerVisiableStatus() {}
InitPointerObserver()154     virtual void InitPointerObserver() {}
OnSessionLost(int32_t pid)155     virtual void OnSessionLost(int32_t pid) {}
SkipPointerLayer(bool isSkip)156     virtual int32_t SkipPointerLayer(bool isSkip)
157     {
158         return 0;
159     }
SetDelegateProxy(std::shared_ptr<DelegateInterface> proxy)160     virtual void SetDelegateProxy(std::shared_ptr<DelegateInterface> proxy) {}
GetDelegateProxy()161     virtual std::shared_ptr<DelegateInterface> GetDelegateProxy()
162     {
163         return nullptr;
164     }
DestroyPointerWindow()165     virtual void DestroyPointerWindow() {}
DrawScreenCenterPointer(const PointerStyle & pointerStyle)166     virtual void DrawScreenCenterPointer(const PointerStyle &pointerStyle) {}
SubscribeScreenModeChange()167     virtual void SubscribeScreenModeChange() {}
RegisterDisplayStatusReceiver()168     virtual void RegisterDisplayStatusReceiver() {}
UpdateMouseLayer(const PointerStyle & pointerStyle,int32_t physicalX,int32_t physicalY)169     virtual int32_t UpdateMouseLayer(const PointerStyle& pointerStyle,
170         int32_t physicalX, int32_t physicalY)
171     {
172         return 0;
173     }
DrawNewDpiPointer()174     virtual int32_t DrawNewDpiPointer()
175     {
176         return 0;
177     }
AttachAllSurfaceNode()178     virtual void AttachAllSurfaceNode() {}
DetachAllSurfaceNode()179     virtual void DetachAllSurfaceNode() {}
CheckHwcReady()180     virtual int32_t CheckHwcReady()
181     {
182         return 0;
183     }
GetHardCursorEnabled()184     virtual bool GetHardCursorEnabled()
185     {
186         return false;
187     }
188 #ifndef OHOS_BUILD_ENABLE_WATCH
NotifyPointerEventToRS(int32_t pointAction,int32_t pointCnt)189     virtual void NotifyPointerEventToRS(int32_t pointAction, int32_t pointCnt) {}
190 #endif // OHOS_BUILD_ENABLE_WATCH
191 };
192 } // namespace MMI
193 } // namespace OHOS
194 #endif // I_POINTER_DRAWING_MANAGER_H
195