blob: 07c89f043a22b5b909d4528c7c1b75f5a45c551d [file] [log] [blame]
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +00001/*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include "webrtc/modules/desktop_capture/mouse_cursor.h"
12
13#include "webrtc/modules/desktop_capture/desktop_frame.h"
14
15namespace webrtc {
16
sergeyu@chromium.orgeb9ce112013-12-18 02:18:01 +000017MouseCursor::MouseCursor() {}
18
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +000019MouseCursor::MouseCursor(DesktopFrame* image, const DesktopVector& hotspot)
20 : image_(image),
21 hotspot_(hotspot) {
22 assert(0 <= hotspot_.x() && hotspot_.x() <= image_->size().width());
23 assert(0 <= hotspot_.y() && hotspot_.y() <= image_->size().height());
24}
25
26MouseCursor::~MouseCursor() {}
27
sergeyu@chromium.org2873c4c2013-10-17 19:47:18 +000028// static
29MouseCursor* MouseCursor::CopyOf(const MouseCursor& cursor) {
sergeyu@chromium.org4c207972014-01-16 04:45:35 +000030 return cursor.image()
31 ? new MouseCursor(BasicDesktopFrame::CopyOf(*cursor.image()),
32 cursor.hotspot())
33 : new MouseCursor();
sergeyu@chromium.org2873c4c2013-10-17 19:47:18 +000034}
35
sergeyu@chromium.orgaf54d4b2013-10-16 02:42:38 +000036} // namespace webrtc