summaryrefslogtreecommitdiffstats
path: root/remoting/host/capturer_gdi.h
diff options
context:
space:
mode:
authorgarykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-06 22:50:00 +0000
committergarykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-06 22:50:00 +0000
commit88552a9c89b99b93211ac5e679a0c13420e294db (patch)
treebe326ad62f7c9c9b3dfdea155a306005af00356a /remoting/host/capturer_gdi.h
parentce3b22e8da4fa9ca838423bacd54e45c3030d518 (diff)
downloadchromium_src-88552a9c89b99b93211ac5e679a0c13420e294db.zip
chromium_src-88552a9c89b99b93211ac5e679a0c13420e294db.tar.gz
chromium_src-88552a9c89b99b93211ac5e679a0c13420e294db.tar.bz2
Initial pass at integrating Differ into the chromoting host code.
BUG=none TEST=run Win host; x11 client Review URL: http://codereview.chromium.org/3013015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55297 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/capturer_gdi.h')
-rw-r--r--remoting/host/capturer_gdi.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/remoting/host/capturer_gdi.h b/remoting/host/capturer_gdi.h
index 4a1949e..989f491 100644
--- a/remoting/host/capturer_gdi.h
+++ b/remoting/host/capturer_gdi.h
@@ -12,6 +12,8 @@ typedef HBITMAP BitmapRef;
namespace remoting {
+class Differ;
+
// CapturerGdi captures 32bit RGB using GDI.
//
// CapturerGdi is doubled buffered as required by Capturer. See
@@ -21,11 +23,13 @@ class CapturerGdi : public Capturer {
CapturerGdi();
virtual ~CapturerGdi();
- virtual void CaptureRects(const RectVector& rects,
- CaptureCompletedCallback* callback);
virtual void ScreenConfigurationChanged();
private:
+ virtual void CalculateInvalidRects();
+ virtual void CaptureRects(const InvalidRects& rects,
+ CaptureCompletedCallback* callback);
+
void ReleaseBuffers();
// Generates an image in the current buffer.
void CaptureImage();
@@ -38,6 +42,12 @@ class CapturerGdi : public Capturer {
// We have two buffers for the screen images as required by Capturer.
void* buffers_[kNumBuffers];
+ // Class to calculate the difference between two screen bitmaps.
+ scoped_ptr<Differ> differ_;
+
+ // True if we should force a fullscreen capture.
+ bool capture_fullscreen_;
+
DISALLOW_COPY_AND_ASSIGN(CapturerGdi);
};