blob: 3b61e10a8bf1a3e5fbdffd8d33d75d757fb14e0a [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)
Yves Gerey665174f2018-06-19 15:03:05 +020022 : image_(image), hotspot_(hotspot) {
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000023 assert(0 <= hotspot_.x() && hotspot_.x() <= image_->size().width());
24 assert(0 <= hotspot_.y() && hotspot_.y() <= image_->size().height());
25}
26
27MouseCursor::~MouseCursor() {}
28
sergeyu@chromium.org2df89c02013-10-17 19:47:18 +000029// static
30MouseCursor* MouseCursor::CopyOf(const MouseCursor& cursor) {
sergeyu@chromium.orgfb4e2562014-01-16 04:45:35 +000031 return cursor.image()
32 ? new MouseCursor(BasicDesktopFrame::CopyOf(*cursor.image()),
33 cursor.hotspot())
34 : new MouseCursor();
sergeyu@chromium.org2df89c02013-10-17 19:47:18 +000035}
36
sergeyu@chromium.org2767b532013-10-16 02:42:38 +000037} // namespace webrtc