Commit Graph

164 Commits

Author SHA1 Message Date
Jiyoun Park 102a85cc6e Fix evas pointer count problem, if press/release events occurs not pair,
it screws up the evas event process. We are not deal with release event if
there is no pressed pointer


SVN revision: 74705
2012-08-01 05:43:50 +00:00
ChunEon Park 2c601fc25b evas/event - simpler route
SVN revision: 72185
2012-06-15 10:34:22 +00:00
Tom Hacohen 77e0f02f72 Revert "evas/event - Fixed incorrect events passing. Now child's repeat events does not affect to the parent's level."
This reverts commit 72080.

It broke everything. EFM stopped responding to mouse clicks, same with
clouseau. Seriously, completely broken.

SVN revision: 72093
2012-06-13 17:37:19 +00:00
ChunEon Park c513f84aa8 evas/event - Fixed incorrect events passing. Now child's repeat events does not affect to the parent's level.
SVN revision: 72080
2012-06-13 10:19:19 +00:00
ChunEon Park 8414915d9b evas/event - trivial changes
SVN revision: 72060
2012-06-13 06:08:01 +00:00
Cedric BAIL 3333544ed6 evas: delay O(n) update of the bounding box until we really need it.
SVN revision: 71773
2012-06-07 07:10:36 +00:00
Cedric BAIL b8ade6a7cf evas: try to fix another breakage by preventing the size of the bounding box to be smaller than the actual object geometry.
SVN revision: 70693
2012-05-03 10:58:12 +00:00
ChunEon Park 258556cbf4 evas/evas_event - do not be crashed.
SVN revision: 70589
2012-05-02 02:40:03 +00:00
Cedric BAIL 0f424acb6e evas: and for this nice international hollyday let me introduce a dynamic bounding box for smart object.
This make it possible to use the object tree to reduce the number of object, we need to explore to know
what is under a specific position. First used by propagation event code. That code is now 4 times faster, enjoy !
As a side cost evas_object_move goes from 925 to 980 valgrind cycle on my computer, so not something you
will notice.

NOTE: if you notice any breakage regarding event propagation, map, cats, minor or major, please report to
me ! I hope I didn't loose my mojo, with such a scary change, I have a big chance to get it back !


SVN revision: 70564
2012-05-01 07:31:42 +00:00
ChunEon Park f6db68d6f5 evas/evas_events - do not call the up event when obj is freezed and removed useless codes.
SVN revision: 67828
2012-02-10 13:39:15 +00:00
Sebastian Dransfeld 28dff90eff evas: Fix shadow warnings
SVN revision: 67300
2012-01-18 23:33:07 +00:00
Carsten Haitzler 4ae6816486 add EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN for accessibility
:)



SVN revision: 67264
2012-01-17 08:35:32 +00:00
Carsten Haitzler 36ef335ae9 fix mouse out handler to out all objects mouse is in - right thing to
do.



SVN revision: 66699
2011-12-30 15:20:15 +00:00
Carsten Haitzler e3c2428b9b notes.
SVN revision: 66698
2011-12-30 15:17:13 +00:00
Carsten Haitzler 6f5a4382d0 fix some formatting i spotted.
SVN revision: 66570
2011-12-27 12:03:03 +00:00
Carsten Haitzler d832fca15c add feature to help fix bug in ecore-evas
SVN revision: 66567
2011-12-27 12:01:17 +00:00
ChunEon Park 0d3a9bd25c evas/evas_events - repeat events should not be affected by children.
Fixed to object passes events to the next object in the same layer if the repeat_events is enabled



SVN revision: 66416
2011-12-21 07:55:22 +00:00
ChunEon Park 9674e97ef5 evas - proper coding convention.
SVN revision: 66364
2011-12-20 07:06:53 +00:00
Carsten Haitzler 34581d0300 Add new api to set and get default event flags.
SVN revision: 66275
2011-12-16 09:24:18 +00:00
Jiyoun Park 36e658e20a bug fix related with evas event counter
currently evas_object_event_callback_call checks _evas_event_counter 
for preventing object's callback called several times in one evas event.

but it use global variable(_evas_event_counter), it can be changed while
procssing same event. 

for example , evas_event_feed_mouse_up. 
If there are several object in e->pointer.object.in and object 1's callback
create new evas event, object 2 cannot now event id.
so I change callback call api, and object callbacks can decide wheather it deal with that event.


SVN revision: 66234
2011-12-15 06:23:53 +00:00
Jiyoun Park c86d47ae59 remove white space
SVN revision: 66232
2011-12-15 05:25:37 +00:00
Carsten Haitzler 0434ce6574 * Fix grab count negative values if you do weird combinations of
press and release with multiple fingers or multiple mouse
        buttons.
        


