Index: remoting/host/mouse_clamping_filter.h |
diff --git a/remoting/host/mouse_clamping_filter.h b/remoting/host/mouse_clamping_filter.h |
index 02ff17a214cb80255670012c92bd773fd2fe3581..9d8503cbe422d64c87b22fd1f75e122d3b450341 100644 |
--- a/remoting/host/mouse_clamping_filter.h |
+++ b/remoting/host/mouse_clamping_filter.h |
@@ -7,25 +7,30 @@ |
#include "base/compiler_specific.h" |
#include "remoting/protocol/mouse_input_filter.h" |
+#include "remoting/protocol/video_stub.h" |
namespace remoting { |
-class VideoFrameCapturer; |
- |
-// Filtering InputStub implementation which clamps mouse each mouse event to |
-// the current dimensions of a VideoFrameCapturer instance before passing |
-// them on to the target |input_stub|. |
-class MouseClampingFilter : public protocol::MouseInputFilter { |
+// Filtering VideoStub implementation which configures a MouseInputFilter to |
+// clamp mouse events to fall within the dimensions of the most-recently |
+// received video frame. |
+class MouseClampingFilter : public protocol::VideoStub { |
public: |
- MouseClampingFilter(VideoFrameCapturer* capturer, |
- protocol::InputStub* input_stub); |
+ MouseClampingFilter(protocol::InputStub* input_stub, |
+ protocol::VideoStub* video_stub); |
virtual ~MouseClampingFilter(); |
- // InputStub overrides. |
- virtual void InjectMouseEvent(const protocol::MouseEvent& event) OVERRIDE; |
+ protocol::InputStub* input_filter() { return &input_filter_; } |
+ |
+ // protocol::VideoStub implementation. |
+ virtual void ProcessVideoPacket(scoped_ptr<VideoPacket> video_packet, |
+ const base::Closure& done) OVERRIDE; |
private: |
- VideoFrameCapturer* capturer_; |
+ // Clamps mouse event coordinates to the video dimensions. |
+ protocol::MouseInputFilter input_filter_; |
+ |
+ protocol::VideoStub* video_stub_; |
DISALLOW_COPY_AND_ASSIGN(MouseClampingFilter); |
}; |