Commit Graph

571 Commits

Author SHA1 Message Date
Tom Hacohen 26ecd94b4c Evas font: Fixed a couple of warnings and formatting issues.
SVN revision: 51656
2010-08-26 11:45:45 +00:00
Lucas De Marchi d8002ff386 Revert and re-apply badnull patch
Revert previous patch generated by badnull.cocci script, and apply the new one.
The main difference is that assert and assert-like functions are not touched
anymore.




SVN revision: 51650
2010-08-26 01:34:13 +00:00
Brett Nash 5ba73113af Do kerning correctly for word cache.
Technically this should speed it up a little.  That's a nice change for a bug
fix ;-)

SVN revision: 51607
2010-08-24 08:14:20 +00:00
Brett Nash 4939e163c7 Fix potential crash with word cache and RTL
SVN revision: 51606
2010-08-24 08:14:15 +00:00
Brett Nash e003086a5f Locking same for both font rendering + whitespace.
SVN revision: 51605
2010-08-24 08:14:10 +00:00
Brett Nash aeac043fdd Remove pointless test (it's the loop invariant).
SVN revision: 51604
2010-08-24 08:14:05 +00:00
Carsten Haitzler 079d796fbe trying to clean up ccpcheck complaints - but this one is just stupid?
makes zero sense. as such so far cppcheck has only found maybe 10% of
its grumbling and bitching as real bugs. shutting it up in some cases
is possible. in others it's possible BUT with a possible performance
penalty. that's unacceptable. wondering what to do.



SVN revision: 51557
2010-08-22 23:00:47 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Lucas De Marchi 3c39c95844 Remove dead code
SVN revision: 51374
2010-08-18 23:32:15 +00:00
Christopher Michael 75d0dc6e63 Add some missing functions that were EAPI'd, but not included in the
main header (This fixes some compiler warnings about implicit
declarations).



SVN revision: 51285
2010-08-18 15:52:16 +00:00
Christopher Michael d8913429b0 Fix compiler warning: "declared static but never defined".
SVN revision: 51284
2010-08-18 15:43:38 +00:00
Cedric BAIL c689865500 * evas: remove some warning.
SVN revision: 51281
2010-08-18 15:11:07 +00:00
Tom Hacohen ed847ee5aa Evas font draw: Fixed a typo in font draw
SVN revision: 51254
2010-08-17 15:59:03 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Tom Hacohen 09d61da08b Evas bidi: Added saftey conversions to make sure FriBidiChar and Eina_Unicode are really the same size.
SVN revision: 51208
2010-08-16 12:51:30 +00:00
Cedric BAIL aa5d4fafc4 * evas: fix word/metric cache build.
SVN revision: 51204
2010-08-16 12:28:17 +00:00
Cedric BAIL 302e9e942e * evas: unbreak pipe rendering.
SVN revision: 51202
2010-08-16 12:12:13 +00:00
Tom Hacohen 2f68e9299e Evas: Fixed many compilation warnings.
1. Fixed evas_common_encoding_utf8 functions to get char * instead of unsigned char * and return Eina_Unicode instead of int.
2. Removed a couple of unused variables.
3. Removed deprecated evas_common_font_utf8* functions.

SVN revision: 51200
2010-08-16 10:46:56 +00:00
Tom Hacohen 25d7564726 Evas textblock: Fixed the bug with going up/down lines when the cursor points to an <item>.
With this fix I also fixed a couple of potential bugs with cursor geometry in places with mixed visible+invisible formatting.

SVN revision: 51133
2010-08-15 16:04:34 +00:00
Tom Hacohen 660a7b8ee4 Evas bidi: Added defines for bidi paragraph types (instead of using the fribidi defines).
SVN revision: 51131
2010-08-15 14:36:20 +00:00
Lucas De Marchi 1c651049c5 Apply memset-calloc.cocci
Change calls to malloc + memset to calloc whenever an automatic conversion can
be done.

Possible candidates are not treated here, only the ones we can be sure the
conversion is safe.



SVN revision: 51078
2010-08-13 12:53:08 +00:00
Tom Hacohen d408865797 Evas: textblock - fixed arabic shaping and fixed an issue with persistant paragraph direction (regarding RTL).
SVN revision: 50996
2010-08-11 13:03:24 +00:00
Tom Hacohen 5e227d8d32 Evas: Updated Evas_BiDi docs.
SVN revision: 50966
2010-08-10 15:12:05 +00:00
Tom Hacohen 7615995cc2 Evas: Fixed the compilation warning with sw8 engine. This is not just to beautify the compilation output (which is a good enough cause on it's own behalf), right shift with negative values is not defined in the standard which means everything can happen.
SVN revision: 50954
2010-08-10 07:36:23 +00:00
Tom Hacohen d5e579c2e9 Evas: Redesigned the textblock object.
Sorry, but full documented code will be committed tomorrow, this commit is needed for the API stabilization.
Major changes in this commit:
1. Changed the textblock node system there is now a linked list for the format nodes and a linked list for the text nodes. Format and text nodes point to one anoter in a matter that will be explained in the source file (will be committed tomorrow). Each text node now represents a paragraph and each format node points to a specific location in a text node.
2. Text/Format nodes are now two distinct data types.
3. The concept of nodes is no longer exposed in the API except for the format nodes which are only slightly exposed just to enable users of the API to cycle all the formats in order to find stuff like anchors.
4. Every node has a PS (paragraph separator) format node pointing to it's end, except for the last one which has nothing. Nodes are only broken by PS's.
5. Changed the BiDi functions to work nicely with offsets in big chunks of text.

More is explained in the email with the subject 'Evas Textblock redesign + edje_entry adjustments' that will be sent tomorrow because of technical issues.
For full documentation about this object wait for the next commit.

SVN revision: 50930
2010-08-09 16:24:17 +00:00
Lucas De Marchi 0a4617ae38 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Christopher Michael 3328859a0e Comment out dead assignment(s).
SVN revision: 50715
2010-07-31 07:13:21 +00:00
Christopher Michael ddf7f8d49f Cleanup some clang reports.
SVN revision: 50713
2010-07-31 06:12:39 +00:00
Christopher Michael 4b24545c3c Add missing break for case.
SVN revision: 50712
2010-07-31 05:48:51 +00:00
Christopher Michael cf0961ebf3 Add missing break for case statement.
SVN revision: 50711
2010-07-31 05:46:16 +00:00
Brett Nash 68b8380d51 Two fixes: Use the correct string for the stringshare and
if gl is on, but metric is compiled out, just bail out of all word/metric
cache


SVN revision: 50678
2010-07-30 04:53:30 +00:00
Brett Nash 618f5cdf34 Use strnlen... NFI if this works yet.
SVN revision: 50677
2010-07-30 03:51:48 +00:00
Brett Nash ec7e390bdf Fix word/metric cache to use strlen
SVN revision: 50675
2010-07-30 03:20:40 +00:00
Brett Nash 7403813b4b Fix the compile error: Doesn't fix massive performance regression or rather
obvious semantic change in the code.

ie: If you are changing code:
	Read the comment on the LINE ABOVE the code you are changing.


SVN revision: 50674
2010-07-30 03:04:43 +00:00
Brett Nash 2df94e37ff Minor fixes to font drawing with metric caching enabled.
SVN revision: 50632
2010-07-29 03:34:30 +00:00
Christopher Michael 28a5e44f7d Make evas build again (here at least).
Added missing unicode & bidi opts to necessary places.
Fixes lots of compiler warnings.

NB - Not all engines tested. If you spot a problem wrt any specific
engine, please report it.



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

SVN revision: 50595
2010-07-28 12:00:41 +00:00
Brett Nash c391638bec ...but don't draw twice
SVN revision: 50588
2010-07-28 07:34:04 +00:00
Brett Nash 3f3f0909cc Fall through to slow path if no word and metric cache
SVN revision: 50587
2010-07-28 07:33:48 +00:00
Brett Nash 507834e27d Don't try and render wordcache if GL is on, and metric cache is enabled.
SVN revision: 50586
2010-07-28 07:33:23 +00:00
Brett Nash 97528eaa60 Bloody fenceposts. Draw the right stuff when rendering. neon fixes ++ ;-)
SVN revision: 50503
2010-07-26 05:37:36 +00:00
Brett Nash 9357c5d284 Use memcmp instead of stringshare. Much faster.
Everyones favourite arm benchmarks (a8 cortex)
Base                       stringshare   memcmp     Diff   Diff %
Widgets File Icons               32.48    36.78      4.3   13.24%
Widgets File Icons 2             73.65    74.93     1.28    1.74%
Widgets File Icons 3             44.87    46.89     2.02    4.50%
Widgets File Icons 4             65.66    66.45     0.79    1.20%
Text Basic                       88.67    91.21     2.54    2.86%
Text Styles                      10.71    10.95     0.24    2.24%
Text Styles Different St           8.3     8.45     0.15    1.81%
Text Change                       56.4    57.34     0.94    1.67%
Textblock Basic                  60.75     68.8     8.05   13.25%
Textblock Intl                  155.33   193.51    38.18   24.58%


SVN revision: 50498
2010-07-26 03:17:40 +00:00
Brett Nash a834d2e85f Some improvements to 90 degree rotated neon.
SVN revision: 50476
2010-07-24 04:52:13 +00:00
Brett Nash 68682317e8 Bump the default buffer size. USeful for expedite ;-)
SVN revision: 50474
2010-07-24 02:38:36 +00:00
Brett Nash 8528bb0179 Tweaks to neon text: Help with some bugs at least.
SVN revision: 50410
2010-07-21 08:09:41 +00:00
Brett Nash 59d93f9353 Minor fix: Don't render text if there is nothing to do
SVN revision: 50408
2010-07-21 06:43:47 +00:00
Brett Nash 9dc5a96f2d Generally speaking, dereffing uninited pointners is not so good.
Squash one nasal daemon!


SVN revision: 50403
2010-07-21 03:51:36 +00:00
Cedric BAIL 58dfd1c2b8 * evas: make WORD/METRIC cache work with pipe rendering.
SVN revision: 50381
2010-07-20 12:11:49 +00:00
Cedric BAIL 3479d5e0ea * evas: fix fribidi lock.
SVN revision: 50380
2010-07-20 12:10:40 +00:00
Cedric BAIL 0a5c65549a * evas: font config access is not thread safe at all. Don't forget
to call FTLOCK/FTUNLOCK around each FT_* call.


SVN revision: 50379
2010-07-20 12:09:46 +00:00