Commit Graph

3836 Commits

Author SHA1 Message Date
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
Carsten Haitzler 7881c0b849 improvement to gl engine wrt. caching.
SVN revision: 56801
2011-02-08 11:41:38 +00:00
Carsten Haitzler e2bd68dc91 hey... no printfs during all that lighting calcing :)
SVN revision: 56800
2011-02-08 11:37:48 +00:00
Tom Hacohen 9ad7690524 Evas textblock: #if 0 a couple of debugging functions.
SVN revision: 56797
2011-02-08 08:13:35 +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
Carsten Haitzler 40b908c869 oops somehow missed this commit - part of adding wbmp support. limit
image size macro used. (so no point with a changelog - part of existing).



SVN revision: 56791
2011-02-07 23:06:22 +00:00
Brett Nash 70109827c3 Clean up for proxies.
SVN revision: 56781
2011-02-07 04:27:48 +00:00
Brett Nash 310f872e56 Manual merge of proxy code (inc ChangeLog)
SVN revision: 56780
2011-02-07 04:18:37 +00:00
Brett Nash 84fdff5919 Fixes to make proxy work
SVN revision: 56779
2011-02-07 01:38:00 +00:00
Mike Blumenkrantz 1d0e9bf198 remove some commas
SVN revision: 56778
2011-02-07 00:20: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
Brett Nash 3cece3340b Proxy: Use the always map option, and tweak for images.
SVN revision: 56776
2011-02-06 23:51:58 +00:00
Brett Nash ab4b1521ac Fix redrawing issues with proxies.
SVN revision: 56775
2011-02-06 23:51:48 +00:00
Brett Nash 3b91e744e4 Deleting an object cleans up proxies now.
SVN revision: 56774
2011-02-06 23:51:39 +00:00
Brett Nash 37ea40c0cc Add the extra proxy convenience functions.
SVN revision: 56773
2011-02-06 23:51:34 +00:00
Brett Nash 2dd6fa09cb Proxy Debug --
SVN revision: 56772
2011-02-06 23:51:30 +00:00
Brett Nash 4beae65f42 Proxy Debug --
SVN revision: 56771
2011-02-06 23:51:27 +00:00
Brett Nash 99ab5efc6e Proxy: Pass the correct object to opaque check
SVN revision: 56770
2011-02-06 23:51:23 +00:00
Brett Nash d7688c9719 Debug --
SVN revision: 56769
2011-02-06 23:51:19 +00:00
Brett Nash d62f0f5ef3 Debug --
SVN revision: 56768
2011-02-06 23:51:14 +00:00
Brett Nash c415c2c14a Proxy: Whitespace--
SVN revision: 56767
2011-02-06 23:51:08 +00:00
Brett Nash b9e165ac92 Proxy: Opaque test a little smarter
SVN revision: 56766
2011-02-06 23:50:58 +00:00
Brett Nash 8603177a12 Render smart objects too.
SVN revision: 56765
2011-02-06 23:50:45 +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 e52a55a907 Old stagaed patch for managing list of proxies.
SVN revision: 56762
2011-02-06 23:50:06 +00:00
Brett Nash 37aba1b3ea Actually commit object proxy
SVN revision: 56761
2011-02-06 23:49:54 +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 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
Vincent Torri 4ddec6a307 put visual studio files outside the libraries directory
SVN revision: 56688
2011-02-03 19:53:57 +00:00
Tom Hacohen d124b1e2a9 Evas textblock: Use the ellipsis char instead of 3 dots for textblock ellipsis.
SVN revision: 56651
2011-02-02 16:24:02 +00:00
Tom Hacohen eaf0368b9c Evas table: Updated the table's docs. vtorri - Thanks for the notice.
SVN revision: 56646
2011-02-02 09:01:26 +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 6e7b0dffd7 Evas: updated changelog.
SVN revision: 56634
2011-02-01 13:21:48 +00:00
Tom Hacohen 36df64bbeb Evas table: Added "mirrored mode" to table. This is important for ui mirroring and let users do cooler stuff.
SVN revision: 56633
2011-02-01 12:50:59 +00:00
Tom Hacohen 1cd89c7155 Evas text: Don't call text_props_info_create if there's no font set.
SVN revision: 56632
2011-02-01 12:18:11 +00:00
Tom Hacohen 912d176d3e Evas: Updated changelog.
SVN revision: 56631
2011-02-01 12:18:05 +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
Tom Hacohen 22b440ff2a Evas textblock: Fixed a couple of invalid reads in split and remove
whites

