Commit Graph

233 Commits

Author SHA1 Message Date
Tom Hacohen ef8476152d Evas callbacks: Added priority to evas callbacks.
This includes evas_event, evas_object_event and evas_object_smart
callbacks.
See the added docs for more info.

SVN revision: 62533
2011-08-17 11:55:29 +00:00
Jiyoun Park dae46003e7 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: RE: [E-devel] [Patch] Animation gif feature patch

Animated gif suport in evas and api's to handle animated images and
frame flipping. from jy.



SVN revision: 62331
2011-08-11 06:04:08 +00:00
Tom Hacohen f3e76c661d Evas font: added support for ':lang=' and fixed a possibly mem leak.
SVN revision: 61941
2011-08-01 08:21:12 +00:00
Tom Hacohen bd556d9c14 Evas textblock+font: Fixed the font fallbacks support.
SVN revision: 61940
2011-08-01 08:21:09 +00:00
Tom Hacohen 9ba3e192a5 Evas font+textblock: Stopped using FcNameParse, parse ourselves.
FcNameParse is pretty bad, not only that it's pretty bad, it doesn't
work well in some cases. Also this makes our lives a lot easier since
we want to allow overriding style/weight/width and etc from markup.
We now parse the "font" markup ourselves, populating a font description
structure that we created, and then override values in it as needed.

SVN revision: 61936
2011-08-01 08:20:52 +00:00
Cedric BAIL f13f92ce15 evas: forgotten header.
SVN revision: 61522
2011-07-20 09:23:47 +00:00
Hyoyoung Chang 24a3c5a092 From: Hyoyoung Chang <hyoyoung.chang@samsung.com>
Subject: [E-devel] [patch] evas - add checking event type

Dear developers.

I found a bug about evas event handling.
In some situation, evas blocks some events by checking _evas_event_counter.
So I made a patch that is checking event type also event counter.

Reproduce steps:
1. make a window
2. show window before adding a elementary/genlist widget

--- codes ---
void _gl_mousedown_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
  printf("_gl_mousedown_cb !! \n");
}

static Eina_Bool create_main_win(App *app)
{
  app->win = elm_win_add(NULL, "genlist-win", ELM_WIN_BASIC);
  evas_object_show(app->win);          <-- position 1
              
  Evas_Object *genlist = elm_genlist_add(app->win);
  elm_win_resize_object_add(app->win, genlist);
  evas_object_event_callback_add(genlist, EVAS_CALLBACK_MOUSE_DOWN, _gl_mousedown_cb, NULL);
  evas_object_show(genlist);
  
  evas_object_resize(app->win, 320, 240);
//evas_object_show(app->win);          <-- position 2
        
  return EINA_TRUE;
}
--- codes ---

In common use case, apps don't show main window at position 1.
However to reproduce, it can be at position 1. Then, focus is at just on main window.
In that situation, if a user clicks a genlist, its event is dropped by evas.
Because in mouse down callback, it give focus to genlist.

Then two events is made. First is mouse down, second is focus handling.
In event callback, evas processes mouse down after focus handling.
But evas found that mouse event is retarded event than focus handling.
So it ignores it.

This patch is introduce event handling type checking to
evas_object_event_callback_call.




SVN revision: 61026
2011-07-05 01:33:59 +00:00
ChunEon Park 81672eac1c evas/evas_map - added magic check
SVN revision: 60390
2011-06-16 12:08:46 +00:00
ChunEon Park def0aed32f evas/evas_private.h - just removed white spaces and fixed indentation.
SVN revision: 60388
2011-06-16 11:19:30 +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
Tom Hacohen 60aa86a0ef Evas font-engine: Added two font opaque types.
Added Evas_Font_Instance and Evas_Font_Set which correspond to
RGBA_Font_Int and RGBA_Font. This is very important for strict type
checking which we now finally have.

This commit does not include logic changes, only casting and changing
types of pointers to the opaque pointer types.

SVN revision: 59782
2011-05-29 13:00:54 +00:00
Tom Hacohen 81b217f8c4 Evas font-engine: Fixed font fallback in the same script run.
SVN revision: 59777
2011-05-29 09:20:18 +00:00
Carsten Haitzler 4dd1d5cf62 fix load of data to ACTUALLY set the load error in evas's image
objects. including preload.



