Commit Graph

171 Commits

Author SHA1 Message Date
Carsten Haitzler 6a2b539682 add reg_get api for evas objects in order to help fix elm bug.
SVN revision: 69722
2012-03-29 07:46:30 +00:00
Daniel Juyung Seo a49528f7ff evas evas_object_main.c: Revised code. Use EINA_TRUE/EINA_FALSE for Eina_Bool type variable.
SVN revision: 69693
2012-03-28 07:17:39 +00:00
Cedric BAIL d350177475 evas: print error instead of only silently preventing bad things to happen.
SVN revision: 69460
2012-03-16 15:02:01 +00:00
Carsten Haitzler 978448d656 since too many people make this mistake of not reading evas's docs and
seeing color is PREMULTIPLIED ARGB... evas_object_color_set is just
going to enforce it and limit r, g and b to a.



SVN revision: 68299
2012-02-23 04:53:19 +00:00
Gustavo Sverzut Barbieri 9a47bffc98 fix gcc warnings about set-but-unused and shadows of y1.
NOTE: did not touch mess that is jpeg, someone else can deal with it :-P



SVN revision: 67353
2012-01-19 16:49:47 +00:00
Christopher Michael 8e2de5ae3d Evas: Fix move/resize of smart objects when using a frame (fixes elm
borders in wayland).



SVN revision: 66761
2012-01-02 21:27:46 +00:00
Christopher Michael 6dd4ff46ba Evas: Send proper intercept size based on 'is_frame' or not.
SVN revision: 66637
2011-12-29 18:02:23 +00:00
Christopher Michael c4aa1944f9 Evas: Default 'is_frame' to false for new objects.
Handle 'moving' nad 'resizing' of objects if they are not 'frame objects'
Add code for frame_object_get/set functions.
Fix some formatting.



SVN revision: 66536
2011-12-26 23:09:45 +00:00
ChunEon Park bf8ddb5ecb evas - one more line duplicated.
SVN revision: 66470
2011-12-23 02:24:19 +00:00
ChunEon Park ad007a72d6 evas - removed duplicated lines
SVN revision: 66469
2011-12-23 02:20:56 +00:00
ChunEon Park 2dd552f003 evas/main - removed unnecessary casting.
SVN revision: 66272
2011-12-16 07:22:09 +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
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