SVN revision: 56628
2011-02-01 12:17:38 +00:00
Carsten Haitzler 573103fd34 formatting of wbmp loader code fix.
SVN revision: 56625
2011-02-01 09:40:30 +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 517756c0cc Evas textblock: Fixed paragraph line number. It got corrupted in some cases.
SVN revision: 56609
2011-01-31 14:43:48 +00:00
ChunEon Park b6c29efe76 From: ChunEon Park <chuneon.park@samsung.com>
Subject: Re: [E-devel] some bug fix patches

Fix lurking free bug in grab code.



SVN revision: 56576
2011-01-31 08:42:34 +00:00
Carsten Haitzler 21af8142da other way.
SVN revision: 56575
2011-01-31 08:40:51 +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 5548283814 Evas: Updated changelog.
SVN revision: 56554
2011-01-30 13:55:16 +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 20e89e9d01 Evas: Updated changelog.
SVN revision: 56546
2011-01-30 10:46:06 +00:00
Tom Hacohen 3999767698 Evas textblock: Eliminate the use of cutoff, we don't really want/need that.
SVN revision: 56545
2011-01-30 10:46:02 +00:00
Tom Hacohen 198da9e2af Evas font: Fix indentation.
SVN revision: 56544
2011-01-30 10:45:56 +00:00
Tom Hacohen f247b0d480 Evas textblock: Did a bit of code clean-up.
SVN revision: 56543
2011-01-30 10:45:51 +00:00
Tom Hacohen 5a5ebae319 Evas textblock: Added ellipsis support (actually only for the 1.0 case) to textblock.
SVN revision: 56542
2011-01-30 10:45:45 +00:00
Tom Hacohen 604f4d5549 Evas textblock: Fixed a memory leak and comment.
SVN revision: 56541
2011-01-30 10:45:40 +00:00
Tom Hacohen 00a48c01ea Evas textblock: Updated a comment.
SVN revision: 56540
2011-01-30 10:45:34 +00:00
Tom Hacohen 620c9f1cb7 Evas textblock: Fixed issue with charwrap causing an infinite loop.
SVN revision: 56539
2011-01-30 10:45:28 +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 a98aaaae64 Evas text: Fixed a segfault with text objects with a font not yet set (but with text set).
SVN revision: 56537
2011-01-30 10:45:17 +00:00
Tom Hacohen df727d6772 Revert "Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping."
There were issues introduced with this commit, should fix it in the
future.

This reverts commit 53cf2da5684871c77b7efc6406de98d5fb681914.

