On 26 May 2006 at 15:05, Neil Mix wrote:

> Both.  Perhaps a good way of defining it is like this: when an object 
> starts receiving mouse events, it receives onmouseover.  When it 
> stops receiving events (for any reason) it receives onmouseout.  So 
> if the mouse moves onto A, then over B, then off of B (but still on 
> A),

Some simple ideas ..

(a) In OpenLaszlo canvas have a canvas background view (id = "canvas_bg") which is full parent canvas size.   All objects now lie on this canvas_bg. 

(b) Attach mouseover/mouseout methods to this "canvas_bg".

(c) Keep an "event balance sheet" count per "inner object" in canvas.  This "event balance sheet" should cancel out to zero .. (unless an event is missed due to fast mouse movements). 

      onmouseover - object(s) balance sheet +1
      onmouseout    - object(s) balance sheet -1

(d) On each mouseover or mouseout of canvas_bg, check the event balance sheet to see if mouse events have been missed due to mouse fast tracking.  Balance sheet could be aggregate for all objects (one attribute) or, finer control, for each object (multiple attributes).

(e) If this simple approach does not detect missed events then an extreme measure would be to have
two nested divs in HTML wrapper. Plus some rules for tracking mouse events.

One, the main (id="inner_canvas") app.

The second, the other (id = "outer_canvas") to be full browser size to capture off "inner_canvas"..
 
The "outer_canvas" div (full browser size) has the sole purpose of capturing mouseout of "inner_canvas"  (and perhaps sending a message to the "inner_canvas" app).

Just rough ideas in Flash objects alone.  Apart from using any DHTML event management in HTML wrapper.

I would use SWFObject to embed the two Flash objects, to allow messages to be passed between div's..

DL
_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to