summaryrefslogtreecommitdiffstats
path: root/vncviewer/Viewport.h
diff options
context:
space:
mode:
authorDRC <dcommander@users.sourceforge.net>2011-11-03 18:49:21 +0000
committerDRC <dcommander@users.sourceforge.net>2011-11-03 18:49:21 +0000
commit33c15e3a3a1db376feae90ef7521a107dd957752 (patch)
tree07a01bd47e977a94b2ead9d406fec736e0b613b4 /vncviewer/Viewport.h
parent3004cb640aba2ed81d31444064aa8087990c7212 (diff)
downloadtigervnc-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.h16
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();