Commit Graph

169 Commits

Author SHA1 Message Date
Tom Hacohen 2da15ced65 Evas font: Disable run-time emboldment in some cases.
If OS/2 table is available and the font is demi-bold, don't do runtime
emboldment.
2013-04-04 16:05:42 +01:00
Yakov Goldberg d55c3f2bb7 evas/font: fix handling querying char at coords (click on gap)
If query at x coord, which points to rigth half of LTR char,
      next position will be returned. The same for left half of RTL char.

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-04 13:10:22 +03:00
Tom Hacohen 26a5cdc63b Evas language: Fixed compiler warning about unsigned comparison.
comparison of unsigned expression >= 0 is always true.

Thanks to vtorri for the report.
2013-03-12 11:17:17 +00:00
Carsten Haitzler b121520955 small improvement to pixman support - no need to create color image in
context unless font or rect or line or poly used.
2013-03-12 15:30:03 +09:00
Tom Hacohen 23264ae09c Evas textblock: Fixed coord (int) overflow.
X advance coords can be bigger than the limits of short.
2013-03-11 15:33:28 +00:00
Igor Murzov 7a794f8477 evas: Add WebP image saver 2013-03-09 14:11:35 +04:00
Tom Hacohen 5a55e5e56c Evas textblock: Added proper size adjustments for "high" shaped texts.
This adjusts the starting coords of the textblock to fit the shaped char of
the first line.
2013-02-28 16:26:09 +00:00
ChunEon Park 4e0b7d7bca evas/common - scale sample code optimization 2013-02-27 22:36:36 +09:00
ChunEon Park 8e3671eab7 evas/common - declare a var in function head. 2013-02-27 14:43:34 +09:00
ChunEon Park 53fa4cd2d8 evas/common - scale sample code refactoring. simpler and more effcient. 2013-02-23 21:45:10 +09:00
chuneon.park 1a0ee8cb87 evas/common - return function as soon as possible. 2013-02-22 22:42:48 +09:00
chuneon.park e79cb473a8 evas/common - fix indentation 2013-02-22 22:40:34 +09:00
Tom Hacohen 4fc694978b Evas font: Fixed font run detection for some cases.
There were issues for specific cases with 2 different fonts in the middle
of a run.
2013-02-21 15:00:57 +00:00
Tom Hacohen d6dababe78 Evas text: Fixed bug with the text object direction detection. 2013-02-21 13:39:37 +00:00
Ulisses Furquim 34cc6a1b15 evas/async_render: fix refcount handling of scaled image entries
SVN revision: 82961
2013-01-17 22:14:05 +00:00
Cedric BAIL 58291fb022 efl: let's use text_prop cache properly.
Now evas_object_textgrid_render account for 1% of the benchmark.


SVN revision: 82928
2013-01-17 10:28:18 +00:00
Cedric BAIL 6e9c28c147 efl: this function are used in evas canvas object.
SVN revision: 82917
2013-01-17 04:06:22 +00:00
Ulisses Furquim d8b2bce148 evas/async_render: fix scalecache integration
Note: scalecache is really crazy stuff, we should rewrite it or get rid of it.



SVN revision: 82912
2013-01-16 22:32:39 +00:00
Ulisses Furquim 09f342fdeb evas/async_render: use image scalecache
SVN revision: 82890
2013-01-16 16:07:46 +00:00
Carsten Haitzler b86a5cd30f fix pixman wrappers where image size and alloc size differ.
SVN revision: 82856
2013-01-16 06:32:34 +00:00
Cedric BAIL ffafb3602e efl: let's do less memcpy.
SVN revision: 82855
2013-01-16 06:31:32 +00:00
Paulo Alcantara b557bd9e0d efl/engines: Introduce multi_font_draw() function
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.

This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82832
2013-01-15 17:35:11 +00:00
Tom Hacohen c8e1fe4c9f Evas font: Add missing header.
SVN revision: 82826
2013-01-15 17:15:06 +00:00
Tom Hacohen c7dc78c98b Evas text props: Fixed bug with no-harfbuzz bidi.
SVN revision: 82814
2013-01-15 14:49:31 +00:00
Carsten Haitzler b2034671b7 as pointed out by avind - missing bidi dir changes.
SVN revision: 82710
2013-01-13 02:58:00 +00:00
Carsten Haitzler 440bb7c23c cut down textprop size a bit... 72 -> 64bytes. if we can wrap
tp->start/len/text_offset/text_len read/wrtie in access funcs. so we
can special case where:

1. start == text_offset == 0 && len == text_len == 1
2. start == text_offset == 0 && len == text_len < 65536
3. start == text_offset == 0 && len == text_len < 256
 


