123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- // Copyright 2016 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_METRICS_POINTER_METRICS_RECORDER_H_
- #define ASH_METRICS_POINTER_METRICS_RECORDER_H_
- #include "ash/ash_export.h"
- #include "ui/events/event_handler.h"
- namespace ash {
- // Form factor of the down event.
- // This enum is used to control a UMA histogram buckets. If you change this
- // enum, you should update DownEventMetric as well.
- enum class DownEventFormFactor {
- kClamshell = 0,
- kTabletModeLandscape,
- kTabletModePortrait,
- kFormFactorCount,
- };
- // Input type of the down event.
- // This enum is used to control a UMA histogram buckets. If you change this
- // enum, you should update DownEventMetric as well.
- enum class DownEventSource {
- kUnknown = 0, // Deprecated, never occurs in practice.
- kMouse,
- kStylus,
- kTouch,
- kSourceCount,
- };
- // App type (Destination), Input and FormFactor Combination of the down event.
- // This enum is used to back an UMA histogram and new values should
- // be inserted immediately above kMaxValue.
- enum class DownEventMetric2 {
- // All "Unknown" types are deprecated, never occur in practice.
- kNonAppUnknownClamshell = 0,
- kNonAppUnknownTabletLandscape = 1,
- kNonAppUnknownTabletPortrait = 2,
- kNonAppMouseClamshell = 3,
- kNonAppMouseTabletLandscape = 4,
- kNonAppMouseTabletPortrait = 5,
- kNonAppStylusClamshell = 6,
- kNonAppStylusTabletLandscape = 7,
- kNonAppStylusTabletPortrait = 8,
- kNonAppTouchClamshell = 9,
- kNonAppTouchTabletLandscape = 10,
- kNonAppTouchTabletPortrait = 11,
- kBrowserUnknownClamshell = 12,
- kBrowserUnknownTabletLandscape = 13,
- kBrowserUnknownTabletPortrait = 14,
- kBrowserMouseClamshell = 15,
- kBrowserMouseTabletLandscape = 16,
- kBrowserMouseTabletPortrait = 17,
- kBrowserStylusClamshell = 18,
- kBrowserStylusTabletLandscape = 19,
- kBrowserStylusTabletPortrait = 20,
- kBrowserTouchClamshell = 21,
- kBrowserTouchTabletLandscape = 22,
- kBrowserTouchTabletPortrait = 23,
- kChromeAppUnknownClamshell = 24,
- kChromeAppUnknownTabletLandscape = 25,
- kChromeAppUnknownTabletPortrait = 26,
- kChromeAppMouseClamshell = 27,
- kChromeAppMouseTabletLandscape = 28,
- kChromeAppMouseTabletPortrait = 29,
- kChromeAppStylusClamshell = 30,
- kChromeAppStylusTabletLandscape = 31,
- kChromeAppStylusTabletPortrait = 32,
- kChromeAppTouchClamshell = 33,
- kChromeAppTouchTabletLandscape = 34,
- kChromeAppTouchTabletPortrait = 35,
- kArcAppUnknownClamshell = 36,
- kArcAppUnknownTabletLandscape = 37,
- kArcAppUnknownTabletPortrait = 38,
- kArcAppMouseClamshell = 39,
- kArcAppMouseTabletLandscape = 40,
- kArcAppMouseTabletPortrait = 41,
- kArcAppStylusClamshell = 42,
- kArcAppStylusTabletLandscape = 43,
- kArcAppStylusTabletPortrait = 44,
- kArcAppTouchClamshell = 45,
- kArcAppTouchTabletLandscape = 46,
- kArcAppTouchTabletPortrait = 47,
- kCrostiniAppUnknownClamshell = 48,
- kCrostiniAppUnknownTabletLandscape = 49,
- kCrostiniAppUnknownTabletPortrait = 50,
- kCrostiniAppMouseClamshell = 51,
- kCrostiniAppMouseTabletLandscape = 52,
- kCrostiniAppMouseTabletPortrait = 53,
- kCrostiniAppStylusClamshell = 54,
- kCrostiniAppStylusTabletLandscape = 55,
- kCrostiniAppStylusTabletPortrait = 56,
- kCrostiniAppTouchClamshell = 57,
- kCrostiniAppTouchTabletLandscape = 58,
- kCrostiniAppTouchTabletPortrait = 59,
- kSystemAppUnknownClamshell = 60,
- kSystemAppUnknownTabletLandscape = 61,
- kSystemAppUnknownTabletPortrait = 62,
- kSystemAppMouseClamshell = 63,
- kSystemAppMouseTabletLandscape = 64,
- kSystemAppMouseTabletPortrait = 65,
- kSystemAppStylusClamshell = 66,
- kSystemAppStylusTabletLandscape = 67,
- kSystemAppStylusTabletPortrait = 68,
- kSystemAppTouchClamshell = 69,
- kSystemAppTouchTabletLandscape = 70,
- kSystemAppTouchTabletPortrait = 71,
- kMaxValue = kSystemAppTouchTabletPortrait
- };
- // A metrics recorder that records pointer related metrics.
- class ASH_EXPORT PointerMetricsRecorder : public ui::EventHandler {
- public:
- PointerMetricsRecorder();
- PointerMetricsRecorder(const PointerMetricsRecorder&) = delete;
- PointerMetricsRecorder& operator=(const PointerMetricsRecorder&) = delete;
- ~PointerMetricsRecorder() override;
- // ui::EventHandler:
- void OnMouseEvent(ui::MouseEvent* event) override;
- void OnTouchEvent(ui::TouchEvent* event) override;
- };
- } // namespace ash
- #endif // ASH_METRICS_POINTER_METRICS_RECORDER_H_
|