Commit Graph

942 Commits

Author SHA1 Message Date
Chris Michael a0fb1f4728 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:07 +01:00
Chris Michael 24847d77dc Remove extra blank space
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:07 +01:00
Chris Michael d673cbc398 Readd the master clip for rendering of wayland engines.
NB: Master clip is needed so that things don't draw outside the client
area.

NB: This is a partial fix. Still a work in progress. Some remaining
issues with some various elm_tests that use evas_map.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:10:27 +01:00
Tom Hacohen c598997299 Evas object clouseau: Added object name to the property list. 2013-09-06 17:19:57 +01:00
Tom Hacohen f30be9b8ad Evas object clouseau: cleaned up the code a bit. 2013-09-06 17:19:07 +01:00
Carsten Haitzler 3f94953509 evas - fix render op reset when drawing map objs :) 2013-09-05 20:31:17 +09:00
Cedric Bail a626a91d69 evas: add evas_object_smart_iterator_new().
This is going to break Eo ABI. Rebuild all software using Eo API on top
of EFL (Elementary for example).
2013-09-05 17:16:40 +09:00
Carsten Haitzler 441f10e3ab evas - in dump also ensure an idle flush logic and proxy surface dump happens 2013-09-04 11:42:08 +09:00
Tom Hacohen bda3ceb632 Evas textblock: fixed *_markup_get issue with escaped chars.
Markup_get was misbehaving and returning wrong results with some escaped
chars. markup_to_utf8 was working correctly. Merged the code together
and now both are consistent and correct.

Thanks to WooHyun for reporting.
2013-09-03 11:50:34 +01:00
Ulisses Furquim 0af10ae93f evas/render: improve evas_render_sync()
Tracking only the async rendering canvases and just waiting for the last one
to finish rendering. This should be enough to sync all canvases since the
render thread orderly executes the commands.
2013-09-03 01:52:38 -03:00
Cedric Bail 9ac13e4aec Revert "evas/render - this is insane to me since nowhere it release the render_pre_done FALSE pairly."
This reverts commit fd7d1f9f98.

This commit is the one breaking Evas_Map use in shelf. Let's investigate why it was disable
in the first place.
2013-09-03 12:39:49 +09:00
Cedric Bail 7396dc2d89 evas: simplify logic and API signature, thanks k-s. 2013-09-03 11:08:12 +09:00
Ulisses Furquim 0c83dd806a evas/render: sync all canvases in _render_dump() 2013-09-02 20:03:23 -03:00
Ulisses Furquim 063f076aed evas/async_render: remove block/unblock of render thread.
This reverts commit 42a46214c4.
2013-09-02 20:01:37 -03:00
Ulisses Furquim 31b1cc6e3e evas/render: introduce evas_render_sync().
evas_render_sync() will loop through all canvases and wait for their
rendering to finish. Since this function will execute from the main
thread that will sync all of them.
2013-09-02 19:41:32 -03:00
Cedric Bail a007a3af13 evas: focus_set can fail... internally handle that case properly now. 2013-09-02 20:28:51 +09:00
Jean-Philippe Andre cafa763817 evas: Fix sigsegv after font rehint
If a text object is rehinted after it is deleted,
baaad things happen. Mark Evas_Object_Text as dead by
setting font to NULL.

