Commit Graph

3050 Commits

Author SHA1 Message Date
Carsten Haitzler 66795125ae comments.
SVN revision: 51073
2010-08-13 11:13:45 +00:00
Carsten Haitzler 12beaa9f19 and make it work... yes. first time sec egl image works.
SVN revision: 51072
2010-08-13 11:08:57 +00:00
Carsten Haitzler 26911649be oopsie. fix.
SVN revision: 51071
2010-08-13 10:39:41 +00:00
Carsten Haitzler 2d3ea36109 more work on egl image direct access.
SVN revision: 51070
2010-08-13 10:34:51 +00:00
Tom Hacohen 2ecda40ecd Evas textblock: Fixed cursor sizes in rare situations, for example the text from expedite textblock_basic test and point the 'c' in COLOR you would get a badly shaped cursor.
SVN revision: 51050
2010-08-12 15:49:43 +00:00
Tom Hacohen 86adc683d0 Evas: Textblock fixed formating.
SVN revision: 51045
2010-08-12 15:04:47 +00:00
Tom Hacohen 5cc418c333 Evas: Textblock - Fixed a couple of segs/invalid memory access.
SVN revision: 51044
2010-08-12 14:59:42 +00:00
Tom Hacohen d8fadf706b Evas: Each paragraph has at least one layout item in order to mark it's existence.
SVN revision: 51039
2010-08-12 14:20:19 +00:00
Tom Hacohen 3ec81c0b3e Evas: textblock - made _format_fill faster.
SVN revision: 51032
2010-08-12 09:35:53 +00:00
Tom Hacohen eda4539c2c Evas: textblock - Made _format_param_parse sane and cleaner and fixed compilation warnings about unused functions.
SVN revision: 51031
2010-08-12 09:31:43 +00:00
Tom Hacohen fd04d4c5d3 Evas: fixed textblock compiler warnings.
SVN revision: 51029
2010-08-12 07:02:30 +00:00
Carsten Haitzler 01b7216880 more glue/infra. glue evas api to engine together. gl engine gets stubs.
SVN revision: 51028
2010-08-12 06:11:13 +00:00
Carsten Haitzler 83f2ef6142 working on new gl engine feature. inactive right now.
SVN revision: 51027
2010-08-12 06:02:15 +00:00
Carsten Haitzler 2eb9af4c97 i->0
SVN revision: 51026
2010-08-11 23:12:03 +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 af31abca35 Evas: Improved evas_textblock_cursor_range_text_get to return markup text instead of plain text.
SVN revision: 50992
2010-08-11 12:29:20 +00:00
Tom Hacohen 41ebc486dc Evas: Textblock - Sanitized format init and shutdown.
SVN revision: 50991
2010-08-11 11:20:10 +00:00
Tom Hacohen af1dc88234 Evas: Cursor updates is now done in one function and it's updated correctly everywhere.
SVN revision: 50990
2010-08-11 10:27:44 +00:00
Tom Hacohen 62b8c6e43d Evas: fix range text get in textblock.
SVN revision: 50988
2010-08-11 08:33:22 +00:00
Tom Hacohen c3759fb4a2 Evas: Added align=auto format to textblock.
This is the default. This lets you make textblock (or parts affected by this tag) auto align according to the natural paragraph direction.

SVN revision: 50985
2010-08-11 07:46:37 +00:00
Tom Hacohen 3c7627035e Evas: Added auto lines alignment to textblock. RTL lines will automatically align to the right and LTR lines to the left.
This is not done per line, but per paragraph so a line break will not force recalculation of auto-alignment, only a PS.

SVN revision: 50984
2010-08-11 07:23:48 +00:00
Lucas De Marchi 9415f7c5c9 Choose a style for comment
Be nice with simpler regex



SVN revision: 50972
2010-08-10 19:12:07 +00:00
Tom Hacohen 5e227d8d32 Evas: Updated Evas_BiDi docs.
SVN revision: 50966
2010-08-10 15:12:05 +00:00
Tom Hacohen 2b762c0f3b Evas: Update documentation of evas_object_textblock.
SVN revision: 50965
2010-08-10 14:36:48 +00:00
Tom Hacohen 10a14f3994 Evas: Fixed a bug when erasing the last paragraph of a textblock.
SVN revision: 50958
2010-08-10 08:34:47 +00:00
Tom Hacohen 14932a769e evas: Fixed compilation warnings in xrender_x11 engine.
SVN revision: 50957
2010-08-10 08:17:06 +00:00
Tom Hacohen f7e902d3e7 evas: Fixed compilation warnings in software_16 engine.
SVN revision: 50955
2010-08-10 07:40:09 +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
Carsten Haitzler ccfd7f27fc 1. slightly optimise a get opaque call. (some tests get a 5-10% speedup)
2. gl - be stricter on gl-es texture formats.



