public class Java2 extends AWT {
private boolean isJava14 = false;
- protected boolean _supressDirtyOnResize() {
- return false;
- //return (isJava14 && !System.getProperty("os.name", "").equals("Mac OS X"))? false : true;
- }
public Java2() {
// disable the focus manager so we can intercept the tab key
String versionString = System.getProperty("java.version", "");
int secondDecimal = versionString.substring(versionString.indexOf('.') + 1).indexOf('.');
if (secondDecimal != -1) versionString = versionString.substring(0, secondDecimal);
- /*
double version = Double.parseDouble(versionString);
if (version >= 1.4) {
isJava14 = true;
Method m = java.awt.Toolkit.class.getMethod("setDynamicLayout", new Class[] { Boolean.class });
m.invoke(t, new Object[] { Boolean.TRUE });
} catch (Exception e) {
- Log.log(this, "Exception while trying to enable AWT Dynamic Layout");
- Log.log(this, e);
+ Log.info(this, "Exception while trying to enable AWT Dynamic Layout");
+ Log.info(this, e);
}
}
- */
javax.swing.FocusManager.setCurrentManager(new javax.swing.FocusManager() {
public void processKeyEvent(Component focusedComponent, KeyEvent anEvent) { }
public void focusPreviousComponent(Component aComponent) { }
else return null;
} catch (Throwable e) {
- if (Log.on) Log.log(this, "exception while querying sun.plugin.protocol.PluginProxyHandler: " + e);
+ if (Log.on) Log.info(this, "No proxy information found in Java Plugin classes");
return null;
}
}});
Constructor ctor = java14SurfaceClass.getConstructor(new Class[] { Box.class, Boolean.TYPE });
return (Surface)ctor.newInstance(new Object[] { root, new Boolean(framed) });
} catch (Exception e) {
- Log.log(this, e);
+ Log.info(this, e);
throw new LinkageError("error: " + e);
}
} else {
new Point(1, 1), "invisible");
protected static class Java2Surface extends AWTSurface {
-
+
public Java2Surface(Box root, boolean framed) { super(root, framed); }
protected void _setMinimized(boolean b) {
- if (frame == null) Log.log(this, "JDK 1.2 can only minimize frames, not windows");
+ if (frame == null) Log.info(this, "JDK 1.2 can only minimize frames, not windows");
else if (b) frame.setState(java.awt.Frame.ICONIFIED);
else frame.setState(java.awt.Frame.NORMAL);
}
}
}
- protected static class Java14Surface extends Java2Surface implements WindowStateListener {
+ protected static class Java14Surface extends Java2Surface implements WindowStateListener, MouseWheelListener {
public Java14Surface(Box root, boolean framed) {
super(root, true);
// JDK1.4 doesn't like java.lang.Window's...
if (!framed) ((Frame)window).setUndecorated(true);
window.addWindowStateListener(this);
+ window.addMouseWheelListener(this);
window.setVisible(true);
}
protected void _setMaximized(boolean m) {
if (frame == null) {
- if (Log.on) Log.log(this, "JDK 1.4 can only maximize frames, not windows");
+ if (Log.on) Log.info(this, "JDK 1.4 can only maximize frames, not windows");
return;
}
frame.setExtendedState(m ? Frame.MAXIMIZED_BOTH : (minimized ? Frame.ICONIFIED : Frame.NORMAL));
}
protected void _setMinimized(boolean m) {
if (frame == null) {
- if (Log.on) Log.log(this, "JDK 1.4 can only minimize frames, not windows");
+ if (Log.on) Log.info(this, "JDK 1.4 can only minimize frames, not windows");
return;
}
frame.setExtendedState(m ? Frame.ICONIFIED : (maximized ? Frame.MAXIMIZED_BOTH : Frame.NORMAL));
Maximized(false);
}
}
+
+ public void mouseWheelMoved(MouseWheelEvent m) {
+ // TODO: Uncomment this once Scroll is implemented in the core
+ //if(m.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) { Scroll(m.getUnitsToScroll()); }
+ }
}
protected static class Java2PixelBuffer extends AWTPixelBuffer {
private static int[] ibank = null;
private static byte[] bbank = null;
private static int bank_start = 0;
+ private WritableRaster raster = null;
+ private SampleModel sm = null;
+ private DataBuffer buf = null;
+ // this doens't seem to work on Windows
+ /*
+ public void drawGlyph(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int rgb) {
+ AWTPicture src = (AWTPicture)source;
+ src.init();
+ Graphics2D g2 = (Graphics2D)i.getGraphics();
+ g2.setComposite(AlphaComposite.DstOut);
+ g2.setClip(cx1, cy1, cx2 - cx1, cy2 - cy1);
+ g2.drawImage(src.i, dx, dy, null);
+ g2.setComposite(AlphaComposite.DstOver);
+ g2.setColor(new Color((rgb & 0x00FF0000) >> 16, (rgb & 0x0000FF00) >> 8, (rgb & 0x000000FF)));
+ g2.fillRect(dx, dy, cx2 - dx, cy2 - dy);
+ g2.drawImage(i, 0, 0, null);
+ g2.setClip(0, 0, i.getWidth(null), i.getHeight(null));
+ }
+ */
public Java2PixelBuffer(int w, int h) {
- SampleModel sm = cm.createCompatibleSampleModel(w, h);
+ sm = cm.createCompatibleSampleModel(w, h);
int numSamples = w * h * sm.getNumDataElements();
- DataBuffer buf = null;
if (sm.getDataType() == DataBuffer.TYPE_USHORT) {
if (sbank == null || numSamples > 512 * 512 / 3) {
buf = new DataBufferUShort(numSamples);
bank_start += numSamples;
}
}
- i = new BufferedImage(cm, Raster.createWritableRaster(sm, buf, null), false, emptyHashtable);
+ raster = Raster.createWritableRaster(sm, buf, null);
+ i = new BufferedImage(cm, raster, false, emptyHashtable);
g = i.getGraphics();
}
}