Note the crash happened with cserve2 and maybe not in normal
cases.
2013-09-02 15:00:01 +09:00
Cedric Bail 54ef511197 evas: handle error case by properly deallocating memory. 2013-09-02 12:33:21 +09:00
Carsten Haitzler 08e430b18a move render wait before the block to avoid deadlock. 2013-08-30 09:09:08 +09:00
Carsten Haitzler 42a46214c4 other async render issue - sync ALL rendering canvases, not just one 2013-08-29 21:18:04 +09:00
Cedric Bail bcb9ccb129 evas: let's allow intercept of other type of operation on the same object during an intercept. 2013-08-29 14:25:23 +09:00
Cedric Bail 35b98861dd evas: simplify code for setting intercept callback. 2013-08-29 11:35:35 +09:00
Cedric Bail 1ac1db596f evas: add interceptor for focus_set. 2013-08-29 11:21:20 +09:00
Cedric Bail 85f0749a83 evas: cleanup intercept code and improve performance there a little. 2013-08-29 10:53:48 +09:00
Cedric Bail 62a759de43 evas: define MAP_HUGETLB when it is not defined. 2013-08-29 09:54:34 +09:00
Cedric Bail ebdc7a9952 evas: use mmap/munmap on system that have it for image data. 2013-08-28 17:17:35 +09:00
Carsten Haitzler 175335ae08 evas - restore ability for evas_render_dump() to dump out referenced data 2013-08-28 16:44:31 +09:00
WooHyun Jung d2da97c75b evas_event: Nomally, the point's state is maintained POINT_MOVE before it is released. 2013-08-28 13:40:27 +09:00
Tom Hacohen 041e3af3e5 Evas bidi: Fixed a bug causing BiDi not to work in some cases.
This issue cause non-letter RTL characters not to be detected as RTL
which in turn turned off bidi for those strings.
Example broken text: <RLM><LRO>[PAS<RLO>[--DES<PDF><PDF>.

Thanks to Yakov Goldberg for reporting this issue.
2013-08-27 14:11:16 +01:00
Carsten Haitzler 4aaf857fc8 fix apparent tb item leak (definitely lost) 2013-08-27 17:20:56 +09:00
Cedric Bail 33372313a1 evas: try to also cancel multi button to. 2013-08-27 16:52:24 +09:00
Chris Michael eff087a4b3 Fix redraw rectangle when framespace changes to not be Outside viewport.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-23 08:39:03 +01:00
Tom Hacohen 4bcf4991eb Evas textblock: Fixed calculation of maxdescent.
Thanks to YoungBok Shin for reporting.
2013-08-20 11:13:06 +01:00
Chris Michael 865531a9e1 Fix compiler warning about missing braces.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-19 08:35:34 +01:00
Mike Blumenkrantz c31061b642 evas render debug now prints object names if they exist 2013-08-19 05:20:57 +01:00
ChunEon Park 86ff7c3659 evas - oops, this line shouldn't be pushed. 2013-08-18 16:54:22 +09:00
ChunEon Park cbfba2fd59 evas - should be rendered even if non-smart proxy object doesn't affected by clipper. 2013-08-18 16:31:43 +09:00
ChunEon Park 75ccce5706 evas - removed redundant code.
This check is not necessary but causes incorrect clipping issues.

At this moment, if primitive objects (except image) is the source then that code may be helpful but it doesn't guarantee same behavior for all the primitive objects.

So, right now removed it.
2013-08-18 16:26:11 +09:00
Cedric Bail 2b68a31252 evas: handle gracefully move from evas_object_image_file_set to and from evas_object_image_mmap_set. 2013-08-12 12:12:13 +09:00
Chris Michael 5ccf87c845 Remove unused variables.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-08-11 14:02:21 +01:00
Carsten Haitzler 1e9d4bf28f evas - fix up border adjust improvement from last night. handles overlap now 2013-08-10 16:26:30 +09:00
Tom Hacohen 76eceda2ee Evas textblock: make an if look nicer (no logic change).
This makes things simpler and less confusing and might have prevented
the issue Stefan fixed in 4f484b81d4
from happenning in the first place.
2013-08-09 15:46:40 +01:00
Carsten Haitzler a18bdfc19f evas - OOPS! printf was not meant to go in! 2013-08-09 22:30:14 +09:00
Carsten Haitzler 9b8f67ec4d evas - minor visual fixup with impossible border scaling to be more sensible 2013-08-09 22:07:06 +09:00
Cedric Bail 861823848a eina: change eina_file_virtualize to be able to provide a fake name. 2013-08-09 20:50:54 +09:00
Stefan Schmidt 4f484b81d4 evas/textblock: Do not write out of bounds.
The length is len so last array index must be len - 1. Better not
corrupt memory. :)

CID 1039302
2013-08-09 11:54:42 +01:00
Tom Hacohen 1d75dcaf56 Evas textblock: Make the ellipsis format the same as the surrounding.
This fix is based on a solution by WooHyun Jung.
2013-08-08 13:10:39 +01:00
Cedric Bail a07fab03e8 evas: CRIT when someone change object geometry during pixels get callback. 2013-08-08 09:47:45 +09:00
Tom Hacohen 6583b83c73 Evas textblock: Use max ascent/descent at the edges of the textblock.
Thanks to Youngbok Shin for reporting the difference in behaviour between
textblock and text object.
2013-08-06 09:29:03 +01:00
Cedric Bail f302c0e0ac evas: fix build with debugging rendering trace. 2013-08-06 15:45:07 +09:00
Chris Michael 8810f69914 Remove the directory from the font_first hash First, before calling
object_text_font_cache_dir_del as the latter function will actually
Free the fd.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 14:07:11 +01:00
Chris Michael da275a76b1 Check for Image_Entry being valid before calling evas_cache_image_drop.
NB: Image_Entry passed in to this function Could be NULL (hence the
previous if ie check above. Do not call evas_cache_image_drop on a
NULL Image_Entry as evas_cache_image_drop does not validity checking.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 12:32:00 +01:00
Chris Michael 016e365424 Don't call fcntl functions if we do not HAVE_FCNTL support built in.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 10:14:46 +01:00
Cedric Bail 35e1ddc6f6 evas: limit resize to always be of the right size.
This should fix T157.
2013-08-05 17:46:37 +09:00
Yury Usischev bd6de4ba8c Add neon for upscaling and map routines in evas. 2013-08-02 18:06:55 +09:00
Cedric Bail 9104fe7322 evas: let's not leak temporary list left over. 2013-08-01 19:39:58 +09:00
Tom Hacohen dfb2fb2de5 Evas Text object: Improved the docs explaining font selection. 2013-07-31 14:31:23 +01:00
Cedric Bail e0b8e3f5e7 evas: use eina_file_virtualize() in evas_object_memfile_set().
NOTE: I am tempted to mark evas_object_memfile_set() as deprecated due
to the forced memcpy it introduced and the fact that it is now a 3 lines
of code to do the same in a more efficient way.
2013-07-31 11:53:39 +09:00
Rajesh P S 916f047935 evas: unset the right backend when unregistering module. 2013-07-30 14:54:26 +09:00
ChunEon Park e2c395f049 evas/proxy - render the children of the proxy's source object when ther visibility is true.
This is not the perfect solution at this moment. This doesn't consider the cached clipper's visibility at all.
But at least this would be better than exist works. Should be improved.
2013-07-28 20:24:46 +09:00
Cedric Bail 847efe7cdb evas: let's return the correct file name. 2013-07-24 15:50:09 +09:00
Yury Usischev 3a5df752e6 evas - fix long standing c "fallback" code "simd" (2 register) multiply 2013-07-23 21:16:40 +09:00
Jiyoun Park 75a39b02bd * Evas: fix infinite loop if app use ecore evas image
app have to call update add function after object data set
2013-07-23 17:01:36 +09:00
Yakov Goldberg ae561346e4 evas/textblock: fix my own boolean expression to be more obvious 2013-07-21 11:57:11 +03:00
Cedric Bail 614263c1ed evas: add geometry_set to please zmike. 2013-07-19 18:37:43 +09:00
Carsten Haitzler f325a38632 evas sw map render - make more optimal (but compiler already did it)
as pointed out by y.usishchev@samsung.com - this code is copy & paste
badness, but the compiler optimizer fixed it up already, so it made no
difference in real life.
2013-07-19 18:32:57 +09:00
Carsten Haitzler 0d83feaa79 fix clang allocator size mistmatch (by casting - clang is wrong) 2013-07-16 19:24:44 +09:00
Carsten Haitzler a588851b8f fix clang nonnull complaint 2013-07-16 17:18:59 +09:00
Carsten Haitzler 76229f7a2f fix clang nonnull warning. 2013-07-16 16:47:35 +09:00
Cedric Bail 166e89baac Revert "eo: try to fix callback array to work on other system."
This reverts commit e89f32d28d.
2013-07-16 15:18:16 +09:00
Cedric Bail e89f32d28d eo: try to fix callback array to work on other system. 2013-07-16 13:41:27 +09:00
Cedric Bail dce0fbcb84 evas: let's get the pixels if the image is dirty, not only when we do already have pixels. 2013-07-15 19:12:02 +09:00
Mike Blumenkrantz 7dfd4581b4 fix crash when trying to get an object below the current object and a layer with no objects is present
probably a layer not being cleaned somewhere, but I can't deal with the crashing
2013-07-11 11:40:41 +01:00
Daniel Juyung Seo fa9f891bce evas_main.c: fix a typo? 2013-07-11 16:53:21 +09:00
Cedric Bail dc97ae0937 evas: reduce memory footprint. 2013-07-11 16:16:25 +09:00
ChunEon Park 46ba77d4f4 evas - print ERR if the object coundn't be deleted when it's ref count is more than 0.
In this case, evas_free() won't be exit because of the infinite loop.
2013-07-11 14:05:21 +09:00
ChunEon Park 898caee04d evas - use Eina_Bool 2013-07-11 14:00:18 +09:00
ChunEon Park 1e9a56d361 evas - indent fix. 2013-07-11 13:45:22 +09:00
Cedric Bail 48b40640b5 evas: no need to call eo_data_scope_get in many case after this change.
Reduce CPU usage by 5% in some case (especially when the CPU is not the
limiting factor like with the GL backend).
2013-07-09 09:48:09 +09:00
Chris Michael a9d0f3a919 Fix missing FTUNLOCK
Since we locked the font_draw mutex earlier, we should unlock it
before we return.

NB: Fixes Coverity CID1039382

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:15:41 +01:00
Chris Michael a231b7ed26 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:15:24 +01:00
Chris Michael eabc1482f9 Fix memleak reported by Coverity.
NB: Fixes Coverity CID1039657

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:35:33 +01:00
Chris Michael 4e103fd858 Fix mem leak reported by Coverity (don't just free fdata if size > 0).
NB: Fixes Coverity CID1039665

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:30:26 +01:00
Chris Michael ff60a233d2 Fix unintended operator precedence... I do believe != 4 is what was
wanted here...Or (!(ob->map->cur.map->count == 4)) ... but not much
difference either way ;)

NB: Fixes Coverity CID1039673

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:22:23 +01:00
Chris Michael 8280ef3730 Remove the grab from any lists Before we free it.
NB: Fixes Coverity CID 1039888

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:08:10 +01:00
Jean-Philippe Andre 8b257d0238 evas/cserve2: fix error parameter usage
The error pointer could be NULL but still dereferenced in case of
failure. Also, it wasn't reset in case of success.
2013-07-08 16:06:08 +09:00
Chris Michael 10897713ea Remove dead code. In the error goto, im2 cannot exist here else we
would not have gotten to this error handler if it did (so no point in
checking for it and calling functions using it).

NB: Fixes Coverity CID1039926

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 07:39:44 +01:00
ChunEon Park 64f984bd1a evas/render - draw the map in case that the source clip is invalid. 2013-07-05 12:53:09 +09:00
ChunEon Park 307e2f823d evas/render - support proxy source clip for the mapped object. 2013-07-05 11:14:47 +09:00
ChunEon Park 04f87ab237 evas/render - refactoring. split off a bunch of internal logic to a seprate function. 2013-07-05 11:09:03 +09:00
Tom Hacohen 5d4ff97e20 Evas textblock: Fixed issue with *textblock_cursor_range_formats_get.
In some cases we could return extra formats that are outside of the
range. It's actually not completely fixed yet.

Thanks to clang-analyzer for detecting this.
2013-07-04 10:07:52 +01:00
Jean-Philippe Andre 09a5c28e5b evas/cserve2: no cache for large images or non-smooth
The concept is taken from scalecache. I am not sure of the
performance impact.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre 46b7baa379 evas/cserve2: merge SETOPTS into OPEN
When opening an image, OPEN and SETOPTS were always sent
consecutively. Merging these two messages may improve the
performance a bit (not measured), but also simplify the
whole thing.

Note: cserve2 debug tools have not been fixed yet.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre ca5d174568 evas/cserve2: use Evas_Image_Load_Opts directly
Image_Data contained a similar struct to the standard Evas struct,
let's not duplicate it uselessly.
2013-07-04 13:02:48 +09:00
Daniel Juyung Seo 311db0fc58 evas_object_smart.c: removed unnecessary code. 2013-07-02 17:07:05 +09:00
Jean-Philippe Andre f1506d8dd2 evas/loaders: use Eina_Stringshare where needed.
Evas loaders' open() function expect the key to be a stringshare,
so declare it as such and keep using ref() without add().

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre bb4e7fb869 evas: fix compilation warning in evas_font_draw.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 22e79af097 evas/cserve2: return in case of select timeout.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 79b102f6fd evas/cserve2: add some more error debug (client side).
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 90d8647c02 evas/cserve2: fix crash with YUV tests in expedite.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre c39b714868 evas/modules: Add preprocessor ifs
We'll want to distinguish full builds for evas and partial
builds for cserve2 slaves.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre db6cba1429 evas/cserve2: avoid useless SETOPT messages.
Most of the time, the SETOPT message is sent only
to carry 0 data. Let's add a flag to the OPEN message to
avoid useless socket calls.
Server-side: implement with message faking.
Also, fix image ID logic on client side:
 - alloc data entry asap,
 - assign image_id during call to OPEN

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 096a8ece9f evas/cserve2: Set default LRU size to 4Mb or env-based
The LRU should not be limited to 0 byte otherwise all scaled
images will be dropped and reloaded constantly, killing the
performance.
The size is inspired from the scalecache's size of 4Mb.

Variable: EVAS_CSERVE2_SIZE (number in Mb)
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre f7c6545170 evas/cserve2: minor fixes (error paths).
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
ChunEon Park 627beaae71 evas/proxy rendering - optimize proxy rendering.
re-render proxies if sources are changed. this patch increases the proxy rendering up to 2x.
2013-07-02 15:38:42 +09:00
ChunEon Park 5f4ae9abeb evas/render - refactoring about checking smart member changed.
move those code to the evas_object_smart.
2013-07-02 15:28:56 +09:00
Tom Hacohen 827885d794 Evas textblock: Fixed format parsing to not be confused by single-quotes.
Before this commit, having a single quote anywhere in the format would mess
up all of the format parsing.

Thanks to MinSu Seo for reporting.
2013-07-01 14:18:52 +01:00
Chris Michael 2a67e78bde Fix klockwork memleak: We should free 'texts' that we malloc'd earlier
if we are going to error out.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:14:44 +01:00
Chris Michael 694d1600e8 We should free glyph_out also (as that gets malloc'd too) on error.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:13:09 +01:00
Chris Michael dd136b82e2 Fix klockwork memleak: If we allocate space for a Font Glyph (through
evas_common_font_int_cache_glyph_get), then we should free that
allocation when we have an error.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:02:00 +01:00
Carsten Haitzler 6828cf2e29 evas: efl 1.8 dev bug only... update add bug in image objects throws away some updates. 2013-06-28 17:26:14 +09:00
Cedric Bail 0ed0d79611 evas: prevent people from including header directly. 2013-06-28 10:18:39 +09:00
Daniel Willmann f24dea2a90 evas_convert_colorspace: Remove printf in e_c_convert_yuv_422_601_to()
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 18:53:08 +01:00
Daniel Willmann 2df506feed evas_convert_colorspace: Be nice and actually return the converted data
Fixes a memory leaks in evas_common_convert_yuv_42* and actually makes
these functions more useful. It's a win-win.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 18:53:08 +01:00
Raphael Kubo da Costa 302d42b9af pixes -> pixels. 2013-06-26 16:26:35 +03:00
Cedric Bail e888a07c0a evas: cleanup headers. Should work on windows. 2013-06-26 11:24:29 +09:00
Tom Hacohen fdbc477f79 Evas textblock: Fixed issue with textblocks without fonts segfaulting.
Fixes T184 (which is a regression).
2013-06-25 16:37:48 +01:00
ChunEon Park 44568ef01d efl/evas - removed duplicated lines and apply clipping only when clip values are available. 2013-06-25 21:56:28 +09:00
ChunEon Park ede5390258 efl/evas - +null check 2013-06-25 21:53:05 +09:00
Cedric Bail 75639bea49 evas: don't forget to remove image from the lru when they are back to active. 2013-06-25 16:20:46 +09:00
Christophe Sadoine 2dabd04dc8 evas: fix problem with dllimport on Windows.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-25 12:29:48 +09:00
Cedric Bail 406cdbd686 evas: one LRU for both image open with filename or Eina_File to fix infinite increase of cache. 2013-06-25 11:45:42 +09:00
Jean-Philippe Andre 1f298139d8 evas: fix crash after font rehint 2013-06-24 14:52:54 +02:00
Rajeev Ranjan 12458544d1 evas: add mutex locking before signalling for the condition variable and releasing afterwards.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-24 12:04:18 +09:00
Cedric Bail d06a0982ef evas: add support for asynchronously uploading GL texture.
NOTE: when using Evas_Object image preload infrastructure the GL texture
upload was uploaded from the main loop during the rendering stage. This
could lead to some frame drop during fast animation due to the time needed
to upload that texture.

This patch fix this problem by uploading a small texture quickly (16x16)
and waiting for going back to the main loop to be able to use the same GL
context from another thread to do the texture upload asynchronously without
blocking the main loop.
2013-06-24 12:04:18 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Jean-Philippe Andre d2c3b67a72 cserve2: fix minor memleaks with fonts
Leaks happen when fonts fail to load
2013-06-20 17:42:07 +09:00
Jean-Philippe Andre 4b473c90c0 cserve2: Handle interrupts when failing to read from server
If we don't do that, the client will end up in an infinite loop
from where it just can't exit, if the server is dead/stuck.
2013-06-20 17:42:07 +09:00
Jean-Philippe Andre 1821c91d10 cserve2: prevent infinite loop during connection
In case of EACCESS, there is no point trying forever
In case of EINTR (interrupt), we can consider for now
that any signal will prevent the use of cserve2.
If we don't do that, Ctrl+C simply won't work :)
2013-06-20 17:42:07 +09:00
Cedric Bail 694e8a7d09 evas: fix clang compilation. 2013-06-18 13:32:00 +09:00
Cedric Bail 1609055579 evas: reduce memory footprint taken by Evas_Object_Table callbacks setup.
This reduce by 50K elemines memory use on 32bits system.
2013-06-18 11:44:29 +09:00
Cedric Bail 91aea489c3 evas: reduce memory usage by using Eo array of callbacks.
Reduce usage by 100K on my test on Elementary test, likely better with 64bits system.
2013-06-18 11:44:29 +09:00
Sung W. Park 8e6f0aa11c Evas: add partial rendering support for evasgl direct rendering
Evas_GL Direct rendering is an optimization path that renders
directly to the window if conditions are met.  Because evas gl
backend used to re-render the entire screen, evas_gl direct
rendering didin't have to concern with partial region rendering.
Now that partial rendering/swapping has been applied to evas gl-
backend, evas_gl direct rendering also had to take into account
clip regions. in order to properly apply it, some adjustments
were made to the engine functions and etc.
2013-06-17 18:32:00 +09:00
Sung W. Park 316be3e6c7 Revert "Saving evasgl direct partial rendering fix temporarily"
This reverts commit e6359132de.
2013-06-17 18:22:15 +09:00
Sung W. Park 62e146f2fc Revert "Touch for evas gl direct rendering partial rendering/swap fix."
This reverts commit 382ffbb4f5.
2013-06-17 18:22:04 +09:00
Sung W. Park 382ffbb4f5 Touch for evas gl direct rendering partial rendering/swap fix. 2013-06-17 17:52:16 +09:00
Sung W. Park e6359132de Saving evasgl direct partial rendering fix temporarily 2013-06-17 17:52:16 +09:00
Daniel Juyung Seo d5800af9cd Evas_Common_Header.h: added textgrid to primitive evas object list. 2013-06-16 22:06:33 +09:00
Carsten Haitzler 1914148446 evas: optimization - handle if c1 == c2 for map interplated lines 2013-06-14 21:32:56 +09:00
Carsten Haitzler ae2f824413 evas: fix possible seg with font glyphs from font instance in glyph array with no refcounting. 2013-06-14 19:57:18 +09:00
Jean-Philippe Andre 19fb35d657 evas/cserve2: Close scaled images after drawing 2013-06-14 16:38:18 +09:00
Cedric Bail 1073084807 evas: change cache API to forward Eo object. 2013-06-14 16:38:18 +09:00
Rafael Antognolli d44a69f911 evas/map: Add FIXME comment to remember that it's just a workaround. 2013-06-13 19:16:23 -03:00
Jiyoun Park f488cf2b4d Evas: Fix bs if app call image object update add after call api like
fileset.
2013-06-13 14:09:28 +09:00
Tom Hacohen 3137e18962 Revert "continuation of ascent/descent fix by tom - make textblock work too."
This reverts commit 9473c4a9a5.

This commit is not correct. It just goes through every font in the
fontset, which is usually all the fonts in the system and tries to get
their ascent/descent and by that getting the max ascent/descent. This
won't work nicely.

The solution is to properly fix textblock, if you think there's
something lacking (I.e in the same way I did text).

However, my changes did not change previous behaviour, but were just
wrappers, so I don't see why extra changes would be needed. Please
elaborate.

I'm reverting this because:
1. I don't think it's correct.
2. It severly broke e in some cases (reference:
      http://www.enlightenment.org/ss/e-51b5d5e98cd387.04568822.png ).
2013-06-10 14:52:10 +01:00
Tom Hacohen d7db12f196 Revert "fix slowdown as a result of fixing text ascent/descent for fontsets from tom."
This reverts commit 9ecc87713d.
2013-06-10 14:51:38 +01:00
Carsten Haitzler c979a52553 fix bug introduced by: f1ba71147e
max ascent/descent are not the same as ascent and descent... get them
specifically.
2013-06-09 17:30:34 +09:00
Tom Hacohen f2317ac875 Evas font: Fix initialization of ascent/descent for empty objects. 2013-06-07 18:09:51 +01:00
Tom Hacohen e1cffeecef Evas text: Removed unused variables. 2013-06-07 18:09:50 +01:00
Chris Michael 28c3b24593 Fix segfault: Don't try to printf a debug message if we don't have a cache.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Rafael Antognolli 4b5d52fca1 evas/callbacks: Prevent post_event_callback_call recursion.
If this function is called recursively, it will free the list of post
callbacks before the list stops being used, which will cause a segfault.

The only place where this seems to happen is on
https://phab.enlightenment.org/T124, probably due to the extensive mouse
events which are launched in an unexpected way.

This bug started happening after commit
164cc07237395f8fe6efa465e4f0c0c4863f78ed, where the
_elm_scroll_page_x_get() started being called by a post_event callback,
and forcing an edje recalc. This recalc triggered another post_event
callback, thus causing the mentioned segfault.

If there's a better way to prevent this from happening, please change
the mentioned code.
2013-06-06 18:42:16 -03:00
Tom Hacohen f1ba71147e Evas font: Fixed line size calculation using multiple fonts.
Additional fixes to cc4cf77865.
There were two problems:
1. Usage of max_ascent instead of ascent.
2. Initialization of the ascent value according to the first font,
   instead of 0 (as the first font might not even be used).
2013-06-06 15:42:41 +01:00
Tom Hacohen e81edab826 Evas font: Remove useless multiplication and division.
Does nothing, just looks ugly.
2013-06-06 15:42:41 +01:00
Daniel Willmann c1cba92f8b evas_font_load: Remove duplicate include of evas_font_ot.h
Because it defines USE_HARFBUZZ we need to include it before testing for
this define.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-06 10:54:57 +01:00
Tom Hacohen 0d1ba652f0 Evas font: Fixed hb_font_destroy related warning.
Thanks to Daniel Willmann.
2013-06-06 10:42:06 +01:00
Rafael Antognolli 383bb37e61 evas/wayland_egl: Workaround for map perspective issues.
Account for the framespace offset on perspective fx and fy of each map
point.

This is just a workaround because I could not understand exactly why it
is needed. When no perspective is used, the viewport is set to the size
of the surface, and each map point seems to be used as is, with no
adjustment being needed.

However, when the map is not flat (perspective is used), a more complex
math is used to find the glViewport size. It ends up being bigger, but
there are some offsets used to compensate that, gc->shared->ax/y, which
are added to each vertex before pushing them. Thus, it seems to me that
the framespace offset should not be added to them, but things are weird
if this is not done.

Anyway, I just added those offsets, and it should not impact on gl_x11
since it's not using framespace, and software engines don't seem to
implement perspective anyway, so it all should be fine.

If anyone understands better what's going on here, please make a proper
fix or at least contact me to explain the problem, and maybe I can fix
it by myself.
2013-06-04 14:52:26 -03:00
Jean-Philippe Andre 5836f503e1 evas/cserve2: fix crash in cserve2's font loading mechanism.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:16 +09:00
Jean-Philippe Andre e973be52f9 evas/cserve2: fix memory leak when changing font hinting.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:15 +09:00
Jean-Philippe Andre a5329fc680 evas/cserve2: add lots of error checks in the client side.
It seems some images are fully loaded even when we request
only preload. The load handler will take care of both cases anyway.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:20:55 +09:00
Cedric Bail 229d9f1efd evas: make it usable from modules. 2013-06-04 15:04:19 +09:00
Cedric Bail d1bed386bd evas: correctly detect if loader support asynchronous preloading.
This is an astonishing bug, I wonder since how long it has been there. It
is basically due to the use of void * and a wrong cast. Type checking is
clearly useful, let's use it more !
2013-06-04 11:22:13 +09:00
Cedric Bail ad5d75dfcd evas: add support for engine specific extention during thread task. 2013-06-04 11:20:25 +09:00
Cedric Bail 4d15a0f50f evas: add infra to block the main loop from evas.
PS: later on, I think we should just move evas to use Ecore infra
directly to create jobs and sync with the main loop.
2013-06-04 11:20:25 +09:00
ChunEon Park 11b43dad4b evas - fixed source clip. If the source object is a evas primitive object, then proxy won't clipped by proxy clipper itself. 2013-05-31 20:29:18 +09:00
Carsten Haitzler 9ecc87713d fix slowdown as a result of fixing text ascent/descent for fontsets from tom. 2013-05-31 20:09:41 +09:00
Carsten Haitzler 9473c4a9a5 continuation of ascent/descent fix by tom - make textblock work too. 2013-05-31 19:08:35 +09:00
ChunEon Park fd7d1f9f98 evas/render - this is insane to me since nowhere it release the render_pre_done FALSE pairly.
This causes the textblock layouting problem.

It should be checked when does it really render_pre() called.

If someone knows the reason of this, please ping me.
2013-05-30 14:50:47 +09:00
ChunEon Park 1f558c6cde evas/textblock - revert the textblock pre_render_done.
Fundamentally, this is not a point of the problem.

somewhere pre_render caller is inccorrect without releasing the flag.
2013-05-30 14:43:41 +09:00
Jihoon Kim 4a90649f48 Fix typo in Evas headers 2013-05-29 10:27:10 +09:00
ChunEon Park b7ff5a737f evas/textblock - fix the textblock to render pre again if it needs to be relayouting 2013-05-28 23:07:24 +09:00
ChunEon Park 7003b7fd0b evas/textblock - fix indent 2013-05-28 23:00:31 +09:00
Stefan Schmidt 0a20c045b2 evas/textgrid: Fix memory leak.
Free allocated color before we return in the failure case.
2013-05-28 13:47:52 +01:00
Daniel Juyung Seo 6048099ff5 Evas_Common_Header.h: fixed documentation. 2013-05-24 20:22:07 +09:00
ChunEon Park d1c88be8cf evas - removed inherit mode in display mode.
it's not necessary at this moment and i don't think it's useful neither.

if you need, then please add it at the moment.
2013-05-24 18:03:49 +09:00
Tom Hacohen 25f79697af Revert "Evas eo compat: Freeze object events when deleting."
This reverts commit 3c53b824d8.

This is a bad idea for now, as we need to mark some more events as hot
(including compat generated ones) before doing it.
2013-05-21 16:32:09 +01:00
Tom Hacohen 3c53b824d8 Evas eo compat: Freeze object events when deleting.
In the past events wouldn't be called for deleted objects, retain that
behaviour.
2013-05-21 15:07:41 +01:00
Daniel Juyung Seo b2dd73e841 evas_object_textblock.c: fixed a typo in the documentation. 2013-05-21 19:21:47 +09:00
Cedric Bail f13a35909b evas: always set degre to zero before using it. 2013-05-21 09:58:24 +09:00
Chris Michael 5da4fce18a With antognolli's framespace changes, we no longer need to subtract
framespace from the output/canvas to get proper x/y coordinates.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-20 18:19:03 +01:00
Cedric Bail be153f92b6 evas: make canvas event to hot to be frozen. 2013-05-20 18:17:29 +09:00
Tom Hacohen 97acb71175 Evas textblock: Removed double ;. 2013-05-16 10:38:56 +01:00
Tom Hacohen 311dab3fee Evas language: Handle signed wchar_t in a nicer way. 2013-05-16 09:56:17 +01:00
Sung W. Park 97806103eb evas: fix evas flushing its command queue to wrong gl context in gl-backends
For native surface rendering (glX, egl) in gl-backend,  if pixel get callback
function is called for native rendering, there is a case where evas will
try to call evas_gl_common_context_flush() to flush its remaining commands
in its command queue while the context is set current to the native surface/
context that is called within the pixel get callback.  So, I've added an
engine function that forces a flush before it enters the pixel get callback
function.
2013-05-13 14:12:36 +09:00
Carsten Haitzler b77016ad02 fix cedric's image property code... that broke load opt downscaling...
CEDRIC... it WAS YOU!... YOU BROKE ETHUMB!... i was.. RIGHT! :) well
done. your borking skills are pretty good. :) you broke load opt
downscaling for jpegs in general.. it just happened to turn up in
ethumb.
2013-05-13 08:19:02 +09:00
Tom Hacohen cc4cf77865 Evas font/text: Fixed an issue with asc/desc calculation in text object.
Added font_int asc/desc getters in order to achieve that.

Thanks to MinSu Seo for reporting.
2013-05-10 17:48:26 +01:00
Chris Michael 6cdbca59d4 Fix proxy object check to compare against proper object.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-09 08:06:05 +01:00
Cedric Bail 232c9f17ba evas: reorder cache destruction. 2013-05-09 09:57:37 +09:00
Rafael Antognolli cf9d3c90f5 Ecore/Evas: Add evas_event_input_multi_down/up().
These events (from multi-touch) also have information about the mouse
pointer position, so they must be translated by the framespace too.
2013-05-08 16:50:15 -03:00
Carsten Haitzler 0632415e9c don't try free a NULL image handle in proxy_unset. 2013-05-08 23:41:39 +09:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Cedric Bail ba46068c09 evas: agressively destroy proxy surface when nobody use the proxy anymore. 2013-05-08 18:16:59 +09:00
Cedric Bail c3f9d3b8b8 evas: Make Evas_Loader API public. 2013-05-08 18:16:59 +09:00
ChunEon Park b10be8fb4c evas/render - Fixed proxy clipping if the source object is clipped by output area.
Before this patch, the proxy will be clipped if the source is clipped by output area even if the soure_clip is disabled,

Additionally, src_clip/src_event/src_visible options must be supported in edje.
2013-05-08 01:16:49 +09:00
Carsten Haitzler 2a35811c9d fix seg on image del if loader is null. 2013-05-07 14:28:07 +09:00
ChunEon Park 6a6f827e20 evas/render - there was a my fault. proxy clip should be a default. 2013-05-06 22:18:08 +09:00
Daniel Zaoui f30370fe52 efl: rename the Eo events for Evas objects and evas canvas. 2013-05-06 13:18:50 +03:00
Cedric Bail 0d2c6481b8 evas: final cleanup of the API, should be ready to make it public by now. 2013-05-06 19:02:05 +09:00
Cedric Bail 6929386895 evas: now move eina_file also out of the frame_duration API. 2013-05-06 19:02:05 +09:00
Cedric Bail 7d83e42046 evas: move evas cache API outside of the image data loader API. 2013-05-06 19:02:04 +09:00
Cedric Bail 6f802ab234 evas: start work on making the loader module a public API.
Goal is to be able to remove all internal Evas call from inside all
loader module. To do so we are going to open and hold a reference to the
file from outside of the module, read the header, create the image data,
load the data, close that reference.

Once that done, the next step is to let the file remain open as soon as
the filename/key is set and add an API to set an Eina_File directly. This
way edje can maintain the same file open as it use for an edje object,
keeping things in sync and avoid rendering glitch during update.
2013-05-06 19:02:04 +09:00
Cedric Bail c5b0d28d73 evas: move flags and attribute around. 2013-05-06 19:02:04 +09:00
ChunEon Park 49e88118d5 evas/render - and you don't need to check change for the map render if the change is already determined. 2013-05-06 11:03:11 +09:00
ChunEon Park 95b0f469b6 evas/render - clean code. 2013-05-06 00:56:10 +09:00
ChunEon Park 3ba5135135 evas - update map smart members when really it needs to render. 2013-05-06 00:48:56 +09:00
Daniel Zaoui 1a0282691c Efl: adapt legacy Evas Smart callbacks to Eo callbacks mechanism. 2013-05-05 14:33:16 +03:00
Daniel Zaoui 3d5136e4cc Efl: adapt legacy Evas callbacks to Eo callbacks mechanism. 2013-05-05 14:32:24 +03:00
Daniel Juyung Seo 656a2ad45f Evas_Legacy.h: fixed documentation typos. 2013-05-05 00:50:55 +09:00
Rafael Antognolli f490c4e5aa evas/events: Add evas_event_input_multi_move().
Same as evas_event_input_mouse_move, but for multi_move.
2013-05-03 17:19:13 -03:00
Rafael Antognolli 4b9a80a063 ecore/evas events: Use evas_event_input_mouse_move to report events.
Ecore_Evas_Input should use this function to report mouse move events.
The previous used function should be used to refeed events, or to
artificially feed mouse move events to the canvas. Basically every other
feed_mouse_move use case that is not an event from the input system.
2013-05-03 16:45:33 -03:00
Rafael Antognolli f09e493bc2 evas/events: Add evas_event_input_mouse_move().
This function should be used internally by the input system
(Ecore_Evas_Input) to feed Evas with move events. The x,y event info is
relative to the base of the window/surface, instead of the 0,0 of the
canvas.

This case only happens for now under Wayland, where the 0,0 of the
canvas is translated due to the window decorations that are drawn by the
client.
2013-05-03 16:45:33 -03:00
Carsten Haitzler c8def7a756 SCREW YOU GIT!... here is my fix for jack daniels leak! 2013-05-02 16:48:43 +09:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Carsten Haitzler ab0fdf5916 it is possible with wchart_t to have it signed.. so unicode can be <
0... dont crash.
2013-04-30 23:11:01 +09:00
ChunEon Park 29ef0f71ba evas - fix the wrong compare. thanks JackDanielZ for spotting it. 2013-04-30 19:51:24 +09:00
Rafael Antognolli de0d0dce2e evas/smart: Directly access object geometry to improve performance.
There's no need to get the object geometry through
evas_object_geometry_get(), since it is not converted anymore (there's
no offset).
2013-04-29 12:52:50 -03:00
Rafael Antognolli a1914368a7 evas/framespace: Use more framespace offset on evas events.
The framespace offset must be taken into account when searching the list
of objects which received events, since the objects now have their
original position.
2013-04-29 11:29:43 -03:00
Rafael Antognolli 59c37d1c7b evas/framespace: Add support for framespace offset rendering translation.
Instead of moving the objects by adding the framespace offset to them,
use this offset when rendering them. This way there's no change in the
object's geometry/position, it works correctly with map, and will be
automatically updated in case that the framespace values change (for
instance if one sets a window to borderless).

There are 2 main places where changes were needed:
 - output redraws, when they come from an object being changed, must be
   add the framespace offset to their damaged area;
 - checks to see if the object is inside a given rendering area, must
   also add this offset, since the object is actually being rendered on
   a different position;
2013-04-29 11:29:43 -03:00
Rafael Antognolli 550bc6ca48 evas/framespace: Remove framespace offset from position set/get.
Objects won't be moved by the framespace offset anymore.
2013-04-29 11:29:43 -03:00
Rafael Antognolli 4268bf9961 Revert "evas/map: Consider framespace offset when populating map points."
This reverts commit 3e43ad338d.
2013-04-29 11:29:43 -03:00
ChunEon Park 2e699fbab9 evas - and apply proxy_src_clip only when object and proxy is same in render_mapped 2013-04-29 21:05:33 +09:00
ChunEon Park 9272cc9de2 evas - fix doc 2013-04-29 16:20:39 +09:00
ChunEon Park 9fc2835cf4 evas - add evas_object_image_source_clip_set()/get() 2013-04-29 15:30:37 +09:00
Daniel Zaoui 57461dc6a1 Evas: rename Evas_Common.h to Evas_Common_Header.h
This change is due to EFL compilation failing in Windows. This file was
conflicting with evas_common.h. Case sensitive issue...
2013-04-28 14:22:21 +03:00
ChunEon Park 911790b236 evas - fixed logic fault in proxy clipping. 2013-04-26 20:05:46 +09:00
ChunEon Park 188c345b27 evas - For compatibility, Make proxy's source clip to be optional. Im checking partal code for zmike. 2013-04-26 17:19:50 +09:00
ChunEon Park 39a864d2f7 evas - fix the proxy object to not be clipped by source clipper 2013-04-26 14:45:41 +09:00
Tom Hacohen 455d8790b9 Evas textblock: Fixed line size calculation when using multiple fonts.
Thanks to MinSu Seo for reporting.
2013-04-25 15:16:20 +01:00
Daniel Zaoui 80e04b2842 Evas: Split Evas headers
Now, Evas.h includes three new files:
- Evas_Eo.h: Eo API functions (functions defines, enums, base id).
- Evas_Legacy.h: contains the API functions related to objects
- Evas_Common.h: common data (structs, enums...) +
functions not related to objects.

This phase is needed for the EFL 1.8 release to disable Eo APIs if we
consider it is not enough mature to be used by applications.
2013-04-25 03:40:45 +03:00
Rafael Antognolli d05c58ff2c evas/wayland: Remove framespace clipper.
This clipper caused several bugs already, and there are some bugs still
not fixed. Let's remove it and try to fix any remaining with some other
kind of solution that does not depend on adding or clipping objects
during the evas render phase, which causes unexpected behavior.
2013-04-23 18:52:35 -03:00
Mike Blumenkrantz 715c77adb9 fix recursive proxy rendering to just show a black rectangle 2013-04-22 16:41:24 +01:00
Rafael Antognolli e937f1f5a3 evas/wayland: Unclip objects from the framespace after rendering.
These objects should be clipped only during rendering, since keeping
them clipped after that allows for unexpected behavior on the
application side. For instance, an application could check if objects
have clippers before doing something to them, assuming that some objects
should have no clipper, but under wayland, after the first render
iteration, there will be no objects without a clipper.

This commit fixes this behavior by unclipping objects that had no
clipper prior to the render iteration.

Additionally, it fixes a bug where a maximized/fullscreen window could
have not all of its content rendered immediately. This was occuring
because some objects could be clipped to the framespace clipper, but
considered invisible in the beginning of the render phase, where they
are evaluated. They were considered invisible because the framespace
clipper object was not resized at that phase yet, and thus these objects
were being clipped out from the viewport.
2013-04-18 16:38:16 -03:00
Tom Hacohen 171eebc21b Evas object dbg_info: Fixed cast of pointer to int.
Also fixed additional unneeded cast.
2013-04-18 12:20:46 +01:00
Daniel Juyung Seo 4497815caf evas_object_main.c: added Clipper information for debug info.
Eina value type does not support pointer so I used int as of now.
This needs to be converted into hexa later.
By using Clouseau, one can see this Clipper information.
2013-04-17 16:58:30 +09:00
Daniel Juyung Seo 1605cd354b Evas.h: fixed documentation source formatting while reading it. 2013-04-17 16:52:18 +09:00
ChunEon Park 4163b2f509 Evas: If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case. 2013-04-16 03:05:16 +09:00
Tom Hacohen 3f3ad67616 Evas textblock: Fixed a bug with deletion of ranges.
Fixed a bug with deletion of ranges that end just before a visual format.
Thanks to WooHyun Jung for reporting.
2013-04-15 17:15:22 +01:00
Tom Hacohen d77a7bb39b Evas polygon: Cleaned up the way we clean the points. 2013-04-15 10:48:42 +01:00
Tom Hacohen 9e96e8f122 Evas font: Fixed use-after-free. 2013-04-15 10:42:58 +01:00
ChunEon Park 59bd729ca9 evas/image - actually, no need to check both. one is enough. 2013-04-14 05:36:28 +09:00
ChunEon Park 6b9a895c59 evas/image - don't update evas render area by a clipper if the image object visible is changed. 2013-04-14 05:18:31 +09:00
ChunEon Park b660465410 evas - Don't be crashed even if the map image size is 0. 2013-04-13 18:58:08 +09:00
Tom Hacohen 882b7a72eb Evas dev: Fixed usage of uninitialized variable. 2013-04-12 15:17:19 +01:00
Carsten Haitzler 9b0e7626f4 Add subclasses for evas device api (new in 1.8) and document the evas
device api... :)
2013-04-12 20:05:16 +09:00
Cedric Bail d1c502fe26 evas: remove warning, no need for double (). 2013-04-12 11:24:14 +09:00
ChunEon Park fbec2b33db evas - removed unused 2013-04-12 11:06:03 +09:00
Carsten Haitzler 7fd0cf1731 this is not a big change - not worth changelog, but allow gl partial
updates to be rounded up to specific tile sizes (and make it 16x16 by
default).
2013-04-11 21:24:06 +09:00
Cedric Bail 61dbbbb451 evas: let's do less useless marshalling. 2013-04-11 18:56:52 +09:00
Cedric Bail 7df05ed287 evas: use a hash for the image scale cache. 2013-04-11 18:07:09 +09:00
Cedric Bail 36c3cf0733 evas: don't call eo_data_get when it is really not necessary. 2013-04-11 18:07:09 +09:00
Cedric Bail e0f2ddadde evas: use eo_data_get less. Use clipees_has if you want to know the number of child now. 2013-04-11 18:07:09 +09:00
Cedric Bail bf07af3e7b evas: remove useless initialization. 2013-04-11 18:07:09 +09:00
Cedric Bail 7e77fac0a3 evas: reduce unecessary write. 2013-04-11 18:07:09 +09:00
Yakov Goldberg 7016872619 Efl textblock/entry: additions to split BiDi cursor
- handling multiple runs, multiple lines, last char of line/par
   - tests added

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-10 14:59:48 +03:00
Tom 'TAsn' Hacohen a70abbb381 Efl textblock/entry: Added support for split BiDi cursor.
If logical cursor is between LTR/RTL text two cursors will be shown.
  Upper cursor is shown for the text of the same direction as
  paragraph, lower cursor - for opposite.

  NOT DONE YET

