Commit Graph

1653 Commits

Author SHA1 Message Date
ChunEon Park 169ffa5fcd evas/evas_object_polygon - fixed wrong.
SVN revision: 64553
2011-10-31 10:30:39 +00:00
ChunEon Park 52a4c4bc7c evas/evas_stack - just removed white spaces and fixed indentations
SVN revision: 64552
2011-10-31 10:16:18 +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
Carsten Haitzler ccf5af6c44 and fix evas map used as mapbuf with clipping and stuff! ugh! the
forever shifting bug! evas_render needs a rewrite



SVN revision: 64429
2011-10-27 09:39:18 +00:00
Carsten Haitzler ee86abe1ea fix clip-out issue after making mapped objs opque fix was in.
SVN revision: 64413
2011-10-26 13:33:25 +00:00
Carsten Haitzler 122a51f16a warning--
SVN revision: 64390
2011-10-25 12:25:15 +00:00
ChunEon Park d12a0879d2 evas/evas_object_smart - trivial changes
SVN revision: 64375
2011-10-25 08:37:43 +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 8658d955ce Evas - Modified field names in Evas structure to be more clear.
SVN revision: 64371
2011-10-25 02:26:51 +00:00
Vincent Torri fe2e2a1787 emacs users don't like trailing white spaces
SVN revision: 64319
2011-10-23 06:59:40 +00:00
Carsten Haitzler ce882f55ae annoy vim users with spaces at the start of blank lines. :)
SVN revision: 64317
2011-10-23 03:51:41 +00:00
Carsten Haitzler 62106ea76a oh dear. debugging snuck in in my other fixes. remove.
SVN revision: 64287
2011-10-22 02:40:52 +00:00
Carsten Haitzler 30517bc67c oh this one was a doosey to find. objects still having map applied BUT
map is the same as a normal display (no mapping at all) are not
considered opaque. fix!



SVN revision: 64264
2011-10-21 17:14:03 +00:00
Cedric BAIL ce3a658ef7 evas: coorectly dirty YUV data.
SVN revision: 64254
2011-10-21 14:06:42 +00:00
Carsten Haitzler a9cee095f1 and NOW fix obscure object handling properly.
SVN revision: 64252
2011-10-21 10:25:35 +00:00
Carsten Haitzler ed5360c648 and disable invalidate optimization
SVN revision: 64249
2011-10-21 10:00:03 +00:00
ChunEon Park 40a6a331bb evas/evas_events - trivial changes
SVN revision: 64247
2011-10-21 09:53:26 +00:00
Carsten Haitzler 1541b0e97e add call to get maximum image size (eg max texture size)
SVN revision: 64244
2011-10-21 08:17:14 +00:00
Carsten Haitzler 4587fbb802 nicer formatting of async events
SVN revision: 64240
2011-10-21 05:50:05 +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
Sung W. Park c1cc0a7ed2 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: Re: [E-devel] [E-Devel][Review][Patch] Evas GL Extensions + a
bug fix


Here's an initial attempt at the GL extensions issue for Evas GL.

I have been in discussion with a few EFL developers regarding how we should
provide extensions.  Essentially, there are two ways to go about doing this.

1. provide evas_gl_proc_address_get() function as it is done in other
glue layers

2. provide all the extension functions in the EVAS_GL_API struct.

#1 approach is how it's done in other glue layers and the driver implementor can
provide new extensions easily.  It is however pretty annoying to get the
function prototypes right and use the function pointers and etc.

#2 approach provides all the extension functions in the struct so it's
definitely easier to use.  Adding new extensions can be a pain as people may
have to wait for new version releases.

For now, we thought it was OK to just throw them in the struct as in
#2 and try it out.  So, I've implemented this approach.  As for the extensions,
I've basically included all the extensions in gl2ext.h as EvasGL currently
provides all the GLES 2.0 functions.   In order to display the right
information, I had to override glGetString() with GL_EXTENSIONS as parameter to properly
display the supported extensions.

Also, I've added a few EGL extensions that have been
modified for EvasGL use.  For example, eglCreateImage/eglDestroyImage has been
defined as folllows.

   EvasGLImage  (*evasglCreateImage) (int target, void* buffer, int*
                                         attrib_list); void
                                            (*evasglDestroyImage)
(EvasGLImage image);

const char *evas_gl_string_query() function was added to return a string of
supported EvasGL extensions.  So essentially, a user can search this string to see
if the desired extension is supported.  if it is, he can use the functions.  He can
always check if the function pointers are NULL as well.

Take a look at the pach and let me know what you think.

______________

While I was adding the extension code, I've added a few fixes/ changes
to the EvasGL.

1. glDeletBuffers bug
- When I wad destroying evasgl context, I was deleting the context FBO with
glDeleteBuffers instead of glDeleteFramebuffers. This code in effect was
deleting BOs in other contexts and we had some funky behaviors as a
result.  The
bug has been fixed.

