summaryrefslogtreecommitdiffstats
path: root/remoting/host/capturer.cc
diff options
context:
space:
mode:
authorgarykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 19:58:23 +0000
committergarykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 19:58:23 +0000
commitcb3b1f93130040a150e7fcc57cd4d5a75569685a (patch)
treeff93665e3c1478c61663d1107cd42dc25b31448d /remoting/host/capturer.cc
parentb0110e822ac2b2db56d1b1542aad06da573cd544 (diff)
downloadchromium_src-cb3b1f93130040a150e7fcc57cd4d5a75569685a.zip
chromium_src-cb3b1f93130040a150e7fcc57cd4d5a75569685a.tar.gz
chromium_src-cb3b1f93130040a150e7fcc57cd4d5a75569685a.tar.bz2
Copy the (early prototype of) remoting in Chrome into the public tree.
At the moment, this is a semi-functional demo. BUG=none TEST=build/run all unittests on linux Review URL: http://codereview.chromium.org/2690003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49087 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/capturer.cc')
-rw-r--r--remoting/host/capturer.cc49
1 files changed, 49 insertions, 0 deletions
diff --git a/remoting/host/capturer.cc b/remoting/host/capturer.cc
new file mode 100644
index 0000000..2f92d18
--- /dev/null
+++ b/remoting/host/capturer.cc
@@ -0,0 +1,49 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "remoting/host/capturer.h"
+
+namespace remoting {
+
+Capturer::Capturer()
+ : width_(0),
+ height_(0),
+ pixel_format_(chromotocol_pb::PixelFormatInvalid),
+ bytes_per_pixel_(0),
+ bytes_per_row_(0),
+ current_buffer_(0) {
+}
+
+Capturer::~Capturer() {
+}
+
+void Capturer::GetDirtyRects(DirtyRects* rects) const {
+ *rects = dirty_rects_;
+}
+
+int Capturer::GetWidth() const {
+ return width_;
+}
+
+int Capturer::GetHeight() const {
+ return height_;
+}
+
+chromotocol_pb::PixelFormat Capturer::GetPixelFormat() const {
+ return pixel_format_;
+}
+
+void Capturer::InvalidateRect(gfx::Rect dirty_rect) {
+ inval_rects_.push_back(dirty_rect);
+}
+
+void Capturer::FinishCapture(Task* done_task) {
+ done_task->Run();
+ delete done_task;
+
+ // Select the next buffer to be the current buffer.
+ current_buffer_ = ++current_buffer_ % kNumBuffers;
+}
+
+} // namespace remoting