summaryrefslogtreecommitdiff
path: root/libs/input/PointerController.cpp
diff options
context:
space:
mode:
author Byoungho Jung <bh.jung@samsung.corp-partner.google.com> 2023-10-27 18:15:41 +0900
committer Prabir Pradhan <prabirmsp@google.com> 2023-11-08 20:29:09 +0000
commit51282e866164abcd81049e7837a44111c4ae5807 (patch)
tree1fc9506f861c9bb074662fbd6dd1d67cc5d169f2 /libs/input/PointerController.cpp
parente35a7eadf9f88c451a72a13a872eb05aae3bb69f (diff)
Pointer icon refactor for touch (base)
When PointerChoreographer is enabled, PointerChoreographer can create multiple TouchPointerControllers for each touch device when 'Show taps' is enabled. A TouchPointerController is reponsible for one touch device and it can show touch spots on the associated display. Test: atest libinputservice_test Bug: 293587049 Change-Id: I1a624a6a50023c530e709cc5fc0704b0b997125b
Diffstat (limited to 'libs/input/PointerController.cpp')
-rw-r--r--libs/input/PointerController.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp
index 576ebc1579ef..246db6c64c7f 100644
--- a/libs/input/PointerController.cpp
+++ b/libs/input/PointerController.cpp
@@ -74,6 +74,10 @@ std::shared_ptr<PointerController> PointerController::create(
controller = std::shared_ptr<PointerController>(
new MousePointerController(policy, looper, spriteController, enabled));
break;
+ case ControllerType::TOUCH:
+ controller = std::shared_ptr<PointerController>(
+ new TouchPointerController(policy, looper, spriteController, enabled));
+ break;
case ControllerType::LEGACY:
default:
controller = std::shared_ptr<PointerController>(
@@ -397,4 +401,13 @@ MousePointerController::MousePointerController(const sp<PointerControllerPolicyI
PointerController::setPresentation(Presentation::POINTER);
}
+// --- TouchPointerController ---
+
+TouchPointerController::TouchPointerController(const sp<PointerControllerPolicyInterface>& policy,
+ const sp<Looper>& looper,
+ SpriteController& spriteController, bool enabled)
+ : PointerController(policy, looper, spriteController, enabled) {
+ PointerController::setPresentation(Presentation::SPOT);
+}
+
} // namespace android