Commit Graph

215 Commits

Author SHA1 Message Date
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
Carsten Haitzler 4975395633 major clean of the preload stuff. leaks. bugs. nastinessesssss...
SVN revision: 52028
2010-09-09 06:31:29 +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 bfab8b9254 now that mostly fixes this map clip issue... ugh. took a while to come up
with an elegant solution. also it does add overhead to fix. i might be
able to improve the overhead.
 


SVN revision: 51823
2010-09-01 21:37:10 +00:00
Carsten Haitzler 2dedcff5d3 aaaaaaaaaaaaaaargh! where's me rum! :(
SVN revision: 51788
2010-08-31 22:16:08 +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 3ab29fcad0 shhh evas. ok - back to normal. generic fn ptr for now.
SVN revision: 51707
2010-08-29 02:25:22 +00:00
Carsten Haitzler 92fcbddbf7 move more callbacks to typedefs.
SVN revision: 51705
2010-08-29 01:59:21 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Carsten Haitzler 01b7216880 more glue/infra. glue evas api to engine together. gl engine gets stubs.
SVN revision: 51028
2010-08-12 06:11:13 +00:00
Carsten Haitzler 9275e5beb2 re-jig native surface stuff to share the same gl image between
multiple instances of the same pixmap.



SVN revision: 50758
2010-08-03 06:09:53 +00:00
Tom Hacohen a6d428334f Evas: Changing the font engine to work with Eina_Unicode instead of utf8.
Changing textblock and text objects to work with Eina_Unicode instead of utf8 (internally, API remains intact).
Started relying on new fribidi 0.19.2 instead of the old fribidi.
A lot of fixes to the font engine.
Renaming of evas_common_font_utf8_* to evas_common_encoding_utf8_*
This relies on new Eina changes and types: Eina_Unicode, Eina_UStrbuf and Eina_UStringshare.

SVN revision: 50595
2010-07-28 12:00:41 +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
Cedric BAIL fc44f0f050 * evas: cleanup white space.
SVN revision: 48363
2010-04-27 13:43:10 +00:00
Carsten Haitzler afe65d7c0a add ability to dump engine coontents (if engine supports it). this means
unload images it has loaded from disk, unload fonts, and more. dump dump dump!



SVN revision: 47947
2010-04-12 08:23:53 +00:00
Carsten Haitzler 5f309b5d9f actually fix evas event cb leak for good. work ast smart desc leak.
SVN revision: 47552
2010-03-29 05:03:25 +00:00
Carsten Haitzler 46e1d8a866 fix small leak - cannvas callbacks not cleaned.
SVN revision: 47551
2010-03-29 02:40:49 +00:00