Commit Graph

1102 Commits

Author SHA1 Message Date
Vincent Torri 1fc436ceb7 Evas : evas_image_scalecache.c : usleep() might not be defined on Windows. Use Sleep() instead.
SVN revision: 59906
2011-06-02 19:20:39 +00:00
Tom Hacohen 85cf792f24 Evas font-engine: Use binary search for finding index in text props.
I finally got around to verifying it and the list is assured to be monotonic
(direction depends on bidi direction).

SVN revision: 59903
2011-06-02 15:36:50 +00:00
Tom Hacohen 3da52c35cd Evas textblock: Fix skipping of ascii control chars.
SVN revision: 59900
2011-06-02 14:31:15 +00:00
Cedric BAIL 0e0dca586f evas: add evas_object_image_extension_can_load_get.
This functions let you check if a file could be opened by
Evas_Object_Image. It is threadsafe, and you should use it
from another thread as often as possible :-)



SVN revision: 59872
2011-06-01 14:32:08 +00:00
Tom Hacohen 8d816d4b43 Evas bidi: Fixed warning when compiling with Wshadow.
SVN revision: 59842
2011-05-31 12:55:46 +00:00
Lucas De Marchi 10237c5b56 evas: fix misspellings
Misspellings found by codespell



SVN revision: 59822
2011-05-30 16:45:08 +00:00
Tom Hacohen a4b92a0c69 Evas font-engine: Fix an issue with font_run_end_get.
SVN revision: 59818
2011-05-30 15:18:53 +00:00
Tom Hacohen 876e80c1f8 Evas font-engine: font_run_end_get. Fix possible segfault.
Patch by Cedric.

SVN revision: 59817
2011-05-30 13:59:18 +00:00
Tom Hacohen 0b72b9fcf5 Evas font-engine: Fallback to script_fi if we didn't find another one.
SVN revision: 59803
2011-05-30 08:31:29 +00:00
Tom Hacohen b7e2277ef0 Evas textblock/font-engine: Fix compiler warnings with -Wshadow.
SVN revision: 59781
2011-05-29 12:03:20 +00:00
Tom Hacohen 422d9358bf Evas font-engine: Conform to the API changes in Harfbuzz 0.6.0.
SVN revision: 59779
2011-05-29 11:09:47 +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
Tom Hacohen ca1fc26a0e Evas font-engine: Fixed a bug in the glyph search function.
SVN revision: 59776
2011-05-29 09:20:13 +00:00
Christopher Michael 9b649530bd Evas: Fix more shadow declarations of variables.
SVN revision: 59715
2011-05-27 01:47:58 +00:00
Christopher Michael ffc97c3754 Evas: Fix more shadow declarations of 'index' variable.
SVN revision: 59714
2011-05-27 01:44:10 +00:00
Carsten Haitzler 01cbefe2ae fix c fallback rendering - mask op was wrong. mmx was right. why is
the neon code sitting there.. with no neon? just c? if so.. just kill
the neon code and let c fallbacks take care of it as all we do is dup
code. either that or actually implement the neon.



SVN revision: 59686
2011-05-26 02:44:01 +00:00
Michael BOUCHAUD 5b428f87f9 evas: add raw loaders ...
SVN revision: 59680
2011-05-25 20:21:25 +00:00
Christopher Michael b3d66d5b25 Evas: evas_common_frameq_thread (in evas_pipe.c) uses 'gettimeofday',
so include the proper header file for that function (so we don't get
implicit declaration warning)



SVN revision: 59546
2011-05-20 01:33:55 +00:00
Vincent Torri 9347b624a6 Add postscript to the list of files supported by the generic loader
SVN revision: 59533
2011-05-19 12:41:17 +00:00
Tom Hacohen f3ef64a31e Evas font-engine: Replace deprecated freetype constants.
SVN revision: 59507
2011-05-18 13:47:45 +00:00
Tom Hacohen 1ad5cdfb89 Evas font-engine: Remove useless if, it's never a bitmap.
SVN revision: 59506
2011-05-18 13:47:37 +00:00
Tom Hacohen b831d3c1e1 Evas font-engine: Fix searching of fonts to ignore more control characters.
SVN revision: 59499
2011-05-18 11:18:08 +00:00
Tom Hacohen fccfbf78b0 Evas font-engine: Don't search fi again in ot populate.
We already calculate it in content create.

