From fd8666df526a6fe317e4f3bb98a9dc2cbca872e5 Mon Sep 17 00:00:00 2001 From: Andrii Kulian Date: Fri, 5 Oct 2018 16:58:39 -0700 Subject: Load correct resources for pointer icon on external screen When mouse pointer changes displays, it should also reload the icon from new resources. Otherwise, if the densities of the previous and new displays are different, the size of the pointer sprite will look too small or too large. - Add getDisplayContext to get the corresponding Context by displayId. - Cache system pointer icons per display, clear if display removed. - Fix icon moved to default when not resetting out of task bound. Bug: 113559891 Test: Enable mouse pointer on default display, move to other screen Change-Id: Ic42d0ec32d9c979281e13c83b9e8b57134fd4f0d --- libs/input/PointerController.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libs/input/PointerController.h') diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h index a32cc42a3342..be057867890d 100644 --- a/libs/input/PointerController.h +++ b/libs/input/PointerController.h @@ -62,10 +62,10 @@ protected: virtual ~PointerControllerPolicyInterface() { } public: - virtual void loadPointerIcon(SpriteIcon* icon) = 0; - virtual void loadPointerResources(PointerResources* outResources) = 0; + virtual void loadPointerIcon(SpriteIcon* icon, int32_t displayId) = 0; + virtual void loadPointerResources(PointerResources* outResources, int32_t displayId) = 0; virtual void loadAdditionalMouseResources(std::map* outResources, - std::map* outAnimationResources) = 0; + std::map* outAnimationResources, int32_t displayId) = 0; virtual int32_t getDefaultPointerIconId() = 0; virtual int32_t getCustomPointerIconId() = 0; }; -- cgit v1.2.3-59-g8ed1b