summaryrefslogtreecommitdiff
path: root/libs/input/PointerController.h
diff options
context:
space:
mode:
authorJun Mukai <mukai@google.com>2015-09-11 18:08:31 -0700
committerJun Mukai <mukai@google.com>2015-10-15 01:47:29 -0700
commit1db5397d88e722b1ab82ccb2b429ceec1179ccd8 (patch)
tree016fcb17678d0e555626c318956e11f7a99b9843 /libs/input/PointerController.h
parent0a5e256d9fd56607ab4bbd987268fbfa3fe935fe (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.h9
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;