diff src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java @ 301:ae7deb002b5f

send and receive single display size
author oc
date Sun, 18 Jan 2015 08:36:06 +0900
parents 0b75fdbb8c11
children d2a56d7d4b2d
line wrap: on
line diff
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Sat Jan 17 04:58:03 2015 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java	Sun Jan 18 08:36:06 2015 +0900
@@ -104,6 +104,7 @@
         this.presenter = presenter;
         this.width = w;
         this.height = h;
+
         if(viewer instanceof Viewer)
         	createContainer(surface, isApplet, (Viewer)viewer);
         
@@ -277,6 +278,7 @@
 			if ( ! isWidthChangeable) {
 				dim.width = frame.getWidth();
 			} else {
+                // このあたり、scalepercentを計算するのに使えそう
 				if (isVScrollBar) dim.width += scroller.getVerticalScrollBar().getWidth();
 				if (dim.width < minDimension.width) dim.width = minDimension.width;
 
@@ -319,6 +321,7 @@
 					}
 				}
 			}
+            // set full size
             dim.width = workareaRectangle.width;
             dim.height = workareaRectangle.height;
 			if ( ! location.equals(frame.getLocation())) {
@@ -848,11 +851,18 @@
         	@Override
         	public void actionPerformed(ActionEvent e) {
 
-                ArrayList<Rectangle> rectangles = getScreenRectangles();
+                ArrayList<Rectangle> rectangles = viewer.getScreenRectangles();
                 int leftScreenNumber = 0;
                 int rightScreenNumber = 1;
-                viewer.getRfb().singleWidth = (int) rectangles.get(leftScreenNumber).getWidth();
+                int singleWidth = (int) rectangles.get(leftScreenNumber).getWidth();
+                int singleHeight = (int) rectangles.get(leftScreenNumber).getHeight();
+                viewer.getRfb().singleWidth = singleWidth;
+                viewer.getRfb().singleHeight = singleHeight;
 
+                singleWidth = 600;
+                singleHeight = 600;
+
+                /*
                 // show share sound dialog.
                 boolean setShareSound = presenter.showShareSoundDialog();
                 if (setShareSound) {
@@ -864,13 +874,14 @@
                         e1.printStackTrace();
                     }
                 }
+                */
 
                 if (viewer.getRfb().isTreeManager()) {
-                    changeVncServer(viewer, (int) rectangles.get(leftScreenNumber).getWidth(), (int) rectangles.get(leftScreenNumber).getHeight(), viewer.getRfb().getId());
+                    changeVncServer(viewer, singleWidth, singleHeight, viewer.getRfb().getId());
                     return;
                 }
                 String adr = viewer.getRfb().getMyAddress();
-                context.sendMessage(new ScreenChangeRequest(adr, viewer.getRfb().getId(), (int) rectangles.get(leftScreenNumber).getWidth(), (int) rectangles.get(leftScreenNumber).getHeight()));
+                context.sendMessage(new ScreenChangeRequest(adr, viewer.getRfb().getId(), singleWidth, singleHeight));
             }
         });
         kbdButtons.add(screenButton);
@@ -1005,27 +1016,6 @@
 		frame.setVisible(b);
 	}
 
-    private ArrayList<Rectangle> getScreenRectangles() {
-        // before change server, data from previous server
-        // should be stopped.
-        viewer.setCuiVersion(false);
-        // Host have screens.
-        // Each screen number in order from left.
-        // put screens in rectangles.
-        ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
-        GraphicsConfiguration[] gc = null;
-        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
-        GraphicsDevice[] gs = ge.getScreenDevices();
-        for (int j = 0; j < gs.length; j++) {
-            GraphicsDevice gd = gs[j];
-            gc = gd.getConfigurations();
-            for (int i=0; i < gc.length; i++) {
-                rectangles.add(gc[i].getBounds());
-            }
-        }
-        return rectangles;
-    }
-
     private void changeVncServer(ViewerInterface viewer, int width, int height, short id) {
         String localhost = "127.0.0.1";
         try {