Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Side by Side Diff: webrtc/modules/desktop_capture/desktop_and_cursor_composer.h

Issue 1921233002: Replace the remaining scoped_ptr with unique_ptr in webrtc/modules/ (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_ 11 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_
12 #define WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_ 12 #define WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_
13 13
14 #include <memory> 14 #include <memory>
15 15
16 #include "webrtc/base/constructormagic.h" 16 #include "webrtc/base/constructormagic.h"
17 #include "webrtc/base/scoped_ptr.h"
18 #include "webrtc/modules/desktop_capture/desktop_capturer.h" 17 #include "webrtc/modules/desktop_capture/desktop_capturer.h"
19 #include "webrtc/modules/desktop_capture/mouse_cursor_monitor.h" 18 #include "webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
20 19
21 namespace webrtc { 20 namespace webrtc {
22 21
23 // A wrapper for DesktopCapturer that also captures mouse using specified 22 // A wrapper for DesktopCapturer that also captures mouse using specified
24 // MouseCursorMonitor and renders it on the generated streams. 23 // MouseCursorMonitor and renders it on the generated streams.
25 class DesktopAndCursorComposer : public DesktopCapturer, 24 class DesktopAndCursorComposer : public DesktopCapturer,
26 public DesktopCapturer::Callback, 25 public DesktopCapturer::Callback,
27 public MouseCursorMonitor::Callback { 26 public MouseCursorMonitor::Callback {
28 public: 27 public:
29 // Creates a new blender that captures mouse cursor using |mouse_monitor| and 28 // Creates a new blender that captures mouse cursor using |mouse_monitor| and
30 // renders it into the frames generated by |desktop_capturer|. If 29 // renders it into the frames generated by |desktop_capturer|. If
31 // |mouse_monitor| is NULL the frames are passed unmodified. Takes ownership 30 // |mouse_monitor| is NULL the frames are passed unmodified. Takes ownership
32 // of both arguments. 31 // of both arguments.
33 DesktopAndCursorComposer(DesktopCapturer* desktop_capturer, 32 DesktopAndCursorComposer(DesktopCapturer* desktop_capturer,
34 MouseCursorMonitor* mouse_monitor); 33 MouseCursorMonitor* mouse_monitor);
35 virtual ~DesktopAndCursorComposer(); 34 virtual ~DesktopAndCursorComposer();
36 35
37 // DesktopCapturer interface. 36 // DesktopCapturer interface.
38 void Start(DesktopCapturer::Callback* callback) override; 37 void Start(DesktopCapturer::Callback* callback) override;
39 void SetSharedMemoryFactory( 38 void SetSharedMemoryFactory(
40 rtc::scoped_ptr<SharedMemoryFactory> shared_memory_factory) override; 39 std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override;
41 void Capture(const DesktopRegion& region) override; 40 void Capture(const DesktopRegion& region) override;
42 void SetExcludedWindow(WindowId window) override; 41 void SetExcludedWindow(WindowId window) override;
43 42
44 private: 43 private:
45 // DesktopCapturer::Callback interface. 44 // DesktopCapturer::Callback interface.
46 void OnCaptureCompleted(DesktopFrame* frame) override; 45 void OnCaptureCompleted(DesktopFrame* frame) override;
47 46
48 // MouseCursorMonitor::Callback interface. 47 // MouseCursorMonitor::Callback interface.
49 void OnMouseCursor(MouseCursor* cursor) override; 48 void OnMouseCursor(MouseCursor* cursor) override;
50 void OnMouseCursorPosition(MouseCursorMonitor::CursorState state, 49 void OnMouseCursorPosition(MouseCursorMonitor::CursorState state,
51 const DesktopVector& position) override; 50 const DesktopVector& position) override;
52 51
53 std::unique_ptr<DesktopCapturer> desktop_capturer_; 52 std::unique_ptr<DesktopCapturer> desktop_capturer_;
54 std::unique_ptr<MouseCursorMonitor> mouse_monitor_; 53 std::unique_ptr<MouseCursorMonitor> mouse_monitor_;
55 54
56 DesktopCapturer::Callback* callback_; 55 DesktopCapturer::Callback* callback_;
57 56
58 std::unique_ptr<MouseCursor> cursor_; 57 std::unique_ptr<MouseCursor> cursor_;
59 MouseCursorMonitor::CursorState cursor_state_; 58 MouseCursorMonitor::CursorState cursor_state_;
60 DesktopVector cursor_position_; 59 DesktopVector cursor_position_;
61 60
62 RTC_DISALLOW_COPY_AND_ASSIGN(DesktopAndCursorComposer); 61 RTC_DISALLOW_COPY_AND_ASSIGN(DesktopAndCursorComposer);
63 }; 62 };
64 63
65 } // namespace webrtc 64 } // namespace webrtc
66 65
67 #endif // WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_ 66 #endif // WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_AND_CURSOR_COMPOSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698