1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "remoting/host/ipc_mouse_cursor_monitor.h"
7 #include "remoting/host/desktop_session_proxy.h"
8 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h"
12 IpcMouseCursorMonitor::IpcMouseCursorMonitor(
13 scoped_refptr
<DesktopSessionProxy
> desktop_session_proxy
)
15 desktop_session_proxy_(desktop_session_proxy
),
19 IpcMouseCursorMonitor::~IpcMouseCursorMonitor() {}
21 void IpcMouseCursorMonitor::Init(Callback
* callback
, Mode mode
) {
24 DCHECK_EQ(webrtc::MouseCursorMonitor::SHAPE_ONLY
, mode
);
26 desktop_session_proxy_
->SetMouseCursorMonitor(weak_factory_
.GetWeakPtr());
29 void IpcMouseCursorMonitor::Capture() {
30 // Ignore. DesktopSessionAgent will capture the cursor at the same time it
31 // captures a screen frame when |IpcVideoFrameCapturer::Capture()| is called.
32 // This saves an IPC roundtrip.
35 void IpcMouseCursorMonitor::OnMouseCursor(
36 scoped_ptr
<webrtc::MouseCursor
> cursor
) {
38 callback_
->OnMouseCursor(cursor
.release());
41 } // namespace remoting