SVN revision: 59529
2011-05-19 11:19:22 +00:00
Carsten Haitzler 57e07025d4 if you preload the same image more than once.. it may/will cause
problems as target is inserter in cache image target list multiple
times. fix by only alloding preload request to go in once.



SVN revision: 59140
2011-05-03 03:20:02 +00:00
Tom Hacohen e93f10b8aa Evas font-engine: Remove passing of strings to font_draw.
This is not needed anymore because we have working string objects.

SVN revision: 59133
2011-05-02 15:33:46 +00:00
Sung W. Park bc8af94bfa From: "Sung W. Park" <sungwoo@gmail.com>
Subject: evas_gl_api_get patch.

Here's a patch that simply overrides the GL functions for Evas_GL
except for two functions that I provide on my own.  It may have some symbol
resolving warnings but that'll all go away eventually when we do everything
via dlsym or getProcAddress.
 
You can apply the patch to the latest revision of evas.  (I've just
updated them) I'm also attaching a sample GLES program that uses
evas_gl_api_get. You don't need to link it to -lGL.



SVN revision: 59092
2011-05-02 02:14:00 +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
Vincent Torri c00b418345 Evas: export evas_filter_software_get() (used in software_generic engine)
SVN revision: 58736
2011-04-19 21:37:32 +00:00
Brett Nash 9eaea94252 Evas: Filters:
More work, proudly supported by Samsung.  Filters!

So now you can apply a whole host of cheesy visual effects to objects at
runtime.  This is the first commit, there are a couple of more to come as I
tweak the filters, and fix blur with GL[1].

Please direct bugs to me nash@nash.id.au.

[1] You'd think shaders would be good at this.. but no, generic blur and GL
are like trying to get an apple product to work with Linux.

SVN revision: 58726
2011-04-19 05:47:56 +00:00
Tom Hacohen 682c7dcdc5 Evas font-engine: Fixed *props_info_create to accept a const string.
We don't want to have to alloc just for the engine. We want to be able to
pass our own const copy.

SVN revision: 58618
2011-04-13 08:36:54 +00:00
Tom Hacohen ad3b167e88 Evas font-engine: Added support for runtime-italic/bold.
Now when setting :style=Oblique/Italic/Cursiva/Bold and etc and there's
no matching font found in the system, adjustments will be done on
runtime to support that feature.

Patch by Myoungwoon Roy Kim (roy_kim).

SVN revision: 58584
2011-04-12 09:05:47 +00:00
Tom Hacohen 6560dc9a05 Evas: Add EVAS_API_RESET that overrides API with NULL.
SVN revision: 58541
2011-04-11 10:18:06 +00:00
Tom Hacohen 5d4f6d3cbe Evas font-engine: Remove most of the passing of strings.
We have string objects, we don't really need them. Draw still uses strings
for metric cache, but that will be removed soon as well.

SVN revision: 58460
2011-04-07 16:25:56 +00:00
Brett Nash b96d227334 Masking: Push a bit more arbitrary clipping
This seems to have got lost in my big messup before.  This pushes enough of
mask/arbitrary clip to be somewhat useful.  I need to push a little more soon
for it to be 100% happy, but this is useful level.

SVN revision: 58373
2011-04-06 05:38:38 +00:00
Brett Nash a5d83e3cbe Evas: Remove magic for proxy.
Since proxy became part of images, it should not be there (or anywhere).
And for vtorri compat: no changelog, added post 1.0, removed post 1.0

SVN revision: 58372
2011-04-06 05:38:09 +00:00
Carsten Haitzler 8859f850fb API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes).



SVN revision: 58318
2011-04-04 10:23:12 +00:00
Tom Hacohen 533ef3530e Evas font-engine: Added right_inset_get.
This lets us get the difference between the width and the advance
of a string pretty fast, which means we only need to calculate either
advance or width, because we can now calculate one from the other.

