12767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org/* 22767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 32767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * 42767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * Use of this source code is governed by a BSD-style license 52767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * that can be found in the LICENSE file in the root of the source 62767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * tree. An additional intellectual property rights grant can be found 72767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * in the file PATENTS. All contributing project authors may 82767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org * be found in the AUTHORS file in the root of the source tree. 92767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org */ 102767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 112767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org#include "webrtc/modules/desktop_capture/mouse_cursor.h" 122767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 13f2aafe4355c4b7ecbd122798f08a5c5ec5d2693ahenrike@webrtc.org#include <assert.h> 14f2aafe4355c4b7ecbd122798f08a5c5ec5d2693ahenrike@webrtc.org 152767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org#include "webrtc/modules/desktop_capture/desktop_frame.h" 162767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 172767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.orgnamespace webrtc { 182767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 198ae72560dd67a59922a49bfb7808f2290c07991dsergeyu@chromium.orgMouseCursor::MouseCursor() {} 208ae72560dd67a59922a49bfb7808f2290c07991dsergeyu@chromium.org 212767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.orgMouseCursor::MouseCursor(DesktopFrame* image, const DesktopVector& hotspot) 222767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org : image_(image), 232767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org hotspot_(hotspot) { 242767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org assert(0 <= hotspot_.x() && hotspot_.x() <= image_->size().width()); 252767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org assert(0 <= hotspot_.y() && hotspot_.y() <= image_->size().height()); 262767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org} 272767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 282767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.orgMouseCursor::~MouseCursor() {} 292767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org 302df89c0c8b6416c69d70da5f29615733986a0716sergeyu@chromium.org// static 312df89c0c8b6416c69d70da5f29615733986a0716sergeyu@chromium.orgMouseCursor* MouseCursor::CopyOf(const MouseCursor& cursor) { 32fb4e256d497df573ee5748d0316aece38a1f6919sergeyu@chromium.org return cursor.image() 33fb4e256d497df573ee5748d0316aece38a1f6919sergeyu@chromium.org ? new MouseCursor(BasicDesktopFrame::CopyOf(*cursor.image()), 34fb4e256d497df573ee5748d0316aece38a1f6919sergeyu@chromium.org cursor.hotspot()) 35fb4e256d497df573ee5748d0316aece38a1f6919sergeyu@chromium.org : new MouseCursor(); 362df89c0c8b6416c69d70da5f29615733986a0716sergeyu@chromium.org} 372df89c0c8b6416c69d70da5f29615733986a0716sergeyu@chromium.org 382767b53f666249dee32688f919b90022dcc60ccfsergeyu@chromium.org} // namespace webrtc 39