summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h')
-rw-r--r--chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h b/chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h
index 9dd3a1050a4..a8d40a72ef8 100644
--- a/chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h
+++ b/chromium/third_party/webrtc/modules/desktop_capture/screen_capturer.h
@@ -11,6 +11,9 @@
#ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_SCREEN_CAPTURER_H_
#define WEBRTC_MODULES_DESKTOP_CAPTURE_SCREEN_CAPTURER_H_
+#include <vector>
+
+#include "webrtc/modules/desktop_capture/desktop_capture_types.h"
#include "webrtc/modules/desktop_capture/desktop_capturer.h"
#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/typedefs.h"
@@ -40,6 +43,13 @@ struct MouseCursorShape;
// Since data can be read while another capture action is happening.
class ScreenCapturer : public DesktopCapturer {
public:
+ // Use a struct to represent a screen although it has only an id for now,
+ // because we may want to add more fields (e.g. description) in the future.
+ struct Screen {
+ ScreenId id;
+ };
+ typedef std::vector<Screen> ScreenList;
+
// Provides callbacks used by the capturer to pass captured video frames and
// mouse cursor shapes to the processing pipeline.
//
@@ -78,6 +88,15 @@ class ScreenCapturer : public DesktopCapturer {
// remain valid until the capturer is destroyed.
virtual void SetMouseShapeObserver(
MouseShapeObserver* mouse_shape_observer) = 0;
+
+ // Get the list of screens (not containing kFullDesktopScreenId). Returns
+ // false in case of a failure.
+ virtual bool GetScreenList(ScreenList* screens) = 0;
+
+ // Select the screen to be captured. Returns false in case of a failure (e.g.
+ // if there is no screen with the specified id). If this is never called, the
+ // full desktop is captured.
+ virtual bool SelectScreen(ScreenId id) = 0;
};
} // namespace webrtc