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
Carsten Haitzler
e0fbc8d169
chr never used in func.
...
SVN revision: 56175
2011-01-16 06:19:12 +00:00
Carsten Haitzler
e7bd084847
in case we access other footer elements in future - align it.
...
SVN revision: 56174
2011-01-16 06:00:12 +00:00
Carsten Haitzler
9218ac3c38
more robust utf8 walking code to survive malformed utf8 and not crash
...
in the next ut8 char get code.
SVN revision: 56131
2011-01-15 14:08:56 +00:00
Mike Blumenkrantz
4f5e4e0765
sighhh add more calloc checks
...
SVN revision: 56100
2011-01-14 06:35:41 +00:00
Mike Blumenkrantz
39eb62a758
add calloc check to avoid null deref
...
SVN revision: 56098
2011-01-14 06:28:40 +00:00
Mike Blumenkrantz
fbb73e32a9
another dead store
...
SVN revision: 56094
2011-01-14 06:14:39 +00:00
Mike Blumenkrantz
930a112d6f
this is never read, so remove it
...
SVN revision: 56092
2011-01-14 06:11:07 +00:00
Carsten Haitzler
da9bf3353f
oooh oops. all calls to cache_prune already lock for it.. so deadlock!
...
fix fix! sorry!
SVN revision: 56043
2011-01-11 08:12:32 +00:00
Carsten Haitzler
49f5946b26
remove dangling useless template code
...
SVN revision: 56038
2011-01-11 05:43:48 +00:00
Carsten Haitzler
04ab07667b
fix possible thread lock issue - scalecache wasnt locked in 1
...
circumstance.
SVN revision: 56037
2011-01-11 05:43:10 +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
Vincent Torri
bb9de107ad
preload_done member is declared only if async preload is enabled
...
SVN revision: 55627
2010-12-18 10:09:58 +00:00
Vincent Torri
c60b4933c0
preload_done member is declared only if async preload is enabled
...
SVN revision: 55626
2010-12-18 09:59:50 +00:00
Vincent Torri
9064029863
missing declaration
...
SVN revision: 55625
2010-12-18 08:48:58 +00:00
Carsten Haitzler
62c8659619
fixed async preload stall bug! still 1 issue left when caches
...
(scalecaches) are flushed which can cause a hang until all data is
"loaded back in" again. it's a bit of a doosey actually and so isn't
fixed here.
SVN revision: 55551
2010-12-14 10:22:06 +00:00
Carsten Haitzler
bd3ae0dc9d
fix warning.
...
SVN revision: 55542
2010-12-14 03:09:01 +00:00
Carsten Haitzler
b493685f89
set clobber info right for neon test.
...
SVN revision: 55529
2010-12-13 03:56:53 +00:00
Brett Nash
f2e4cc5555
Evas: Neon: Do neon test if ARM...
...
Not ARM 70. So this should you know... turn on the neon test.
SVN revision: 55317
2010-12-06 07:53:33 +00:00
Brett Nash
157bf3a573
Evas: Neon: More .fpu neon flags
...
Also clean up some ugly code.
SVN revision: 55314
2010-12-06 04:57:54 +00:00
Brett Nash
19c28b345f
Evas: Neon: Explicitly set the .fpu flag for neon.
...
This means you should not need to set any special compiler flags; which should
mean gcc will generate non-neon specific asm (unless you tell it to). This
means it is possible to build an armv6 binary with neon suppor (as we always
meant to to do).
SVN revision: 55307
2010-12-06 01:50:32 +00:00
Cedric BAIL
1ca29e1649
* evas: reorder header as needed.
...
SVN revision: 55199
2010-12-03 16:47:05 +00:00
Carsten Haitzler
cb41bf7dbd
From: 백근훈 [mailto:knhoon.baik@samsung.com]
...
Subject: evas scalecache 관련 패치 검토 요청
...
There is the report that evas_engine_dump() does not dump scalecache.
Knhoon made a patch for that.
SVN revision: 55178
2010-12-03 09:36:17 +00:00
Carsten Haitzler
10bfc098fb
fix neon (thnx nash) to not round down incorrectly on blend
...
SVN revision: 55115
2010-12-01 09:46:49 +00:00
Carsten Haitzler
afa0050f32
fix smooth scaler to not round down incorrectly.
...
SVN revision: 55114
2010-12-01 09:46:26 +00:00
Carsten Haitzler
f5b7648de0
make cutout rect blocks a bit bigger.
...
SVN revision: 54547
2010-11-14 06:00:35 +00:00
Tom Hacohen
7bf2353f96
Evas font-engine: Fixed the first miss breaks font bug and removed the work around. My tests show it work, but just to make sure, if it doesn't for you, let me know.
...
SVN revision: 54456
2010-11-11 13:07:04 +00:00
Cedric BAIL
87d707ee2c
* evas: some style fix.
...
SVN revision: 54331
2010-11-08 14:34:19 +00:00
Cedric BAIL
4e1ea67122
* evas: don't segv when manipulating line at canvas border.
...
FIXME: When the jump code start, it break line continuity and
make them look hugly. I have no idea how to properly fix that
right now.
SVN revision: 54330
2010-11-08 14:31:22 +00:00
Cedric BAIL
4b50987072
* evas: fix possible off by one bug with line object.
...
Reported by Daniele.
SVN revision: 54182
2010-11-05 14:59:22 +00:00
Tom Hacohen
da512dde9b
Evas font-engine: Don't break if there was a previous miss. This is a workaround for a bug in the font index caching mechanism that happens if you cache the index miss before all the fonts were changed. We should probably just put a "dirty" flag on font sets that loaded more fonts or something like that.
...
SVN revision: 54157
2010-11-04 16:32:42 +00:00
Carsten Haitzler
05246414c6
oops - in the process i disabled the multiple fonts in the fontsets to
...
load on demand when first needed. fixed. rendering etc. works again
for all intl fonts.
SVN revision: 54085
2010-11-02 04:56:57 +00:00
Carsten Haitzler
e0e6020902
work on fixing up a font "leak". its disabled via returns in funcs -
...
but also added in 24bit unicode support. needed for unicode v6
absolutely.. so we can have the pile of poo char work.
SVN revision: 53987
2010-10-29 12:55:42 +00:00
Carsten Haitzler
541394175a
fix tasn bug++
...
SVN revision: 53860
2010-10-25 11:56:20 +00:00
Carsten Haitzler
3a9d3268d2
fix warnings in async render code.. and well.. warn about it - it
...
crashes for me in expedite with 4 cores on x86 at random points. looks
like it's bitrotting. though it was relatively tentative to begin with.
SVN revision: 53856
2010-10-25 11:27:17 +00:00
Tom Hacohen
79ec0e7975
Evas font-engine: Silence gcc about a possible use of unitialized value which can't really happen. Add parenthesis where needed.
...
SVN revision: 53855
2010-10-25 11:24:25 +00:00
Tom Hacohen
9a89173df6
Evas font-engine: Reverted my hack in 53828 because cedric already implemented clipping to object geometry.
...
SVN revision: 53830
2010-10-24 12:28:36 +00:00
Tom Hacohen
b705c2c038
Evas font-engine: Hacked around a wrong setting of clipping in textblock. - Email in ML will soon follow.
...
SVN revision: 53828
2010-10-24 10:59:52 +00:00