Signed-off-by: Tom 'TAsn' Hacohen <tom@stosb.com>
2013-04-10 14:58:32 +03:00
Carsten Haitzler a1e0190725 add a little code to alloc engine info in outs.. but we need a new
engine api for this... i guess we have no choice... it's time for a new
engine api anyway...
2013-04-09 16:52:49 +09:00
Tom Hacohen 920c1b2af8 Evas font: Fixed a bug with cluster sizes and ligatures.
This casused cursor position (among other things) to look wrong with texts
ending with ligatures.

Thanks to Yakov Goldberg for reporting.
2013-04-08 13:31:09 +01:00
Carsten Haitzler 2364f4514b evas device new/free -> add/del (new 1.8 api so no log). 2013-04-08 20:10:06 +09:00
Carsten Haitzler 21c2209de8 clean up outputs list on evas free. 2013-04-08 20:10:06 +09:00
Carsten Haitzler 93dc78216c Add multiple output api support to evas... just "eo infra stubs" right
now.
2013-04-08 20:10:06 +09:00
Cedric Bail 131936b640 evas: correctly define bounding box in all case. 2013-04-08 15:05:58 +09:00
Cedric Bail 70f0f9c6b5 evas: get the bounding box from the right object and always update it. 2013-04-07 23:45:23 +09:00
Cedric Bail 4151f89e2d evas: correctly initialize and get the bounding box at the right time. 2013-04-07 23:45:23 +09:00
Cedric Bail 244cca7503 evas: revert useless change. 2013-04-07 23:45:23 +09:00
Cedric Bail d27bdb4726 evas: small reorder for a little bit of memory win. 2013-04-07 15:33:58 +09:00
Cedric Bail 7739267d8b evas: bounding box is only relevant to smart object. 2013-04-07 15:11:56 +09:00
Cedric Bail f1dfbc4e0e evas: remove one useless pointer (-30KB). 2013-04-07 14:00:10 +09:00
Cedric BAIL f5b01e32ac evas: stop over redraw of Evas_Map content with Smart Object.
Clip object would always stay in a changed state. Nobody was walking them
to reset. Now we do reset there state as soon as we do render them.
2013-04-05 15:19:48 +09:00
Jiyoun Park 810f1ca972 Evas font: fix font source have wrong current size. 2013-04-05 13:05:25 +09:00
U. Artie Eoff 5b8ce3026f evas: fix documentation sample code format specifiers
%f causes 0.0000 to always be printed... changed to %d
to get the desired/correct output result.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-04-04 15:26:02 -03:00
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
Tom Hacohen d26f78813f Evas clouseau: Cleaned up and added more clouseau map info. 2013-04-04 13:32:06 +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
Cedric BAIL 54b9b19b66 evas: let's not force an allocation and write for nothing. 2013-04-04 12:36:03 +09:00
Daniel Willmann 1cb5a8f63a evas_textblock: Avoid dereferencing out-of-bounds element
Address sanitizer found this. Not really a serious error as text[i] will
be 0 in that case (I believe) and the loop is aborted in any case.

