ScaledPixelBuffer class code improvements. Remove scale
parameter. Now we set the scale using setScaleRatio. It
improve the accuracy of scaling operation.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@639 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/ScaledPixelBuffer.cxx b/common/rfb/ScaledPixelBuffer.cxx
index e459b39..e590580 100644
--- a/common/rfb/ScaledPixelBuffer.cxx
+++ b/common/rfb/ScaledPixelBuffer.cxx
@@ -29,14 +29,14 @@
ScaledPixelBuffer::ScaledPixelBuffer(U8 **src_data_, int src_width_,
int src_height_, int scale, PixelFormat pf_)
- : scaled_data(0), scale_ratio(1), scale(100) {
+ : scaled_data(0), scale_ratio(1) {
setSourceBuffer(src_data_, src_width_, src_height_);
setPF(pf_);
}
ScaledPixelBuffer::ScaledPixelBuffer()
- : src_data(0), src_width(0), src_height(0), scale_ratio(1), scale(100),
+ : src_data(0), src_width(0), src_height(0), scale_ratio(1),
pf(PixelFormat(32,24,0,1,255,255,255,0,8,16)), scaled_data(0) {
}
@@ -55,10 +55,9 @@
pf = pf_;
}
-void ScaledPixelBuffer::setScale(int scale_) {
- if (scale != scale_) {
- scale = scale_;
- scale_ratio = double(scale) / 100;
+void ScaledPixelBuffer::setScaleRatio(double scale_ratio_) {
+ if (scale_ratio != scale_ratio_) {
+ scale_ratio = scale_ratio_;
calculateScaledBufferSize();
}
}