SVN revision: 59498
2011-05-18 11:18:00 +00:00
Tom Hacohen 44b8ca79a4 Evas font-engine: Remove the useless RGBA_Font_Source hb.face.
SVN revision: 59403
2011-05-15 11:59:58 +00:00
Tom Hacohen 726d37b782 Evas font-engine: Adjust code to use latest Harfbuzz (0.5.0)
SVN revision: 59402
2011-05-15 11:59:54 +00:00
Carsten Haitzler 74d6d2b948 wrn--!
SVN revision: 59342
2011-05-12 08:30:49 +00:00
Cedric BAIL b15093851e evas: fix evas_pipe and use eina_condition.
SVN revision: 59291
2011-05-09 11:05:04 +00:00
Cedric BAIL a68c149866 evas: don't try all loader on directory.
SVN revision: 59235
2011-05-06 09:36:24 +00:00
Tom Hacohen 94cb08b3fc Evas font-engine: Made the cutoff error more verbose.
SVN revision: 59207
2011-05-05 11:06:03 +00:00
Tom Hacohen 05df9e72f2 Evas font-query: Fixed documentation error.
SVN revision: 59206
2011-05-05 11:05:59 +00:00
Tom Hacohen e307051ccb Evas text_utils: Added evas_common_text_props_can_split
SVN revision: 59202
2011-05-05 11:05:37 +00:00
Tom Hacohen 5e287a25da Evas font: only "bidi-shape" RTL strings.
SVN revision: 59183
2011-05-04 08:46:17 +00:00
Tom Hacohen cd674cb1c6 Evas font-engine: Moved non-draw related from font_draw.c to font_main.c
SVN revision: 59180
2011-05-04 08:27:19 +00:00
Tom Hacohen b186585231 Evas font-engine: Use Eina_Unicode instead of int for unicode codepoints
SVN revision: 59179
2011-05-04 08:27:13 +00:00
Tom Hacohen 232158ba48 Evas language: Fixed a warning and a comment.
SVN revision: 59173
2011-05-04 06:57:45 +00:00
Tom Hacohen 3f0411265a Evas font-engine: Fix size activation of fi in content_create.
SVN revision: 59153
2011-05-03 16:18:17 +00:00
Tom Hacohen 2e71b5ab90 Evas font-engine: Fix glyphs not being drawn.
Thanks to Brian Wang for the report.

This happened because we were querying for the index of the wrong fi,
this became especially visible after we started caching fi.

SVN revision: 59152
2011-05-03 14:36:47 +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
Tom Hacohen dad49dd1f2 Evas font-draw: Fix word-cache to not need text.
SVN revision: 59132
2011-05-02 15:33:38 +00:00
Tom Hacohen 61e340ec6c Evas textblock: Now that we cache fi, we don't need shaped_text anymore.
SVN revision: 59131
2011-05-02 15:33:35 +00:00
Tom Hacohen 0bf964a221 Evas textblock: We finally cache fi - remove related hacks.
SVN revision: 59129
2011-05-02 15:33:27 +00:00
Tom Hacohen 2e0bb38935 Evas bidi: Made fribidichar<->eina_unicode conversion a compile time test.
SVN revision: 59122
2011-05-02 13:24:26 +00:00
Tom Hacohen 9d23367627 Evas font-engine: Cache fi for all cases (even without harfbuzz).
This is now possible, because we have a script querying function.

SVN revision: 59109
2011-05-02 09:28:00 +00:00
Tom Hacohen af53b3d4a9 Evas language: Split to script even if there's no Harfbuzz.
SVN revision: 59108
2011-05-02 09:27:56 +00:00
Tom Hacohen 5793e609a0 Evas font-engine: Made *_unicode_funcs_get internal to font_ot.c
SVN revision: 59107
2011-05-02 09:27:49 +00:00
Carsten Haitzler a05d575f0a warning-- for eina locks
SVN revision: 59102
2011-05-02 08:24:27 +00:00
Tom Hacohen afac2fdd18 Evas language: Added a character script querying function.
This is added until there will be a library that does it; From my
understanding, there are already people working on such library.

SVN revision: 59100
2011-05-02 07:28:07 +00:00
Tom Hacohen 9389fed0a0 Evas language: Updated scripts according to Unicode 6.0
SVN revision: 59099
2011-05-02 07:28:02 +00:00
Tom Hacohen fb511c9dfe Evas language: Fix typos.
SVN revision: 59098
2011-05-02 07:27:59 +00:00
Carsten Haitzler e3a69d7c4a and fix up lock goop to work right with improved eina lock goop. i
hope i nixed this bug.



SVN revision: 59086
2011-05-01 13:25:23 +00:00
Carsten Haitzler f2e2d8963a could have a cache deadlock here as _sci_find is called from with
already locked caches.



