Small code improvements.
Added the new method calculateScaledBufferSize() to
the rfb::ScaledPixelBuffer class.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@514 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb/ScaledPixelBuffer.cxx b/rfb/ScaledPixelBuffer.cxx
index bd1ff72..bf4612d 100644
--- a/rfb/ScaledPixelBuffer.cxx
+++ b/rfb/ScaledPixelBuffer.cxx
@@ -45,8 +45,7 @@
src_data = src_data_;
src_width = w;
src_height = h;
- scaled_width = (int)ceil(src_width * scale_ratio);
- scaled_height = (int)ceil(src_height * scale_ratio);
+ calculateScaledBufferSize();
recreateScaledBuffer();
}
@@ -54,13 +53,8 @@
if (scale != scale_) {
scale = scale_;
scale_ratio = double(scale) / 100;
-
- scaled_width = (int)ceil(src_width * scale_ratio);
- scaled_height = (int)ceil(src_height * scale_ratio);
-
+ calculateScaledBufferSize();
recreateScaledBuffer();
-
- scaleRect(Rect(0, 0, scaled_width, scaled_height));
}
}
@@ -129,5 +123,10 @@
return Rect(x_start, y_start, x_end, y_end);
}
+void ScaledPixelBuffer::calculateScaledBufferSize() {
+ scaled_width = (int)ceil(src_width * scale_ratio);
+ scaled_height = (int)ceil(src_height * scale_ratio);
+}
+
void ScaledPixelBuffer::recreateScaledBuffer() {
}
diff --git a/rfb/ScaledPixelBuffer.h b/rfb/ScaledPixelBuffer.h
index f7243e1..3b6aa7e 100644
--- a/rfb/ScaledPixelBuffer.h
+++ b/rfb/ScaledPixelBuffer.h
@@ -63,6 +63,12 @@
inline Rect calculateScaleBoundary(const Rect& r);
protected:
+
+ // Calculate the scaled buffer size depending on the source buffer
+ // parameters (width, height, pixel format)
+ void calculateScaledBufferSize();
+
+ // Recreate the scaled pixel buffer
virtual void recreateScaledBuffer();
int src_width;