1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
ash / wm / desks / desks_constants.h [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_WM_DESKS_DESKS_CONSTANTS_H_
#define ASH_WM_DESKS_DESKS_CONSTANTS_H_
#include "ash/constants/ash_features.h"
#include "base/time/time.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/size.h"
namespace ash {
// The space between the starting and ending desks screenshots in dips.
constexpr int kDesksSpacing = 50;
// When the user tries to navigate in a direction where there is no desk, we
// allow shifting the desk a certain amount. The amount is a percentage of the
// root window's width. This padding is used by both the hit the wall animation
// and while swiping.
constexpr float kEdgePaddingRatio = 0.1f;
// In touchpad units, a touchpad swipe of this length will correspond to a
// full desk change.
constexpr int kTouchpadSwipeLengthForDeskChange = 420;
// This is the height allocated for elements other than the desk preview (e.g.
// the DeskNameView, and the vertical paddings). Note, the vertical paddings
// should exclude the preview border's insets.
constexpr int kDeskBarNonPreviewAllocatedHeight = 48;
inline constexpr int kExpandedDeskBarHeight =
kDeskBarNonPreviewAllocatedHeight + 16;
// This is the desk bar height for zero state.
constexpr int kDeskBarZeroStateHeight = 40;
constexpr int kDeskBarGradientZoneLength = 40;
constexpr int kDeskBarDeskPreviewViewFocusRingThicknessAndPadding = 4;
// The minimum horizontal padding of the scroll view. This is set to make sure
// there is enough space for the scroll buttons.
constexpr int kDeskBarScrollViewMinimumHorizontalPaddingOverview = 32;
constexpr int kDeskBarScrollViewMinimumHorizontalPaddingDeskButton = 16;
// The corner radius of the desk bar.
constexpr float kDeskBarCornerRadiusOverview = 0.f;
constexpr float kDeskBarCornerRadiusOverviewDeskButton = 16.f;
constexpr int kDeskBarScrollButtonWidth = 36;
// The duration of scrolling one page.
constexpr base::TimeDelta kDeskBarScrollDuration = base::Milliseconds(250);
constexpr int kDeskBarMiniViewsY = 16;
// Spacing between mini views.
constexpr int kDeskBarMiniViewsSpacing = 12;
// Spacing between zero state default desk button and new desk button.
constexpr int kDeskBarZeroStateButtonSpacing = 8;
// The local Y coordinate of the zero state desk buttons.
constexpr int kDeskBarZeroStateY = 6;
constexpr int kDeskBarDeskIconButtonAndLabelSpacing = 8;
// For desk button desk bar, the spacing between shelf and desk bar.
constexpr int kDeskBarShelfAndBarSpacing = 8;
// For desk button desk bar, number of desk activation shortcuts
// supported.
constexpr int kDeskBarMaxDeskShortcut = 8;
// For desk button desk bar, time in milliseconds it takes from when the desk
// button desk bar enter event was received and successfully processed to when
// the next frame is shown to the user.
inline constexpr char kDeskBarEnterPresentationHistogram[] =
"Ash.Desks.DeskButton.DeskBar.Enter.PresentationTime";
// For desk button desk bar, time in milliseconds it takes from when the desk
// button desk bar exit event was received and successfully processed to when
// the next frame is shown to the user.
inline constexpr char kDeskBarExitPresentationHistogram[] =
"Ash.Desks.DeskButton.DeskBar.Exit.PresentationTime";
// For desk button desk bar, max latency of entering/exiting the desk bar.
inline constexpr base::TimeDelta kDeskBarEnterExitPresentationMaxLatency =
base::Seconds(2);
// Constant values used by the desk button.
inline constexpr int kDeskButtonCornerRadius = 28;
inline constexpr int kDeskButtonFocusRingHaloInset = -3;
inline constexpr int kDeskButtonHeightVertical = 36;
inline constexpr int kDeskButtonWidthVertical = 36;
inline constexpr int kDeskButtonHeightHorizontal = 28;
inline constexpr int kDeskButtonWidthHorizontalZeroNoAvatar = 28;
inline constexpr int kDeskButtonWidthHorizontalZeroWithAvatar = 48;
inline constexpr int kDeskButtonWidthHorizontalExpandedNoAvatar = 128;
inline constexpr int kDeskButtonWidthHorizontalExpandedWithAvatar = 144;
inline constexpr int kDeskButtonChildSpacingHorizontalZero = 4;
inline constexpr int kDeskButtonChildSpacingHorizontalExpanded = 8;
inline constexpr gfx::Size kDeskButtonAvatarSize = gfx::Size(20, 20);
inline constexpr gfx::Insets kDeskButtonInsetVerticalNoAvatar =
gfx::Insets::TLBR(4, 4, 4, 4);
inline constexpr gfx::Insets kDeskButtonInsetHorizontalZeroWithAvatar =
gfx::Insets::TLBR(0, 4, 0, 4);
inline constexpr gfx::Insets kDeskButtonInsetHorizontalZeroNoAvatar =
gfx::Insets::TLBR(0, 0, 0, 0);
inline constexpr gfx::Insets kDeskButtonInsetHorizontalExpandedWithAvatar =
gfx::Insets::TLBR(0, 4, 0, 10);
inline constexpr gfx::Insets kDeskButtonInsetHorizontalExpandedNoAvatar =
gfx::Insets::TLBR(0, 10, 0, 10);
// Constant values used by the desk switch button.
inline constexpr int kDeskButtonSwitchButtonCornerRadius = 4;
inline constexpr int kDeskButtonSwitchButtonWidth = 20;
inline constexpr int kDeskButtonSwitchButtonHeightVertical = 36;
inline constexpr int kDeskButtonSwitchButtonHeightHorizontal = 28;
inline constexpr int kDeskButtonSwitchButtonSpacing = 2;
inline constexpr int kDeskButtonSwitchButtonFocusRingHaloInset = 0;
// Constant values used by the desk button container.
inline constexpr int kDeskButtonContainerCornerRadius = 36;
inline constexpr gfx::Insets kDeskButtonContainerInsetsVertical =
gfx::Insets::TLBR(0, 0, 0, 0);
inline constexpr int kDeskButtonContainerHeightVertical =
kDeskButtonHeightVertical + kDeskButtonContainerInsetsVertical.height();
inline constexpr int kDeskButtonContainerWidthVertical =
kDeskButtonHeightVertical + kDeskButtonContainerInsetsVertical.width();
inline constexpr gfx::Insets kDeskButtonContainerInsetsHorizontal =
gfx::Insets::TLBR(4, 4, 4, 4);
inline constexpr int kDeskButtonContainerHeightHorizontal =
kDeskButtonHeightHorizontal + kDeskButtonContainerInsetsHorizontal.height();
inline constexpr int kDeskButtonContainerChildSpacingHorizontal = 4;
inline constexpr int kDeskButtonContainerWidthHorizontalZeroNoAvatar = 82;
inline constexpr int kDeskButtonContainerWidthHorizontalExpandedNoAvatar = 182;
inline constexpr int kDeskButtonContainerWidthHorizontalZeroWithAvatar = 102;
inline constexpr int kDeskButtonContainerWidthHorizontalExpandedWithAvatar =
198;
// Constant values used by the desk button widget.
inline constexpr gfx::Insets kDeskButtonWidgetInsetsVertical =
gfx::Insets::TLBR(3, 6, 14, 6);
inline constexpr gfx::Insets kDeskButtonWidgetInsetsHorizontal =
gfx::Insets::TLBR(6, 4, 6, 16);
} // namespace ash
#endif // ASH_WM_DESKS_DESKS_CONSTANTS_H_