SVN revision: 59063
2011-05-01 06:24:02 +00:00
Tom Hacohen 5570891eb3 Evas font-engine: Fixed rendering of empty text.
SVN revision: 59006
2011-04-28 15:02:11 +00:00
Tom Hacohen 7280b0d852 Evas font-engine: Document and cleanup the comments in font-query.
SVN revision: 59002
2011-04-28 12:57:35 +00:00
Tom Hacohen 2ca672d8b4 Evas font-engine: Remove dependency or harfbuzz being built with glib.
Harfbuzz needs unicode querying functions in order to work properly,
until there'll be a nice lib that does that (should be under dev) we have
to depend on an outside source. This commit uses new Harfbuzz API that
lets us not care about the unicode function provider and just let harfbuzz
to manage it on it's own.

SVN revision: 58961
2011-04-27 14:00:00 +00:00
Tom Hacohen a3e8da3507 Evas font-engine: Fixes last commit to not seg when not using OT.
SVN revision: 58936
2011-04-26 14:20:45 +00:00
Tom Hacohen 476ac636d5 Revert "BAD TASN!". Yeah, I'm evil.
Following commit includes a fix.

This reverts commit 58933.

SVN revision: 58935
2011-04-26 14:20:41 +00:00
Tom Hacohen 8f41c4c125 Evas font-engine: Updated comments.
SVN revision: 58934
2011-04-26 14:20:38 +00:00
Carsten Haitzler 2d2b2d686e BAD TASN!
ROLL BACK TODAYS CHANGES TO EVAS....

SEGV SEGV EVERYWHERE!

*SPANK*



SVN revision: 58933
2011-04-26 14:05:01 +00:00
Tom Hacohen a3c144d2c9 Evas font-engine: fix issue with using the wrong fi.
SVN revision: 58930
2011-04-26 10:21:01 +00:00
Tom Hacohen cb561612f2 Evas font-engine: use the cached fi instead of searching for it.
SVN revision: 58926
2011-04-26 09:26:33 +00:00
Tom Hacohen 9b0005e62a Evas font-engine: Added a fixme.
SVN revision: 58925
2011-04-26 09:14:23 +00:00
Tom Hacohen f0e18f58ff Evas font-engine: Cache fi when using Harfbuzz.
Soon I will also do it for all cases, but it's not possible at the
moment because we depend on harfbuzz for querying unicode properties.

SVN revision: 58924
2011-04-26 09:14:02 +00:00
Carsten Haitzler 0e57095d06 add generic image loader. allows for GPL loaders, unstable loaders and
more. making a loader is a matter of a binary of a specific name and
evas passes certain input on the cmd-line and your binary produces
output on stdout (and also optionally additionally in a shm or tmp
file).



SVN revision: 58914
2011-04-26 01:03:06 +00:00
Cedric BAIL a613126be4 evas: don't forget to init eina_threads when using threads.
SVN revision: 58908
2011-04-25 17:11:58 +00:00
Cedric BAIL 0cef5e41fe evas: add psd file format support.
Patch from Thierry el Borgi with some rework of myself.

NOTE: I don't have much file to test, so if some don't
contact us with those file and we will fix the loader
if needed.


SVN revision: 58873
2011-04-24 19:45:43 +00:00
Carsten Haitzler fa309e5069 nash -> i fixed your mask rendering. interesting you only mask *IF*
you have 1:1 scaling. you could do this with scaled imaged (and
unscaled masks) with ease. both smooth and nearest.



SVN revision: 58838
2011-04-23 02:02:45 +00:00
Carsten Haitzler 8cca4234c4 comments for nash
SVN revision: 58837
2011-04-23 01:22:17 +00:00
Carsten Haitzler 6282cc0a6d wrn-- -> my bad.
SVN revision: 58836
2011-04-23 00:35:42 +00:00
Carsten Haitzler c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Tom Hacohen 902d94afb9 Evas textblock: Added a temp fix for repch until implemented nicely.
This fix is just until we finally split to scripts and cache fi all
the time, i.e in all the possible paths (regular, fribidi and harfbuzz).

SVN revision: 58806
2011-04-21 15:34:44 +00:00
Tom Hacohen 48d0603e5d Evas harfbuzz: Adjust evas to work with Harfbuzz >= 3.0
SVN revision: 58802
2011-04-21 14:04:53 +00:00
Tom Hacohen 543a0da0d8 Evas font-engine: Fixed kerning issue and a major rendering bug.
Kerning: We are walking the string visually so we don't need to do
anything special for kerning when in rtl, freetype works with "left" and
"right" which we automatically get.

Rendering bug: Cedric found that in some cases there were missing
characters. This was caused because I forgot to convert the kerning from
16.6 fixed point to int.

SVN revision: 58783
2011-04-21 08:47:16 +00:00
Carsten Haitzler 794f1c56cd warning--
SVN revision: 58777
2011-04-21 06:21:51 +00:00
Brett Nash aaf036eec9 Evas: Filter: Avoid a double free.
I just don't know why.

