diff options
author | garykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-06 22:50:00 +0000 |
---|---|---|
committer | garykac@google.com <garykac@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-06 22:50:00 +0000 |
commit | 88552a9c89b99b93211ac5e679a0c13420e294db (patch) | |
tree | be326ad62f7c9c9b3dfdea155a306005af00356a /remoting/host/capturer_gdi.h | |
parent | ce3b22e8da4fa9ca838423bacd54e45c3030d518 (diff) | |
download | chromium_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.h | 14 |
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); }; |