Commit Graph

159 Commits

Author SHA1 Message Date
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 9db17a253c evas - supplemented more cases for object_freeze_events completion.
SVN revision: 64564
2011-10-31 14:50:00 +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 f3899ddecb fix grab event counter miss.
SVN revision: 63553
2011-09-23 06:19:20 +00:00
Gustavo Lima Chaves c56c7c8b89 [evas] Documenting/exemplifying the following:
- evas_object_smart_type_check
 - evas_object_smart_type_check_ptr
 - evas_object_static_clip_get
 - evas_object_static_clip_set
 - evas_smart_class_get
 - evas_smart_class_new
 - evas_smart_data_get
 - evas_smart_free
 - evas_smart_objects_calculate



SVN revision: 61096
2011-07-06 18:46:58 +00:00
Carsten Haitzler 90d7dbddd4 Fix bug in in mouse grabs while frozen events are in place.
SVN revision: 61070
2011-07-06 08:43:18 +00:00
Gustavo Lima Chaves 003ab96f81 [evas] Documenting more functions on Evas objects:
- evas_object_event_callback_add
     - evas_object_event_callback_del_full
     - evas_object_focus_get
     - evas_object_focus_set
     - evas_object_key_grab
     - evas_object_key_ungrab
     - evas_object_pass_events_get
     - evas_object_pass_events_set
     - evas_object_precise_is_inside_get
     - evas_object_precise_is_inside_set
     - evas_object_propagate_events_get
     - evas_object_propagate_events_set
     - evas_object_repeat_events_get
     - evas_object_repeat_events_set

    Examples on them also follow.



SVN revision: 60769
2011-06-28 17:43:44 +00:00
Gustavo Lima Chaves 9618de0653 [evas] Documentation fixes for object manipulation
functions.



SVN revision: 60312
2011-06-14 20:12:20 +00:00
ChunEon Park 9442a38b81 evas/canvas - removed white trailing
SVN revision: 60112
2011-06-09 03:08:50 +00:00
ChunEon Park c982843cb3 evas/canvas - removed white spaces / fixed indentation
SVN revision: 60109
2011-06-09 02:45:59 +00:00
Carsten Haitzler 5d2bd283c3 disable evas filter code. buggy. doesn't work right.
SVN revision: 59898
2011-06-02 10:40:43 +00:00
Lucas De Marchi 10237c5b56 evas: fix misspellings
Misspellings found by codespell



SVN revision: 59822
2011-05-30 16:45:08 +00:00
Carsten Haitzler 88b59a9bb6 fix proxy sourcing of smart obj that updates.
SVN revision: 59536
2011-05-19 13:01:44 +00:00
Carsten Haitzler 6720d96208 and fix more filter messups. o->fitler will be leaked on obj deletion
as there was no cleanup.. and the method of exposing
evas_filter_key_get() was so out of step with any other code i have
ever seen.. letalong evas... fix.



SVN revision: 58747
2011-04-20 08:06:59 +00:00
Carsten Haitzler 09069b6172 doxy move to header.
SVN revision: 58477
2011-04-08 07:26:20 +00:00
Carsten Haitzler 51b3f6c969 fix -> call hide BEFORE del.
SVN revision: 57613
2011-03-09 06:16:46 +00:00
Carsten Haitzler b893963ee8 i cannot believe evas has lasted this long without this. obj ref &
unref.



