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>
This is particularly useful when using table and replicating the
same group all over the place. At least for many games I have in mind
this will save a lot of lines !
NOTE: if you start your process with Systemd it will automatically use
Journald API. You will need to overide the default logging function to
change that behavior.
Be careful, systemd socket activation require you to always order
server socket creation in the same order as defined in the unit file.
This means ecore_con_server_add should always been in the same order
for those of them using systemd socket activation.
This implementation doesn't replace libmount, it just provide an empty
piece of code that will always fail to do anything. It does simplify
Eeze building and use by third party by always providing the API.
Resource contexts/surfaces are used for creating resources within Evas_GL.
In oder to handle Evas_GL runnig from different thread than the main one,
a resource context/surface pool was used. This turned out to be unnecssary
as they are not used very frequently. So, I got rid of the pool and
made the resources create as needed.
downscaling. This makes quality much better and "at best"
equates to a 16 point sample (2x2 linear interpolation samples,
where a linear interpolation sample equates to a 2x2 sample).
This will have perfomance impact, but the quality is worth it and
makes it closer to software downscaling in quality. It supports
2x2, 2x1 and 1x2 oversampling. YUV not done, nor image mask
(font shaders not needed).
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>
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.
I add new example related with this. (ecore_evas_extn_socket & plug example)
ecore extn use this infrasturcture, server app and client app can communicate each other
later, this can be used to contorl access message
SVN revision: 83942
This reduce our waste of memory by 300K in most elementary application. There is
another 400K to win by merging edje signal callback automat.
SVN revision: 83879
Previously whenever evas_software_xlib_outbuf_new_region_for_update was
called for images that were rotated (!= 0) we created a new
evas_cache_image. This resulted in (quite severe) memory spikes whenever
an image was rotated.
Now we try to get the original image first and only if that fails allocate
a new one.
TDevilhorns is already working on the port to the xcb backend.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
SVN revision: 83789
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
Add #ifdef __cpluscplus to Ecore_Wayland.h so the API can be used by C++
programs. Add accessors for the wl_registry and the globals list.
Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
Patch by: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
SVN revision: 83642
Thanks goes to Thiago Macieira for sharing the issue. This
is the result of the cross-desktop talk at fosdem. A lot more
comming in the futur !
SVN revision: 83578
Hi,
Can some one please verify and merge the attahed patch with open source svn Edje code.
[Issue details :]
NULL checking is not done before sending a string to strcmp().
In _edje_real_part_swallow() function of edje_util.c file, evas_object_type_get() API can return NULL and if
this NULL value is directly passed to strcmp(), it causes a crash.
[Issue fix :]
NULL check is added for obj_type before passing it to strcmp().
Thanks & Regards,
Sumanth
Signed-Off-By: Sumanth Krishna (sumanth.m@samsung.com)
SVN revision: 83393
This avoids blocking in eglSwapBuffers and has the side effect of
avoiding doing unnecessary work - painting where a frame won't be
presented.
We do this by using the event that the wayland compositor will send us
to tell us that the frame has been presented. Due to the fact that
evas_render_updates() could do no work and not cause a eglSwapBuffers we
must always have a frame callback listener setup.
Original patch by: Rob Bradford <rob@linux.intel.com>
(I just adjusted the patch to the single efl tree)
SVN revision: 83387
Always returning -1 for the frame duration does not have the desired
effect. Fix the logic checking whether eina_file_open has succeeded.
Animated GIFs play way too fast without this.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
SVN revision: 83100
for direct rendering optimization. For direct rendering in EvasGL,
it falls back to FBO rendering if the conditions are not met. Before,
the fallback resources were created in the beginning but now they are
created and destroyed on need base.
SVN revision: 83057
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
evas_gl_shader.c file and made an internal generic caching api in
evas_gl_common.h for use in other places ie. evas_gl.
Then implemented evas_gl surface cap. caching code in gl backend to
accelerate the engine creation.
SVN revision: 82321
Subject: [E-devel] 2 steps eina_share_common_del speed up
builtin node is never unlinked even if empty, always is the last of the queue,
so that it can be used to get a pointer to head.
cost: never unlink or promote builtin node.
benefit: no need to hash and search rbtree to unlink an empty node,
only to remove an empty head.
store full hash in Eina_Share_Common_Head, so we only hash once
use 8 lower bits as node hash, use next 8 bits as bucket index.
cost: have to apply 0xFF mask on hash in rbtree callbacks.
benefit: no need to hash when removing an empty head.
SVN revision: 82161
Changes also in this commit:
* fix missing EAPI in symbols used by modules
* removed old libudev and libmount support as agreed by discomfitor/zmike
* replaced __UNUSED__ with EINA_UNUSED
* fixed docs hierarchy
SVN revision: 82100
it's useful to copy file from one place to another and this will be
used in eio' s implementation.
NOTE: did not use mmap here as mmap faults may be cumbersome to handle
(Eina_File itself does that, but in a nasty way) and the
implementation would be severely different as there is no Eina_File
from FD, and there is no way to inject custom memory/fd into the
Eina_File's fault handling. The performance would not be that
different anyways and the splice() is already in there for systems
with good performance (read: Linux).
SVN revision: 81942
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
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