2. make_current
- I've made some changes to the make current code and also added a resource
context to the engine data.  the resource context is used for creating surface
texture/ fbos when surface/ context is created.  Before, i was using evas'
context but thought it'd be a good idea to use a separate context.



SVN revision: 64139
2011-10-18 08:13:23 +00:00
Tom Hacohen 387bff89fb Evas textblock: Beautify the DRAW_FORMAT_DASHED macro a bit.
Patch by Shilpa Singh.

SVN revision: 64135
2011-10-17 12:18:57 +00:00
Tom Hacohen f1f954185a Evas textblock: Cleaned up DRAW_FORMAT/_DASHED macros.
Fixed compiler warnings.

SVN revision: 64132
2011-10-17 10:43:42 +00:00
Tom Hacohen ea9f23ad28 Evas textblock: Added dashed underline support.
Patch by Shilpa Singh

SVN revision: 64131
2011-10-17 10:43:08 +00:00
Cedric BAIL e2d8b7892d evas: only draw the hole when it's needed.
SVN revision: 64047
2011-10-13 09:23:42 +00:00
Mike McCormack ee5446fb13 evas: Use clists to store the render recalculation list
Rather than trying to avoid removing the list element that is
currently being processed, keep two lists and move elements
to the processed list before recalculating them.

Remove items from the list head only, and always append them
to the tail.

Use the fact that an item can be removed from a clist without
needing to know which list it is in.

Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>

SVN revision: 64030
2011-10-13 02:22:29 +00:00
Carsten Haitzler f83bdbc136 fix off-by-one update region calc in map.
SVN revision: 63984
2011-10-11 11:30:37 +00:00
Carsten Haitzler 914a08e206 use lround() for map coord rounding to avoid silly things like
15.999999999999999998 rounding down to 15... whihc leads to
sometimes... odd off-by-1 expected results.



SVN revision: 63978
2011-10-11 06:06:11 +00:00
ChunEon Park af25636ab8 evas/evas_events - trivial changes
SVN revision: 63953
2011-10-10 08:52:08 +00:00
Mike McCormack e5c1e7cc4f evas: remove extra CR
SVN revision: 63867
2011-10-06 02:23:57 +00:00
WooHyun Jung fb371c8aa6 evas/evas_object_textblock : When cursor_mode is BEFORE, dir_cur->node
can be NULL. So modified the conditional state.


SVN revision: 63824
2011-10-05 07:29:06 +00:00
Cedric BAIL 8edb994133 evas: cleanup and reorder video function call to be more usable.
SVN revision: 63799
2011-10-04 09:34:01 +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
Cedric BAIL d724205a6e evas: add basic support for video support.
SVN revision: 63758
2011-10-03 03:28:52 +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 0088ea3d8b new attempt to fix the hidden object event thing without breaking
dnd... this makes for consistent behavior. :)



SVN revision: 63599
2011-09-25 04:43:02 +00:00
Carsten Haitzler 64940b1bf4 oops - and dont need to sub the rgabbed count - i missed that it was
already done above. no bug there. move on.



SVN revision: 63586
2011-09-24 07:46:37 +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
Carsten Haitzler f3899ddecb fix grab event counter miss.
SVN revision: 63553
2011-09-23 06:19:20 +00:00
ChunEon Park b653b18526 evas_object_smart - trivial changes.
SVN revision: 63514
2011-09-21 10:56:23 +00:00
ChunEon Park ad59819a7d evas/evas_events - just removed white spaces.
SVN revision: 63511
2011-09-21 10:35:03 +00:00
Tom Hacohen 7b374f1dd3 Evas textblock: Fixed an issue when deleting A from <a><a>A</a></a>.
Reported by WooHyun. Thanks a lot, great catch, also told me where and what
the issue is exactly.

Also added a test to verify this works.

SVN revision: 63493
2011-09-20 08:05:50 +00:00
Cedric BAIL 3171f01b00 evas: remove a fixme by making the engine list dynamic.
SVN revision: 63481
2011-09-19 14:20:18 +00:00
Tom Hacohen 0de47ae436 Evas textblock: Replace the rbtree index with a fixed ptr array.
This possibly doesn't scale as good but it's good enough for everything I've
tried. It's a lot easier to maintain comparing to the rbtree, and takes a
lot less memory. Next step is probably changing the array size according
to the actual content of the textblock.

SVN revision: 63474
2011-09-19 09:17:17 +00:00
Daniel Juyung Seo 61b786c4e8 evas evas_name.c: Fixed indentation.
SVN revision: 63369
2011-09-14 04:41:12 +00:00
Tom Hacohen c0b309e43e Evas textblock: Added a workaround for the coords_recalc not being called.
Please, when you fix this annoying issue, revert this terrible commit. This
commit is intended to be a temporary fix.

SVN revision: 63267
2011-09-07 10:41:44 +00:00
Tom Hacohen fe8c41c6c5 Evas textblock: Use viewport for getting visible range, not clip.
SVN revision: 63191
2011-09-05 12:03:53 +00:00