SVN revision: 66134
2011-12-13 05:59:36 +00:00
Carsten Haitzler b2bbceff4b Fix repeat event inheritance from parent smart just like
pass events are inherited. This was inconsistent.
                


SVN revision: 65574
2011-11-24 13:01:15 +00:00
ChunEon Park 61655ba055 evas/events - removed events_frozen check in evas_event_passes_through()
in most cases, it is performed twice inside and outside of the function in inefficient way.

and calling of events_frozen in the passes_through() is not understable in the view of functional consistency.

Check is separately would be better.




SVN revision: 65269
2011-11-15 15:10:19 +00:00
ChunEon Park 0bc308dcd7 evas/evas_events - modified unsigned char -> Eina_Bool for some fields in the Evas_Key_Grab structure.
removed white spaces and fixed indent also



SVN revision: 65092
2011-11-12 08:06:30 +00:00
ChunEon Park 6dbe2c7443 evas/evas_event - evas_object_freeze_set for the key events.
SVN revision: 65091
2011-11-12 07:51:58 +00:00
ChunEon Park c5f717d2b0 evas/evas_event - trivial changes
modify indentation to look more clearly. 
use Eina_Bool 



SVN revision: 65089
2011-11-12 07:01:38 +00:00
ChunEon Park d908a5d876 evas - trivial changes.
SVN revision: 65087
2011-11-12 06:12:42 +00:00
EunMi Lee 1b00894c58 From: EunMi Lee <eunmi15.lee@samsung.com>
Subject: [E-devel] [Patch][Evas] Fix wrong location of
_evas_touch_point_remove()

I have a small patch to fix the wrong location of _evas_touch_point_remove().
_evas_touch_point_remove() should be called in the evas_event_feed_mouse_up(),
but it is called in the evas_event_feed_mouse_cancel() in the current code.
Would you apply attached patch?



SVN revision: 65005
2011-11-10 06:25:56 +00:00
ChunEon Park 9db17a253c evas - supplemented more cases for object_freeze_events completion.
SVN revision: 64564
2011-10-31 14:50:00 +00:00
ChunEon Park 000aed92b8 evas - added new API evas_object_freeze_events_set/get
and will handle for the key events also soon. 



SVN revision: 64432
2011-10-27 10:36:09 +00:00
EunMi Lee 8b5d185038 From: EunMi Lee <eunmi15.lee@samsung.com>
Subject: [E-devel] [Patch] [Evas] Patch to provide information of
touched points

Hello,
I made a new patch to get information of current touched point instead
of Touch Event.

I added touch_points (Eina_List) to the Evas structure and it maintains touched points on the evas.
New touched point is added to the touch_points when we get Mouse_Down and Multi_Down,
touched point is updated when we get Mouse_Move and Mult_Move,
and touched point is removed when we get Mouse_Up and Multi_Up.

The each touch point has coordinate, id and state information as follows:
id - identifier. 0 for Mouse Event and device id for Multi Event. coordinate - (x, y) coordinate of point.
state - state of point. type is Evas_Touch_Point_State enum.
(EVAS_TOUCH_POINT_DOWN, EVAS_TOUCH_POINT_UP, EVAS_TOUCH_POINT_MOVE,
EVAS_TOUCH_POINT_STILL, EVAS_TOUCH_POINT_CANCEL)

There are 4 new APIs to get touch point's information as follows:
unsigned int evas_touch_point_list_count(Evas *e);
void evas_touch_point_list_nth_xy_get(Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y);
int evas_touch_point_list_nth_id_get(Evas *e, unsigned int n);
Evas_Touch_Point_State evas_touch_point_list_nth_state_get(Evas *e, unsigned int n);

I added APIs to get each information instead of exposing whole
structure to make it easy to expand in the future as you mentioned in
the below e-mail :)



SVN revision: 64373
2011-10-25 05:03:50 +00:00
ChunEon Park 40a6a331bb evas/evas_events - trivial changes
SVN revision: 64247
2011-10-21 09:53:26 +00:00
ChunEon Park a331fe3bca evas/evas_events.c - removed duplicated lines
SVN revision: 64198
2011-10-20 12:21:41 +00:00
ChunEon Park 0d616af28e evas/evas_events - removed useless lines since we support multi downs
but looks bad to keep the only one point in evas. 



SVN revision: 64197
2011-10-20 11:02:22 +00:00
Carsten Haitzler f1bdb3a902 for now - revers eumni touch events patch until we get press state
"getter" api patch. :)



SVN revision: 64140
2011-10-18 08:32:03 +00:00
ChunEon Park af25636ab8 evas/evas_events - trivial changes
SVN revision: 63953
2011-10-10 08:52:08 +00:00
EunMi Lee c6681aa189 From: EunMi Lee <eunmi15.lee@samsung.com>
Subject: [E-devel] [Patch] Evas touch event patch.

