Use invisible icon for POINTER_ICON_STYLE_NULL.
Change-Id: I10d35bdc4da4817d769eb164e6f15e4618670a05
This commit is contained in:
@ -78,7 +78,7 @@ PointerController::PointerController(const sp<PointerControllerPolicyInterface>&
|
||||
mLocked.pointerAlpha = 0.0f; // pointer is initially faded
|
||||
mLocked.pointerSprite = mSpriteController->createSprite();
|
||||
mLocked.pointerIconChanged = false;
|
||||
mLocked.requestedPointerShape = 0;
|
||||
mLocked.requestedPointerShape = mPolicy->getDefaultPointerIconId();
|
||||
|
||||
mLocked.buttonState = 0;
|
||||
|
||||
@ -512,7 +512,7 @@ void PointerController::updatePointerLocked() {
|
||||
|
||||
if (mLocked.pointerIconChanged || mLocked.presentationChanged) {
|
||||
if (mLocked.presentation == PRESENTATION_POINTER) {
|
||||
if (mLocked.requestedPointerShape == 0) {
|
||||
if (mLocked.requestedPointerShape == mPolicy->getDefaultPointerIconId()) {
|
||||
mLocked.pointerSprite->setIcon(mLocked.pointerIcon);
|
||||
} else {
|
||||
std::map<int, SpriteIcon>::const_iterator iter =
|
||||
|
@ -58,7 +58,8 @@ protected:
|
||||
|
||||
public:
|
||||
virtual void loadPointerResources(PointerResources* outResources) = 0;
|
||||
virtual void loadAdditionalMouseResources(std::map<int, SpriteIcon>* outResources) = 0;
|
||||
virtual void loadAdditionalMouseResources(std::map<int32_t, SpriteIcon>* outResources) = 0;
|
||||
virtual int32_t getDefaultPointerIconId() = 0;
|
||||
};
|
||||
|
||||
|
||||
|
@ -238,7 +238,8 @@ public:
|
||||
/* --- PointerControllerPolicyInterface implementation --- */
|
||||
|
||||
virtual void loadPointerResources(PointerResources* outResources);
|
||||
virtual void loadAdditionalMouseResources(std::map<int, SpriteIcon>* outResources);
|
||||
virtual void loadAdditionalMouseResources(std::map<int32_t, SpriteIcon>* outResources);
|
||||
virtual int32_t getDefaultPointerIconId();
|
||||
|
||||
private:
|
||||
sp<InputManager> mInputManager;
|
||||
@ -786,7 +787,7 @@ void NativeInputManager::setPointerIconShape(int32_t iconId) {
|
||||
sp<PointerController> controller = mLocked.pointerController.promote();
|
||||
if (controller != NULL) {
|
||||
// Use 0 (the default icon) for ARROW.
|
||||
controller->updatePointerShape((iconId == POINTER_ICON_STYLE_ARROW) ? 0 : iconId);
|
||||
controller->updatePointerShape(iconId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1040,15 +1041,19 @@ void NativeInputManager::loadPointerResources(PointerResources* outResources) {
|
||||
&outResources->spotAnchor);
|
||||
}
|
||||
|
||||
void NativeInputManager::loadAdditionalMouseResources(std::map<int, SpriteIcon>* outResources) {
|
||||
void NativeInputManager::loadAdditionalMouseResources(std::map<int32_t, SpriteIcon>* outResources) {
|
||||
JNIEnv* env = jniEnv();
|
||||
|
||||
for (int iconId = POINTER_ICON_STYLE_CONTEXT_MENU; iconId <= POINTER_ICON_STYLE_GRABBING;
|
||||
++iconId) {
|
||||
loadSystemIconAsSprite(env, mContextObj, iconId, &((*outResources)[iconId]));
|
||||
}
|
||||
loadSystemIconAsSprite(env, mContextObj, POINTER_ICON_STYLE_NULL, &((*outResources)[POINTER_ICON_STYLE_NULL]));
|
||||
}
|
||||
|
||||
int32_t NativeInputManager::getDefaultPointerIconId() {
|
||||
return POINTER_ICON_STYLE_ARROW;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
Reference in New Issue
Block a user