protected org.ibex.graphics.Font.Glyph _createGlyph(org.ibex.graphics.Font f, char c) { return new AWTGlyph(f, c); }
protected static class AWTGlyph extends org.ibex.graphics.Font.Glyph {
- private Image i = null;
- private Image i2 = null;
+ Image i = null;
+ Image i2 = null;
private static ColorModel cmodel = new DirectColorModel(32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);
// this doesn't work on Win32 because the JVM is broken
public void setMinimumSize(int minx, int miny, boolean resizable) { if (frame != null) frame.setResizable(resizable); }
public void toBack() { if (window != null) window.toBack(); }
public void toFront() { if (window != null) window.toFront(); }
- public void setLocation() { window.setLocation(root.x, root.y); }
+ public void setLocation() { /*window.setLocation(root.x, root.y); FIXME */ }
public void setTitleBarText(String s) { if (frame != null) frame.setTitle(s); }
public void setIcon(Picture i) { if (frame != null) frame.setIconImage(((AWTPicture)i).i); }
public void _setSize(int width, int height) {
g = null;
- //window.setSize(width + (insets.left + insets.right), height + (insets.top + insets.bottom));
+ window.setSize(width + (insets.left + insets.right), height + (insets.top + insets.bottom));
}
public void setInvisible(boolean b) { window.setVisible(!b); }
protected void _setMinimized(boolean b) { if (Log.on) Log.info(this, "JDK 1.1 platforms cannot minimize or unminimize windows"); }
class InnerFrame extends Frame {
public InnerFrame() throws java.lang.UnsupportedOperationException { }
- public Dimension getMinimumSize() { return new Dimension(root.minwidth(), root.minheight()); }
+ public Dimension getMinimumSize() { return new Dimension(root.minwidth, root.minheight); }
public void update(Graphics gr) {
Rectangle r = gr.getClipBounds();
super.update(gr);
class InnerWindow extends Window {
public InnerWindow() throws java.lang.UnsupportedOperationException { super(new Frame()); }
- public Dimension getMinimumSize() { return new Dimension(root.minwidth(), root.minheight()); }
+ public Dimension getMinimumSize() { return new Dimension(root.minwidth, root.minheight); }
public void update(Graphics gr) { paint(gr); }
public void paint(Graphics gr) {
g = null;
super.render();
}
+ Insets getInsets() {
+ Insets ret = window.getInsets();
+ if (System.getProperty("os.name", "").equals("Mac OS X")) ret.bottom = -1 * ret.top;
+ return ret;
+ }
+
AWTSurface(Box root, boolean framed) {
super(root);
try {
if (Log.on) Log.info(this, e);
}
- insets = window.getInsets();
+ insets = getInsets();
window.addMouseListener(this);
window.addKeyListener(this);
public void componentResized(ComponentEvent e) {
// we have to periodically do this; I don't know why
- insets = window.getInsets();
+ insets = getInsets();
componentResized(window.getWidth() - insets.left - insets.right, window.getHeight() - insets.top - insets.bottom);
}
public void componentResized(int newwidth, int newheight) {
SizeChange(newwidth, newheight);
- //if (newwidth > root.width) Dirty(root.width, 0, newwidth-root.width, newheight);
- //if (newheight > root.height) Dirty(0, root.height, newwidth, newheight-root.height);
+ if (newwidth > root.width) Dirty(root.width, 0, newwidth-root.width, newheight);
+ if (newheight > root.height) Dirty(0, root.height, newwidth, newheight-root.height);
Refresh();
}