Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ec7420e authored by Jun Mukai's avatar Jun Mukai
Browse files

Use invisible icon for POINTER_ICON_STYLE_NULL.

Change-Id: I10d35bdc4da4817d769eb164e6f15e4618670a05
parent 3a36f0a3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 =
+2 −1
Original line number Diff line number Diff line
@@ -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;
};


+8 −3
Original line number Diff line number Diff line
@@ -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;
}

// ----------------------------------------------------------------------------