diff options
author | DRC <dcommander@users.sourceforge.net> | 2011-11-03 18:49:21 +0000 |
---|---|---|
committer | DRC <dcommander@users.sourceforge.net> | 2011-11-03 18:49:21 +0000 |
commit | 33c15e3a3a1db376feae90ef7521a107dd957752 (patch) | |
tree | 07a01bd47e977a94b2ead9d406fec736e0b613b4 /vncviewer/Viewport.h | |
parent | 3004cb640aba2ed81d31444064aa8087990c7212 (diff) | |
download | tigervnc-33c15e3a3a1db376feae90ef7521a107dd957752.tar.gz tigervnc-33c15e3a3a1db376feae90ef7521a107dd957752.zip |
If the client and server are using identical pixel formats, then perform Tight decoding directly into the viewer's back buffer, rather than going through the slow fillRect/imageRect routines.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4757 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'vncviewer/Viewport.h')
-rw-r--r-- | vncviewer/Viewport.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/vncviewer/Viewport.h b/vncviewer/Viewport.h index 144ad420..c66c19a0 100644 --- a/vncviewer/Viewport.h +++ b/vncviewer/Viewport.h @@ -97,6 +97,16 @@ public: damageRect(r); } + rdr::U8* getPixelsRW(const rfb::Rect& r, int* stride) { + return frameBuffer->getPixelsRW(r, stride); + } + + void damageRect(const rfb::Rect& r) { + damage.assign_union(rfb::Region(r)); + if (!Fl::has_timeout(handleUpdateTimeout, this)) + Fl::add_timeout(0.500, handleUpdateTimeout, this); + }; + void setCursor(int width, int height, const rfb::Point& hotspot, void* data, void* mask); @@ -110,12 +120,6 @@ public: private: - void damageRect(const rfb::Rect& r) { - damage.assign_union(rfb::Region(r)); - if (!Fl::has_timeout(handleUpdateTimeout, this)) - Fl::add_timeout(0.500, handleUpdateTimeout, this); - }; - static void handleUpdateTimeout(void *data); void commitColourMap(); |