summaryrefslogtreecommitdiffstats
path: root/remoting/host/capturer_mac.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/host/capturer_mac.cc')
-rw-r--r--remoting/host/capturer_mac.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/remoting/host/capturer_mac.cc b/remoting/host/capturer_mac.cc
index 6c01622..6afbd09 100644
--- a/remoting/host/capturer_mac.cc
+++ b/remoting/host/capturer_mac.cc
@@ -17,9 +17,10 @@
#include "base/memory/scoped_ptr.h"
#include "base/synchronization/waitable_event.h"
#include "base/time.h"
+#include "remoting/base/capture_data.h"
#include "remoting/base/util.h"
#include "remoting/host/capturer_helper.h"
-
+#include "remoting/proto/control.pb.h"
namespace remoting {
@@ -158,7 +159,7 @@ class CapturerMac : public Capturer {
bool Init();
// Capturer interface.
- virtual void Start() OVERRIDE;
+ virtual void Start(const CursorShapeChangedCallback& callback) OVERRIDE;
virtual void Stop() OVERRIDE;
virtual void ScreenConfigurationChanged() OVERRIDE;
virtual media::VideoFrame::Format pixel_format() const OVERRIDE;
@@ -206,6 +207,9 @@ class CapturerMac : public Capturer {
// recently captured screen.
CapturerHelper helper_;
+ // Callback notified whenever the cursor shape is changed.
+ CursorShapeChangedCallback cursor_shape_changed_callback_;
+
// The current buffer with valid data for reading.
int current_buffer_;
@@ -306,7 +310,10 @@ void CapturerMac::ReleaseBuffers() {
}
}
-void CapturerMac::Start() {
+void CapturerMac::Start(
+ const CursorShapeChangedCallback& callback) {
+ cursor_shape_changed_callback_ = callback;
+
// Create power management assertions to wake the display and prevent it from
// going to sleep on user idle.
IOPMAssertionCreate(kIOPMAssertionTypeNoDisplaySleep,