SVN revision: 58181
2011-03-29 13:52:22 +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
Tom Hacohen 6e68ec8b42 Evas font-engine: Fixed inset to use the string objects instead of strings.
SVN revision: 56895
2011-02-10 09:03:14 +00:00
Brett Nash aa59164001 Support for Proxy Objects (and others)
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times.  One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.

This is complete.

Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).

SVN revision: 56777
2011-02-06 23:52:17 +00:00
Brett Nash ab4b1521ac Fix redrawing issues with proxies.
SVN revision: 56775
2011-02-06 23:51:48 +00:00
Brett Nash 068c9144a8 Basic (but ugly) working proxy map for text/textblocks.
SVN revision: 56764
2011-02-06 23:50:30 +00:00
Brett Nash 644c43460c Switch to a sub proxy sstructure.
SVN revision: 56763
2011-02-06 23:50:19 +00:00
Brett Nash 04f6e8f789 Proxy Object framework.
Doesn't do anything useful yet.  But it's a start.

SVN revision: 56760
2011-02-06 23:49:44 +00:00
Tom Hacohen 94b5a536f0 Evas font/textblock/text: Started using string objects instead of
strings in most of the font engine (everywhere except draw).
Haven't removed the paramteres yet, but did mark them as UNUSED.
Removing them will be part of a future change.
Removed run-time OT toggling support, OT is now fast, no need for that.
Renamed all of the intl_props->text_props (because it really changed purpose now)
Fixed spliting/merging of text_props to be fast and good, not hacky and
complex like before.
Note to reviewers: Most of the changes are indentation related, sorry
for the mess, but I had to do it all in one commit, splitting was not
trivial (at least not in retrospect). The important parts are
evas_font_default_walk.x and text_utils.c. query and draw were just
adjusted a bit and the rest were only adjusted to conform to renaming or
were renaming on their own.

SVN revision: 56629
2011-02-01 12:17:52 +00:00
Tom Hacohen ff18fa8399 Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.

SVN revision: 56455
2011-01-30 10:36:39 +00:00
Tom Hacohen 7e376019b7 Evas font-engine: Moved bidi utils (and added script utils) to a subdir language that collects all the language specific adjustments to font handling.
SVN revision: 56446
2011-01-30 10:35:37 +00:00
Tom Hacohen 952ba44f0b Evas font engine: Added evas_common_font_query_pen_coords.
SVN revision: 56432
2011-01-30 10:34:07 +00:00
Carsten Haitzler dd02ec770c use mempool for evas objects. hopefully less fragmenting and faster
alloc/frees.



SVN revision: 56365
2011-01-29 05:21:20 +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 e7b6e7beb4 and reduce error more by making coords fp/double.
SVN revision: 56181
2011-01-16 08:03:28 +00:00
Carsten Haitzler 1b89a7ac5f change map points to use double and floats to reduce perspective
correction adjustment seams in gl engine. almost all gone.



SVN revision: 56180
2011-01-16 07:49:49 +00:00
Carsten Haitzler 19d4f8affc add unload callback - missing event problem that makes it impossible
for client apps that tried to be efficient with preloads to adapt
when the preloaded data is taken away from them. this allows it.
missing callback api bug fix.



SVN revision: 55745
2010-12-24 16:04:27 +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
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
Eduardo de Barros Lima f61a1cb5cb Evas: Don't #define _GNU_SOURCE
Instead use AC_GNU_SOURCE macro in configure.ac and #include <config.h> properly


SVN revision: 53159
2010-10-07 19:52:47 +00:00
Carsten Haitzler 00a661beae shortcut some smart acceses for clipped smart.
SVN revision: 53132
2010-10-07 03:54:51 +00:00
Carsten Haitzler 011b2ce822 brutally evil... internally.. but it works. map perspective correct
now in gl engine. hooray for that. one complaint less.



SVN revision: 52566
2010-09-22 06:52:28 +00:00
Lucas De Marchi 9af1273517 Remove unused field from Evas_Object
Previous commits removed the use of havemap_parent. So, remove the
field as well.

Fix some trailing whitespaces too.



SVN revision: 52486
2010-09-20 10:54:09 +00:00
Carsten Haitzler 679d566fde actually revert that - not enough testing. need to work on it.
SVN revision: 52029
2010-09-09 06:36:01 +00:00