} catch (java.lang.NullPointerException ex) {
gameid = null;
}
- System.out.println("ooh " + gameid);
if (gameid == null) {
puzzle_args = null;
} else {
case 0:
String text = runtime.cstring(arg2);
if (text.equals("")) text = " ";
- System.out.println("status '" + text + "'");
- statusBar.setText(text); break;
+ statusBar.setText(text);
+ break;
case 1:
gg = pp.backBuffer.createGraphics();
- if (arg2 != 0 || arg3 != 0) {
- gg.setColor(Color.black);
- gg.fillRect(0, 0, arg2, getHeight());
- gg.fillRect(0, 0, getWidth(), arg3);
- gg.fillRect(getWidth() - arg2, 0, arg2, getHeight());
- gg.fillRect(0, getHeight() - arg3, getWidth(), arg3);
- gg.setClip(arg2, arg3, getWidth()-2*arg2, getHeight()-2*arg3);
+ if (arg2 != 0 || arg3 != 0 ||
+ arg2 + xarg2 != getWidth() ||
+ arg3 + xarg3 != getHeight()) {
+ int left = arg2, right = arg2 + xarg2;
+ int top = arg3, bottom = arg3 + xarg3;
+ int width = getWidth(), height = getHeight();
+ gg.setColor(colors != null ? colors[0] : Color.black);
+ gg.fillRect(0, 0, left, height);
+ gg.fillRect(right, 0, width-right, height);
+ gg.fillRect(0, 0, width, top);
+ gg.fillRect(0, bottom, width, height-bottom);
+ gg.setClip(left, top, right-left, bottom-top);
}
break;
case 2: gg.dispose(); pp.repaint(); break;
case 3: gg.setClip(arg2, arg3, xarg1, xarg2); break;
case 4:
if (arg2 == 0 && arg3 == 0) {
- gg.fillRect(0, 0, getWidth(), getHeight());
+ gg.setClip(0, 0, getWidth(), getHeight());
} else {
gg.setClip(arg2, arg3, getWidth()-2*arg2, getHeight()-2*arg3);
}
case 7: // string
gg.setColor(colors[arg2]);
{
- String text = runtime.cstring(arg3);
+ String text = runtime.utfstring(arg3);
Font ft = new Font((xarg3 & 0x10) != 0 ? "Monospaced" : "Dialog",
Font.PLAIN, 100);
int height100 = this.getFontMetrics(ft).getHeight();
int asc = fm.getAscent(), desc = fm.getDescent();
if ((xarg3 & ALIGN_VCENTRE) != 0)
xarg2 += asc - (asc+desc)/2;
- else
- xarg2 += asc;
int wid = fm.stringWidth(text);
if ((xarg3 & ALIGN_HCENTRE) != 0)
xarg1 -= wid / 2;
break;
case C_CHOICES:
JComboBox jcm = (JComboBox)cc.component;
- runtimeCall("jcallback_config_set_boolean", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
+ runtimeCall("jcallback_config_set_choice", new int[] {cc.configItemPointer, jcm.getSelectedIndex()});
break;
}
}