Mercurial > hg > Members > riono > TreeVNC_ja_comment
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 {