| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_AUTOCLICK_AUTOCLICK_CONTROLLER_H |
| #define ASH_AUTOCLICK_AUTOCLICK_CONTROLLER_H |
| |
| #include "ash/ash_export.h" |
| |
| namespace ash { |
| |
| // Controls the autoclick a11y feature in ash. |
| // If enabled, we will automatically send a click event a short time after |
| // the mouse had been at rest. |
| class ASH_EXPORT AutoclickController { |
| public: |
| virtual ~AutoclickController() {} |
| |
| // Set whether autoclicking is enabled. |
| virtual void SetEnabled(bool enabled) = 0; |
| |
| // Returns true if autoclicking is enabled. |
| virtual bool IsEnabled() const = 0; |
| |
| // Set the time to wait in milliseconds from when the mouse stops moving |
| // to when the autoclick event is sent. |
| virtual void SetAutoclickDelay(int delay_ms) = 0; |
| |
| // Returns the autoclick delay in milliseconds. |
| virtual int GetAutoclickDelay() const = 0; |
| |
| static AutoclickController* CreateInstance(); |
| |
| // The default wait time between last mouse movement and sending |
| // the autoclick. |
| static const int kDefaultAutoclickDelayMs; |
| |
| protected: |
| AutoclickController() {} |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_AUTOCLICK_AUTOCLICK_CONTROLLER_H |