// Copyright 2020 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_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_ #define ASH_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_ namespace ash { // Specifies the camera preview snap position, it can be one of the four corners // of the surface being recorded. Note that these values are persisted to // histograms so existing values should remain unchanged and new values should // be added to the end. enum class CameraPreviewSnapPosition { kTopLeft = 0, kBottomLeft, kBottomRight, kTopRight, kMaxValue = kTopRight, }; // Defines the capture type Capture Mode is currently using. enum class CaptureModeType { kImage, kVideo, }; // Defines the source of the capture used by Capture Mode. enum class CaptureModeSource { kFullscreen, kRegion, kWindow, }; // Specifies the capture mode allowance types. enum class CaptureAllowance { // Capture mode is allowed. kAllowed, // Capture mode is blocked due to admin-enforced device policy. kDisallowedByPolicy, // Video recording is blocked due to app- or content- enforced content // protection. Applies only to video recording. kDisallowedByHdcp }; // The position of the press event during the fine tune phase of a region // capture session. This will determine what subsequent drag events do to the // select region. enum class FineTunePosition { // The initial press was outside region. Subsequent drags will do nothing. kNone, // The initial press was inside the select region. Subsequent drags will // move the entire region. kCenter, // The initial press was on one of the drag affordance circles. Subsequent // drags will resize the region. These are sorted clockwise starting at the // top left. kTopLeft, kTopCenter, kTopRight, kRightCenter, kBottomRight, kBottomCenter, kBottomLeft, kLeftCenter, }; } // namespace ash #endif // ASH_CAPTURE_MODE_CAPTURE_MODE_TYPES_H_