X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2FSurface.java;h=d2130e39781455f5d6b12e7e1df2f88e3ce26972;hb=707b1064f56e88db0cf555a99cb4aa224484f51a;hp=b5530566bad11788c2690feccebb42ec37591397;hpb=678a052b8a88a204220b57071360775ffa7b8c2b;p=org.ibex.core.git diff --git a/src/org/ibex/Surface.java b/src/org/ibex/Surface.java index b553056..d2130e3 100644 --- a/src/org/ibex/Surface.java +++ b/src/org/ibex/Surface.java @@ -132,8 +132,8 @@ public abstract class Surface extends PixelBuffer implements Scheduler.Task { int oldmousex = mousex; mousex = newmousex; int oldmousey = mousey; mousey = newmousey; String oldcursor = cursor; cursor = "default"; - // Root gets motion events outside itself (if trapped) - if (!root.inside(oldmousex, oldmousey) && !root.inside(mousex, mousey) && (button1 || button2 || button3)) + // FIXME: Root (ONLY) gets motion events outside itself (if trapped) + if (oldmousex != mousex || oldmousey != mousey) root.putAndTriggerTrapsAndCatchExceptions("_Move", T); if (!cursor.equals(oldcursor)) syncCursor(); } }; @@ -236,7 +236,7 @@ public abstract class Surface extends PixelBuffer implements Scheduler.Task { // make sure the root is properly sized do { abort = false; - root.repack(); + root.pack(); if (syncRootBoxToSurface) { root.setMaxWidth(JS.N(pendingWidth)); root.setMaxHeight(JS.N(pendingHeight)); @@ -248,12 +248,12 @@ public abstract class Surface extends PixelBuffer implements Scheduler.Task { dirty(0, root.maxheight - Main.scarImage.height, Main.scarImage.width, Main.scarImage.height); } root.resize(root.x, root.y, root.maxwidth, root.maxheight); - root.place_children(); + root.place(); setSize(root.width, root.height); - String oldcursor = cursor; + /*String oldcursor = cursor; cursor = "default"; root.putAndTriggerTrapsAndCatchExceptions("_Move", JS.T); - if (!cursor.equals(oldcursor)) syncCursor(); + if (!cursor.equals(oldcursor)) syncCursor();*/ } while(abort); int[][] dirt = dirtyRegions.flush();