Still, better safe than sorry.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-02 18:57:43 +01:00
Rafael Antognolli 3e43ad338d evas/map: Consider framespace offset when populating map points.
Since the objects are moved by the framespace offset, it must be
considered when populating map points. This is done when the map is
applied to an object (the map points are updated with the framespace
offset of the canvas that is parent of that object.

Additionally, a flag is set on the map struct to indicate that it had
its points updated already to avoid re-adding the offset.
2013-04-02 14:40:00 -03:00
Rafael Antognolli c7cdcf4e0e evas/wayland: Take framespace offsets into account on pointer_xy_get().
Applications using these functions should not know of any offset. This
patch makes the canvas pointer position to be returned exactly the same
as on X11 backends.
2013-04-02 14:40:00 -03:00
Rafael Antognolli 41d00df3d7 evas/wayland: Remove wrong check from framespace position_get.
This check makes no sense, since objects can be on outside of the
screen, with negative position, but they still need to be adjusted by
the framespace offset.
2013-04-02 14:40:00 -03:00
Rafael Antognolli 8d88a73f68 evas/events: Fix evas_events framespace offset.
Framespace offset adjustment should be applied to every object not
marked with "is_frame".

Additionally, it should be applied only once. Since it is already being
applied on the *_feed_mouse_* functions, there's no need to apply it
again on the _evas_event_source_mouse_* functions, which are called by
the former ones.

Also add the missing adjustment to the feed_mouse_move one.
2013-04-02 14:40:00 -03:00
Rafael Antognolli 89f20765ab evas/wayland: Add framespace offset to newly created objects.
Patch originally done by: Christopher Michael <cp.michael@samsung.com>
2013-04-02 14:40:00 -03:00
Rafael Antognolli 6006432c3f evas/wayland: Several fixes to make the framespace behave correctly.
- mark all children of a given smart object as "is_frame" if the smart
object is also marked as a frame;
- when moving a smart object, use the originally requested move
coordinate to calculate the offset that the children should be moved
too;
- _smart_move_children_relative will fetch the child position with
geometry_get(), this way getting the corrected object position, before
adding the offset.
2013-04-02 14:40:00 -03:00
Daniel Juyung Seo 20ff3f1bd2 evas_object_image.c/Evas.h: Added Eo apis for image preload.
1. Added evas_obj_image_preload_begin/cancel APIs.
2. Removed evas_obj_image_preload. This accepts 'cancel' as a parameter and it's so confusing to developers.
3. No ChangeLog/NEWS for this change because Eo APIs were not released yet.
4. Discussed with Raster.
5. It's encouraged to use elm_image however. elm_image has elm_image_preload_disabled_set() API.
2013-04-02 22:00:55 +09:00
Daniel Juyung Seo 8027d5f5d7 evas_render.c: added EINA_UNUSED for unused parameter. 2013-04-02 22:00:55 +09:00
Cedric BAIL 7ebe7373e6 eina: make it possible to disable Eina_Cow GC at instantiation time. 2013-04-02 17:11:05 +09:00
Daniel Juyung Seo 45a2beaf92 Evas.h: fixed documentation. 2013-04-02 16:06:50 +09:00
Daniel Juyung Seo b992ec4894 evas_object_smart.c: internal comment++. 2013-04-01 20:57:57 +09:00
Cedric BAIL ad861e9eab evas: call Eina_Cow garbage collector on surface dump. 2013-04-01 18:39:50 +09:00
Cedric BAIL 0970b7dca5 evas: forgotten destruction of Eina_Cow pool for objects state. 2013-04-01 18:39:29 +09:00
Carsten Haitzler 4f4681ebd8 warn-- 2013-03-28 20:13:40 +09:00
Carsten Haitzler 1f1704924d fix word start/end logic to be consistent with other toolkits. 2013-03-28 18:51:18 +09:00
ChunEon Park 7751a996c8 evas/render - better efficient check. 2013-03-28 10:34:26 +09:00
ChunEon Park 7fca35d848 evas - updated doc 2013-03-28 10:15:11 +09:00
Cedric BAIL 2063e4353d efl: integrate eina_log_timing. 2013-03-27 21:43:45 +09:00
Tom Hacohen b7e8bb556d Evas text: Add apparently important NULL checks.
Apparently obj->layer and obj->layer->evas can sometimes be NULL. It is
checked in other objects, for example, image object. Add the checks here
to "fix" a crash reported by Christopher Michael.
2013-03-26 11:09:58 +00:00
Cedric BAIL d583d08814 evas: no need for a callback per async call.
Let's not multiply our callback infrastructure without any serious need. We
already have to many of them.
2013-03-26 11:59:27 +09:00
Cedric BAIL d1112534a1 evas: optionally propagate update rectangle on RENDER_POST. 2013-03-22 15:30:34 +09:00
Tom Hacohen 026559f752 Evas cserve2: Remove useless var when calculating size of sun_path. 2013-03-21 13:22:35 +00:00
Cedric BAIL e02bb36e3a eina: improve speed of Eina_Cow.
* Use an Eina_Hash for the garbage collector list.
* Turn off garbage collection on object that are unlikely to match.

This patch make 1.8 as fast as 1.7 again.
2013-03-20 10:59:56 +09:00
Tom Hacohen 9e72d028ac Evas object: Fixed clouseau reporting for align and weight. 2013-03-19 10:47:41 +00:00
Tom Hacohen a170683334 Change usage of eo_do_super to the new prototype. 2013-03-18 16:14:18 +00:00
Carsten Haitzler 6546c75a33 fix doc formatting. 2013-03-15 16:16:46 +09:00
Cedric BAIL 241bed4cd6 evas: fix uninitialized data. 2013-03-15 11:05:25 +09:00
Cedric BAIL d79a2efa39 evas: use Eina_Cow a lot more and we are closer to the memory size of 1.7. 2013-03-13 14:35:25 +09: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
Cedric BAIL f4ff9a1a3e evas: cleanup header in preparation for Eina_Cow. 2013-03-12 20:09:10 +09:00
Cedric BAIL 4d316f3bec eo, evas, edje: reorder structure for reducing memory usage. 2013-03-12 19:17:11 +09:00
Cedric BAIL b3dba328cc evas: less warning when disabling fontconfig. 2013-03-12 17:07:50 +09: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
Carsten Haitzler b389f6dc9a make evas smart callbnacks safer if something bad happens in memory. 2013-03-11 15:55:04 +09:00
Cedric Bail 8d5e33077e efl: use HAVE_FCNTL around call to fcntl. 2013-03-10 23:10:27 +09:00
Cedric Bail 27642f20fd evas: fcntl use should be #ifdef protected. 2013-03-10 19:45:24 +09:00
Daniel Juyung Seo ae08c6e721 evas evas_focus.c: simplified the source. 2013-03-10 00:40:33 +09:00
Igor Murzov 7a794f8477 evas: Add WebP image saver 2013-03-09 14:11:35 +04:00
Cedric BAIL 7d698d9a8e evas: fix typos. 2013-03-04 11:08:49 +09:00
Paulo Cavalcanti ddfd471c71 efl/evas/text: Fix rendering issue with changed texts of same size
Introduce a new function called evas_object_content_change(). It should
be used when object contents get changed.

The rendering issue involving text objects was due to its map surfaces
not being freed. Thus, evas_object_content_change() is now called in
evas_object_text_text_set() during the relayout of the text for making
sure to get their map surfaces freed before rendering them.

Signed-off-by: Paulo Cavalcanti <paulo.cavalcanti@linux.intel.com>
2013-03-04 10:21:59 +09:00
Tom Hacohen 5dc2d7c126 Evas textblock: Fixed "high" text size adjustments for multiple paragraphs. 2013-02-28 16:48:09 +00: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 626f250677 evas - updated doc. 2013-02-28 16:55:11 +09:00
ChunEon Park 99f4ba54de evas - use uppper case in the doc. 2013-02-28 16:48:34 +09: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
Henrique Dante de Almeida f5d4ae70bd evas: Fix buffer overflows on environment variables 2013-02-26 10:17:28 -03:00
Tom Hacohen 1425b0d2dc Evas text: Fixed a bug with the (kinda) newly added text object ellipsis.
There was a problem with bidi texts and ellipsis. The text would be trimmed
according to the visual position instead of the logical.
2013-02-25 15:39:32 +00:00
ChunEon Park 2af4cc2687 * evas/cache: remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly. 2013-02-25 16:56:25 +09:00
ChunEon Park 0920a8e182 evas/cache - formatting 2013-02-25 16:24:08 +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
Cedric BAIL 9bd5dca9e3 evas: yet the canvas can already be dead when we get to kill the object. 2013-02-19 19:37:57 +09:00
Cedric BAIL e756a4115b evas: protect dead memory access.
Since the move to Eo, we no do unref objects after destroying the name
hash. So we need to take that into account when looking at the hash.
2013-02-19 19:16:58 +09:00
Daniel Zaoui aa488588d8 evas: Fix Evas Object Text when LTR and RTL are used together.
When harfbuzz is enabled, RTL text (arabic, hebrew...) is displayed differently
if the paragraph begins with or without LTR.
The problem was related to the function evas_common_language_script_type_get
and a wrong offset given as parameter to this function.

Thanks to EunYoung Kim for having found this bug.

Signed-off-by: Daniel Zaoui <daniel.zaoui@samsung.com>
2013-02-19 10:05:46 +02:00
Cedric BAIL 324a072d40 evas: fix typo and unbreak rendering of polygons.
Evas_Object_Polygon are a little bit special and track their position
to avoid rebuilding various property when just moved. The offset.{x,y}
are there for that. For a strange reason they got a += instead of just
an = and there our offset did go quickly out of screen...
2013-02-18 11:53:48 +09:00
Ivan Briano 61b8e2aefe More removal of \r 2013-02-17 14:53:25 -03:00
Paulo C. A. Cavalcanti Jr 04e660c5c7 evas: Introduce pixel_alpha_get()
The _pixel_alpha_get() function used in evas_object_image_is_inside won't
work with engines other than software - since it relies on engine data
being *always* RGBA_Image * - which is wrong for OpenGL backend that uses
Evas_GL_Image * for "engine_data" pointer.
2013-02-16 11:14:40 +01:00
Tom Hacohen 2e001a25bf textblock: Added native and formatted sizes to clouseau. 2013-02-15 17:19:29 +00:00
Jaehwan Kim 9885466787 Add missed code. This is related to r83501.
SVN revision: 83938
2013-02-15 06:48:07 +00:00
Carsten Haitzler 0bdfe655a0 patch over an aawesome source of segv's in cserve2... data2 is null.
but why?



SVN revision: 83877
2013-02-14 03:26:21 +00:00
Tom Hacohen 3974cb3dc1 Evas textblock: Fixed a selection bug introduced in my previous commit.
I matched against the wrong values so it never included items in the middle
even when needed.

SVN revision: 83869
2013-02-13 12:42:44 +00:00
Carsten Haitzler 179fd31b77 add api and lets test it - i'll document it later, but need to test
first.



SVN revision: 83867
2013-02-13 11:35:46 +00:00
Cedric BAIL db3eb71dde efl/evas: let's not be lazy and put smart related data only in smart object.
SVN revision: 83848
2013-02-12 08:58:59 +00:00
Cedric BAIL 966ca4602e efl/evas: move smart object data to smart object only.
SVN revision: 83847
2013-02-12 07:59:53 +00:00
Cedric BAIL 2943dcbc66 efl/evas: let the cow eat more.
memfile are not used that often like other direct pixels manipulation code.
Merging them into the same structure make sense and reduce the memory cost
for normal image object. Save between 8 to 16 bytes per image object.


SVN revision: 83843
2013-02-12 07:09:17 +00:00
Cedric BAIL 5acb8abc5c efl/evas: fix that awesome memory leak in E17 and every apps that don't change font name.
SVN revision: 83837
2013-02-12 06:07:25 +00:00
Daniel Zaoui ec7a42b204 Replace supported_types
Signed-off-by: Daniel Zaoui <daniel.zaoui@samsung.com>

SVN revision: 83802
2013-02-10 07:52:17 +00:00
Tom Hacohen 548e548632 Evas textblock: Fixed a selection issue.
The issue happens when selecting in strings that have both bidi and different
scripts in the same bidi run. E.g: "עבריתenglishрусскийעברית".

SVN revision: 83786
2013-02-08 15:31:25 +00:00
Cedric BAIL ad0bb4c6f6 efl/evas: small speed improvement when doing auto sizing of text object.
SVN revision: 83732
2013-02-07 10:48:07 +00:00
Raphael Kubo da Costa 29dd8e2b47 evas: Stop initializing and shutting Fontconfig down
A few days ago I was investigating a bug in the EFL WebKit port and
noticed WebKit's and Evas' handling of Fontconfig are somewhat
incompatible: while the evas_font code calls both FcInit() and FcFini()
when on initialization and shutdown, respectively, WebKit keeps some
Fontconfig objects alive until the process exits. In practice, this
means that shutting Evas down will cause FcFini() to assert because
there are objects which have not been properly destroyed.

This is not really a WebKit-specific problem, as any program which also
uses Fontconfig directly and shuts Evas down before destroying all FC
resources it has allocated is going to crash in the same way.

Other libraries such as Qt, Pango and Cairo do not explicitly initialize
and shut Fontconfig down. Evas itself got this code in r40242 and was
later adjusted in r45829 and r74870.

Since we can't completely control the lifetime of all Fontconfig objects
used in client code, I was thinking of doing the same thing as other
libraries do and get rid of the calls to FcInit() and FcFini(). The part
which is really important is not calling FcFini() -- this was already
done for a while in the r45829 which I mentioned. Valgrind will complain
about some "still reachable" memory blocks, but that's not really
important (as raster said in that revision's commit message, "things may
look like they leak in Valgrind - they dont. in reality").

Note: tasn tried to talk about it with fc guys and it's the
way to go. They won't implemented refcount as suggested in our ml.

Patch by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>



SVN revision: 83605
2013-02-04 15:37:41 +00:00
Raphael Kubo da Costa b236ac69bd evas: Rename evas_font_zero_presure()
There's an obvious typo in the function name, so appease my OCD and
rename it.

Patch by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>



SVN revision: 83604
2013-02-04 15:33:38 +00:00
Jaehwan Kim 2c3b1b4143 Fix the EVAS_CALLBACK_MOUSE_MOVE callback is called even if the grabbed object is invisible by proxy object.
SVN revision: 83501
2013-01-31 05:52:59 +00:00
Mike McCormack 089bfed33f efl: Fix a warning
Signed-off-by: Mike McCormack <mike@atratus.org>

SVN revision: 83498
2013-01-31 03:30:59 +00:00
Christopher Michael 324e84e307 Add UNUSED for parameter that is not used.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83474
2013-01-30 10:30:54 +00:00
Tom Hacohen 70156285b0 Eo dbg: Use eina_value as the debug info type.
SVN revision: 83443
2013-01-29 16:36:01 +00:00
Aharon Hillel 028f059d32 Clouseau-Eo integration: Added debug info functions.
From now, classes implementing the Eo function with id
EO_BASE_SUB_ID_DBG_INFO_GET will be able to show in Clouseau their own
specific information.
Information contents is controlled by the class itself and no more
by Clouseau. Basic types and lists are supported..

Signed-off-by: Aharon Hillel <a.hillel@samsung.com>

SVN revision: 83410
2013-01-29 06:36:23 +00:00
Cedric BAIL 1f1e0cd332 efl/evas: roll in Eina_Cow for Evas_Object_Image cur/prev.
This gave us back around 500KB at peak memory consumption in expedite.
More test to come.


SVN revision: 83376
2013-01-28 00:28:53 +00:00
Cedric BAIL 6174b1c5cf efl/evas: make shutdown/init cycle work again.
SVN revision: 83368
2013-01-27 08:42:57 +00:00
Cedric BAIL 00f8823b95 efl/evas: use inheritance instead of strcmp and work around code running between destructor and free.
SVN revision: 83367
2013-01-27 08:34:22 +00:00
Cedric BAIL 8589836860 efl/evas: reduce commit to evas_object_image.
SVN revision: 83365
2013-01-27 06:31:11 +00:00
Jiyoun Park e290dfae93 add info log related with mouse down/up
SVN revision: 83351
2013-01-26 09:47:21 +00:00
Carsten Haitzler a9eeda6300 paranoia++ -> if g->object is null - dont use it. :/
SVN revision: 83337
2013-01-26 02:34:59 +00:00
Boris Faure 11b98b32e2 evas: make e start again…
SVN revision: 83336
2013-01-25 22:21:37 +00:00
Cedric BAIL c538d8bde3 efl/evas: prevent leak and over write.
SVN revision: 83331
2013-01-25 15:19:32 +00:00
Cedric BAIL 6c7edfd38e efl/evas: roll in more cow, using a new macro per Eina_Cow.
SVN revision: 83325
2013-01-25 12:15:38 +00:00
Cedric BAIL f64ab2c8dd efl/evas: revert the revert, and indeed the bug was somewhere else.
SVN revision: 83193
2013-01-24 01:50:57 +00:00
Cedric BAIL be0f7fcaa0 efl/evas: don't over write when not needed.
SVN revision: 83192
2013-01-24 01:43:03 +00:00
Carsten Haitzler 07c3ce0bbe ummm this really fubars stuff up cedric.. revert. put it back when u
have figured things out. :)



SVN revision: 83143
2013-01-23 10:07:31 +00:00
Cedric BAIL 36bdaab9c2 efl: another easy to kill, almost 5% in memory save per Evas_Object_Image.
SVN revision: 83073
2013-01-22 10:59:14 +00:00
Cedric BAIL c0e62fb818 efl: remove a forgotten deprecated call.
SVN revision: 83069
2013-01-22 10:47:47 +00:00
Cedric BAIL 3070dfac2d efl: move Evas_Object map data to there own Eina_Cow pointer.
NOTE: Overall speedup of 7%. No benchmark on memory consumption yet
as they are still running ask me directly to get the number later
today.


SVN revision: 83052
2013-01-22 03:56:00 +00:00
Cedric BAIL d32ee023e3 efl: missing deprecated user.
SVN revision: 83049
2013-01-22 02:14:07 +00:00
Cedric BAIL 3e7e37630f efl: group more map stuff in the same sub structure.
SVN revision: 83034
2013-01-21 09:36:19 +00:00
Cedric BAIL 380aea9e91 efl: cleanup Evas_Object_Protected_Data.
SVN revision: 83028
2013-01-21 03:51:58 +00:00
Cedric BAIL 5ae84c97ce efl: use new eina_cow macro to clean stuff a little.
SVN revision: 83026
2013-01-21 03:12:39 +00:00
Gustavo Sverzut Barbieri df701d8ca2 some clang warning cleanups i forgot to commit
SVN revision: 83024
2013-01-21 00:22:35 +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
Leandro Pereira f52f44e7a2 evas_render: Measure time spent while rendering in sync and async modes
SVN revision: 82936
2013-01-17 14:31:34 +00:00
Carsten Haitzler 56a9ccefb5 a few spots missed for sync with async thread.
SVN revision: 82932
2013-01-17 11:10:27 +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 b395af5e7a efl: stupid micro optimization.
This single test accounted for 1% of my terminology benchmark.
I am considering moving evas_string_char_next_get and
eina_unicode_utf8_get_next to become inline as their function
entry/exit point account for 3% of the same benchmark.

The biggest win would be to get rid of the memcpy _termpty_text_copy
that account for 16%.

In the micro optimization part, we also still do to much malloc
in font_draw_prepare as we don't recycle the array there and account
for 3% of the benchmark in malloc/free there. In the same ballpark
_text_save_top account for 2% of the time in malloc/free.

In that same benchmark, evas_object_textgrid_render account for 5%
where 4% of its time is spend in evas_common_font_draw_prepare. At this
point I am not sure that rewriting textgrid is gona help us at all. We
will win almost as much by just inlining the get_next things in evas
and eina for a minute of development time.


SVN revision: 82927
2013-01-17 09:38:49 +00:00
Cedric BAIL 4c828392da efl: roll in first use of Eina_Cow for Evas_Object.proxy.
Expedite biggest test memory win 100KB, average 10KB.
No slow down in proxy test (+/-3%). Speed up in most other
case (average speed up is +5%), likely due to much more
cache hit.

Elementary test show a win between 100KB to 600KB depending
on the test you are considering.

Now, you can see how I intend to use Eina_Cow and the expected
win we can have from it. I don't intend to do more for the
rest of the week so you have time to comment.


SVN revision: 82924
2013-01-17 07:21:06 +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
Cedric BAIL 7e4e3fe5b8 efl: let's not do useless over allocation and memcpy.
SVN revision: 82872
2013-01-16 10:45:04 +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
Ulisses Furquim 028e7e9ed2 evas/async_events: missed counting fix in unblocking _process()
SVN revision: 82834
2013-01-15 18:00:15 +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 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