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
4a0acab860
Evas box: fix warning with a cast.
...
Unfortunately, although the pre-cast code is correct, we need the cast
because of the way gcc handles the types (magic) when passing va_args on
64 bit. This doesn't change anything logically.
SVN revision: 82827
2013-01-15 17:15:10 +00:00
Tom Hacohen
c8e1fe4c9f
Evas font: Add missing header.
...
SVN revision: 82826
2013-01-15 17:15:06 +00:00
Tom Hacohen
ac0ff4c997
Evas textblock: Added EAPI to the ifdefed debugging funcs.
...
SVN revision: 82815
2013-01-15 14:49:38 +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
Tom Hacohen
c089f174ca
Evas obj text: Fix an issue with horiz_advance_get func.
...
SVN revision: 82800
2013-01-15 11:50:22 +00:00
Tom Hacohen
d925820fa9
Evas textblock: simplified and fixed bugs in _cursor_geometry_get
...
SVN revision: 82798
2013-01-15 10:57:34 +00:00
ChunEon Park
e078614a33
evas/map - avoid zero divide.
...
SVN revision: 82792
2013-01-15 05:11:11 +00:00
Ulisses Furquim
0f435b7eae
evas/async_render: fixing mix of sync and async rendering
...
SVN revision: 82776
2013-01-14 20:02:43 +00:00
Ulisses Furquim
90bba3a87e
evas/async_events: fix async events counting
...
Before we returned the number of async events handled.
Even if nobody uses that let's fix it.
SVN revision: 82775
2013-01-14 20:02:31 +00:00
Stefan Schmidt
b4b7c9239d
Evas textblock: Fixed issue with line height when breakingon format.
...
All kudos to Tom for this one.
SVN revision: 82763
2013-01-14 14:18:10 +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
Ulisses Furquim
d45a54a0aa
evas/async_render: do not use async event to unref image maps
...
SVN revision: 82663
2013-01-11 19:56:17 +00:00
Leandro Pereira
d5f91fd5c2
evas/async_render: do not use async event to unref glyphs
...
Patch by: Leandro Pereira <leandro@profusion.mobi>
SVN revision: 82662
2013-01-11 19:55:40 +00:00
Leandro Pereira
ed79c2182e
evas/async_render: do not use async event to unref images
...
Patch by: Leandro Pereira <leandro@profusion.mobi>
SVN revision: 82661
2013-01-11 19:54:12 +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
Gustavo Sverzut Barbieri
1e1751de47
evas: be loud if async render is mixed with sync.
...
SVN revision: 82655
2013-01-11 18:20:11 +00:00
Tom Hacohen
e84686d76d
Evas: Fixed a bug with breaking after format items.
...
SVN revision: 82653
2013-01-11 18:16:24 +00:00
Henrique Dante de Almeida
9c12a58536
efl: Fix object size constraints calculation in stack layout
...
Patch by: Henrique Dante de Almeida <hdante@profusion.mobi>
SVN revision: 82647
2013-01-11 16:54:48 +00:00
Cedric BAIL
fee7977839
efl: let's preperly clean pointer when we delete stuff.
...
SVN revision: 82621
2013-01-11 08:31:09 +00:00
Cedric BAIL
4395e416f1
efl: force update of Evas_Object_Text clip cache when geometry change.
...
SVN revision: 82612
2013-01-11 05:27:17 +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
Gustavo Sverzut Barbieri
f6c10c4cf1
efl/evas: improve docs linking
...
SVN revision: 82493
2013-01-09 23:17:21 +00:00
Paulo Alcantara
d7ae50462c
efl/cserve2: Increase refcount of scaled image entries properly
...
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82484
2013-01-09 21:40:25 +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
Paulo Alcantara
c6f907a9f4
efl/cache: Set loaded flag properly with loaded pixels
...
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 82481
2013-01-09 21:36:03 +00:00
Ulisses Furquim
6e91caf73f
evas/async_events: more clear code in _async_events_put()
...
SVN revision: 82457
2013-01-09 12:22:52 +00:00
Carsten Haitzler
a8cc6e9e16
oosp - didnt meant o commit this... it was just the start of some test
...
code... not ready yet. just adds warnings and stuff.
SVN revision: 82381
2013-01-08 04:00:36 +00:00
Carsten Haitzler
478de3ec76
small change - not worth chglogging... make evas gl x11 header not
...
need xlib.h anymore... :)
SVN revision: 82378
2013-01-08 03:49:49 +00:00
Gustavo Sverzut Barbieri
3c7fddb78d
efl/evas: silent warning.
...
count is type 'int', but used as unsigned it (always > 0), however gcc
can't understand that and is complaining that 'check' could be used
without being initialized... which is false. Make the test != 0 to
silent gcc and make code as correct as before.
SVN revision: 82369
2013-01-07 22:46:01 +00:00
Christopher Michael
bdfe30ea8d
Fix typo in evas_map_free doxy.
...
NB: Can someone please backport this ??
Signed-off-by: Christopher Michael <cp.michael@samsung.com>
SVN revision: 82335
2013-01-07 09:56:01 +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
Ulisses Furquim
7904f59248
evas/async_events: fix leak of events array and simplify code
...
Fixed leak of 'memory' array (now async_events_cache) and simplified code of
evas_async_events_put().
SVN revision: 82295
2013-01-06 01:58:50 +00:00
Gustavo Sverzut Barbieri
de7dc1c2cc
efl/evas: proper glShaderSource() definition as glext.h
...
it is "const char * const *", not "const char **", and it was triggering a warning in our code.
it's just constness and will not trigger an error in our user's code, just an warning that he should fix.
SVN revision: 82278
2013-01-05 15:55:58 +00:00
Tom Hacohen
af94656955
Evas smart clipped: Potentially fix memory leak as reported by raster.
...
Not really properly tested, sorry for that.
SVN revision: 82271
2013-01-05 12:14:41 +00:00
Carsten Haitzler
7f1fb9b10d
thanks joel.
...
SVN revision: 82254
2013-01-05 02:20:13 +00:00
Carsten Haitzler
61995f2cf2
BIG COMMENT!!!!
...
SVN revision: 82248
2013-01-05 01:38:45 +00:00
Mike McCormack
8d1683367f
efl: Remove unused variables
...
Signed-off-by: Mike McCormack <mikem@atratus.org>
SVN revision: 82246
2013-01-05 00:06:28 +00:00
Gustavo Sverzut Barbieri
733425c62c
efl: make libraries aware of EFL_RUN_IN_TREE.
...
this variable tells that the build is being done in tree and we should
not look at install locations.
SVN revision: 82217
2013-01-04 17:19:43 +00:00
Leandro Dorileo
e2ce20e9a4
evas: add event source evas object
...
This patch introduces fields to event Evas_Event_Mouse_* structures
to hold the event source evas object in case of evas source events
propagation.
SVN revision: 82138
2013-01-04 01:55:07 +00:00
Gustavo Sverzut Barbieri
0a2d116119
efl: eina_alloca.h to simplify alloca() usage.
...
having to replicate 18 lines per file just to access alloca() is
insane. Let's do that in Eina.h and avoid that crap :-/
SVN revision: 82082
2013-01-03 15:10:34 +00:00
Daniel Juyung Seo
8c67bafaf2
evas Evas.h: Fixed a typo.
...
SVN revision: 82069
2013-01-03 12:22:49 +00:00
ChunEon Park
5cf84bb84a
evas - use Eina_Bool
...
SVN revision: 82035
2013-01-03 05:38:03 +00:00
ChunEon Park
bb39010a0a
evas - removed unnecessary lines.
...
in the render main function, it will always reset changed field whenever it calls the post function.
SVN revision: 81974
2013-01-02 11:56:20 +00:00
Carsten Haitzler
5c8c36507e
let's use ()'s more and... lets be consistent about the ellipsis
...
end/start nodes in text so we dont get bitching about removing an item
not in the list (because it isnt?)
SVN revision: 81946
2013-01-01 08:22:46 +00:00
Cedric BAIL
e985899c9c
efl: and fix a potential memory leak.
...
SVN revision: 81922
2012-12-31 01:59:00 +00:00
Cedric BAIL
db2a8c62f4
efl: fix issue when text didn't get properly replaced.
...
Thanks to hannes.janetzek@gmail.com !
SVN revision: 81921
2012-12-31 01:49:36 +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
Gustavo Sverzut Barbieri
2608f68571
efl/docs: clean-up and make it more uniform.
...
now unified docs are bit more uniform in their start pages, overall
improved but much to do :-(
SVN revision: 81851
2012-12-28 23:26:05 +00:00
Ulisses Furquim
5f493f2c38
evas/evas_render: use rendering flag only when async rendering
...
Also postpone marking the rendering flag until we know we will have
the draw thread do its work. This way we avoid waiting forever at
evas_render_rendering_wait() when the draw thread is also blocked.
Patch by: Ulisses Furquim <ulisses@profusion.mobi>
SVN revision: 81798
2012-12-28 13:00:37 +00:00
ChunEon Park
4079b164b7
evas/image - return as possible as soon.
...
SVN revision: 81794
2012-12-28 11:41:29 +00:00
Cedric BAIL
f9ebc7bdcd
evas: simplify logic for ellipsis.
...
SVN revision: 81773
2012-12-28 00:58:10 +00:00
Mike McCormack
7b2b9da7cb
efl: Remove unused label
...
Signed-off-by: Mike McCormack <mikem@atratus.org>
SVN revision: 81736
2012-12-27 08:58:40 +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
Paulo Alcantara
0809c7de3f
efl/cserve2: Fix ref/unef of image entries for threads
...
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81584
2012-12-21 21:13:06 +00:00
Paulo Alcantara
fb97c82882
efl/cserve2: Fix some bugs regarding fonts
...
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81582
2012-12-21 21:11:23 +00:00
Leandro Pereira
6516727164
evas/canvas: Make sure rendering finishes before image_data_set() and image_native_set()
...
SVN revision: 81563
2012-12-21 17:30:44 +00:00
Tomas Cech
cafaecfce1
efl: Fix typo in evas_object_textblock
...
Patch by: Tomas Cech <tcech@suse.cz>
SVN revision: 81559
2012-12-21 15:56:26 +00:00
Jonas M. Gastal
55845c5a3e
efl: Adding much improved textblock style documentation.
...
SVN revision: 81485
2012-12-20 20:42:45 +00:00
Gustavo Sverzut Barbieri
3f5fa6170c
efl/evas_object_image_is_inside: fixed implementation.
...
This function was basically never working correctly. Everything was
fixed by simulating the evas_object_image_render() workflow, but
instead of actually draw we just check the pixel transparency.
Bugs fixed:
* fails when image is scaled up (could segv) or down (incorrect values);
* fails when image is moved to negative x,y;
* fails when border was being used.
Now everything is fixed and seems to work properly, except I'm not
handling the map and get_pixels() cases, these are marked with ERR()
so we can fix them if someone needs.
SVN revision: 81410
2012-12-19 22:41:12 +00:00
Gustavo Sverzut Barbieri
7c19e1b34d
efl/evas_cache: copied images should be considered loaded.
...
Whenever we copy an image, making it write-able
(evas_object_image_data_get(o, 1)) or just start painting a pristine
buffer (evas_object_image_size_set(o, w, h)), we must mark the image
as loaded to avoid trying to load it (and failing, marking the whole
thing as EVAS_LOAD_ERROR_GENERIC).
SVN revision: 81409
2012-12-19 22:36:13 +00:00
Paulo Alcantara
19a52f4efd
efl/evas: Fix XCB/Xlib crash when closing applications
...
We need to wait draw threads finishing their stuff before freeing canvas.
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81395
2012-12-19 18:03:38 +00:00
Paulo Alcantara
76932dcc9f
evas/engines: Introduce render mode
...
The render mode should be useful for engines other than software one.
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81384
2012-12-19 16:15:58 +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
Paulo Alcantara
6483c8d1e6
evas/render: Avoid race when sending render data and updates_cb
...
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>
SVN revision: 81303
2012-12-18 20:20:45 +00:00
Jonas M. Gastal
b23fb8a16b
efl: Created Evas group and added all existing evas groups to it.
...
SVN revision: 81288
2012-12-18 18:25:12 +00:00
Leandro Pereira
cb10c7d019
evas: Modify software_generic and gl_x11 to with with threaded renderer
...
SVN revision: 81284
2012-12-18 16:28:55 +00:00
Leandro Pereira
a7b4a3c12d
evas: Async render
...
SVN revision: 81282
2012-12-18 16:26:44 +00:00
Leandro Pereira
645dcff9d2
evas: Add function to ref an Image_Entry
...
SVN revision: 81281
2012-12-18 16:22:47 +00:00
Leandro Pereira
9b2b121e6f
evas: Add thread threaded render queue
...
SVN revision: 81280
2012-12-18 16:21:03 +00:00
Jonas M. Gastal
d41d76ca38
efl: Modified section names as doxygen reuses titles for same named sections in different pages.
...
SVN revision: 81279
2012-12-18 16:18:28 +00:00
Jonas M. Gastal
65a7188905
efl: Unifying authors page.
...
SVN revision: 81277
2012-12-18 16:18:19 +00:00
Jonas M. Gastal
6ecaa33f22
efl: Adding a unified main page that links to the "mainpage" of libs.
...
SVN revision: 81273
2012-12-18 16:12:56 +00:00
Cedric BAIL
9cbe37a36a
efl: another leak-- in Evas_Object_Text.
...
SVN revision: 81198
2012-12-18 01:31:52 +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
Cedric BAIL
6adce01faa
efl: fix some of the memory leak.
...
SVN revision: 81136
2012-12-17 13:04:35 +00:00
Daniel Zaoui
e57e9ee684
Fix docs
...
Signed-off-by: Daniel Zaoui <daniel.zaoui@samsung.com>
SVN revision: 81130
2012-12-17 12:43:35 +00:00
Cedric BAIL
dbc5d63555
efl: detect all text change properly and don't destroy text if we don't relayout it.
...
SVN revision: 81061
2012-12-17 03:34:08 +00:00
Carsten Haitzler
dd00dba75e
small change - dont let update rect list for image object become a
...
runaway endless list if evas doenst come around and render (pick it
up) any time soon - limit to 512 update rects.
SVN revision: 81039
2012-12-16 02:01:11 +00:00
Carsten Haitzler
fc5c62500d
warn-- .. but this is suspicios as we goto the end where is_v and
...
was_v are used... and never do set them.
SVN revision: 81038
2012-12-16 01:49:36 +00:00
Cedric BAIL
24e8207971
efl: should fix some issue related to scale.
...
SVN revision: 81020
2012-12-15 14:16:08 +00:00
Leandro Dorileo
35a3326371
evas: fix a memory leak introduced on rev 78644
...
_nodes_clear() is called on object removal and it's not supposed
alloc anything at that stage.
SVN revision: 80984
2012-12-14 20:03:31 +00:00
Cedric BAIL
c4c7fe5d2d
efl: don't skip redraw when needed.
...
SVN revision: 80921
2012-12-14 09:07:38 +00:00