1 // Copyright 2020 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_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_
6 #define ASH_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_
7 
8 namespace ash {
9 
10 // Defines the capture type Capture Mode is currently using.
11 enum class CaptureModeType {
12   kImage,
13   kVideo,
14 };
15 
16 // Defines the source of the capture used by Capture Mode.
17 enum class CaptureModeSource {
18   kFullscreen,
19   kRegion,
20   kWindow,
21 };
22 
23 // The position of the press event during the fine tune phase of a region
24 // capture session. This will determine what subsequent drag events do to the
25 // select region.
26 enum class FineTunePosition {
27   // The initial press was outside region. Subsequent drags will do nothing.
28   kNone,
29   // The initial press was inside the select region. Subsequent drags will
30   // move the entire region.
31   kCenter,
32   // The initial press was on one of the drag affordance circles. Subsequent
33   // drags will resize the region. These are sorted clockwise starting at the
34   // top left.
35   kTopLeft,
36   kTopCenter,
37   kTopRight,
38   kRightCenter,
39   kBottomRight,
40   kBottomCenter,
41   kBottomLeft,
42   kLeftCenter,
43 };
44 
45 }  // namespace ash
46 
47 #endif  // ASH_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_
48