comparison src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java @ 405:cdab1354e227

Add multiscreen Share Filtering flag
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Mon, 09 Nov 2015 01:06:11 +0900
parents b344444aca13
children 0eea469c6349
comparison
equal deleted inserted replaced
404:92b22cad660b 405:cdab1354e227
857 ArrayList<Rectangle> rectangles = viewer.getScreenRectangles(); 857 ArrayList<Rectangle> rectangles = viewer.getScreenRectangles();
858 int leftScreenNumber = 0; 858 int leftScreenNumber = 0;
859 int singleWidth = (int) (rectangles.get(leftScreenNumber).getWidth() * scaleFactor); 859 int singleWidth = (int) (rectangles.get(leftScreenNumber).getWidth() * scaleFactor);
860 int singleHeight = (int) (rectangles.get(leftScreenNumber).getHeight() * scaleFactor); 860 int singleHeight = (int) (rectangles.get(leftScreenNumber).getHeight() * scaleFactor);
861 viewer.getRfb().setSingleDisplaySize(singleWidth, singleHeight); 861 viewer.getRfb().setSingleDisplaySize(singleWidth, singleHeight);
862 int shareScreenNumber = 0;
862 if (viewer.getRfb().hasParent()) { 863 if (viewer.getRfb().hasParent()) {
863 String adr = viewer.getRfb().getMyAddress(); 864 String adr = viewer.getRfb().getMyAddress();
864 // -1 means reqeust to reverse direct connection sorcket 865 // -1 means request to reverse direct connection socket
865 short id = viewer.getRfb().isTreeManager()? (short)-1 : viewer.getRfb().getId(); 866 short id = viewer.getRfb().isTreeManager()? (short)-1 : viewer.getRfb().getId();
866 context.sendMessage(new ScreenChangeRequest(adr, ConnectionParams.DEFAULT_VNC_ROOT, id, singleWidth, singleHeight)); 867 context.sendMessage(new ScreenChangeRequest(adr, ConnectionParams.DEFAULT_VNC_ROOT, id, singleWidth, singleHeight, shareScreenNumber));
867 } 868 }
868 if (viewer.getRfb().isTreeManager()) { 869 if (viewer.getRfb().isTreeManager()) {
869 changeVncServer(viewer, singleWidth, singleHeight, viewer.getRfb().getId()); 870 changeVncServer(viewer, singleWidth, singleHeight, shareScreenNumber, viewer.getRfb().getId());
870 return; 871 return;
871 } 872 }
872 } 873 }
873 }); 874 });
874 875
1006 1007
1007 public void setVisible(boolean b) { 1008 public void setVisible(boolean b) {
1008 frame.setVisible(b); 1009 frame.setVisible(b);
1009 } 1010 }
1010 1011
1011 private void changeVncServer(ViewerInterface viewer, int width, int height, short id) { 1012 private void changeVncServer(ViewerInterface viewer, int width, int height, int shareScreenNumber, short id) {
1012 String localhost = "127.0.0.1"; // InetAddress.getLocalHost().getHostName() 1013 String localhost = "127.0.0.1"; // InetAddress.getLocalHost().getHostName()
1013 try { 1014 try {
1014 viewer.getRfb().changeVNCServer(viewer, localhost, ConnectionParams.DEFAULT_RFB_PORT, width, height, id, null, null); 1015 viewer.getRfb().changeVNCServer(viewer, localhost, ConnectionParams.DEFAULT_RFB_PORT, width, height, shareScreenNumber, id, null, null);
1015 } catch (Exception e1) { 1016 } catch (Exception e1) {
1016 System.out.println("can't change server :" + e1.getMessage()); 1017 System.out.println("can't change server :" + e1.getMessage());
1017 } 1018 }
1018 } 1019 }
1019 1020