OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ | 5 #ifndef ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ |
6 #define ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ | 6 #define ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
11 | 11 |
12 namespace ash { | 12 namespace ash { |
13 | 13 |
14 // Palette tools are grouped into different categories. Each tool corresponds to | 14 // Palette tools are grouped into different categories. Each tool corresponds to |
15 // exactly one group, and at most one tool can be active per group. Actions are | 15 // exactly one group, and at most one tool can be active per group. Actions are |
16 // actions the user wants to do, such as take a screenshot, and modes generally | 16 // actions the user wants to do, such as take a screenshot, and modes generally |
17 // change OS behavior, like showing a laser pointer instead of a cursor. A mode | 17 // change OS behavior, like showing a laser pointer instead of a cursor. A mode |
18 // is active until the user completes the action or disables it. | 18 // is active until the user completes the action or disables it. |
19 enum class PaletteGroup { ACTION, MODE }; | 19 enum class PaletteGroup { ACTION, MODE }; |
20 | 20 |
21 enum class PaletteToolId { | 21 enum class PaletteToolId { |
22 NONE, | 22 NONE, |
23 CREATE_NOTE, | 23 CREATE_NOTE, |
24 CAPTURE_REGION, | 24 CAPTURE_REGION, |
25 CAPTURE_SCREEN, | 25 CAPTURE_SCREEN, |
26 LASER_POINTER, | 26 LASER_POINTER, |
27 MAGNIFY, | 27 MAGNIFY, |
28 }; | 28 }; |
29 | 29 |
| 30 // Usage of each pen palette option. This enum is used to back an UMA histogram |
| 31 // and should be treated as append-only. |
| 32 enum PaletteTrayOptions { |
| 33 PALETTE_CLOSED_NO_ACTION = 0, |
| 34 PALETTE_SETTINGS_BUTTON, |
| 35 PALETTE_HELP_BUTTON, |
| 36 PALETTE_CAPTURE_REGION, |
| 37 PALETTE_CAPTURE_SCREEN, |
| 38 PALETTE_NEW_NOTE, |
| 39 PALETTE_MAGNIFY, |
| 40 PALETTE_LASER_POINTER, |
| 41 PALETTE_OPTIONS_COUNT |
| 42 }; |
| 43 |
| 44 // Type of palette mode cancellation. This enum is used to back an UMA histogram |
| 45 // and should be treated as append-only. |
| 46 enum PaletteModeCancelType { |
| 47 PALETTE_MODE_LASER_POINTER_CANCELLED = 0, |
| 48 PALETTE_MODE_LASER_POINTER_SWITCHED, |
| 49 PALETTE_MODE_MAGNIFY_CANCELLED, |
| 50 PALETTE_MODE_MAGNIFY_SWITCHED, |
| 51 PALETTE_MODE_CANCEL_TYPE_COUNT |
| 52 }; |
| 53 |
30 // Helper functions that convert PaletteToolIds and PaletteGroups to strings. | 54 // Helper functions that convert PaletteToolIds and PaletteGroups to strings. |
31 ASH_EXPORT std::string PaletteToolIdToString(PaletteToolId tool_id); | 55 ASH_EXPORT std::string PaletteToolIdToString(PaletteToolId tool_id); |
32 ASH_EXPORT std::string PaletteGroupToString(PaletteGroup group); | 56 ASH_EXPORT std::string PaletteGroupToString(PaletteGroup group); |
33 | 57 |
| 58 // Helper functions that convert PaletteToolIds to PaletteTrayOptions. |
| 59 ASH_EXPORT PaletteTrayOptions |
| 60 PaletteToolIdToPaletteTrayOptions(PaletteToolId tool_id); |
| 61 |
| 62 // Helper functions that convert PaletteToolIds to PaletteModeCancelType. |
| 63 ASH_EXPORT PaletteModeCancelType |
| 64 PaletteToolIdToPaletteModeCancelType(PaletteToolId tool_id, bool is_switched); |
| 65 |
34 } // namespace ash | 66 } // namespace ash |
35 | 67 |
36 #endif // ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ | 68 #endif // ASH_COMMON_SYSTEM_CHROMEOS_PALETTE_PALETTE_IDS_H_ |
OLD | NEW |