Chromium Code Reviews| Index: views/touchui/touch_factory.h |
| diff --git a/views/touchui/touch_factory.h b/views/touchui/touch_factory.h |
| index 04114be97d1491fd7d4bb1ead2ba4023412448ff..25b87f00116b05eb23f8e0f4c01348e20c4327b9 100644 |
| --- a/views/touchui/touch_factory.h |
| +++ b/views/touchui/touch_factory.h |
| @@ -10,7 +10,9 @@ |
| #include <vector> |
| #include "base/singleton.h" |
| +#include "base/timer.h" |
| +typedef unsigned long Cursor; |
| typedef unsigned long Window; |
| typedef struct _XDisplay Display; |
| @@ -38,12 +40,38 @@ class TouchFactory { |
| // devices. |
| bool UngrabTouchDevices(Display* display); |
| + // Update the root window to show (or hide) the cursor. |
| + void SetCursorVisibility(bool show); |
|
sky
2011/01/26 16:17:00
SetCursorVisible.
sadrul
2011/01/26 17:57:11
Done.
|
| + |
| + // Whether the cursor is currently visible or not. |
| + bool IsCursorVisible() { |
|
sky
2011/01/26 16:17:00
Name of method should match field name and be unix
sadrul
2011/01/26 17:57:11
Cool. Done.
|
| + return !hiding_cursor_; |
| + } |
| + |
| private: |
| TouchFactory(); |
| + ~TouchFactory(); |
| + |
| + void HideCursorForInactivity() { |
| + SetCursorVisibility(false); |
| + } |
| + |
| // Requirement for Signleton |
| friend struct DefaultSingletonTraits<TouchFactory>; |
| + // The default cursor is hidden after startup, and when the mouse pointer is |
| + // idle for a while. Once there is some event from a mouse device, the cursor |
| + // is immediately displayed. |
| + bool hiding_cursor_; |
| + |
| + // The cursor is hidden if it is idle for a certain amount time. This timer |
| + // is used to keep track of the idleness. |
| + base::DelayTimer<TouchFactory> cursor_timer_; |
| + |
| + // The invisible cursor. |
| + Cursor invisible_; |
|
sky
2011/01/26 16:17:00
invisible_ -> invisible_cursor_
sadrul
2011/01/26 17:57:11
Done.
|
| + |
| // NOTE: To keep track of touch devices, we currently maintain a lookup table |
| // to quickly decide if a device is a touch device or not. We also maintain a |
| // list of the touch devices. Ideally, there will be only one touch device, |