SVN revision: 58776
2011-04-21 06:01:59 +00:00
Tom Hacohen cb19804054 Evas bidi: Fixed spelling errors: NATURAL -> NEUTRAL (Macro name).
SVN revision: 58760
2011-04-20 14:35:37 +00:00
Tom Hacohen 57665ebf34 Evas font: Removed a deprecated macro.
SVN revision: 58759
2011-04-20 14:21:00 +00:00
Tom Hacohen 6609b1d7ba Evas font: Removed LOGICAL_WALK and updated last_up_to_pos accondingly.
SVN revision: 58758
2011-04-20 14:20:57 +00:00
Tom Hacohen 543c0cafc0 Evas font-engine: Cache pen position instead of advance.
We only really use adavnce for calculating the pen position, so it makes more
sense to just cache the pen_position instead and calculate advance from
that if ever needed.
This means size/advance calculations are now O(1) because we don't need to
walk the strings anymore.

SVN revision: 58756
2011-04-20 14:20:51 +00:00
Tom Hacohen 2f86580227 Evas font-engine: Fix drawing of replacement char when not using Harfbuzz.
SVN revision: 58755
2011-04-20 14:20:48 +00:00
Tom Hacohen fd4203a682 Evas font-engine: fix a segfault with empty strings.
Thanks to Nicolas Aguirre (captainigloo) for the catch.

SVN revision: 58734
2011-04-19 20:27:34 +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
Brett Nash 72d667e8d9 Evas: Work around for mask issues
SVN revision: 58724
2011-04-19 05:47:47 +00:00
Tom Hacohen f5e7165a65 Evas text/textblock: Add setting bidi_delimiter API.
SVN revision: 58669
2011-04-14 15:34:01 +00:00
Tom Hacohen 46beed0916 Evas bidi: Added a way to ask for bidi segmentation indexes.
This lets you pass the bidi engine a list of indexes in the paragraph,
that will segment it bidi-wise. I.e the bidi algorithm will be applied to
each segment individually. This implements HL4 of the bidi algorithm.

SVN revision: 58652
2011-04-14 07:40:42 +00:00
Tom Hacohen f9936b341f Evas bidi: Add len parameter to evas_bidi_paragraph_props_get
SVN revision: 58631
2011-04-13 12:21:54 +00:00
Tom Hacohen caa46dc1ba Evas font-engine: Move, rename and make *_text_font_style_match static.
It's only really used (and will ever be used) in a very specific place,
no need to put it in a place that's visible to all the lib.

SVN revision: 58627
2011-04-13 10:55:59 +00:00
Tom Hacohen 1dac813ace Evas font-engine: Fix the fallback fribidi shaper.
Just keep the shaped string in the string object if fribidi is used
without harfbuzz.

SVN revision: 58620
2011-04-13 08:37:01 +00:00
Tom Hacohen 680c4354ba Evas font-engine: Use len in font_draw instead of \0
SVN revision: 58617
2011-04-13 08:36:51 +00:00
Tom Hacohen ffbe4ed971 Evas font-engine: *text_props_script_set add parameter len.
SVN revision: 58616
2011-04-13 08:36:46 +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 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
Cedric BAIL ca7ff47005 evas: fix broken 16bits engine.
SVN revision: 58394
2011-04-06 15:37:54 +00:00
Brett Nash 073dd42baa Evas: Mask: Fix non-masked image rendering.
Mismerge by me.

SVN revision: 58380
2011-04-06 06:43:33 +00:00
Brett Nash f915ba4ef4 Evas: Mask: Fix undeclared warnings.
Also comment out a function.

SVN revision: 58376
2011-04-06 06:10:31 +00:00
Carsten Haitzler 99e32eebaa warning--
SVN revision: 58374
2011-04-06 05:55:21 +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
Tom Hacohen 71372d9c65 Evas font-engine: Removed "use-kerning" from draw code.
It hasn't been used for a while. Everything is already calculated in
content_create.

SVN revision: 58215
2011-03-30 15:55:10 +00:00
Tom Hacohen 6f0bad18af Evas font-engine: Use advance instead of width with whitespace size calc
Advance is the real width of whitespace, not the width of the glyph
which is just 0.

SVN revision: 58182
2011-03-29 13:52:30 +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
Tom Hacohen 6c29ea29fb Evas font-engine: Fix font size updating.
This commit fixes two types of misupdate of the font size.
1. Not updating all the fonts when not using Harfbuzz.
2. In rare cases update the wrong font when using Harfbuzz.

