blob: 22a9c0ee8c88f35b88a4fc855a387f7963856750 [file] [log] [blame]
sergeyu@chromium.org2767b532013-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
henrike@webrtc.orgf2aafe42014-04-29 17:54:17 +000013#include <assert.h>
14
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000015#include "webrtc/modules/desktop_capture/desktop_frame.h"
16
17namespace webrtc {
18
sergeyu@chromium.org8ae72562013-12-18 02:18:01 +000019MouseCursor::MouseCursor() {}
20
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000021MouseCursor::MouseCursor(DesktopFrame* image, const DesktopVector& hotspot)
22 : image_(image),
23 hotspot_(hotspot) {
24 assert(0 <= hotspot_.x() && hotspot_.x() <= image_->size().width());
25 assert(0 <= hotspot_.y() && hotspot_.y() <= image_->size().height());
26}
27
28MouseCursor::~MouseCursor() {}
29
sergeyu@chromium.org2df89c02013-10-17 19:47:18 +000030// static
31MouseCursor* MouseCursor::CopyOf(const MouseCursor& cursor) {
sergeyu@chromium.orgfb4e2562014-01-16 04:45:35 +000032 return cursor.image()
33 ? new MouseCursor(BasicDesktopFrame::CopyOf(*cursor.image()),
34 cursor.hotspot())
35 : new MouseCursor();
sergeyu@chromium.org2df89c02013-10-17 19:47:18 +000036}
37
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000038} // namespace webrtc