aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/tigervnc/vncviewer/VncCanvas2.java
diff options
context:
space:
mode:
authorAdam Tkac <atkac@redhat.com>2009-03-13 13:11:51 +0000
committerAdam Tkac <atkac@redhat.com>2009-03-13 13:11:51 +0000
commitd0e84634e0058af86d39f1609dff2089684247d7 (patch)
treec74c060f6cc64f5318f330e70861c2d7ce4e5b6f /java/src/com/tigervnc/vncviewer/VncCanvas2.java
parentb184fc81d62fab3c2f909e8a15961ec0ca491b99 (diff)
downloadtigervnc-d0e84634e0058af86d39f1609dff2089684247d7.tar.gz
tigervnc-d0e84634e0058af86d39f1609dff2089684247d7.zip
Rename java/src/com/tightvnc to java/src/com/tigervnc.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3672 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'java/src/com/tigervnc/vncviewer/VncCanvas2.java')
-rw-r--r--java/src/com/tigervnc/vncviewer/VncCanvas2.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/java/src/com/tigervnc/vncviewer/VncCanvas2.java b/java/src/com/tigervnc/vncviewer/VncCanvas2.java
new file mode 100644
index 00000000..502d26fe
--- /dev/null
+++ b/java/src/com/tigervnc/vncviewer/VncCanvas2.java
@@ -0,0 +1,65 @@
+//
+// Copyright (C) 2006 Constantin Kaplinsky. All Rights Reserved.
+//
+// This is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this software; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+//
+
+package com.tightvnc.vncviewer;
+
+import java.awt.*;
+import java.io.*;
+
+//
+// VncCanvas2 is a special version of VncCanvas which may use Java 2 API.
+//
+
+class VncCanvas2 extends VncCanvas {
+
+ public VncCanvas2(VncViewer v) throws IOException {
+ super(v);
+ disableFocusTraversalKeys();
+ }
+
+ public VncCanvas2(VncViewer v, int maxWidth_, int maxHeight_)
+ throws IOException {
+
+ super(v, maxWidth_, maxHeight_);
+ disableFocusTraversalKeys();
+ }
+
+ public void paintScaledFrameBuffer(Graphics g) {
+ Graphics2D g2d = (Graphics2D)g;
+ g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
+ RenderingHints.VALUE_RENDER_QUALITY);
+ g2d.drawImage(memImage, 0, 0, scaledWidth, scaledHeight, null);
+ }
+
+ //
+ // Try to disable focus traversal keys (JVMs 1.4 and higher).
+ //
+
+ private void disableFocusTraversalKeys() {
+ try {
+ Class[] argClasses = { Boolean.TYPE };
+ java.lang.reflect.Method method =
+ getClass().getMethod("setFocusTraversalKeysEnabled", argClasses);
+ Object[] argObjects = { new Boolean(false) };
+ method.invoke(this, argObjects);
+ } catch (Exception e) {}
+ }
+
+}
+