Further optimizations to the Tight encoder to eliminate getImage() overhead. The encoder now directly accesses the framebuffer for solid rectangle computation, JPEG encoding, and color counting (if pixel translation is not required.) Also moved everything in tightEncode.h into the TightEncoder class to eliminate all of the static mess (this will be important later on if we decide to multi-thread the encoder.)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4631 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/SMsgWriter.h b/common/rfb/SMsgWriter.h
index 007d758..8112d01 100644
--- a/common/rfb/SMsgWriter.h
+++ b/common/rfb/SMsgWriter.h
@@ -129,7 +129,7 @@
// before the first writeRects() call and writeFrameBufferUpdateEnd() after
// the last one. It returns the actual region sent to the client, which
// may be smaller than the update passed in.
- virtual void writeRects(const UpdateInfo& update, ImageGetter* ig,
+ virtual void writeRects(const UpdateInfo& update, TransImageGetter* ig,
Region* updatedRegion);
// To construct a framebuffer update you can call
@@ -144,9 +144,9 @@
// writeRect() tries to write the given rectangle. If it is unable to
// write the whole rectangle it returns false and sets actual to the actual
// rectangle which was updated.
- virtual bool writeRect(const Rect& r, ImageGetter* ig, Rect* actual);
+ virtual bool writeRect(const Rect& r, TransImageGetter* ig, Rect* actual);
virtual bool writeRect(const Rect& r, int encoding,
- ImageGetter* ig, Rect* actual);
+ TransImageGetter* ig, Rect* actual);
virtual void writeCopyRect(const Rect& r, int srcX, int srcY);