diff options
author | Jun Mukai <mukai@google.com> | 2015-09-11 18:08:31 -0700 |
---|---|---|
committer | Jun Mukai <mukai@google.com> | 2015-10-15 01:47:29 -0700 |
commit | 1db5397d88e722b1ab82ccb2b429ceec1179ccd8 (patch) | |
tree | 016fcb17678d0e555626c318956e11f7a99b9843 /libs/input/PointerController.h | |
parent | 0a5e256d9fd56607ab4bbd987268fbfa3fe935fe (diff) |
Allow changing mouse pointer icon for the current context.
Right now, it only supports I-beam on EditText, but further
rules will come in the future.
The png files for the icons are from chromium.
Bug: 24180385
Change-Id: I8de4ec8a5412b4830c08aa232c5083841c5c751c
Diffstat (limited to 'libs/input/PointerController.h')
-rw-r--r-- | libs/input/PointerController.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/input/PointerController.h b/libs/input/PointerController.h index b9e4ce7e7ed0..308ff1242064 100644 --- a/libs/input/PointerController.h +++ b/libs/input/PointerController.h @@ -19,6 +19,8 @@ #include "SpriteController.h" +#include <map> + #include <ui/DisplayInfo.h> #include <input/Input.h> #include <inputflinger/PointerControllerInterface.h> @@ -40,7 +42,6 @@ struct PointerResources { SpriteIcon spotAnchor; }; - /* * Pointer controller policy interface. * @@ -57,6 +58,7 @@ protected: public: virtual void loadPointerResources(PointerResources* outResources) = 0; + virtual void loadAdditionalMouseResources(std::map<int, SpriteIcon>* outResources) = 0; }; @@ -93,6 +95,7 @@ public: const uint32_t* spotIdToIndex, BitSet32 spotIdBits); virtual void clearSpots(); + void updatePointerShape(int iconId); void setDisplayViewport(int32_t width, int32_t height, int32_t orientation); void setPointerIcon(const SpriteIcon& icon); void setInactivityTimeout(InactivityTimeout inactivityTimeout); @@ -155,6 +158,10 @@ private: SpriteIcon pointerIcon; bool pointerIconChanged; + std::map<int, SpriteIcon> additionalMouseResources; + + int32_t requestedPointerShape; + int32_t buttonState; Vector<Spot*> spots; |