SVN revision: 57582
2011-03-08 12:23:37 +00:00
Christopher Michael 0bee0601e1 Evas: Fixed a few 'implicit declaration' warnings.
Add missing evas_object_image_source functions.
      (was giving nasty 'implicit declarations' prior to this change)
    Add UNUSED to evas_common_map_rgba for npoints variable
      (wasn't used in that function)
    Fixed a little formatting in evas_object_main.c
    Add UNUSED to the eng_image_map_draw function of the gl_x11 engine.
      (npoints variable not used there)
    Fixed a little formatting in gl_x11 engine.



SVN revision: 56869
2011-02-09 18:39:54 +00:00
Brett Nash 70109827c3 Clean up for proxies.
SVN revision: 56781
2011-02-07 04:27:48 +00:00
Brett Nash 84fdff5919 Fixes to make proxy work
SVN revision: 56779
2011-02-07 01:38:00 +00:00
Brett Nash 3b91e744e4 Deleting an object cleans up proxies now.
SVN revision: 56774
2011-02-06 23:51:39 +00:00
Carsten Haitzler 7957334611 fix over-render bug in map/mapbuf and with changed flags! that was
nasty to find!



SVN revision: 56220
2011-01-19 11:59:53 +00:00
Carsten Haitzler c75b63a482 evas -> use mempool for many objects and things. but.. disable it for
now. use old calloc+free thing for 1.0 and enable mpool for 1.1. this
is just done in advance but disabled for some testing purposes looking
for some bugs.



SVN revision: 55006
2010-11-26 10:01:18 +00:00
Christopher Michael 534c5d617d Fix doxy typo.
SVN revision: 53677
2010-10-20 16:18:52 +00:00
Carsten Haitzler be7683efbd you wouldnt believe it if i told you.. but put in a block to disallow
move or resize of an obj WHILE in the middle of a move or resize
already - some weird case someone has come up with where this happens
and things like smart clipped's "move relatvie by dx, dy" totally
screw up then. it's a totally unexpected case though. some circular
action has been created that logically shouldn't have existed.



SVN revision: 53434
2010-10-15 05:39:53 +00:00
Cedric BAIL 801917565f * evas: fix rendering of object with color (*,*,*,0)
and render_op != BLEND.


SVN revision: 52782
2010-09-26 16:10:59 +00:00
Lucas De Marchi a7fcb37a7f Revert r52345
This function is not needed at all, and as of now it's borken. Coming patches
will properly fix coords on events.



SVN revision: 52398
2010-09-18 06:29:47 +00:00
Lucas De Marchi 251a60ab09 Add function to check if point is inside an object
Add evas_object_inside_get() to check if a certain (x,y) point is inside
an evas_object. This is needed because there's no simple way to
determine it outside of evas when map transformations are used.

For instance, edje uses evas_object_geometry_get() and checks if point is
whithin the rectangle. This is wrong because the object might be
rotated, scaled. Below is a test program:

/**
 * Simple Evas test
 *
 * Compile with: gcc -O0 -g  -o evas_hello_world evas_hello_world.c $(pkg-config --cflags --libs eina evas ecore ecore-evas)
 */
 #include <Eina.h>
 #include <Evas.h>
 #include <Ecore_Evas.h>
 #include <Ecore.h>
 #include <stdio.h>

 #define WIDTH (320)
 #define HEIGHT (240)

Eina_Bool main_signal_exit(void *data, int ev_type, void *ev)
{
    ecore_main_loop_quit();
    return EINA_FALSE;
}

static void
_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Up *ev = event_info;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->canvas.x, ev->canvas.y);
    fprintf(stderr, "mouse_up: x=%d, y=%d inside=%d\n", ev->canvas.x,
            ev->canvas.y, b);
}

static void
_cb_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
    Evas_Event_Mouse_Move *ev = event_info;
    const char *id = data;
    Eina_Bool b;

    b = evas_object_inside_get(obj, ev->cur.canvas.x, ev->cur.canvas.y);
    fprintf(stderr, "[%s] mouse_move: x=%d, y=%d inside=%d\n", id,
            ev->cur.canvas.x, ev->cur.canvas.y, b);
}

int main(void)
{
   Evas *evas;
   Ecore_Evas *window;
   Evas_Object *bg, *r1, *r2;
   Evas_Map *m;

   evas_init();
   ecore_init();
   ecore_evas_init();

   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
   if (!evas)
     return -1;

   evas = ecore_evas_get(window);

   bg = evas_object_rectangle_add(evas);
   evas_object_color_set(bg, 255, 255, 255, 255); // white bg
   evas_object_move(bg, 0, 0);                    // at origin
   evas_object_resize(bg, WIDTH, HEIGHT);         // covers full evas
   evas_object_show(bg);

   r1 = evas_object_rectangle_add(evas);
   evas_object_color_set(r1, 255, 0, 0, 255); // 100% opaque red
   evas_object_move(r1, 50, 50);
   evas_object_resize(r1, 100, 100);

   m = evas_map_new(4);
   evas_map_util_points_populate_from_object(m, r1);
   evas_map_util_rotate(m, 45.0, 100, 100);
   evas_map_alpha_set(m, 0);
   evas_map_smooth_set(m, 1);

   evas_object_map_set(r1, m);
   evas_object_map_enable_set(r1, 1);
   evas_map_free(m);
   evas_object_show(r1);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_UP, _cb, NULL);
   evas_object_event_callback_add(r1, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r1");

   r2 = evas_object_rectangle_add(evas);
   evas_object_color_set(r2, 0, 255, 0, 255);
   evas_object_move(r2, 210, 150);
   evas_object_resize(r2, 50, 50);
   evas_object_show(r2);
   evas_object_event_callback_add(r2, EVAS_CALLBACK_MOUSE_MOVE, _cb_move, "r2");

   ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, evas);

   ecore_evas_show(window);
   ecore_main_loop_begin();

   ecore_evas_free(window);

   ecore_evas_shutdown();
   ecore_shutdown();
   evas_shutdown();

   return 0;
}




