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
Cedric BAIL
6d0ee81526
* evas: Remove Evas_Bool.
...
SVN revision: 41067
2009-06-17 10:01:52 +00:00
Cedric BAIL
10a15524cc
* evas: Finally remove as much free/malloc from the render path. Will need certainly
...
need some tunning on the number of Evas_Rectangle allocated in advance.
SVN revision: 40084
2009-04-15 13:40:37 +00:00
Gustavo Sverzut Barbieri
1a395af37d
cedric I hate you :-)
...
remove last code using non-eina_mempool rectangles and abort() that
was triggering on clicks on titlebar.
Thanks to antognolli for reporting.
SVN revision: 40074
2009-04-15 03:14:41 +00:00
Cedric BAIL
55e281b4ff
* evas: Now all Evas_Rectangle are part of a pool. Next step would be to
...
remove free at the end of evas_object_render_pre_effect_updates and only
do it on idle.
SVN revision: 40040
2009-04-14 12:15:07 +00:00
Cedric BAIL
fa4c0f3ea3
* evas: Another attempt to fix clip cache. Now invalid clip cache every time
...
we change cur.geometry in the code (did a grep to locate this). I hope I did
spot all users, as I didn't see bug in exec_buf, efm and in window title, I
am confident enought to break svn again.
* WARNING * This change can cause visual bug. Please report.
SVN revision: 40039
2009-04-14 10:47:15 +00:00
Carsten Haitzler
de96594bde
revert - spotted clip bug in titlebar in e17.
...
SVN revision: 39966
2009-04-11 07:10:26 +00:00
Cedric BAIL
d3a9b8307f
* evas: This patch reintroduce the use of cache for clip. I don't know
...
why it was disable the first time, so it could lead to some graphic bug.
Please report any strange behaviour.
*WARNING* This could really introduce some visual bug.
SVN revision: 39940
2009-04-10 15:14:40 +00:00
Cedric BAIL
df60ff6129
* evas: Make one more function inline.
...
SVN revision: 39894
2009-04-08 11:08:02 +00:00
Gustavo Sverzut Barbieri
ad1af73d40
Do not inform callbacks that did not changed the state of object.
...
For some unknown reason evas was informing EVAS_CALLBACK_* even if the
original call did not changed the internal object state, that is, new
value is already equal to current value.
This is specially costly since Edje, Box, Table and possible other
layout engines will call evas_object_resize(), move(), show(), hide()
even if the state has not changed, assuming evas will ignore the call
(as it does). The real overhead might come if there are listeners
attached to these events, that in turn might do lots of other stuff,
leading to a torrent of useless calls.
I marked it for removal, please test it and uncomment '#define
CALLBACK_NOOPS' to get the old behavior back. It does seems to work
with e17 and edje_editor. If problems appear, let's try to fix the
real problem instead of getting this code back, it's a performance
penalty.
SVN revision: 38955
2009-02-05 14:37:58 +00:00
Gustavo Sverzut Barbieri
71f9ed1fc3
Fix size hint docs and improve them.
...
SVN revision: 37716
2008-11-20 03:02:27 +00:00
Carsten Haitzler
7e6fb27b4c
make scale set apply immediately on objects that do scaling...
...
SVN revision: 37656
2008-11-15 10:39:46 +00:00
Carsten Haitzler
fec072d883
fix some formatting/indenting and explicitly look at mouse_down as a counter.
...
SVN revision: 37650
2008-11-15 05:13:09 +00:00
Davide Andreoli
f38e74e550
* remove \'too small\' categories
...
SVN revision: 37387
2008-11-01 22:21:10 +00:00
Davide Andreoli
f526e28ac0
* More better cats\'
...
* remove some @ingroup in favor of @addtogroup
SVN revision: 37386
2008-11-01 21:50:36 +00:00
Davide Andreoli
b1b189a0bb
* remove \'too small\' groups (unify image and gradient groups)
...
* fix some modules name to be more consistent
SVN revision: 37382
2008-11-01 20:19:28 +00:00
Cedric BAIL
465b76a017
Remove Evas_List from Evas.
...
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Cedric BAIL
68d377afe6
Rename EINA_INLIST_ITER_NEXT/EINA_INLIST_ITER_LAST to EINA_INLIST_FOREACH/
...
EINA_INLIST_REVERSE_FOREACH so it best match is behaviour. Asked by Gustavo.
SVN revision: 36928
2008-10-21 12:19:57 +00:00
Cedric BAIL
c99824328f
Move from Evas_Object_List to Eina_Inlist and completly remove Evas_Object_List.
...
SVN revision: 36750
2008-10-17 11:23:18 +00:00
Carsten Haitzler
29a4c2a8c2
formatting
...
SVN revision: 36440
2008-10-05 03:47:52 +00:00
Carsten Haitzler
84218c5694
fix missed assignment
...
SVN revision: 36435
2008-10-04 17:28:43 +00:00