blob: 7010182cf4efdae8752a59c5feaaa8484fb3b682 [file] [log] [blame]
// 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_