| Index: remoting/host/fake_mouse_cursor_monitor.cc
|
| diff --git a/remoting/host/fake_mouse_cursor_monitor.cc b/remoting/host/fake_mouse_cursor_monitor.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5635a488dbb69dfe3f0bf824fea19f19c6e6e178
|
| --- /dev/null
|
| +++ b/remoting/host/fake_mouse_cursor_monitor.cc
|
| @@ -0,0 +1,49 @@
|
| +// Copyright 2014 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.
|
| +
|
| +#include "remoting/host/fake_mouse_cursor_monitor.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +FakeMouseCursorMonitor::FakeMouseCursorMonitor() : callback_(NULL) {}
|
| +
|
| +FakeMouseCursorMonitor::~FakeMouseCursorMonitor() {}
|
| +
|
| +void FakeMouseCursorMonitor::Init(
|
| + webrtc::MouseCursorMonitor::Callback* callback,
|
| + webrtc::MouseCursorMonitor::Mode mode) {
|
| + DCHECK(!callback_);
|
| + DCHECK(callback);
|
| +
|
| + // Only shapes supported right now.
|
| + CHECK(mode == SHAPE_ONLY);
|
| +
|
| + callback_ = callback;
|
| +}
|
| +
|
| +void FakeMouseCursorMonitor::Capture() {
|
| + DCHECK(callback_);
|
| +
|
| + const int kWidth = 32;
|
| + const int kHeight = 32;
|
| +
|
| + scoped_ptr<webrtc::DesktopFrame> desktop_frame(
|
| + new webrtc::BasicDesktopFrame(webrtc::DesktopSize(kWidth, kHeight)));
|
| + memset(desktop_frame->data(), 0xFF,
|
| + webrtc::DesktopFrame::kBytesPerPixel * kWidth * kHeight);
|
| +
|
| + scoped_ptr<webrtc::MouseCursor> mouse_cursor(
|
| + new webrtc::MouseCursor(desktop_frame.release(),
|
| + webrtc::DesktopVector()));
|
| +
|
| + callback_->OnMouseCursor(mouse_cursor.release());
|
| +}
|
| +
|
| +} // namespace remoting
|
|
|