SVN revision: 58114
2011-03-27 12:22:13 +00:00
Tom Hacohen df5202b2dd Evas font: Iterate with pointers, not indexes.
SVN revision: 57917
2011-03-20 15:05:05 +00:00
Tom Hacohen 6b2d04c4e0 Evas font: Added a comment to a confusing magic number.
SVN revision: 57913
2011-03-20 08:51:41 +00:00
Carsten Haitzler 3b9219748d warnings--
SVN revision: 57877
2011-03-19 03:56:35 +00:00
Tom Hacohen 34bf708aae Evas font-engine: Fixed bug with different sizes in Korean text.
I'm still not sure if it's just a workaround that just fixes a symptom
of a bigger issue, or actually needed, but this is good until I figure
this out completely.

SVN revision: 57761
2011-03-15 11:00:29 +00:00
Carsten Haitzler 710630d074 Evas: add ico loader!
SVN revision: 57693
2011-03-11 15:07:25 +00:00
Rui Seabra dabd515538 Fix build (from make dist files).
SVN revision: 57573
2011-03-08 11:27:40 +00:00
Tom Hacohen 6a5e4338a1 Evas font-engine: Also unref the fs->file (see last commit).
SVN revision: 57262
2011-02-23 11:53:29 +00:00
Tom Hacohen e0deeea0df Evas font-engine: Ref fs->file if we use it.
SVN revision: 57261
2011-02-23 11:50:09 +00:00
Tom Hacohen 0f77f14ccc Evas font-engine: Fixed walking to use ptrs instead of indexes.
I.e walk using a ptr instead of arr[i] all the time. This should make
things faster. Also as part of the change, fixed char_index to be
an offset inside the string object, and not a general offset which was
bad.

SVN revision: 57241
2011-02-22 13:00:02 +00:00
Carsten Haitzler 75dcf25bb9 fix convert to a8. someone fixed this badly. fix right now.
SVN revision: 57163
2011-02-19 15:53:47 +00:00
Tom Hacohen e1b714f9a9 Evas font: Draw the replacement char whan the glyph can't be found.
SVN revision: 57097
2011-02-16 16:36:16 +00:00
Tom Hacohen bd0695d1b5 Evas encoding: Removed Evas_Encoding and moved to eina_unicode_utf8* instead.
SVN revision: 57096
2011-02-16 16:00:17 +00:00
Tom Hacohen 129a2eb57b Evas encoding: Should be bitwise AND and not logical AND.
SVN revision: 57092
2011-02-16 14:59:36 +00:00
Tom Hacohen 3b7bc65841 Evas encoding: Fixed an issue with the return value of prev_get when at the start.
SVN revision: 57091
2011-02-16 13:17:09 +00:00
Tom Hacohen a01b8fa7ce Evas encoding: Made the utf8 parser more robust.
In now handles more error cases in a more correct way.

SVN revision: 57090
2011-02-16 13:00:50 +00:00
Sebastian Dransfeld bd9d4c5019 Better fix for invalid variable usage.
No point in having to pointers, and fix formatting.

SVN revision: 57037
2011-02-14 20:21:10 +00:00
Tom Hacohen 2a2f88aa2c Evas font: Fixed wrong condition that may cause an invalid read when using OT.
SVN revision: 57024
2011-02-14 15:02:52 +00:00
ChunEon Park be1bc9ae8c evas/engines - fixed invalid variable usage.
SVN revision: 57017
2011-02-14 13:59:36 +00:00
Tom Hacohen 5a646fe6fd Evas font: removed an obsolete comment.
SVN revision: 56989
2011-02-13 16:35:03 +00:00
Tom Hacohen c5ebe60c53 Evas textblock: Improved error message.
SVN revision: 56984
2011-02-13 13:07:37 +00:00
Tom Hacohen 9ed2f6cbc0 Evas font-engine: Added text_len to text_props which fixes
a bug with cursor position and ligatures.

SVN revision: 56983
2011-02-13 12:57:37 +00:00
Carsten Haitzler 0bde1e25a1 fix silly sized scaling issue.
SVN revision: 56962
2011-02-12 14:50:25 +00:00
Tom Hacohen f0eebf1696 Evas text_utils: make the text_props_content_ref/unref more robust.
Don't allocate a text info if the length is 0. No point in that because
content won't be allocated anyway.

SVN revision: 56924
2011-02-10 15:29:13 +00:00
Tom Hacohen b2029f0648 Evas text_utils: fixed a bug with splitting.
Cutoff is the position in the string, not in the string object.