SVN revision: 56536
2011-01-30 10:45:11 +00:00
Tom Hacohen ed75dc7082 Evas textblock: Fixed paragraph width to also take in-paragraph line indentation into account.
SVN revision: 56535
2011-01-30 10:45:06 +00:00
Tom Hacohen e82371fd03 Evas text: Added API to query text object's text direction.
SVN revision: 56534
2011-01-30 10:45:00 +00:00
Tom Hacohen 0cdb64e00e Evas textblock: Fixed cursor position in BEFORE mode. Fixed a reference to a memory location (on the stack) we don't own anymore.
SVN revision: 56533
2011-01-30 10:44:55 +00:00
Tom Hacohen 2f8968f4f8 Evas textblock: Fixed cursor position with a cleared textblock.
SVN revision: 56532
2011-01-30 10:44:48 +00:00
Tom Hacohen e4bcb7f90f Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping.
SVN revision: 56531
2011-01-30 10:44:42 +00:00
Tom Hacohen abb427a683 Evas text: Fixed string_size_get to use the last item's width instead of advance.
SVN revision: 56530
2011-01-30 10:44:37 +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 895124e1b9 Evas text: relayout the items when needed.
SVN revision: 56528
2011-01-30 10:44:23 +00:00
Tom Hacohen 61e6f43f66 Evas text: Fixed vert advance get in cases of mixed scripts with different ascents/descents.
SVN revision: 56527
2011-01-30 10:44:17 +00:00
Tom Hacohen 8871470af7 Evas textblock: Fixed a typo in the wordwrap code.
SVN revision: 56526
2011-01-30 10:44:11 +00:00
Tom Hacohen ae1325aec0 Evas textblock: Added wrap=mixed to the style options.
SVN revision: 56525
2011-01-30 10:44:03 +00:00
Tom Hacohen 6b8aa0e419 Evas textblock: Fixed a bug with wordwrapping causing an infinite loop in some cases.
SVN revision: 56524
2011-01-30 10:43:55 +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 07004f537a Evas textblock: Implemented support for size_native_get which was partially broken because calc_only was not implemented.
SVN revision: 56520
2011-01-30 10:43:26 +00:00
Tom Hacohen 03e32ec5c4 Evas textblock: Added mixedwrap code - the code is there but nothing is really using it at the moment, will add that in the future.
SVN revision: 56519
2011-01-30 10:43:21 +00:00
Tom Hacohen 546ceb4151 Evas textblock: Remove unused function: _evas_textblock_cursor_node_format_before_pos_get.
SVN revision: 56518
2011-01-30 10:43:15 +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 36261c8bd5 Evas textblock: Fixed a segfault with regular formats (ones without size explicitly set).
SVN revision: 56515
2011-01-30 10:42:56 +00:00
Tom Hacohen 80004f3d0b Evas textblock: Moved item (of type SIZE) size calculation to actual line finalizing because it depends on the object scale and where it was before will break when scale changes.
SVN revision: 56514
2011-01-30 10:42:48 +00:00
Tom Hacohen fb07723f3d Evas textblock: Fixed bug with relative sized items not showing.
SVN revision: 56513
2011-01-30 10:42:41 +00:00
Tom Hacohen 09b0ae1f42 Evas textblock: Fixed cursor when the cursor is in the end.
SVN revision: 56512
2011-01-30 10:42:35 +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 32fd296bde Evas: Fixed harfbuzz dependency checking. Was broken with harfbuzz that is not compiled with freetype support and always printed 'no' regarding harfbuzz usage.
SVN revision: 56507
2011-01-30 10:42:01 +00:00
Tom Hacohen f63e8256ff Evas textblock: Fixed async rendering support.
SVN revision: 56506
2011-01-30 10:41:57 +00:00
Tom Hacohen f0a2a3229d Evas textblock: Fixed a seg and the documentation error that caused it.
SVN revision: 56505
2011-01-30 10:41:49 +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 f49c3bb8ad Used evas_textblock_text_node_changed instead of evas_textblock_changed when needed and removed the latter completely because it wasn't needed/used anymore.
SVN revision: 56502
2011-01-30 10:41:29 +00:00
Tom Hacohen 1351fcc40c Evas textblock: The only thing that should force a 'native recalc' is a change in the text.
SVN revision: 56501
2011-01-30 10:41:23 +00:00
Tom Hacohen 712ad03e21 Evas textblock: split layout line advance to advance and finalize instead of using the 'new line' flag.
SVN revision: 56500
2011-01-30 10:41:18 +00:00
Tom Hacohen 38215930ae Evas textblock: Added a couple of comments and mark that we already handlede content change after we calc native size, that's because logical layout remains the same.
SVN revision: 56499
2011-01-30 10:41:13 +00:00
Tom Hacohen f8656202f2 Evas textblock: Fixed a major slowdown caused by a missing content_changed = 0.
SVN revision: 56498
2011-01-30 10:41:06 +00:00
Tom Hacohen 3d24e2daad Evas textblock: Removed unused functions.
SVN revision: 56497
2011-01-30 10:40:59 +00:00
Tom Hacohen 367e75aa70 Evas textblock: Fix format usage in the visual layouting.
SVN revision: 56496
2011-01-30 10:40:53 +00:00
Tom Hacohen 169afc76be Evas textblock: format is now a property of both text items and format items meaning that formats can finally have their own properties, e.g tabs can have distinct background colors and etc.
SVN revision: 56495
2011-01-30 10:40:47 +00:00
Tom Hacohen e62074b786 Evas textblock: Fixed a bug in the last commit causing a seg when cleaning a tb.
SVN revision: 56494
2011-01-30 10:40:42 +00:00
Tom Hacohen c56c293e96 Evas textblock: Split between content changes and other changes.
SVN revision: 56493
2011-01-30 10:40:36 +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 91456d3198 Evas textblock: Started splitting the layouting to two stages, logical item creating and visual ordering of the items. This will let us to cache the logical items and just relayout the visual items when needed thus making everything a lot faster.
SVN revision: 56490
2011-01-30 10:40:14 +00:00
Tom Hacohen 50ed367970 Evas textblock: Fixed line coords to be relative to the paragraphs coords and not standalone like they were.
SVN revision: 56489
2011-01-30 10:40:09 +00:00
Tom Hacohen 6f24144e55 Evas textblock: Update layout paragraph coordinates and use them to speed some parts up.
SVN revision: 56488
2011-01-30 10:40:04 +00:00
Tom Hacohen adeabde88e Evas textblock: Use layout paragraphs for faster item locating.
SVN revision: 56487
2011-01-30 10:39:58 +00:00
Tom Hacohen a3698f39a4 Evas textblock: started using the paragraph layout items a bit more so it's a bit faster now. Fixed a bug in calculating the line number. Paragraph layout items now point to the original paragraphs.
SVN revision: 56486
2011-01-30 10:39:52 +00:00
Tom Hacohen 908a6d16b0 Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.
SVN revision: 56485
2011-01-30 10:39:47 +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 b8635d16ea Evas textblock: Started using advancement for wrapping.
SVN revision: 56481
2011-01-30 10:39:22 +00:00
Tom Hacohen 1285647c17 Evas text object: Hacked a fix to string size get which fixes elipsis and many other stuff.
SVN revision: 56480
2011-01-30 10:39:16 +00:00
Tom Hacohen e927217279 Evas text: Fixed a bug with the issuing of script end of run get.
SVN revision: 56479
2011-01-30 10:39:09 +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 ec59409dea Evas text: Fixed object_text last_up_to_pos.
SVN revision: 56477
2011-01-30 10:38:55 +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 400fba721e Evas text: fixed an issue with last_up_to_pos and char_at_coords that caused them to return the wrong index.
SVN revision: 56475
2011-01-30 10:38:44 +00:00
Tom Hacohen fa49914387 Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.
SVN revision: 56474
2011-01-30 10:38:39 +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 f1d77279cd Revert "Evas textblock: Shape a lot less when splitting to items because of script/bidi direction."
Was broken.