SVN revision: 82692
2013-01-12 08:40:46 +00:00
Ulisses Furquim 48c15aaa74 evas/async_render: only get a ref if a thread cmd was issued
This patch should make us get a reference on images, maps and glyphs
which are sent in a command to the render thread. Before we were doing
some useless ref and unref operations.



SVN revision: 82666
2013-01-11 19:57:09 +00:00
Ulisses Furquim f0f9f7b7a6 evas/text: remove misleading comments on glyphs array refs
SVN revision: 82665
2013-01-11 19:56:49 +00:00
Ulisses Furquim b9f05341c3 evas/async_render: skip early if text_props with no glyphs
This is intended to preserve old behavior now that we have
evas_common_font_draw_cb() to handle both sync and async callbacks.
However, we need to check where why we end up with no glyphs in a
text_props even after calling evas_common_font_draw_prepare().



SVN revision: 82664
2013-01-11 19:56:32 +00:00
Leandro Pereira a868276f11 evas: Try to reuse glyph array if possible
This sould bring back a little bit of text rendering performance, while at
the same time decreasing memory usage and fragmentation.

Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82660
2013-01-11 19:49:15 +00:00
Leandro Pereira 468b44c444 evas: Do not use an Eina_Lock for glyph array
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82659
2013-01-11 19:48:28 +00:00
Paulo Alcantara 5eaba08284 efl/font: Avoid passing NULL glyphs arrays on unref
evas_common_font_glyphs_unref() *should* be called with valid glyphs
arrays.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82658
2013-01-11 19:48:00 +00:00
Cedric BAIL 451abe47f5 efl: only compute font clip when relevant.
SVN revision: 82611
2013-01-11 05:21:54 +00:00
Cedric BAIL 4c64334b9d evas: remove duplicated piece of code.
SVN revision: 82601
2013-01-11 01:52:46 +00:00
Paulo Alcantara cf46337e17 efl/font: Dispatch font load request once sent to server
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 82482
2013-01-09 21:37:34 +00:00
Ulisses Furquim d53f43abaf evas/common/thread_render: fix queue cache handling
Fixed queue cache handling to let enqueue and process happen at the same
time, even though this is not our use case yet. This also solves a race
with the assignment of cache variables outside the queue lock and
remembers to free the cache when shutting down.



SVN revision: 82296
2013-01-06 02:01:53 +00:00
Carsten Haitzler 7f1fb9b10d thanks joel.
SVN revision: 82254
2013-01-05 02:20:13 +00:00
Cedric BAIL 209347f148 efl: rename eina_inarray_add to eina_inarray_grow.
SVN revision: 81918
2012-12-31 01:27:58 +00:00
Cedric BAIL f8ea554926 efl: limit regression with async rendering.
NOTE: There is still an issue with text rendering, that
is still 4 times slower and impact all text object (text,
textblock and textgrid).


SVN revision: 81912
2012-12-30 23:39:11 +00:00
Carsten Haitzler ff3a370b9b font draw - dont alloc font props for 32 chrs.. if we are only ever
going to have less than 32.. eg textgrid. 1 per prop.



SVN revision: 81654
2012-12-23 11:02:50 +00:00
Carsten Haitzler 9e5266109d fix 24bpp rendering problem and pixel fetch problem found in qemu/kvm.
SVN revision: 81378
2012-12-19 15:40:52 +00:00
Stefan Schmidt 8d956c8e99 efl/evas_bidi: Fix memleak.
Make sure we also free udelmin when we retrun from from the for loop early.

SVN revision: 81334
2012-12-19 09:28:02 +00:00
Carsten Haitzler 076204d166 oops-- -> call c func not mmx funf .. in the c only render path!
SVN revision: 81315
2012-12-19 00:55:32 +00:00
Leandro Pereira 9b2b121e6f evas: Add thread threaded render queue
SVN revision: 81280
2012-12-18 16:21:03 +00:00
Leandro Pereira aa03e70141 evas/common: Prepare soil to land map code for threaded render
SVN revision: 81189
2012-12-17 21:30:07 +00:00
Leandro Pereira b4ceb3f2ba evas/common: Prepare soil to land scaling code for threaded render
SVN revision: 81188
2012-12-17 21:29:33 +00:00
Leandro Pereira 6ea2723322 evas/common: Prepare soil to land polygon drawing code for threaded render
SVN revision: 81187
2012-12-17 21:29:01 +00:00
Leandro Pereira b51ab5fc02 evas/common: Prepare soil to land rect drawing code for threaded render
SVN revision: 81186
2012-12-17 21:28:32 +00:00
Leandro Pereira 52104d26c8 evas/common: Prepare soil to land line drawing code for threaded render
SVN revision: 81185
2012-12-17 21:28:08 +00:00
Leandro Pereira bfe46f54ff evas: Do not unload pixels from RGBA_Image if cache refcount > 0
SVN revision: 81184
2012-12-17 21:27:40 +00:00
Leandro Pereira 274c9159c9 evas: Use refcounted glyph arrays
This is in preparation for threaded render landing: the render thread will
hold a reference to a text object's glyphs while it hasn't been rendered
yet (and will drop that reference after drawing). This changes the internal
API a little bit (evas_common_font_rgba_draw() now takes an Evas_Glyph_Array
instead of an Evas_Text_Props).


