blob: bb9f32707b0275b1a0b9098fc1e40c575186a62b [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
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#include "modules/desktop_capture/mouse_cursor.h"
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000012
henrike@webrtc.orgf2aafe42014-04-29 17:54:17 +000013#include <assert.h>
14
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020015#include "modules/desktop_capture/desktop_frame.h"
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000016
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