diff options
| author | 2023-11-10 15:48:19 +0000 | |
|---|---|---|
| committer | 2023-11-10 15:48:19 +0000 | |
| commit | 4677cb3107d04d9c08099c416cf98ef7dfc8862c (patch) | |
| tree | 0c01a9bfa1f4c0fd8bc9ce2f6905dd5769bd79bc /libs/input/PointerController.cpp | |
| parent | 0fab28563a722e7aa1f60aab904b5ca906071ed7 (diff) | |
| parent | b0e280722c6e876c1d23dd8d0140e33a4e846cd9 (diff) | |
Merge changes from topics "pointer-icon-refactor-comments", "pointer-icon-refactor-stylus", "pointer-icon-refactor-touch" into main
* changes:
  Address additional comments: Pointer icon refactor for touch/stylus
  Modify getPosition of disabled PointerController
  Pointer icon refactor for stylus (base)
  Pointer icon refactor for touch (base)
Diffstat (limited to 'libs/input/PointerController.cpp')
| -rw-r--r-- | libs/input/PointerController.cpp | 41 | 
1 files changed, 39 insertions, 2 deletions
diff --git a/libs/input/PointerController.cpp b/libs/input/PointerController.cpp index 576ebc1579ef..65e16056c106 100644 --- a/libs/input/PointerController.cpp +++ b/libs/input/PointerController.cpp @@ -74,6 +74,14 @@ 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::STYLUS: +            controller = std::shared_ptr<PointerController>( +                    new StylusPointerController(policy, looper, spriteController, enabled)); +            break;          case ControllerType::LEGACY:          default:              controller = std::shared_ptr<PointerController>( @@ -167,8 +175,7 @@ void PointerController::setPosition(float x, float y) {  FloatPoint PointerController::getPosition() const {      if (!mEnabled) { -        return FloatPoint{AMOTION_EVENT_INVALID_CURSOR_POSITION, -                          AMOTION_EVENT_INVALID_CURSOR_POSITION}; +        return FloatPoint{0, 0};      }      const int32_t displayId = mCursorController.getDisplayId(); @@ -397,4 +404,34 @@ MousePointerController::MousePointerController(const sp<PointerControllerPolicyI      PointerController::setPresentation(Presentation::POINTER);  } +MousePointerController::~MousePointerController() { +    MousePointerController::fade(Transition::IMMEDIATE); +} + +// --- TouchPointerController --- + +TouchPointerController::TouchPointerController(const sp<PointerControllerPolicyInterface>& policy, +                                               const sp<Looper>& looper, +                                               SpriteController& spriteController, bool enabled) +      : PointerController(policy, looper, spriteController, enabled) { +    PointerController::setPresentation(Presentation::SPOT); +} + +TouchPointerController::~TouchPointerController() { +    TouchPointerController::clearSpots(); +} + +// --- StylusPointerController --- + +StylusPointerController::StylusPointerController(const sp<PointerControllerPolicyInterface>& policy, +                                                 const sp<Looper>& looper, +                                                 SpriteController& spriteController, bool enabled) +      : PointerController(policy, looper, spriteController, enabled) { +    PointerController::setPresentation(Presentation::STYLUS_HOVER); +} + +StylusPointerController::~StylusPointerController() { +    StylusPointerController::fade(Transition::IMMEDIATE); +} +  } // namespace android  |