On Mon, 17 Dec 2007 20:05:35 +0100 Dave <[EMAIL PROTECTED]> babbled:

> Hi all,
> I'm in trouble with the evas event system :(
> Working on esmart_container to make an iphone-like scrolling list (with 
> friction)
> this is the situation:
> I have a trasparent evas_object (big as all the container) used to grab 
> mouse events. When you click & drag the  mouse I make the container 
> scroll. The objects of the list also need mouse events so I used
> evas_object_repeat_events_set(cont->grabber, TRUE);
> to pass the mouse events.
> 
> The problem is that I want to 'repeat' the events only when is not a 
> dragging operation.
> In the grabber mouse,down callback I need to stop the propagation of the 
> event to the object below...
> 
> Some idea?
> In other toolkits this is done by returning a NULL value from the 
> callback...
> Thanks
> Dave

in evas - this isn't possible. you can't selectively chose to pass through the
event or not. btw - with what you are doing, u won't know to pass it through
until the down, up and any moves between have been done. so if the down and up
happen with almost no movement in between (allowing for some human mouse/finger
error of a few pixels of drag) THEN you need a way to fake a mouse down and up
to whatever object is below you. that's really what you need.

tho it would be convenient to have both. a way to propagate through
(repeat_events does that - but its ALWAYS on or ALWAYS off - cant do per
event). this could be done within a callback with an api call like
evas_event_repeat_block(); that would  cause evas to not repeat the event to
the object below if that was called inside the callback. the other way is
adding a return value to callbacks. evas callbacks do not have returns now.
adding this will break every evas callback in every app/lib. this will be a
most nasty break to do. i'd only do that as a last resort. i'd rather find a
way of doing this without such a break.

if evas just keeps itw own internal stack for every callback when it calls it
with flags for that callback stack frame - this could be used to hold flags
with calls like the above block call modifying the current frame flags and the
callback handling looking at the flags to see what to do.

> -------------------------------------------------------------------------
> SF.Net email is sponsored by:
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services
> for just about anything Open Source.
> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to