SVN revision: 52345
2010-09-16 13:59:46 +00:00
Lucas De Marchi 85815e306c Fix common misspellings
Following misspellings were fixed:

accomodate->accommodate
achive->achieve
beacuse->because
caluclate->calculate
cant->can't
carefull->careful
convertion->conversion
dependancy->dependency
dependant->dependent
doesnt->doesn't
existant->existent
extention->extension
fucntion->function
impliment->implement
inital->initial
lenght->length
occured->occurred
occuring->occurring
onyl->only
positon->position
possibilty->possibility
postion->position
proccessing->processing
proccess->process
propogate->propagate
recieve->receive
sucessive->successive
teh->the
ther->there
throught->through
thsi->this
wasnt->wasn't
whcih->which
wheras->whereas




SVN revision: 51965
2010-09-08 03:51:24 +00:00
Carsten Haitzler 4c63db37f8 in order to fix some horridibubble things. i had to add 4 api's. ugh.
done. working. now... still 1 more bug. seems to be a changed flag bug
too in dlip 2 test in scrolling list after map anim finished. smaller
bug to deal with now. ugh. bug one bug to the other



SVN revision: 51849
2010-09-03 00:06:56 +00:00
Carsten Haitzler b37a2117d1 fix more map+clip goop.
SVN revision: 51830
2010-09-02 09:40:23 +00:00
Carsten Haitzler af64cdd630 color interpolation? never used. did nothing. not needed. go go go!
SVN revision: 51781
2010-08-31 13:29:17 +00:00
Carsten Haitzler 7b8a24e734 !! once
SVN revision: 51597
2010-08-24 02:56:04 +00:00
Carsten Haitzler 1c60a50441 i think i may have fixed a bug in mosue grabs. not sure though as
repod case eludes me - but a code review got me to clean a bit up.



SVN revision: 51595
2010-08-24 02:53:33 +00:00
Christopher Michael 00c661adab Fix warnings about some unused paramaters (This does not cleanup all
the warnings, just the ones which were Obviously not used).

Evas_Object_Text.c: Fix big ole nasty oopsie in the declaration of
object_func: Was missing a NULL for can_map.



SVN revision: 51280
2010-08-18 14:44:23 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Carsten Haitzler 7041c968bf oooh you'd love to know why this is here.. won't you? :)
SVN revision: 48613
2010-05-04 15:58:10 +00:00
Cedric BAIL a52773a8ab * evas: specify Evas canvas for Evas_Object.
SVN revision: 48428
2010-04-29 17:35:47 +00:00
Gustavo Sverzut Barbieri fd2659c572 evas: mega documentation improving commit.
This commit moves Evas.h contents a lot, but it should not change code
(some conts were added, some function attributes were changed).

The purpose of such is to define the order that doxygen show modules
in its documentation.

I also splitted documentation a bit more, and added a src/examples to
list useful example code. Right now it is just a pure-evas
draw-and-save using buffer engine.

NOTE: there is lots to document, and the @todo list is quite long but
      I guess lots of things there were done already. Raster, could
      you review this list?




SVN revision: 47308
2010-03-18 04:57:40 +00:00
Cedric BAIL d790cbfd00 * evas: Now an object will only receive once the same event.
Previously, due to propagation to parent, an event could have
	been received more than once by an object. This triggered
	strange behaviour in edje for example where you could receive
	mouse,down,1 signal many time for one swallowed object.

	This patch is a fix for that problem, I hope it doesn't break
	anything (e17 and elementary_test run fine here, but report
	any break related to events please).


SVN revision: 46869
2010-03-04 14:48:21 +00:00
Carsten Haitzler f2f8e579b7 leak--
SVN revision: 46698
2010-03-01 14:50:56 +00:00
Cedric BAIL ef16ff6145 * evas: Do a proper fix for all rectangle match.
SVN revision: 44010
2009-11-27 09:51:08 +00:00
Cedric BAIL 4b44a59d2e * evas: Fix bug in evas_objects_in_rectangle_get.
SVN revision: 43999
2009-11-26 14:56:46 +00:00
Carsten Haitzler 2c44b7dd55 smart children of mapped objs etc. work work!
SVN revision: 43506
2009-11-07 05:01:43 +00:00
Carsten Haitzler bd0541a0b0 and fix the dual geometry thing - use the clip cache for uv geometry. perfect!
SVN revision: 43432
2009-11-03 15:41:36 +00:00
Carsten Haitzler 5cc7803ef9 the start of other objects being able to map! text objects work.. tested.
SVN revision: 43323
2009-10-28 08:59:01 +00:00
Carsten Haitzler 7fce71c5d9 add some beginnigns of utility funcs to evas map. move it to its own file.
SVN revision: 43201
2009-10-22 15:47:30 +00:00