Nice to meet you.
I'm Eunmi Lee, developing mobile web browser and working on WebKit EFL port.
I need new type of event for touch, so I've made patch to add
EVAS_CALLBACK_TOUCH event to the evas.

I will explain history of this patch.
Currently, many web applications and sites use TouchEvent and they can
do everything(scrolling, zooming and so on) like native application
using TouchEvent.
So, I'm also want to provide TouchEvent for web in the WebKit EFL port,
but I got a problem during making TouchEvent because EFL's touch
event's structure (Mouse, Multi Event) is different from Web
TouchEvent's one.

Let me explain about Web TouchEvent firstly.
Web TouchEvent is consist of type and touch points list simply.
There are 3 kinds of type.
TouchStart: Happens every time a finger is placed on the screen.
TouchEnd: Happens every time a finger is removed from the screen.
TouchMove: Happens as a finger already placed on the screen is moved
across the screen.
for example, we can make (1 finger starts to touch), (2 fingers are
moving), (1 finger is released duirng 3 fingers are moving) and so on.
You can see the detailed information in the following url:
http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone

However, EFL's touch event is consist of six kinds of type :
MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE, MULTI_DOWN, MULTI_UP, MULTI_MOVE.
So, I have to make a converter to make web touch event from EFL's
touch event.
You can reference attatched image file : evas_touch_event.png.

To tell the truth, converting code is not a big one.
But, I want to reduce this additional job and make code simple.
In the WebKit QT port, they don't have to make converting code for
TouchEvent,
because they have QTouchEvent, it has type and touchPoints list and
they can be mapped to Web TouchEvent one by one.
I think iPhone and Android also have such kind of event.

That's all why I want to add new touch event type to the evas.

about my patch:
- EVAS_CALLBACK_TOUCH event is added
- touch_points Eina_List is added to the Evas structure to maintain
current touch lists.
- process MOUSE/MULTI UP, DOWN, MOVE to make TOUCH event.

It is my first time to modify eves codes and actually I don't know too
much about evas.
So, I will be grateful if you send any feedback and comments.




SVN revision: 63796
2011-10-04 07:30:22 +00:00
Carsten Haitzler 7be30a23bf and another commit in an attempt to fix mouse grabs + event callbacks
to be consistent



SVN revision: 63607
2011-09-26 02:45:06 +00:00
Carsten Haitzler 0df0084dba as suspected... this breaks drag and drop! :( revert.
SVN revision: 63577
2011-09-24 04:01:36 +00:00
Carsten Haitzler 222644dc67 try this for fixing grab count when callbacks play with further events
in the in list copy (like moving, resizing, hiding etc. them).



SVN revision: 63554
2011-09-23 06:37:03 +00:00
ChunEon Park ad59819a7d evas/evas_events - just removed white spaces.
SVN revision: 63511
2011-09-21 10:35:03 +00:00
Lucas De Marchi 1feec2b65e evas: fix common misppellings
Mispellings detected by codespell.



SVN revision: 61408
2011-07-15 14:37:49 +00:00
Tom Hacohen ba9e8ca113 Evas events: Added evas_event_refeed_event.
Patch by Aharon Hillel.

SVN revision: 61117
2011-07-07 13:59:50 +00:00
Tom Hacohen 5a88f63381 Evas events: Fix issues with mouse_in/out caused by previous commit.
SVN revision: 60793
2011-06-29 05:05:35 +00:00
Tom Hacohen 3287d97442 Evas events: Re-apply commits 60787,60788.
SVN revision: 60792
2011-06-29 05:05:32 +00:00
Carsten Haitzler 99475ecdf3 REVERT commits 60787 and 60788 by tasn. BORK mouse in/out (e17 menus)
SVN revision: 60790
2011-06-29 03:14:57 +00:00
Tom Hacohen 5182b1d519 Evas events: Fixed more issues with pointer grabbing.
We want to free the grab even if mouse up happened outside of the
object's region (that's the whole point of grabbing...). Also, we don't
want to update the grabbed list anywhere but in mouse down.

SVN revision: 60788
2011-06-29 02:03:33 +00:00
Tom Hacohen 067053b970 Evas events: Fix 1 more issue with pointer grabbing.
We only need to change the list of grabbed objects if we are initiating
a new grab, and not if are already in a grab because of multi touch.

SVN revision: 60787
2011-06-29 02:03:25 +00:00
Tom Hacohen df97b91f09 Revert "bla" - Wasn't supposed to go in yet.
This reverts commit 60711.

SVN revision: 60713
2011-06-27 02:19:41 +00:00