blob: e7d1593b241967e4ab52ab14b14c125ac3da2384 [file] [log] [blame]
// Copyright 2018 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 MEDIA_BASE_DISPLAY_MEDIA_INFORMATION_H_
#define MEDIA_BASE_DISPLAY_MEDIA_INFORMATION_H_
#include "base/logging.h"
#include "base/macros.h"
#include "media/base/media_export.h"
namespace media {
// Following the enums listed at
// https://w3c.github.io/mediacapture-screen-share/#extensions-to-mediatrackconstraintset.
// Describes the different types of display surface.
enum class DisplayCaptureSurfaceType {
MONITOR,
WINDOW,
APPLICATION,
BROWSER,
LAST = BROWSER
};
// Describes the conditions under which the cursor is captured.
enum class CursorCaptureType { NEVER, ALWAYS, MOTION, LAST = MOTION };
struct MEDIA_EXPORT DisplayMediaInformation {
DisplayMediaInformation();
DisplayMediaInformation(DisplayCaptureSurfaceType display_surface,
bool logical_surface,
CursorCaptureType cursor);
DisplayCaptureSurfaceType display_surface =
DisplayCaptureSurfaceType::MONITOR;
bool logical_surface = false;
CursorCaptureType cursor = CursorCaptureType::NEVER;
};
} // namespace media
#endif // MEDIA_BASE_DISPLAY_MEDIA_INFORMATION_H_