SVN revision: 50950
2010-08-10 02:35:07 +00:00
Tom Hacohen 632279c2f5 Evas: Fixed compilation without BiDi support.
SVN revision: 50934
2010-08-09 16:47:35 +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
Carsten Haitzler ca29063b28 magic numbers. :)
SVN revision: 50924
2010-08-09 08:38:28 +00:00
Carsten Haitzler a584de2a2c useless repeats... remove.
SVN revision: 50923
2010-08-09 07:13:58 +00:00
Carsten Haitzler 1b57456706 fix yuv with gl pipe stuff.
SVN revision: 50920
2010-08-09 04:59:14 +00:00
Carsten Haitzler 65b6845759 allow for debug checking of # of flushes per frame. checking to see if
this all works



SVN revision: 50919
2010-08-09 04:54:05 +00:00
Carsten Haitzler 6320a8db84 make new pipes have an env var for tuning, remove old comment code,
fix up yuv and maps to use pipes too. yes lines just flush it all - so
be it. :) who uses lines anyway?



SVN revision: 50918
2010-08-09 04:42:15 +00:00
Carsten Haitzler 66cace4f44 some major re-jig to get multiple render pipes in gl at once... some
chunky speedups to be had in real-life cases by avoiding more array
flushes.



SVN revision: 50917
2010-08-09 03:27:59 +00:00
Carsten Haitzler 18f7411d9e well well. i broke that. gles enignew builds again.
SVN revision: 50852
2010-08-06 04:37:06 +00:00
Lucas De Marchi a470ed668c Fix wrong usages of malloc, calloc and E_NEW
Patch by bad-alloc.cocci


SVN revision: 50828
2010-08-05 00:50:43 +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
Carsten Haitzler 9275e5beb2 re-jig native surface stuff to share the same gl image between
multiple instances of the same pixmap.



SVN revision: 50758
2010-08-03 06:09:53 +00:00
Carsten Haitzler 3b6c09d89b allow max cutout rects to be tunable. and change3 default for gl?
SVN revision: 50736
2010-08-02 06:46:38 +00:00
Carsten Haitzler 50649552e3 dont sync if vsync not set...? (good?)
SVN revision: 50735
2010-08-02 06:44:23 +00:00
Christopher Michael 38aac01b6a Buffer engine is desired/needed else livethumb previews do not work.
SVN revision: 50718
2010-07-31 18:50:51 +00:00
Christopher Michael d061f6229c Remove some unused variables/dead assignments.
Fix some formatting while I am here.



SVN revision: 50717
2010-07-31 17:06:55 +00:00
Christopher Michael b115cdf6b5 Remove unused variable(s).
SVN revision: 50716
2010-07-31 16:57:09 +00:00
Christopher Michael 3328859a0e Comment out dead assignment(s).
SVN revision: 50715
2010-07-31 07:13:21 +00:00
Christopher Michael f1c4520420 Fix evas_module clean 'bug'. NB: Not really an issue as this code
isn't used currently, but may be in the future, so fix the minor
bugger now, just in case :)



SVN revision: 50714
2010-07-31 06:15:00 +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
Christopher Michael 428d5c05ab 'cache' is unused here.
SVN revision: 50710
2010-07-31 05:44:15 +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
Carsten Haitzler 04df26bef5 aaah yes. get the ref -1 as free will dec it.
SVN revision: 50662
2010-07-29 23:32:56 +00:00
Cedric BAIL d184ce5c72 * evas: remove generated file.
SVN revision: 50643
2010-07-29 13:47:12 +00:00
Carsten Haitzler c68d77a283 need to add null items for item format things (inserted external item
objects)



SVN revision: 50636
2010-07-29 07:42:30 +00:00
Carsten Haitzler f20b010d41 now work?
SVN revision: 50635
2010-07-29 06:21:51 +00:00
Brett Nash 8573ddf384 Documentation for neon, word and metric caching in README.in
SVN revision: 50633
2010-07-29 03:52:31 +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
Carsten Haitzler 1a0f8b1c51 try this one
SVN revision: 50589
2010-07-28 08:11:30 +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
Carsten Haitzler 1154cf402c add new win before deleting old.
SVN revision: 50584
2010-07-28 06:00:02 +00:00
Carsten Haitzler c4da05607d and add in the 8bpp gray stuff
SVN revision: 50571
2010-07-28 02:27:29 +00:00
Alexander Kerner 0ec2a33a22 From: Alexander Kerner <alexander.kerner@googlemail.com>
Subject: [E-devel] 8bpp xcb evas engine

Hi all,

I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.



SVN revision: 50560
2010-07-28 00:16:06 +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
Cedric BAIL 8006ed3753 * evas: METRIC and WORD cache require stringshare use in thread, so
enable it.


SVN revision: 50378
2010-07-20 12:07:51 +00:00
Cedric BAIL 8bd358c65e * evas: unbreak pipe rendering, that was a long break.
SVN revision: 50374
2010-07-20 09:32:28 +00:00
Christopher Michael 39adb32e71 Use eina_stringshare_replace rather than several _del & _add calls
(tested w/ no apparent adverse affects).

