From e4c927208bb8f9e437ec1b9d0ccef97e4daad043 Mon Sep 17 00:00:00 2001 From: "sergeyu@chromium.org" Date: Tue, 17 Dec 2013 22:48:50 +0000 Subject: [PATCH] Revert "Make MouseCursor mutable" This reverts commit a6db8ab8bc4b569a26633b0ca3665297f1a5349b. TBR=dcaiafa@chromium.org Review URL: https://webrtc-codereview.appspot.com/6079004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5311 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../desktop_capture/desktop_and_cursor_composer.cc | 8 ++++---- webrtc/modules/desktop_capture/mouse_cursor.cc | 7 ++----- webrtc/modules/desktop_capture/mouse_cursor.h | 8 +------- .../desktop_capture/mouse_cursor_monitor_unittest.cc | 4 ++-- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc b/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc index 59d564e751..6ed3ae881f 100644 --- a/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc +++ b/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc @@ -81,7 +81,7 @@ DesktopFrameWithCursor::DesktopFrameWithCursor(DesktopFrame* frame, mutable_updated_region()->Swap(frame->mutable_updated_region()); DesktopVector image_pos = position.subtract(cursor.hotspot()); - DesktopRect target_rect = DesktopRect::MakeSize(cursor.image()->size()); + DesktopRect target_rect = DesktopRect::MakeSize(cursor.image().size()); target_rect.Translate(image_pos); DesktopVector target_origin = target_rect.top_left(); target_rect.IntersectWith(DesktopRect::MakeSize(size())); @@ -101,10 +101,10 @@ DesktopFrameWithCursor::DesktopFrameWithCursor(DesktopFrame* frame, target_rect.left() * DesktopFrame::kBytesPerPixel; DesktopVector origin_shift = target_rect.top_left().subtract(target_origin); AlphaBlend(target_rect_data, stride(), - cursor.image()->data() + - origin_shift.y() * cursor.image()->stride() + + cursor.image().data() + + origin_shift.y() * cursor.image().stride() + origin_shift.x() * DesktopFrame::kBytesPerPixel, - cursor.image()->stride(), + cursor.image().stride(), target_rect.size()); } diff --git a/webrtc/modules/desktop_capture/mouse_cursor.cc b/webrtc/modules/desktop_capture/mouse_cursor.cc index c6c58d87cb..3f1ab3ddf5 100644 --- a/webrtc/modules/desktop_capture/mouse_cursor.cc +++ b/webrtc/modules/desktop_capture/mouse_cursor.cc @@ -14,8 +14,6 @@ namespace webrtc { -MouseCursor::MouseCursor() {} - MouseCursor::MouseCursor(DesktopFrame* image, const DesktopVector& hotspot) : image_(image), hotspot_(hotspot) { @@ -27,9 +25,8 @@ MouseCursor::~MouseCursor() {} // static MouseCursor* MouseCursor::CopyOf(const MouseCursor& cursor) { - return new MouseCursor( - cursor.image() ? NULL : BasicDesktopFrame::CopyOf(*cursor.image()), - cursor.hotspot()); + return new MouseCursor(BasicDesktopFrame::CopyOf(cursor.image()), + cursor.hotspot()); } } // namespace webrtc diff --git a/webrtc/modules/desktop_capture/mouse_cursor.h b/webrtc/modules/desktop_capture/mouse_cursor.h index 3acfa45a33..4cf770830c 100644 --- a/webrtc/modules/desktop_capture/mouse_cursor.h +++ b/webrtc/modules/desktop_capture/mouse_cursor.h @@ -21,19 +21,13 @@ class DesktopFrame; class MouseCursor { public: - MouseCursor(); - // Takes ownership of |image|. |hotspot| must be within |image| boundaries. MouseCursor(DesktopFrame* image, const DesktopVector& hotspot); - ~MouseCursor(); static MouseCursor* CopyOf(const MouseCursor& cursor); - void set_image(DesktopFrame* image) { image_.reset(image); } - const DesktopFrame* image() const { return image_.get(); } - - void set_hotspot(const DesktopVector& hotspot ) { hotspot_ = hotspot; } + const DesktopFrame& image() const { return *image_; } const DesktopVector& hotspot() const { return hotspot_; } private: diff --git a/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc b/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc index f91a9aff14..18bf1ca40e 100644 --- a/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc +++ b/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc @@ -66,10 +66,10 @@ TEST_F(MouseCursorMonitorTest, MAYBE(FromScreen)) { EXPECT_TRUE(cursor_image_.get()); EXPECT_GE(cursor_image_->hotspot().x(), 0); EXPECT_LE(cursor_image_->hotspot().x(), - cursor_image_->image()->size().width()); + cursor_image_->image().size().width()); EXPECT_GE(cursor_image_->hotspot().y(), 0); EXPECT_LE(cursor_image_->hotspot().y(), - cursor_image_->image()->size().height()); + cursor_image_->image().size().height()); EXPECT_TRUE(position_received_); EXPECT_EQ(MouseCursorMonitor::INSIDE, state_);