Commit Graph

162 Commits

Author SHA1 Message Date
Rafael Antognolli d94025ca29 evas/cserve2: Split out the glyph rendering code from
glyph_get().
Now it's possible to get a font glyph without needing to render it
(although Evas is not doing so).



SVN revision: 71131
2012-05-15 21:15:08 +00:00
Cedric BAIL 4494035fa7 evas: detect properly when we wippe out font information.
SVN revision: 70923
2012-05-11 01:50:40 +00:00
Cedric BAIL f046fa4c46 evas: remove unused parameter.
SVN revision: 70550
2012-04-30 09:42:42 +00:00
Cedric BAIL 377cc2368a evas: remove EVAS_FRAME_QUEUING.
NOTE: This should be part of evas_render itself and not
delegated to the engine. So cleaning things to make it easier
during evas_render rewrite.


SVN revision: 70503
2012-04-26 09:53:03 +00:00
Cedric BAIL 9dbaea6dd1 evas: remove WORD_CACHE and METRIC_CACHE.
Note: this two were broken. Current plan to bring
that feature back in, is to attach this information
to Evas_Text_Prop during the prepare stage. This
would improve both single and multiple core rendering
without increasing the number of lock and the complexity
of the code.


SVN revision: 70501
2012-04-26 09:04:08 +00:00
Cedric BAIL 5965fb4282 evas: remove EVAS_SLI code path, it was to slow and unused for years.
NOTE: other things that may join it in the near futur EVAS_FRAME_QUEUE,
EVAS_METRIC_CACHE and maybe EVAS_WORD_CACHE also. This is all part of
cleaning up our rendering path so we can actually improve it more easily.


SVN revision: 70499
2012-04-26 08:41:39 +00:00
Cedric BAIL 0a5c840c48 evas: lock less font rendering.
SVN revision: 70497
2012-04-26 08:18:51 +00:00
Sanghee Park 550b8417c7 From: Sanghee Park <sh15.park@samsung.com>
Subject: Drawing objects by pixman

        * Extend pixman support to allow other operations to use
          pixman when doing software rendering. On x86 this isn't useful
          but on ARMv7 with NEON pixman happens to do better with image
          blending and nearest scale blending.
        * Add tiled rotator for 32bit display as an option.



SVN revision: 66478
2011-12-23 11:50:29 +00:00
Tom Hacohen 4b5e727023 Evas textblock: Fix clang error.
Shouldn't ever happen, but whatever.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-kOFp88.html#EndPath

SVN revision: 64977
2011-11-09 07:51:11 +00:00
Tom Hacohen 3fea444dce Evas font: Fixed a clang error and gcc compiler warnings.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-SsIayB.html#EndPath

SVN revision: 64975
2011-11-09 07:30:34 +00:00
Tom Hacohen 7a281f0745 Evas font: Disabled word/metric caching due to bugs.
SVN revision: 62547
2011-08-18 07:21:44 +00:00
Tom Hacohen 5f16c0ba14 Evas font: Fixed a compiler warning.
SVN revision: 62537
2011-08-17 15:42:07 +00:00
Tom Hacohen 6858025fce Evas font: Workaround an issue with metric cache.
SVN revision: 62536
2011-08-17 15:42:01 +00:00
Christopher Michael ffc97c3754 Evas: Fix more shadow declarations of 'index' variable.
SVN revision: 59714
2011-05-27 01:44:10 +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 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 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 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 5570891eb3 Evas font-engine: Fixed rendering of empty text.
SVN revision: 59006
2011-04-28 15:02:11 +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
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 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
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 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 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
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 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 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 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 6b2d04c4e0 Evas font: Added a comment to a confusing magic number.
SVN revision: 57913
2011-03-20 08:51:41 +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
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 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 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 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 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 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 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