Small the DesktopWindow class code improvements.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@663 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/vncviewer/DesktopWindow.cxx b/win/vncviewer/DesktopWindow.cxx
index 8460f58..197449d 100644
--- a/win/vncviewer/DesktopWindow.cxx
+++ b/win/vncviewer/DesktopWindow.cxx
@@ -973,8 +973,8 @@
   if (as) fitBufferToWindow();
 }
 
-void DesktopWindow::setDesktopScale(int scale) {
-  buffer->setScale(scale);
+void DesktopWindow::setDesktopScaleRatio(double scale_ratio) {
+  buffer->setScaleRatio(scale_ratio);
   InvalidateRect(frameHandle, 0, FALSE);
   calculateScrollBars();
   if (isToolbarEnabled()) refreshToolbarButtons();
@@ -998,9 +998,7 @@
   } else { 
     scale_ratio = double(client_size.width()) / buffer->getSrcWidth();
   }
-  buffer->setScaleRatio(scale_ratio);
-  if (repaint) InvalidateRect(frameHandle, 0, TRUE);
-  if (isToolbarEnabled()) refreshToolbarButtons();
+  setDesktopScaleRatio(scale_ratio);
 }
 
 void
diff --git a/win/vncviewer/DesktopWindow.h b/win/vncviewer/DesktopWindow.h
index e8f87bc..9c2f1f3 100644
--- a/win/vncviewer/DesktopWindow.h
+++ b/win/vncviewer/DesktopWindow.h
@@ -84,7 +84,8 @@
       void setColour(int i, int r, int g, int b) {buffer->setColour(i, r, g, b);}
       void setAutoScaling(bool as);
       bool isAutoScaling() const { return autoScaling; }
-      void setDesktopScale(int scale);
+      void setDesktopScaleRatio(double scale_ratio);
+      void setDesktopScale(int scale) { setDesktopScaleRatio(double(scale)/100); }
       int  getDesktopScale() const { return buffer->getScale(); }
       void fitBufferToWindow(bool repaint = true);