SVN revision: 56920
2011-02-10 15:02:26 +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
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
Tom Hacohen eaa25d4784 Evas font-query: Fixed compilation warnings. Cedric's compiler doesn't trust me like me compiler trusts me.
SVN revision: 56813
2011-02-08 15:23:22 +00:00
Tom Hacohen 5ceb0ce407 Evas encoding: Improved evas_common_encoding_utf8_get_len to be more consistent with evas_common_encoding_utf8_get_next. This is a semi fix to the issue with malformed utf8 strings (#670)
SVN revision: 56806
2011-02-08 13:22:10 +00:00
Carsten Haitzler c743e4f56c methinks nash you missed doing the pipe pipeline for map changes.
SVN revision: 56805
2011-02-08 12:10:58 +00:00
Tom Hacohen 7a90712518 Evas font-engine: Fixed the issue of text not showing when using pipe-rendering. For some reason I put the parameters as "src, dst" instead of "dst, src" and I also missed the compilation warning about the passing const as non-const.
SVN revision: 56796
2011-02-08 08:12:55 +00:00
Brett Nash 84fdff5919 Fixes to make proxy work
SVN revision: 56779
2011-02-07 01:38:00 +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
Tom Hacohen 2f9d2760ee Evas font-engine: Don't ref/unref info if len==0 because in this case there's no 'info' but the text prop is legal (empty string).
SVN revision: 56746
2011-02-06 08:31:46 +00:00
Tom Hacohen 00b61c9e00 Evas font-ot: Started using our glyph and kerning caches when using Harfbuzz - Major speedups (obviously, only with harfbuzz).
SVN revision: 56644
2011-02-02 08:24:57 +00:00
Tom Hacohen 211400d1f6 Evas font: Fixed word_prerender now that we cache everything. Do we really need it now?.
SVN revision: 56630
2011-02-01 12:18:01 +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
Carsten Haitzler 75bb165f29 Thanks to samsung - added WBMP loader.
SVN revision: 56624
2011-02-01 09:38:48 +00:00
Carsten Haitzler 22230fe193 slight tune of neon asm - based on stuff from nash. not worth a
changelog entry though. not a major enough improvement as i measure it.



SVN revision: 56614
2011-02-01 06:30:35 +00:00
Tom Hacohen cdb54ed92d Revert "Snapshot." - didn't mean to commit this :(
This reverts commit 521198281e4ac616fee48d27aae9e6983d5950c3.

SVN revision: 56556
2011-01-30 13:58:06 +00:00
Tom Hacohen ead10d70f7 Revert "Snap 2" - didn't mean to commit it. :(
This reverts commit 66c113787b440a282b6cc2cab6d35f5c700627f4.

SVN revision: 56555
2011-01-30 13:57:55 +00:00
Tom Hacohen 13dce619f1 Snap 2
SVN revision: 56553
2011-01-30 13:55:12 +00:00
Tom Hacohen d6feccdebb Snapshot.
SVN revision: 56552
2011-01-30 13:55:04 +00:00
Tom Hacohen 198da9e2af Evas font: Fix indentation.
SVN revision: 56544
2011-01-30 10:45:56 +00:00
Tom Hacohen a7e2bbabae Evas font: Fixed memory leak when reloading an already-loaded face.
SVN revision: 56538
2011-01-30 10:45:23 +00:00
Tom Hacohen 8119efadda Evas font-engine: Fixed query size when not using OT to take the last char's width on RTL mode, instead of the first.
SVN revision: 56529
2011-01-30 10:44:31 +00:00
Tom Hacohen 379eb8f660 Evas font-engine: Fixed ot face loading when loading fonts from memory.
SVN revision: 56523
2011-01-30 10:43:50 +00:00
Tom Hacohen 7924eef840 Evas bidi: Fixed visibility issue with evas_bidi_shape_string which is supposed to be visible to extrenal moduels as well.
SVN revision: 56522
2011-01-30 10:43:42 +00:00
Tom Hacohen 34c6617e5a Evas font-engine: add a function to just ref text props.
SVN revision: 56521
2011-01-30 10:43:34 +00:00
Tom Hacohen b7cd0dbabb Evas textblock: Fixed word prerender, it now compiles and even mostly works, there are still some glitches (haven't benchmarked it though).
SVN revision: 56517
2011-01-30 10:43:09 +00:00
Tom Hacohen e809000965 Evas font-engine: Exposed PEN_Y in the walker functions and started using it instead of the hackish _pen_y.
SVN revision: 56516
2011-01-30 10:43:03 +00:00
Tom Hacohen ba6f9c99e7 Evas bidi: remove the bidi reverse string, it's old and not needed.
SVN revision: 56511
2011-01-30 10:42:28 +00:00
Tom Hacohen f1749eaaa4 Evas font-engine: simplify 26_6 round to int.
SVN revision: 56510
2011-01-30 10:42:20 +00:00
Tom Hacohen f7dfb4d8fb Evas font-engine: pen_x is now calculated with fractional pixels (inside each item, not the case with cross-items which still use integral pixels).
SVN revision: 56509
2011-01-30 10:42:13 +00:00
Tom Hacohen 99c8c7bb2f Evas font-engine: Round the fractional coords (instead of floor).
SVN revision: 56508
2011-01-30 10:42:07 +00:00
Tom Hacohen f63e8256ff Evas textblock: Fixed async rendering support.
SVN revision: 56506
2011-01-30 10:41:57 +00:00
Tom Hacohen b46c83aeac Evas textblock: split the visual layouting to two stages:
1. Split to logical layout units.
2. Order the logical layout units in a visual way.
This lets us cache the results of the first part (unless the text changes), which makes everything a lot faster in the OT case, and quite faster in the regular case.
There are still some issues unresolved in this commit that will be resolved in future commits:
1. No support for async rendering - yes, I forgot I'm supposed to support that.
2. native_size should probably be calculated in another way because the current one is slow and if we already have the logical items it should be a piece of cake...

SVN revision: 56504
2011-01-30 10:41:42 +00:00
Tom Hacohen a2fc127e8c Evas font-engine: Fixed a puny memory leak.
SVN revision: 56503
2011-01-30 10:41:35 +00:00
Tom Hacohen d632d526c0 Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.
SVN revision: 56492
2011-01-30 10:40:30 +00:00
Tom Hacohen 48c9b3781e Evas font-engine: A couple of major fixes:
1. Worked around a fribid behavior that broke some stuff - we should handle it better in the future, this workaround is only temporary.
2. Fixed a bug with textblock's last_up_to_pos.
3. Fixed a bug with ot_shaping not reloading the font and activating the size in the wrong place.

SVN revision: 56491
2011-01-30 10:40:21 +00:00
Tom Hacohen 58af440aab Evas font: skip over common script items when getting the font, we should get the font of the actual script items.
SVN revision: 56484
2011-01-30 10:39:42 +00:00
Tom Hacohen f7a4cf52a8 Evas font: fixed calling of bidi_end_of_run_get and exposed a new function to get the script of a single char.
SVN revision: 56483
2011-01-30 10:39:35 +00:00
Tom Hacohen 7ce45d8bd4 Revert "Evas font-engine: Also split on script common." - After
reviewing the standard again, it's not really wanted.

This reverts commit 26cc8747fda51e95d340ef1a1838817fe495be23.

SVN revision: 56482
2011-01-30 10:39:29 +00:00
Tom Hacohen 3185db9667 Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.
SVN revision: 56478
2011-01-30 10:39:03 +00:00
Tom Hacohen 32f98dcb7b Evas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get
SVN revision: 56476
2011-01-30 10:38:50 +00:00
Tom Hacohen 0e0ba10a7d Evas font-engine: fixed kerning in the default walker.
SVN revision: 56473
2011-01-30 10:38:33 +00:00
Tom Hacohen 421e1d8ae1 Evas font-engine: Also split on script common.
SVN revision: 56472
2011-01-30 10:38:28 +00:00
Tom Hacohen 9f0ce7a272 Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.
SVN revision: 56470
2011-01-30 10:38:15 +00:00
Tom Hacohen 0e44717373 Evas font-ot: moved typedef to a better location (doesn't change anything but ease of understanding).
SVN revision: 56469
2011-01-30 10:38:08 +00:00
Tom Hacohen 4ee6706770 Evas font-engine: cache harfbuzz's face.
SVN revision: 56466
2011-01-30 10:37:52 +00:00
Tom Hacohen b53ded56ed Evas font-engine: Fixed some issues with the git rebase I just did, should now compile correctly.
SVN revision: 56465
2011-01-30 10:37:46 +00:00
Tom Hacohen 48b3a796a5 Evas font-ot: Fixed mistakes that caused ilegal reads.
SVN revision: 56464
2011-01-30 10:37:40 +00:00
Tom Hacohen 63e25655e1 Evas font-ot: renamed internal source_pos to source_cluster and added the forgotten evas_common_font_ot_cluster_size_get to the .h file.
SVN revision: 56463
2011-01-30 10:37:34 +00:00
Tom Hacohen c09000741b Evas font-engine: Add cluster support to the font-engine. Cursor handling is now correct for clusters as well.
SVN revision: 56462
2011-01-30 10:37:29 +00:00
Tom Hacohen c012ee700c Evas font-engine: Fixed pen/char query. In RTL first is actually the last.
SVN revision: 56461
2011-01-30 10:37:18 +00:00
Tom Hacohen 729a85e872 Evas font-engine: Fixed an issue with cluster handling that broke cursor position in some cases.
SVN revision: 56460
2011-01-30 10:37:12 +00:00
Tom Hacohen 34426d8c6e Evas font engine: Fixed a couple of issues:
1. Fixed double-kerning with the DEFAULT walker.
2. Removed unused var with the OT walker.
3. Fixed a bit of the documentation in the walkers.

SVN revision: 56459
2011-01-30 10:37:05 +00:00
Tom Hacohen 3b88692aa7 Evas font-engine: Fixed invisible character handling in the OT walker. Renamed internal var gl in the default walker to _gl, a less common var name.
SVN revision: 56458
2011-01-30 10:36:59 +00:00
Tom Hacohen f4a6807c4d Evas font-engine: Fixed an issue with cursor position with RTL text when OT is off.
SVN revision: 56457
2011-01-30 10:36:53 +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 6ac48e53ed Evas font: Added HARFBUZZ's cflags.
SVN revision: 56452
2011-01-30 10:36:14 +00:00
Tom Hacohen e7b2a13aa1 Evas text: Wrote item layouting and splitting of items to script runs, this is essential for correct shaping/bidi handling.
SVN revision: 56450
2011-01-30 10:36:02 +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 01850cf816 Evas font-engine: Fixed kerning handling and fixed a bug in query_char_coords and in query_pen_coords taking the wrong string into account.
SVN revision: 56444
2011-01-30 10:35:24 +00:00
Tom Hacohen 99a7eff130 Evas bidi + font-engine + everything affected: Changed Evas_BiDi_Props to only include the direction of the text and reverse when needed. We don't need to do full processing at this stage, because we should have split to bidi runs before.
SVN revision: 56443
2011-01-30 10:35:17 +00:00
Tom Hacohen e4b4cf3344 Evas font-engine: suppress warnings when BiDi is disabled.
SVN revision: 56442
2011-01-30 10:35:10 +00:00
Tom Hacohen b1d9298e81 Evas bidi: Fixed the BiDi functions to accept paragraph props and not bidi props.
SVN revision: 56441
2011-01-30 10:35:04 +00:00
Tom Hacohen 109886f436 Evas font-engine: Fixed an issue with last_up_to_pos failing sometimes when it shouldn't.
Fixed a documentation error.

SVN revision: 56439
2011-01-30 10:34:49 +00:00
Tom Hacohen ca2a3eb5a6 Evas font-engine: remove an usued variable in the font drawing functions.
SVN revision: 56438
2011-01-30 10:34:42 +00:00
Tom Hacohen 6dba792f46 Evas font-engine: Change EVAS_FONT_WALK_TEXT_* functions to advance pen_x at the end of the loop (so a break won't advance it, but a clean finish will) and removed the checking if a diacritic using and advancement hack (that only worked only with specific fonts anyway) so we'll be able to start working with Harfbuzz.
SVN revision: 56437
2011-01-30 10:34:36 +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
Tom Hacohen 3d6ca9eca9 Evas font engine: The position of the NULL returned from coords should depend on query_advance, not query_size.
SVN revision: 56431
2011-01-30 10:33:57 +00:00
Tom Hacohen 509e7bed98 Evas font-engine: handle invisible chars in font query.
SVN revision: 56429
2011-01-30 10:33:43 +00:00
Tom Hacohen 039fd390a7 Evas font engine: Fixed query_size and query advance.
SVN revision: 56427
2011-01-30 10:33:32 +00:00
Tom Hacohen 34d5f9141d Evas font engine: Merge text walking to a couple of macros, this is more consistent, and the code is smaller and easier to handle.
SVN revision: 56426
2011-01-30 10:33:24 +00:00
Tom Hacohen d7c2187c1f Evas font engine: Added skipping of invisible chars to the font drawing function - this means we can't draw them until we add a specil "draw inivisble" mode.
SVN revision: 56424
2011-01-30 10:33:14 +00:00
Tom Hacohen a92826ae5e Evas textblock: Fixed mixed format and text item reordering.
SVN revision: 56404
2011-01-30 10:31:08 +00:00
Carsten Haitzler c472771a84 well neon asm was wrongly documented - and wrong before anyway. it's
disabled for now and uses memcpy. bizarre stuff occurs if i try use it
though.



SVN revision: 56304
2011-01-26 08:45:11 +00:00
Carsten Haitzler ecd007c049 fix slow path in neon - memcpy is actually faster! :)
SVN revision: 56240
2011-01-20 09:33:07 +00:00
Carsten Haitzler 6a5adabb1c prevent fpe (dv by 0)
SVN revision: 56191
2011-01-16 12:04:40 +00:00
Carsten Haitzler 4da0e7dbb6 remove unused code.
SVN revision: 56177
2011-01-16 06:22:45 +00:00