Commit Graph

150 Commits

Author SHA1 Message Date
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
Tom Hacohen a6948c292f bla
SVN revision: 60711
2011-06-27 02:18:31 +00:00
Tom Hacohen 584bb92495 Evas events: handle MOUSE_OUT stuff only if there's no mouse grab on.
ATTENTION: if you find any weird issues, please let me know. After testing
here, reading the code and discussing it with raster I decided to commit it,
but this is a very sensitive area. :P

SVN revision: 60651
2011-06-24 06:59:30 +00:00
Carsten Haitzler 5bff0873d1 multitouch grab fix.
SVN revision: 60650
2011-06-24 05:35:33 +00:00
Tom Hacohen 80a5464888 Evas: Fixed some annoying Wshadow warnings.
SVN revision: 60305
2011-06-14 14:04:07 +00:00
Carsten Haitzler cb74d132fb should now handle implicit object grabs with multi touch too..
SVN revision: 60265
2011-06-13 10:00:25 +00:00
Carsten Haitzler bdba0b8171 Add feature: convenience call: evas_event_thaw_eval()
SVN revision: 59727
2011-05-27 08:26:11 +00:00
Vincent Torri b3ed32be46 remove some shadow declarations
SVN revision: 59508
2011-05-18 14:12:10 +00:00
ChunEon Park 2b52e0b758 evas / canvas - removed useless line.
SVN revision: 59190
2011-05-04 11:19:49 +00:00
Carsten Haitzler 09069b6172 doxy move to header.
SVN revision: 58477
2011-04-08 07:26:20 +00:00
Mike Blumenkrantz b050405d35 avoid setting value that will never be read
SVN revision: 56093
2011-01-14 06:13:09 +00:00
Lucas De Marchi 4dcae856ea Fix function call after previous change
Forgot one function call.



SVN revision: 52408
2010-09-18 06:41:04 +00:00
Lucas De Marchi 4db4b59b02 Make _evas_event_havemap_adjust() recursive
Make this function recursive, so it can adjust the coords for all
parent objects. It starts with the grand-grand-grand-...-parent and goes
down until the same object.



SVN revision: 52407
2010-09-18 06:31:41 +00:00
Lucas De Marchi 1a0a9b68f6 Use also map of current object
Do not use only the map of the parent. Apply the obj's map first and
then go to the parent.

+  simple formatting



SVN revision: 52406
2010-09-18 06:31:12 +00:00
Lucas De Marchi a1a69cae0f Remove havemap_parent shortcut
SVN revision: 52405
2010-09-18 06:31:05 +00:00