Fix some formatting.



SVN revision: 50307
2010-07-17 19:49:16 +00:00
Gustavo Sverzut Barbieri 7521047f09 Fix invalid access if using async-render
Ouch, that was nasty! src/lib/cache/evas_cache_image.c was assuming
all Image_Entry were RGBA_Image (why?!?!?), thus doing the cast and
having mutexes and other to operate on garbage (possibly crashing due
segv). This happened to be the case with Soft16_Image used by
software_16 engines.

I'm not sure, but this may fix problems that people noticed with
async-render hanging their systems even if not explicitly enabled
during runtime.

I also found it quite strange the number of locks required by this
code! Clearly we could use macros to simplify and avoid bugs, but
maybe some atomic_inc/dec code should be used to remove half of the
mutexes in that code?

/me wonders what kinds of bug more we can expect from this code :-/



SVN revision: 50300
2010-07-16 22:52:04 +00:00
Gustavo Sverzut Barbieri a7e471700b Fix soft16 preload by replicating Image_Entry::info.
Software 16bpp variants were crashing if using preload as the
Image_Entry that was used by preload did not keep the loader and
module information, since these were only set in the
Soft16_Image::source.  Now we copy these members while the source is
live.



SVN revision: 50299
2010-07-16 22:47:31 +00:00
Eduardo de Barros Lima 9b3cf97523 Ability to disable NEON code in runtime
Just set the EVAS_CPU_NO_NEON environment var if you want to disable Neon.
The same is done for other specific CPU codes, such as MMX, MMX2, SSE, etc.



SVN revision: 50271
2010-07-15 17:58:38 +00:00
Lucas De Marchi 2a84379ba9 Remove unneeded code with notnull.cocci script
The notnull.cocci script from Coccinelle finds places where you check if a
variable is NULL, but it's known not to be NULL. The check can be safely
removed. For example, this code would be caught by notnull:

if (!var) return;
if (var && var->fld) { ... }

It's needless to check again if var is not NULL because if it's in fact NULL,
it would have returned on the previous "if". This commit removes all the
trivial places where this pattern happens. Another patch will be generated for
the more complex cases.


SVN revision: 50241
2010-07-14 02:05:47 +00:00
Carsten Haitzler e80f08b4b4 bitrot-- > work again (minus map features etc. tho)
SVN revision: 50192
2010-07-12 02:47:02 +00:00
Carsten Haitzler c8765d7594 a more correct version of the dso fix.
SVN revision: 50184
2010-07-11 23:56:40 +00:00
Jonathan Atton d97c0b0a9a the min size of the box is the sum of the items min size
SVN revision: 50156
2010-07-09 11:17:35 +00:00
Christopher Michael fefbc09a63 Move Evas (and associated headers) to their own dir (ie: the 'eet.h'
move).



SVN revision: 50141
2010-07-09 06:10:55 +00:00
Lucas De Marchi 9df58ae530 Remove NULL pointer dereference
Bug found by the "andand" semantic patch:

// The right argument of || or && is dereferencing something known to be NULL
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, INRIA, DIKU.  GPLv2.
// URL: http://coccinelle.lip6.fr/rules/andand.html
// Options:

@ expression@
expression E;
identifier fld;
@@

- !E &&
+ !E ||
  <+...E->fld...+>

@ expression@
expression E;
identifier fld;
@@

- E ||
+ E &&
  <+...E->fld...+>




SVN revision: 50118
2010-07-08 03:21:33 +00:00
Brett Nash 8dfc47998e Add more control over word-cache size. Also really fix my leak on international text.
The new wordcache option is an environment variable called:
	EVAS_WORD_CACHE_MAX_WORDS
set this to a number between 1-500 to change the cache size.

Larger values (40+) fix regressions in a few of the expedite tests.



SVN revision: 50047
2010-07-05 06:40:20 +00:00
Brett Nash daa5685bd3 Don't check alloca, it's like checking the stack exists.
SVN revision: 49991
2010-07-02 08:31:12 +00:00
Brett Nash 0227f22ad7 Some fixes for internation support and word cache
SVN revision: 49990
2010-07-02 07:05:20 +00:00
Brett Nash 59bbcfbb8a Put a FIXME where someone doesn't understand alloca.
SVN revision: 49989
2010-07-02 06:53:41 +00:00
Brett Nash b304ae1642 Only use work and metric cacheing on 3 character or longer strings.
SVN revision: 49988
2010-07-02 06:47:22 +00:00
Brett Nash ac552cd762 Renable 'free' for word cache
SVN revision: 49986
2010-07-02 02:20:11 +00:00
Brett Nash 4b7cab6ed4 Not pure, don't need to care about results.
Code with side effects is NOT pure.  Cdoe where you can ignore the return
value because you care about the side effects should not have WARN_UNUSED...
Please only add such things when you've checked


SVN revision: 49984
2010-07-02 00:44:03 +00:00