SVN revision: 81183
2012-12-17 21:27:07 +00:00
Leandro Pereira f96a5aac5c evas: Get rid of RGBA_Image ref member
(It's not by anything in the code.)



SVN revision: 81182
2012-12-17 21:26:15 +00:00
Stefan Schmidt 2dc790bf47 evas/bidi: Make sure we access the correct memory here.
Without that it would crash as we just freed it and assigned the realloc
code to tmp_ret.

SVN revision: 80863
2012-12-13 14:17:33 +00:00
Cedric BAIL 2ade3fa902 evas: fix case when we were in the middle of a charactere.
SVN revision: 80811
2012-12-13 10:36:00 +00:00
Gustavo Sverzut Barbieri a332d1c869 efl/evas: remove mask of non-rectangle objects.
it was broken and mostly disabled, so now we do remove it in the hope
who does that next time, does it properly.



SVN revision: 80252
2012-12-05 13:52:59 +00:00
Gustavo Sverzut Barbieri 545057d0b1 efl/evas/filters: say goodbye.
This task wasn't completed and it was all disabled in code, then
remove it so it doesn't add cruft to be looked at.



SVN revision: 80240
2012-12-05 13:03:51 +00:00
Cedric BAIL 014b5a1a29 evas: let fix all unref in the same way.
SVN revision: 80120
2012-12-04 01:54:22 +00:00
Paulo Alcantara cae8fd7ed4 evas/map: Refactor common code for map drawing
This patch refactors common code for map draws - so that it can be used
by other engines and *threaded* X11.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79855
2012-11-29 20:55:16 +00:00
Paulo Alcantara cf1360416e evas/line: Refactor common code for line drawing
This patch refactors common code for line draws - so that it can be used
by other engines and *threaded* X11.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79854
2012-11-29 20:48:24 +00:00
Paulo Alcantara a9bdfcca37 evas/font: Refactor common code for font drawing
This patch refactors common code for font draws - so that it can be used
by other engines and *threaded* X11.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79853
2012-11-29 20:47:12 +00:00
Cedric BAIL cbb6b39466 evas: only destroy font instance when we don't reference font anymore.
SVN revision: 79806
2012-11-29 05:36:56 +00:00
Cedric BAIL 06b9a559b4 efl: silent warning in evas_pipe.
SVN revision: 79805
2012-11-29 05:35:53 +00:00
Paulo Alcantara 6ae7344683 evas/image: Refactor common code for image drawing
This patch refactors common code for image draws - so that it can be used
by other engines and *threaded* X11.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79795
2012-11-28 22:49:19 +00:00
Paulo Alcantara 7dd926fbae evas/rectangle: Refactor common code for rectangle drawing
This patch refactors common code for rectangle draws - so that it can be
used by other engines and *threaded* X11.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79785
2012-11-28 19:17:00 +00:00
Paulo Alcantara f8f79f8599 evas/cserve2: Add scalecache support
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79754
2012-11-27 18:23:25 +00:00
Carsten Haitzler a89d61079c fix evil textprop leak in textblock! :)
SVN revision: 79503
2012-11-21 09:12:42 +00:00
Carsten Haitzler 630d662a3b have ss3 etc. tests not be run (and thus fail) if env vars disable them.
SVN revision: 79231
2012-11-13 14:06:28 +00:00
Carsten Haitzler 0462ae7dda this is a new segv... get it with e17's language selector in wizard! :(
SVN revision: 79027
2012-11-09 15:02:39 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
I've tested make -j 3 install and it works nicely

I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.

TODO: examples and tests, I'll add them later

ISSUE: Eina_Unicode size check. It indirectly depends on
       eina_config.h, which is created at the end of the
       configure script. So its size is always 0. I don't
       know how that size is used, so I can't do a lot,
       for now.


SVN revision: 78895
2012-11-04 11:51:42 +00:00