OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef ASH_WM_WORKSPACE_WORKSPACE_CYCLER_CONFIGURATION_H_ | |
6 #define ASH_WM_WORKSPACE_WORKSPACE_CYCLER_CONFIGURATION_H_ | |
7 | |
8 #include "ash/ash_export.h" | |
9 | |
10 namespace base { | |
11 class ListValue; | |
12 } | |
13 | |
14 namespace ash { | |
15 | |
16 // Sets and retrieves properties related to cycling workspaces. | |
17 class ASH_EXPORT WorkspaceCyclerConfiguration { | |
18 public: | |
19 enum Property { | |
20 // The y offsets for the workspaces which are shallower than the selected | |
21 // workspace with respect to the top of the screen workarea. The offset at | |
22 // index 0 is for the workspace closest to the selected workspace. The size | |
23 // of the ListValue limits the amount of visible workspaces shallower than | |
24 // the selected workspace. | |
25 SHALLOWER_THAN_SELECTED_Y_OFFSETS, | |
26 | |
27 // The y offsets for the workspaces which are deeper than the selected | |
28 // workspace with respect to the bottom of the screen workarea. The offset | |
29 // at index 0 is for the workspace closest to the selected workspace. The | |
30 // size of the ListValue limits the amount of visible workspaces deeper | |
31 // than the selected workspace. | |
32 DEEPER_THAN_SELECTED_Y_OFFSETS, | |
33 | |
34 // The y offset of the selected workspace with respect to the top of the | |
35 // screen workarea. | |
36 SELECTED_Y_OFFSET, | |
37 | |
38 SELECTED_SCALE, | |
39 MIN_SCALE, | |
40 MAX_SCALE, | |
41 MIN_BRIGHTNESS, | |
42 | |
43 // The background opacity while the user is cycling through workspaces. | |
44 BACKGROUND_OPACITY, | |
45 | |
46 // The vertical scroll distance in pixels to initiate workspace cycling. | |
47 DISTANCE_TO_INITIATE_CYCLING, | |
48 | |
49 // The vertical scroll distance in pixels to cycle to the next / previous | |
50 // workspace. | |
51 SCROLL_DISTANCE_TO_CYCLE_TO_NEXT_WORKSPACE, | |
52 | |
53 // The ratio of the duration of the animation in milliseconds to the amount | |
54 // that the user has scrolled in pixels. | |
55 // The duration of the animation is computed by: distance_scrolled * ratio | |
56 CYCLER_STEP_ANIMATION_DURATION_RATIO, | |
57 | |
58 // The duration in milliseconds of the animations when animating starting | |
59 // the cycler. | |
60 START_CYCLER_ANIMATION_DURATION, | |
61 | |
62 // The duration in milliseconds of the animations when animating stopping | |
63 // the cycler. | |
64 STOP_CYCLER_ANIMATION_DURATION, | |
65 }; | |
66 | |
67 // Returns true if the cycler is enabled. | |
68 static bool IsCyclerEnabled(); | |
69 | |
70 // Returns true if |property| is of type base::ListValue. | |
71 static bool IsListProperty(Property property); | |
72 | |
73 // Sets |property| to |list_value|. | |
74 static void SetListValue(Property property, | |
75 const base::ListValue* list_value); | |
sadrul
2013/02/11 16:41:19
Use constref instead.
| |
76 | |
77 // Sets |property| to |value|. | |
78 static void SetDouble(Property property, double value); | |
79 | |
80 // Gets the ListValue associated with |property|. | |
81 static const base::ListValue* GetListValue(Property property); | |
sadrul
2013/02/11 16:41:19
ditto
| |
82 | |
83 // Gets the double associated with |property|. | |
84 static double GetDouble(Property property); | |
85 }; | |
86 | |
87 } // namespace ash | |
88 | |
89 #endif // ASH_WM_WORKSPACE_WORKSPACE_CYCLER_ANIMATOR_CONFIGURATION_H_ | |
OLD | NEW |