This reverts commit d2bc8fd8b516a640c3eb098071a80d751494024a.

SVN revision: 56471
2011-01-30 10:38:22 +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 5125ddb692 Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.
SVN revision: 56468
2011-01-30 10:38:02 +00:00
Tom Hacohen aa830a11ca Evas textblock: removed an un-needed shaping that speeds up things a bit.
SVN revision: 56467
2011-01-30 10:37:57 +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 e37ac1d679 Evas text: Use the already calculated len.
SVN revision: 56456
2011-01-30 10:36:47 +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 836b16f085 Evas: fine tuned the harfbuzz checks to make sure harfbuzz was compiled with freetype support and just check if it also compiled with glib support. ATM there's no good lib for checking unicode characteristics so until there is one, we optionally use harfbuzz's glib integration - such lib is planned by the guy who wrote Harfbuzz.
SVN revision: 56454
2011-01-30 10:36:24 +00:00
Tom Hacohen d9cdf88a23 Evas text: Fixed typo in horiz advance function.
SVN revision: 56453
2011-01-30 10:36:20 +00:00
Tom Hacohen 6ac48e53ed Evas font: Added HARFBUZZ's cflags.
SVN revision: 56452
2011-01-30 10:36:14 +00:00
Tom Hacohen ea97422d84 Evas textblock: Start cutting to sections if bidi is not enabled.
SVN revision: 56451
2011-01-30 10:36:08 +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 de1549fa25 Evas textblock: Fixed an issue with range_geometry_get.
SVN revision: 56449
2011-01-30 10:35:56 +00:00
Tom Hacohen cf083720b6 Evas textblock: Fixed a small invalid read.
SVN revision: 56448
2011-01-30 10:35:50 +00:00
Tom Hacohen e7ca8b9294 Evas textblock: Fixed misuse of evas_bidi_is_rtl_char.
SVN revision: 56447
2011-01-30 10:35:44 +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 05050572ad Evas textblock: It's ok to have an empty item when there are no nodes. - Fixed a seg.
SVN revision: 56445
2011-01-30 10:35:30 +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 f6b1bcd0b6 Evas: Added harfbuzz detection (it's optional, just like fribidi).
SVN revision: 56440
2011-01-30 10:34:56 +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 a089d061b8 Evas textblock: Fixed docs and naming of vars in the function header.
SVN revision: 56436
2011-01-30 10:34:29 +00:00
Tom Hacohen ce97927d9a Evas textblock: Fixed usage of width instead of advance which caused issues in some cases.
SVN revision: 56435
2011-01-30 10:34:23 +00:00
Tom Hacohen b6363c7657 Evas textblock: Use pen position for cursors, selections and etc as this is exactly what pen is for.
SVN revision: 56434
2011-01-30 10:34:18 +00:00
Tom Hacohen 35847d3c88 Evas textblock: Added evas_textblock_cursor_pen_geometry_get.
SVN revision: 56433
2011-01-30 10:34:13 +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 8d56aef16a Evas textblock: Advancement within a line should be according to advance size, and not width.
SVN revision: 56430
2011-01-30 10:33:50 +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 74b26fec2e Evas textblock: Removed the adjusting according to inset from textblock as it happens in font_draw/query.
SVN revision: 56428
2011-01-30 10:33:37 +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 30c9492e8b Evas textblock: Added advancement to items. This simplifies the code, fixes issues in selection and may be useful in the future with format items with different advancement and width.
SVN revision: 56425
2011-01-30 10:33:19 +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 b9c4dbb744 Evas textblock: Fixed geometry get for formats as well.
SVN revision: 56423
2011-01-30 10:33:06 +00:00
Tom Hacohen 82a7ee8ee0 Evas textblock: Added bidi properties to the shared info between format and text items because both are bidi-relevant.
SVN revision: 56422
2011-01-30 10:33:01 +00:00
Tom Hacohen 3c6c735b83 Evas textblock: Fixed a typo and explanation in a comment.
SVN revision: 56421
2011-01-30 10:32:55 +00:00
Tom Hacohen 4aaa8df5fe Evas textblock: Fixed a couple of cases where a geometry of a visible format item would have been returned although it shouldn't have.
SVN revision: 56420
2011-01-30 10:32:50 +00:00
Tom Hacohen 81616cec5d Evas textblock and font engine: Fixed cursor position to be at the end of the current item, and not the end of the line, this looks nicer in bidi strings.
Fixed querying char coords to return the current position of the NULL according to the text's alignment, not the paragraph's.

SVN revision: 56419
2011-01-30 10:32:45 +00:00
Tom Hacohen ab1a4f0a77 Evas textblock: Fixed selection drawing with multiline mixed ltr/rtl.
SVN revision: 56418
2011-01-30 10:32:39 +00:00
Tom Hacohen 82d4acc36a Evas textblock: Fixed a couple of issues with range_geometry_get (a seg if the textblock is empty and drawing glitches).
SVN revision: 56417
2011-01-30 10:32:33 +00:00
Tom Hacohen 06957098c6 Evas textblock: Fixed range geometry get in some cases involving rtl.
SVN revision: 56416
2011-01-30 10:32:27 +00:00
Tom Hacohen 9f36a734b2 Evas textblock: Made selection rtl friendly. There are still minor issues with rectangle positioning (1px off sometimes) but this is better than before.
SVN revision: 56415
2011-01-30 10:32:15 +00:00
Tom Hacohen 62840fe30b Evas textblock: Fixed evas_textblock_cursor_geometry_get with the cursor type: EVAS_TEXTBLOCK_CURSOR_BEFORE.
SVN revision: 56414
2011-01-30 10:32:09 +00:00
Tom Hacohen c6c3ab41e8 Evas textblock: Merged drawing backgrounds, strikethroughs and underlines into one shared format.
SVN revision: 56413
2011-01-30 10:32:03 +00:00
Tom Hacohen 664478cc55 Evas textblock: Since we now track text pos for format items as well as text items, we can (and did) merge _find_layout_item_line_match and _find_layout_format_item_line_match and obsolete the latter.
SVN revision: 56412
2011-01-30 10:31:58 +00:00
Tom Hacohen aa6849b76e Evas textblock: Shape per string and not per item. I.e shaping across wrapping will also work now.
SVN revision: 56411
2011-01-30 10:31:51 +00:00
Tom Hacohen 53123a7445 Evas textblock: Added a segfault fix in case (shouldn't happen) it isn't found.
SVN revision: 56410
2011-01-30 10:31:45 +00:00
Tom Hacohen 4dede084eb Evas textblock: Adjusted some local macros a bit so they'll enforce our wanted usage of ';'.
SVN revision: 56409
2011-01-30 10:31:40 +00:00
Tom Hacohen 9ffa06fbf6 Evas textblock: Adjusted text drawing a bit, a fix to the previous commit.
SVN revision: 56408
2011-01-30 10:31:33 +00:00
Tom Hacohen f1230b5f36 Evas textblock: Fixed text drawing (with all of it's features, including background, underlines and etc.). Also simplified it a bit.
SVN revision: 56407
2011-01-30 10:31:28 +00:00
Tom Hacohen 4dd2bd2a33 Evas textblock: created _find_layout_item_match that finds the wanted item and line for both texts and formats and with some special case handling.
Essentially combined code that was just copied around.

SVN revision: 56406
2011-01-30 10:31:22 +00:00
Tom Hacohen 52b44130d9 Evas textblock: format items and text items are now in the same list and share a lot of info.
SVN revision: 56405
2011-01-30 10:31:16 +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 21f01ee0dc geez. wrong year!
SVN revision: 56377
2011-01-29 13:19:04 +00:00
Carsten Haitzler d3875cde4a chlog++
SVN revision: 56374
2011-01-29 09:42:53 +00:00
Carsten Haitzler 7d8b4f6f68 can break pre render fn earlier if not visible.
SVN revision: 56366
2011-01-29 05:25:25 +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 0cb7271e97 aaaah farg. forgot the changelogs. fix.
SVN revision: 56359
2011-01-29 03:54:33 +00:00
Carsten Haitzler 96caa0a63b svn goes to x.x.999.svnrev now. :)
SVN revision: 56355
2011-01-29 03:34:44 +00:00
Carsten Haitzler 4f5ec3a5bd 1.0 version magic. now leave these projects the hell alone in svn
until we have branches.



SVN revision: 56352
2011-01-29 03:05:22 +00:00
Michael Jennings dc3bd40b88 Portability fixes for autoconf. Please test and verify on
Debian/Ubuntu.

Don't build GIF support by default.



SVN revision: 56347
2011-01-29 01:29:21 +00:00
Carsten Haitzler 725e7cd0d7 protect against people providing out-of-bounds u&v coords in map.
SVN revision: 56313
2011-01-27 02:59:49 +00:00
Carsten Haitzler d51568d537 notes for later.
SVN revision: 56305
2011-01-26 09:56:54 +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
Tom Hacohen 80b71b0a05 Evas textblock: fixed in issue with the return value of evas_textblock_cursor_char_next which wasn't always correct.
SVN revision: 56295
2011-01-25 02:56:14 +00:00
Rui Seabra ad112f80bb Assorted fixes for building RPMS, probably a good thing that the release source archives can generate the rpms as expected.
SVN revision: 56257
2011-01-21 21:38:01 +00:00
ChunEon Park 4208f2445b Fix invalid ref
Patch by: ChunEon Park <chuneon.park@samsung.com>




SVN revision: 56250
2011-01-21 01:01:44 +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 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 6a5adabb1c prevent fpe (dv by 0)
SVN revision: 56191
2011-01-16 12:04:40 +00:00
Carsten Haitzler 3613caf8a5 warning--. ppl been removing headers eh?
SVN revision: 56183
2011-01-16 08:08:13 +00:00
Carsten Haitzler 0f33f9be05 and forgot that one too.
SVN revision: 56182
2011-01-16 08:06:05 +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 1a857abf6d useless statements--
SVN revision: 56179
2011-01-16 06:58:38 +00:00
Carsten Haitzler b8398f5035 remove useless statement
SVN revision: 56178
2011-01-16 06:51:03 +00:00
Carsten Haitzler 4da0e7dbb6 remove unused code.
SVN revision: 56177
2011-01-16 06:22:45 +00:00
Carsten Haitzler 6411ac9cb2 lines never used.
SVN revision: 56176
2011-01-16 06:20:26 +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
Tom Hacohen 65d7539dca Evas textblock: Fix dead code issues: if (unsigned < 0) and the like.
SVN revision: 56106
2011-01-14 08:47:32 +00:00
Mike Blumenkrantz 64fcf02198 close file on error
SVN revision: 56103
2011-01-14 06:50:32 +00:00
Mike Blumenkrantz b2e46be157 prevent macro null derefs
SVN revision: 56102
2011-01-14 06:46:04 +00:00
Mike Blumenkrantz fe45654e16 x = x
SVN revision: 56101
2011-01-14 06:36:36 +00:00
Mike Blumenkrantz 4f5e4e0765 sighhh add more calloc checks
SVN revision: 56100
2011-01-14 06:35:41 +00:00
Mike Blumenkrantz d46942090d unless I'm going insane, this should return here to avoid an immediate null deref with configs[i]
SVN revision: 56099
2011-01-14 06:35:03 +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 447d2c91dc avoid possible null deref
SVN revision: 56097
2011-01-14 06:27:10 +00:00
Mike Blumenkrantz 14ff070f5c comment out some variables which are not currently implemented/used
SVN revision: 56096
2011-01-14 06:21:24 +00:00
Mike Blumenkrantz 4dd3d0d441 another dead store
SVN revision: 56095
2011-01-14 06:16:50 +00:00
Mike Blumenkrantz fbb73e32a9 another dead store
SVN revision: 56094
2011-01-14 06:14:39 +00:00
Mike Blumenkrantz b050405d35 avoid setting value that will never be read
SVN revision: 56093
2011-01-14 06:13:09 +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 fdc17c8c84 oooh thank you valgrind! found some bad mem access stuff in the gl
engine on shutdown. was freeing the wring kind of thing in the first
place.. and even then it should be more robust, so fix gl texture
robustness and this bug. can cause on-exit crashes if not fixed.



SVN revision: 56068
2011-01-13 10:41:08 +00:00
Tom Hacohen 1e99ccd5f9 Evas textblock: Fixed a memory leak when removing format nodes.
SVN revision: 56058
2011-01-12 15:27:53 +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
Tom Hacohen 2fd2aaf151 Evas textblock: Fixed cursor pos set to work correctly in case the character being pointed at is the last character in the last paragraph. Also prevented a bug that may happen with an empty paragraph. Thanks to Mr. Myungjae Lee.
SVN revision: 56020
2011-01-10 07:23:31 +00:00
Carsten Haitzler 6502ea96ea hve to revert these commits. they hve created a whole chunk of 64bit
crashes on linux. this is REALLY bad. so remove these changes now.



SVN revision: 55981
2011-01-07 15:56:54 +00:00
Carsten Haitzler 87a0e6575d and avoid some work if there is nothing to flush at all.
SVN revision: 55978
2011-01-07 10:22:22 +00:00
Carsten Haitzler d7e8cfba62 egl actually doesnt need a full reset - we CAN get the current context
and draw/read surfaces.



SVN revision: 55977
2011-01-07 10:16:17 +00:00
Carsten Haitzler 13df30ab2b i read the other day that glgeterror... causes driverstalls.. at least
in some drivers/architectures... so this may slow things down. disable.



SVN revision: 55976
2011-01-07 10:04:41 +00:00
Vincent Torri 50056c33d3 commit++
SVN revision: 55972
2011-01-07 06:52:35 +00:00
Vincent Torri 72128a6ae3 typo
SVN revision: 55971
2011-01-07 06:51:55 +00:00
Vincent Torri fe85acc06d use configure-time headers checks instead of compiler ones
SVN revision: 55970
2011-01-07 06:48:33 +00:00
Vincent Torri f792b1eec5 missing doxygen tag
SVN revision: 55969
2011-01-07 06:37:59 +00:00