Scheduler.add(this);
}
+ protected final void HScroll(int pixels) { new Message("_HScroll", new Integer(pixels), root); }
+ protected final void VScroll(int pixels) { new Message("_VScroll", new Integer(pixels), root); }
+ protected final void HScroll(float lines) { new Message("_HScroll", new Float(lines), root); }
+ protected final void VScroll(float lines) { new Message("_VScroll", new Float(lines), root); }
+
/** subclasses should invoke this method when the user resizes the window */
protected final void SizeChange(final int width, final int height) {
if (pendingWidth == width && pendingHeight == height) return;
else if (value.toLowerCase().equals("control")) control = false;
else if (value.toLowerCase().equals("shift")) shift = false;
this.value = value;
+ } else if (name.equals("_HScroll") || name.equals("_VScroll")) {
+ // FIXME: technically points != pixels
+ if (value instanceof Integer)
+ value = new Float(((Integer)value).intValue() * root.fontSize());
}
try {
boxContainingMouse.putAndTriggerTrapsAndCatchExceptions(name, value);