Rename and document TransImageGetter::getPixelsRW() to make it more obvious
that it bypasses the normal conversion logic.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4754 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/TransImageGetter.cxx b/common/rfb/TransImageGetter.cxx
index e0c60a4..bf26b44 100644
--- a/common/rfb/TransImageGetter.cxx
+++ b/common/rfb/TransImageGetter.cxx
@@ -56,7 +56,7 @@
PixelTransformer::setColourMapEntries(firstCol, nCols);
}
-rdr::U8 *TransImageGetter::getPixelsRW(const Rect &r, int *stride)
+rdr::U8 *TransImageGetter::getRawPixelsRW(const Rect &r, int *stride)
{
if (!offset.equals(Point(0, 0)))
return pb->getPixelsRW(r.translate(offset.negate()), stride);
diff --git a/common/rfb/TransImageGetter.h b/common/rfb/TransImageGetter.h
index 8fde743..1ad49b7 100644
--- a/common/rfb/TransImageGetter.h
+++ b/common/rfb/TransImageGetter.h
@@ -72,7 +72,11 @@
// padding will be outStride-r.width() pixels).
void getImage(void* outPtr, const Rect& r, int outStride=0);
- rdr::U8 *getPixelsRW(const Rect &r, int *stride);
+ // getRawPixelsRW() gets the given rectangle of data directly from the
+ // underlying PixelBuffer, bypassing the translation logic. Only use
+ // this when doing something that's independent of the client's pixel
+ // format.
+ rdr::U8 *getRawPixelsRW(const Rect &r, int *stride);
// setPixelBuffer() changes the pixel buffer to be used. The new pixel
// buffer MUST have the same pixel format as the old one - if not you
diff --git a/common/rfb/tightEncode.h b/common/rfb/tightEncode.h
index a6a8241..37c7ae7 100644
--- a/common/rfb/tightEncode.h
+++ b/common/rfb/tightEncode.h
@@ -191,7 +191,7 @@
{
int stride = r.width();
rdr::U32 solidColor;
- PIXEL_T *pixels = (PIXEL_T *)ig->getPixelsRW(r, &stride);
+ PIXEL_T *pixels = (PIXEL_T *)ig->getRawPixelsRW(r, &stride);
bool grayScaleJPEG = (jpegSubsampling == SUBSAMP_GRAY && jpegQuality != -1);
#if (BPP == 32)
@@ -640,7 +640,7 @@
int w = r.width(), h = r.height();
int stride = w;
- buf = (PIXEL_T *)ig->getPixelsRW(r, &stride);
+ buf = (PIXEL_T *)ig->getRawPixelsRW(r, &stride);
colorValue = *buf;
if (needSameColor && (rdr::U32)colorValue != *colorPtr)