diff options
Diffstat (limited to 'libs/input/PointerController.cpp')
-rw-r--r-- | libs/input/PointerController.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index 6a1167a02c0b..529849e99fb6 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -439,6 +439,17 @@ void PointerController::updatePointerShape(int32_t iconId) { } } +void PointerController::setCustomPointerIcon(const SpriteIcon& icon) { + AutoMutex _l(mLock); + + const int32_t iconId = mPolicy->getCustomPointerIconId(); + mLocked.additionalMouseResources[iconId] = icon; + mLocked.requestedPointerShape = iconId; + mLocked.presentationChanged = true; + + updatePointerLocked(); +} + void PointerController::handleMessage(const Message& message) { switch (message.what) { case MSG_INACTIVITY_TIMEOUT: |