Mercurial > hg > Members > riono > TreeVNC_ja_comment
diff src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java @ 56:913d0f663e74
12/9
author | one |
---|---|
date | Mon, 09 Dec 2013 16:09:06 +0900 |
parents | 3c072f2f39bb |
children | 433c79184c05 |
line wrap: on
line diff
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java Mon Dec 02 14:20:37 2013 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java Mon Dec 09 16:09:06 2013 +0900 @@ -39,7 +39,8 @@ import java.awt.*; @SuppressWarnings("serial") -public class Surface extends JPanel implements IRepaintController, IChangeSettingsListener { +public class Surface extends JPanel implements IRepaintController, + IChangeSettingsListener { private int width; private int height; @@ -67,18 +68,20 @@ this.scaleFactor = scaleFactor; init(context.getFbWidth(), context.getFbHeight()); - if ( ! context.getSettings().isViewOnly()) { + if (!context.getSettings().isViewOnly()) { setUserInputEnabled(true, context.getSettings().isConvertToAscii()); } showCursor = context.getSettings().isShowRemoteCursor(); } private void setUserInputEnabled(boolean enable, boolean convertToAscii) { - if (enable == isUserInputEnabled) return; + if (enable == isUserInputEnabled) + return; isUserInputEnabled = enable; if (enable) { if (null == mouseEventListener) { - mouseEventListener = new MouseEventListener(this, context, scaleFactor); + mouseEventListener = new MouseEventListener(this, context, + scaleFactor); } addMouseListener(mouseEventListener); addMouseMotionListener(mouseEventListener); @@ -88,7 +91,8 @@ if (null == keyEventListener) { keyEventListener = new KeyEventListener(context); if (modifierButtonListener != null) { - keyEventListener.addModifierListener(modifierButtonListener); + keyEventListener + .addModifierListener(modifierButtonListener); } } keyEventListener.setConvertToAscii(convertToAscii); @@ -103,7 +107,8 @@ } @Override - public Renderer createRenderer(Reader reader, int width, int height, PixelFormat pixelFormat) { + public Renderer createRenderer(Reader reader, int width, int height, + PixelFormat pixelFormat) { renderer = new RendererImpl(reader, width, height, pixelFormat); synchronized (renderer) { cursor = renderer.getCursor(); @@ -125,11 +130,12 @@ requestFocus(); } - @Override public void paintComponent(Graphics g) { - ((Graphics2D)g).scale(scaleFactor, scaleFactor); - ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + if(renderer != null && cursor != null){ + ((Graphics2D) g).scale(scaleFactor, scaleFactor); + ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_RENDERING, + RenderingHints.VALUE_RENDER_QUALITY); synchronized (renderer) { Image offscreenImage = renderer.getOffscreenImage(); if (offscreenImage != null) { @@ -138,18 +144,20 @@ } synchronized (cursor) { Image cursorImage = cursor.getImage(); - if (showCursor && cursorImage != null && - (scaleFactor != 1 || - g.getClipBounds().intersects(cursor.rX, cursor.rY, cursor.width, cursor.height))) { + if (showCursor + && cursorImage != null + && (scaleFactor != 1 || g.getClipBounds().intersects( + cursor.rX, cursor.rY, cursor.width, cursor.height))) { g.drawImage(cursorImage, cursor.rX, cursor.rY, null); } } + } } - @Override public Dimension getPreferredSize() { - return new Dimension((int)(this.width * scaleFactor), (int)(this.height * scaleFactor)); + return new Dimension((int) (this.width * scaleFactor), + (int) (this.height * scaleFactor)); } @Override @@ -175,17 +183,22 @@ @Override public void repaintBitmap(int x, int y, int width, int height) { - repaint((int)(x * scaleFactor), (int)(y * scaleFactor), - (int)Math.ceil(width * scaleFactor), (int)Math.ceil(height * scaleFactor)); + repaint((int) (x * scaleFactor), (int) (y * scaleFactor), + (int) Math.ceil(width * scaleFactor), + (int) Math.ceil(height * scaleFactor)); } @Override public void repaintCursor() { synchronized (cursor) { - repaint((int)(cursor.oldRX * scaleFactor), (int)(cursor.oldRY * scaleFactor), - (int)Math.ceil(cursor.oldWidth * scaleFactor) + 1, (int)Math.ceil(cursor.oldHeight * scaleFactor) + 1); - repaint((int)(cursor.rX * scaleFactor), (int)(cursor.rY * scaleFactor), - (int)Math.ceil(cursor.width * scaleFactor) + 1, (int)Math.ceil(cursor.height * scaleFactor) + 1); + repaint((int) (cursor.oldRX * scaleFactor), + (int) (cursor.oldRY * scaleFactor), + (int) Math.ceil(cursor.oldWidth * scaleFactor) + 1, + (int) Math.ceil(cursor.oldHeight * scaleFactor) + 1); + repaint((int) (cursor.rX * scaleFactor), + (int) (cursor.rY * scaleFactor), + (int) Math.ceil(cursor.width * scaleFactor) + 1, + (int) Math.ceil(cursor.height * scaleFactor) + 1); } } @@ -203,7 +216,8 @@ } } - public void addModifierListener(ModifierButtonEventListener modifierButtonListener) { + public void addModifierListener( + ModifierButtonEventListener modifierButtonListener) { this.modifierButtonListener = modifierButtonListener; if (keyEventListener != null) { keyEventListener.addModifierListener(modifierButtonListener); @@ -214,7 +228,8 @@ public void settingsChanged(SettingsChangedEvent e) { if (ProtocolSettings.isRfbSettingsChangedFired(e)) { ProtocolSettings settings = (ProtocolSettings) e.getSource(); - setUserInputEnabled( ! settings.isViewOnly(), settings.isConvertToAscii()); + setUserInputEnabled(!settings.isViewOnly(), + settings.isConvertToAscii()); showCursor(settings.isShowRemoteCursor()); } else if (UiSettings.isUiSettingsChangedFired(e)) { UiSettings settings = (UiSettings) e.getSource();