On 7/14/07, Gustavo Sverzut Barbieri <barbieri@...> wrote:
> On 7/14/07, Lars Munch <lars@...> wrote:
> > Hi Gustavo
> > On Fri, Jul 13, 2007 at 07:53:58PM -0300, Gustavo Sverzut Barbieri
> > wrote:
> > > Ok, reading evas docs it's really the expected behavior, at least it's
> > > documented:
> > >
> > > * EVAS_CALLBACK_MOUSE_OUT: event_info = pointer to
> > > Evas_Event_Mouse_Out * * ... Note that no out events will be *
> > > reported if the mouse pointer is implicitly grabbed to an object (the
> > > * mouse buttons are down at all and any were pressed on that object).
> > > An * out event will be reported as soon as the mouse is no longer
> > > grabbed (no * mouse buttons are depressed). Out events will be
> > > reported once all buttons * are released, if the mouse has left the
> > > object.
> > >
> > >
> > > So, how to solve it without brake every existent thing that depends on
> > > this?
> > As you can see from this post I had a similar problem some months ago:
> > http://article.gmane.org/gmane.comp.window-managers.enlightenment.devel/12444/match=
> > I was also creating a virtual keyboard for a touchscreen and it was also
> > highly inspirred by the iPhone keyboard.
> > I think the current behaviour are good for some parts like sliders, but
> > for other pars like push buttons I would like to be able to get an out
> > event as soon at the mouse leaves the part (clicked or not). Maybe we
> > could add an ungrab or regrab function?
> yes, maybe mouse_grab=0|1 and in evas test for this flag being set.
> BUT, i already tried a quick hack to avoid mouse_grabbed lines and it
> didn't work, maybe it's not that easy or I did some mistake, again a
> _quick_ hack :-P
Ok, it turned out to be easy to extend this with mouse_grab idea, I'd
like some review on these patches, but I've tested them together with
an etk application (edje_viewer) and it seems to work fine.
Patches are attached as TXT so gmail recognizes them as text/plain and
avoid them being stripped by e-devel mail list.
Notice that edje property is no_mouse_grab, because then we can keep
compatibility with existent .edj files.
I don't like evas_object_mouse_grab_set() very much, it looks like
mouse will be immediately grab, which is not the case. But I don't
have any better word for that.
Gustavo Sverzut Barbieri
Mobile: +55 (81) 9927 0010