Commit Graph

151 Commits

Author SHA1 Message Date
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
Carsten Haitzler 8bf3f50b2c map code... works.. with bugs... but works. visually...
SVN revision: 43163
2009-10-20 16:03:57 +00:00
Vincent Torri 6677c2fcf9 fix double to Evas_Coord conversion warnings
SVN revision: 42662
2009-09-24 04:55:01 +00:00
Iván Briano 5c3b4fa74e Improve documentation for Evas, Ecore, Edje and Elementary.
Work by:
 - Thiago R. Masaki (mostly)
 - Fabiano Fidencio
 - Gustavo Lima


SVN revision: 42550
2009-09-17 22:38:10 +00:00
Vincent Torri ac3dae2a80 remove trailing spaces
SVN revision: 42238
2009-09-04 05:13:19 +00:00
Christopher Michael 26f32b9520 Return NULL to be consistent, not 0.
SVN revision: 41953
2009-08-24 10:52:40 +00:00
Christopher Michael c508b00c24 evas_object_resize patch to move evas_object_recalc_clippees. This makes
evas_object_resize behave more like evas_object_move.

NB's added in case this causes glitches in corner cases



SVN revision: 41635
2009-08-07 20:35:30 +00:00
Gustavo Sverzut Barbieri 05f61cd086 fix uninitialized problems reported by valgrind.
SVN revision: 41316
2009-07-12 16:11:58 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00